examples/cplex/README
author Alpar Juttner <alpar@cs.elte.hu>
Mon, 06 Dec 2010 13:09:21 +0100
changeset 1 c445c931472f
permissions -rw-r--r--
Import glpk-4.45

- Generated files and doc/notes are removed
alpar@1
     1
The program module in this subdirectory is a crude implementation of
alpar@1
     2
CPLEX-like interface to GLPK API. It consists of two files: cplex.c and
alpar@1
     3
cplex.h.
alpar@1
     4
alpar@1
     5
NOTE that this module is NOT a clean room implementation of the CPLEX
alpar@1
     6
callable library. It only implements a CPLEX-like interface to the GLPK
alpar@1
     7
API routines, and its main purpose is to provide possibility to build
alpar@1
     8
and run applications which normally use the CPLEX callable library.
alpar@1
     9
alpar@1
    10
This module approximately corresponds to CPLEX 9.0.
alpar@1
    11
alpar@1
    12
Currently this module can be used as a linear programming solver for
alpar@1
    13
Concorde, the state-of-the-art computer code for solving the symmetric
alpar@1
    14
traveling salesman problem (TSP) developed by David Applegate, Robert
alpar@1
    15
Bixby, Vasek Chvatal, and William Cook. For details about Concorde see
alpar@1
    16
its web page at http://www.tsp.gatech.edu/concorde.html.
alpar@1
    17
alpar@1
    18
To build Concorde along with GLPK you need to do the following:
alpar@1
    19
alpar@1
    20
1. Configure, build, and install GLPK.
alpar@1
    21
alpar@1
    22
2. Download the Concorde tarball co031219.tgz (version Dec 19, 2003),
alpar@1
    23
   unpack and unarchive it.
alpar@1
    24
alpar@1
    25
3. Copy files cplex.h and cplex.c to subdirectory concorde/LP/.
alpar@1
    26
alpar@1
    27
4. Create file named lpglpk.c in subdirectory concorde/LP/. This file
alpar@1
    28
   must contain the following two lines:
alpar@1
    29
alpar@1
    30
      #include "cplex.c"
alpar@1
    31
      #include "lpcplex8.c"
alpar@1
    32
alpar@1
    33
5. Configure Concorde in usual way (./configure) and then build it with
alpar@1
    34
   the following command:
alpar@1
    35
alpar@1
    36
      make CPPFLAGS=-I. LPSOLVER_INTERFACE=lpglpk.c LPSOLVER_LIB=-lglpk
alpar@1
    37
alpar@1
    38
   The Concorde executable can be found in subdirectory concorde/TSP/.
alpar@1
    39
alpar@1
    40
Please note that currently this GLPK interface module does not support
alpar@1
    41
some important features (namely, CPXgetijdiv, CPXmdleave, CPXpivotin,
alpar@1
    42
CPXpivotout, and CPXstrongbranch), so large (more than 1000 nodes) TSP
alpar@1
    43
instances cannot be solved in a reasonable time, and some instances may
alpar@1
    44
cause abnormal termination of Concorde (if CPXgetijdiv is called).