lemon-project-template-glpk

annotate deps/glpk/examples/cplex/README @ 11:4fc6ad2fb8a6

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