Menu

Tree [r178] /
 History

HTTPS access


File Date Author Commit
 BCP 2012-09-08 artur_a_pessoa [r178] Improved neighbor selection, branching rule and...
 CVRP 2009-10-28 artur_a_pessoa [r73] Including separation of Extended Cycle Eliminat...
 CutGen 2012-02-17 artur_a_pessoa [r168] Adjust tolerances and fix the choice of neighbo...
 Data 2012-09-05 artur_a_pessoa [r170] Reading TSPDL instances.
 LP 2009-07-24 artur_a_pessoa [r66] compiling in GNU Linux.
 Master 2009-02-27 artur_a_pessoa [r21] Avoid multiplying the step size several times f...
 Member 2009-05-06 rfukasawa [r49] Small non-functional changes.
 Pricing 2010-10-01 artur_a_pessoa [r111] Remove the non-C++ cutgen routines and configur...
 TM 2009-05-06 rfukasawa [r48] Several changes.
 Util 2011-01-19 rfukasawa [r153] output changes for mpc
 include 2012-09-05 artur_a_pessoa [r170] Reading TSPDL instances.
 instances 2011-01-21 rfukasawa [r157] added instances bigras
 2optTDTSP.cbp 2009-07-24 artur_a_pessoa [r66] compiling in GNU Linux.
 2optTDTSP.cpp 2012-02-17 artur_a_pessoa [r168] Adjust tolerances and fix the choice of neighbo...
 2optTDTSP.hpp 2010-11-23 artur_a_pessoa [r128] Generic TDTSP costs.
 2optmain.cpp 2009-06-09 rfukasawa [r54] Small changes to 2optmain
 Notes_CPLEX 2010-02-24 rfukasawa [r99] Errors in AFC
 README 2011-02-01 rfukasawa [r162] readme file added
 tdtsp_bc.cbp 2009-06-09 rfukasawa [r55] Adde tdtsp_bc.cbp
 tdtsp_wkspace.workspace 2009-06-17 rfukasawa [r60] Integrated cuts with colgen. Modifications in c...

Read Me

README file for compiling the BCP code for solving the TDTSP
------------------------------------------------------------

*************
Requirements:
*************
This code requires the following third party codes/libraries to run:
- CPLEX
- COIN-BCP

**************************
Obtaining the source code:
**************************

Download the main source code via subversion using the command:

svn co https://algo4tdtsp.svn.sourceforge.net/svnroot/algo4tdtsp TDTSP_DIR

where TDTSP_DIR is the local directory where the code will be located.

Obtaining COIN-BCP source code:
-------------------------------

This code requires the COIN-BCP framework to function. The version that this code was tested on was BCP 1.2.3.

Bcp 1.2.3 can be obtained at:

http://www.coin-or.org/download/source/Bcp/Bcp-1.2.3.zip


WARNING: The official Bcp 1.2.3 code was running out of memory for larger TDTSP
instance runs. This was due to not freeing some of the data structures after
processing branch nodes until the end of the search. We changed the official Bcp
1.2.3 code to correct that and were able to run the larger instances only after
that change. The modified Bcp 1.2.3 code is available upon request.

*****************************
Instructions for compilation:
*****************************

Compiling BCP:
--------------

Once all the code has been downloaded, compile Bcp as instructed in their files.
The configuration we ran with was:

 ../configure --enable-static --enable-shared -C --with-cplex-lib=-L(CPLEX_LIB_DIR) -lcplex -lpthread --with-cplex-incdir=(CPLEX_INC_DIR)

 where (CPLEX_LIB_DIR) is the directory where the libcplex.a file is located and
 (CPLEX_INC_DIR) is the directory where the cplex.h file is located.

Compiling the TDTSP code:
-------------------------

After downloading the code to the TDTSP_DIR directory, do:

cd TDTSP_DIR/BCP

Then edit the make.conf file to specify the appropriate directories for 
- CPLEX_LIB_DIR
- CPLEX_INC_DIR
- COIN-BCP

as well as the directories where the .o, .d and binary files will be located. By
default these are the subdirectories obj, dep, and the current directory.

After doing that, just run

make


and the executable file should be produced in the directory BIN_DIR (specified
in make.conf)


****************
Running the code
****************

The code can be run simply by calling:

./tdtsp_bcp INSTNAME

in the directory where the binary file is located. INSTNAME is the name of the
TSPLIB instance that will be read. Currently, the code is setup to read TSPLIB
instances and transform them into TDP instances. There is no convention for
input files for general TDTSP format, but our code is prepared to handle that as
long as the appropriate reading function is implemented.

For convenience, a list of benchmark instances is located in TDTSP_DIR/instances

An additional argument can be specified after INSTNAME, which specifies the
value of a known feasible solution to the instance.



Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.