LINDO API 8.0

 

                      Copyright (c) 2013

 

         LINDO Systems, Inc.           312.988.7422

         1415 North Dayton St.         info@lindo.com

         Chicago, IL 60622             http://www.lindo.com

 

 

Contents

 

1. Introduction

 

2. Installation

 

   2.1  Windows Platforms

 

   2.2  Unix/Linux Platforms

 

3. License Keys

 

4. Samples

 

5. Technical Support

 

6. Contact Information

 

- - -

 

1. Introduction

 

The LINDO Application Programming Interface (API) provides a means for

software developers to incorporate optimization into their own application

programs.

 

[Powerful Solvers] 

LINDO API is designed to solve optimization problems, including linear

programs, quadratic programs, integer programs, and general nonlinear-

nonconvex programs with global optimization and stochastic programming extensions.

 

[Comprehensive Set of Routines]

LINDO API provides dozens of routines to formulate, solve, query, and modify

optimization problems.

 

[Parallel Optimization]

LINDO API offers multi-cpu optimization extensions to its solvers to take advantage

of computers with multicore processors.

 

[MATLAB Interface]

LINDO API functions can be called from within MATLAB via the mxLINDO

interface. With mxLINDO, you can build efficient optimization applications

using MATLAB's programming language with a fraction of the coding required

for lower level languages such as C++ or Visual Basic. Please refer to the

MATLAB\README.TXT file for more information.

 

[Java Interface (JNI)]

LINDO API includes Java Native Interface (JNI) support for Windows, Solaris,

and Linux platforms. This new feature allows users to call LINDO API from

Java applications, such as applets running from a browser.

 

 

[.NET Interface]

LINDO API includes .NET support for Windows. This new feature allows users to

call LINDO API from .NET based distributed applications.

 

[Extensive Documentation and Help] 

The LINDO API User Manual (in printed form and available online in pdf

format) includes detailed function definitions for all routines. Also

included in the manual are sample programs and discussions to assist you in

writing your own applications.

 

2. Installation

 

The LINDO API installation directory has the following structure 

 

       lindoapi\                 ' installation directory

       lindoapi\bin\<platform>   ' binary directory

       lindoapi\matlab           ' matlab scripts, functions, etc..

       lindoapi\include          ' header files

       lindoapi\license          ' license files

       lindoapi\doc              ' user manual in pdf format

       lindoapi\samples          ' samples directory

       lindoapi\samples\c\       ' c/c++ samples

       lindoapi\samples\delphi\  ' delphi samples

       lindoapi\samples\java\    ' java samples (j2sdk and j++)

       lindoapi\samples\vb\      ' visual basic samples (windows only)

       lindoapi\samples\dotnet\vb' visual basic net samples

       lindoapi\samples\dotnet\cs' c# samples

       lindoapi\samples\fort\    ' f90 samples (windows only)

       lindoapi\samples\mps\     ' test problems in mps format

 

The platforms supported are listed in the following table. 

 

Operating System / Architecture

Binary Directory

Java Native Interface

Matlab

Interface

Linux 32-bit / x86

linux32

Yes

No

Linux 64-bit / x64

linux64

Yes

No

Mac OSX 32-bit / x86

osx32x86

Yes

No

Mac OSX 64-bit / x64

osx64x86

No

No

Solaris 32-bit / x86

solaris32x86

Yes

No

Solaris 64-bit / x64

solaris64x86

Yes

No

Windows 32-bit / x86

win32

Yes

Yes

Windows 64-bit / x64

win64

Yes

No

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1. Windows Platforms: No specific installation procedure is required on

Windows platforms. Please refer to lindoapi/samples directory for examples on

building applications.

 

 

2.2. Unix/Linux Platforms: Follow the steps below to complete installation on

Unix-like platforms. In this README, it is assumed that the Linux 32-bit version of

LINDO API is being installed. For Solaris and other platforms, these steps

would be identical except for the installation file name.

 

Step 1. Locate the LAPI-LINUX-IA32-8.0.tar.gz file on your CD.

 

Step 2. Copy this file into an installation directory of your choice (eg. /opt):

 

        %> cp LAPI-LINUX-IA32-8.0.tar.gz  /opt

   

Step 3. Change working directory to '/opt' and uncompress the file using

‘gzip –d’ command as below. This operation creates LAPI-LINUX-IA32-8.0.tar.

       

        %> gzip –d LAPI-LINUX-IA32-8.0.tar.gz

   

Step 4. Uncompress that file using ‘tar –xvf’ command as below. This will

create the LINDO API directory ‘lindoapi/’.

 

          %> tar –xvf LAPI-LINUX-IA32-8.0.tar

 

Step 5. Set $LINDOAPI_HOME environment variable to point to the installation directory.

 

        LINDOAPI_HOME=/opt/lindoapi

        export LINDOAPI_HOME

           

Step 6. Change file permissions and create symbolic links as needed.

Change working directory to ‘$LINDOAPI_HOME/bin/linux32’ and check if LINDO

API’s shared libraries (.so files) and the driver program ‘runlindo’ are all

in  executable mode. If not, either run the script 'lsymlink.sh' or change the

mode manually by typing the following commands:

 

        %> chmod 755 liblindo.*

        %> chmod 755 liblindojni.*

        %> chmod 755 libmosek.so.*

        %> chmod 755 runlindo

 

Create symbolic links to the following library files – symbolic links are

required for makefiles in samples directory.

 

For Unix-like systems,

 

        %> ln -sf liblindo.so.8.0 liblindo.so

        %> ln -sf liblindojni.so.8.0 liblindojni.so

        %> ln -sf libmosek.so.6.0 libmosek.so

 

For Mac-OSX

 

        %> ln -sf liblindo.8.0.dylib liblindo.dylib

        %> ln -sf libmosek.6.0.dylib libmosek.dylib

 

These steps can be performed using the script ‘$LINDOAPI_HOME/bin/<platform>/lsymlink.sh’.

 

           

Step 7. (Optional) You can update your library path environment variable although it is not the

recommended way to specify search directories. LINDO API already have the run-time search paths

(RPATH) hardcoded into its libraries. LD_LIBRARY_PATH might only be appropriate as a short

term solution during testing or development. For example, a developer might use it to point to

older versions (prior to v8) of the LINDO API library. Older versions of LINDO API rely on this

environment variable.

 

        LD_LIBRARY_PATH=$LINDOAPI_HOME/bin/<platform>:$LD_LIBRARY_PATH

        export LD_LIBRARY_PATH  

 

NOTE: Mac-OSX, AIX and HP-UX do not use LD_LIBRARY_PATH. Users of these

systems should apply the following equivalent changes.

 

      Mac-OSX:

        DYLD_LIBRARY_PATH=$LINDOAPI_HOME/bin/<platform>:$DYLD_LIBRARY_PATH

        export DYLD_LIBRARY_PATH

 

      AIX:

        LIBPATH=$LINDOAPI_HOME/bin/<platform>:$LIBPATH

        export LIBPATH

 

      HP-UX:

        SHLIB_PATH=$LINDOAPI_HOME/bin/<platform>:$SHLIB_PATH

        export SHLIB_PATH

 

Step 8. (Optional) You can set $LINDOAPI_LICENSE_FILE environment

variable to refer to the license file in your installation.

 

LINDOAPI_LICENSE_FILE = “$LINDOAPI_HOME/license/lndapi80.lic”

export LINDOAPI_LICENSE_FILE

 

Alternatively, you can execute the shell script ‘lindoapivars.sh’ to

perform the required updates in these environment variables.

 

To execute this script manually, enter the following at command line

  

         source $LINDOAPI_HOME/bin/<platform>/lindoapivars.sh

 

To execute this script automatically at logon, append this

line to the end of your startup script (.bashrc or .bash_profile for bash

shell).

 

       

Step 8. If you received a license file (lndapi80.lic) with your installation

CD, copy this file into the ‘$LINDOAPI_HOME/license’ directory.

 

               

Step 9. You can test your installation by changing directory to

$LINDOAPI_HOME/bin/<platform> and type the following. This should display the

version info on your LINDO API installation.

 

       %>  ./runlindo –v

 

Optionally, you can add “./” to your $PATH variable to avoid having to type

"./" in front of program runlindo from the current working directory.

 

3. License Keys

 

In a default installation, the license file (lndapi80.lic) is located under

LINDOAPI\LICENSE directory. The license file initially contains a demo

license, which allows full access to LINDO API with limited problem capacity.

 

IMPORTANT NOTE (1): If you received a license key from your vendor via e-mail,

you should edit your existing lndapi80.lic file with a text editor and

replace its content with the new key copying and pasting from the email

message. The actual license string lies between ‘>’ characters. If your

vendor sent your license key in the form of a file, simply drop the license

file under your ‘lindoapi\license\’ directory and rename it ‘lndapi80.lic’.

 

Your license key is unique to your installation and contains information

regarding your version's serial number, size, and supported options. The

license key is case sensitive, so be sure to enter it exactly as listed,

including all hyphens, if you ever have to enter it manually. Given that your

license key is unique to your installation, you should not share it with any

user not licensed to use your copy of the LINDO API.

 

IMPORTANT NOTE (2): The users who require a license tied to a particular

machine [machine name,user_name,disk id] will be required to send us a

small file containing the target machine's [m,u,d] info. A file called

“userinfo.txt” can be created by typing “runlindo –uinfo” at command line.

The “runlindo” is a command-line application located under lindoapi/bin/<PLATFORM>

directory.

The file “userinfo.txt” needs to be sent to sales@lindo.com in order to obtain

the machine specific license. The information contained within “userinfo.txt”

will be used by LINDO for licensing purposes ONLY.

 

 

4. Samples

 

The LINDOAPI\SAMPLES directory created during the installation contains

several programming examples using a high level language. Please refer to the

SAMPLES\README.TXT file for more information.

 

 

5. Technical Support

 

If you need technical support, contact LINDO Systems with the following

information

 

1) The serial and version numbers of the LINDO API you are running. The

version number can be obtained by running 'runlindo –v' at command prompt.

 

2) The steps to reproduce the problem that you have encountered along with

the copies of required input/parameter files.

 

3) The operating system and version (Win95/NT/XP, Linux, Solaris, or other)

 

 

6. Contact Information

 

You can contact us through e-mail using the following addresses:

 

     General Information and Questions:

      webinfo@lindo.com

 

     Sales and ordering:

      sales@lindo.com

 

     Technical Support:

      tech@lindo.com

 

through the phone by using the following numbers:

 

 

     Main Numbers:

      (800)441-BEST(2378) or (312)988-7422

     Technical Support:

      (312)988-9421

     Fax:

      (312)988-9065 

 

or through snail mail using the following address:

 

      LINDO Systems, Inc.

      1415 North Dayton Street

      Chicago, IL 60622

      USA