1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/examples/cplex/README Mon Dec 06 13:09:21 2010 +0100
1.3 @@ -0,0 +1,44 @@
1.4 +The program module in this subdirectory is a crude implementation of
1.5 +CPLEX-like interface to GLPK API. It consists of two files: cplex.c and
1.6 +cplex.h.
1.7 +
1.8 +NOTE that this module is NOT a clean room implementation of the CPLEX
1.9 +callable library. It only implements a CPLEX-like interface to the GLPK
1.10 +API routines, and its main purpose is to provide possibility to build
1.11 +and run applications which normally use the CPLEX callable library.
1.12 +
1.13 +This module approximately corresponds to CPLEX 9.0.
1.14 +
1.15 +Currently this module can be used as a linear programming solver for
1.16 +Concorde, the state-of-the-art computer code for solving the symmetric
1.17 +traveling salesman problem (TSP) developed by David Applegate, Robert
1.18 +Bixby, Vasek Chvatal, and William Cook. For details about Concorde see
1.19 +its web page at http://www.tsp.gatech.edu/concorde.html.
1.20 +
1.21 +To build Concorde along with GLPK you need to do the following:
1.22 +
1.23 +1. Configure, build, and install GLPK.
1.24 +
1.25 +2. Download the Concorde tarball co031219.tgz (version Dec 19, 2003),
1.26 + unpack and unarchive it.
1.27 +
1.28 +3. Copy files cplex.h and cplex.c to subdirectory concorde/LP/.
1.29 +
1.30 +4. Create file named lpglpk.c in subdirectory concorde/LP/. This file
1.31 + must contain the following two lines:
1.32 +
1.33 + #include "cplex.c"
1.34 + #include "lpcplex8.c"
1.35 +
1.36 +5. Configure Concorde in usual way (./configure) and then build it with
1.37 + the following command:
1.38 +
1.39 + make CPPFLAGS=-I. LPSOLVER_INTERFACE=lpglpk.c LPSOLVER_LIB=-lglpk
1.40 +
1.41 + The Concorde executable can be found in subdirectory concorde/TSP/.
1.42 +
1.43 +Please note that currently this GLPK interface module does not support
1.44 +some important features (namely, CPXgetijdiv, CPXmdleave, CPXpivotin,
1.45 +CPXpivotout, and CPXstrongbranch), so large (more than 1000 nodes) TSP
1.46 +instances cannot be solved in a reasonable time, and some instances may
1.47 +cause abnormal termination of Concorde (if CPXgetijdiv is called).