- CPLEX must be installed, of course. Academics can obtain it via the IBM Academic Initiative.
- You also need a modern version of GCC, that supports at least C++14.
- Get the code:
git clone https://github.com/alberto-santini/tsp_example.git
. - Move to the new directory:
cd tsp_example
. - Create a build directory:
mkdir build
. - Move to the build directory:
cd build
. - Run cmake:
cmake -DCPLEX_ROOT_DIR=/path/to/ilog -DCMAKE_BUILD_TYPE=Debug ..
.- The path to your CPLEX installation must be such that
/path/to/ilog/cplex/include/ilcplex/cplex.h
exists. - If you compiler is in a non-standard location, you can prepend
CXX=/path/to/g++
to the above command. - Change
Debug
intoRelease
if you want to compile in release mode.
- The path to your CPLEX installation must be such that
- Run make:
make
. - Run the executable:
./tsp_example
.
The Graph
class (src/graph.h
) is a minimal description of a graph; it only stores the number of nodes and the distance matrix. The graph is created randomly, with nodes lying on a plane and euclidean distances. The Solver
class (src/solver.h
) does all the CPLEX magic: it builds the model, it solves it, and it prints the solution.
The present work is distributed under the terms of ghe GNU General Public License v3 (see the LICENSE
file).