The goal of this software is to determine the solution of a stochastic traveling salesman problem with generalized latency. A preprint of this paper is available on arXiv.
This software contains four folders: data
, generators
, results
, solver
.
data
: contains data for the case study of our paper.generator
: generates a problem instance for our case study viaTSPLIB_demand.py
.results
: information for runs gets saved heresolver
: solves the instance viaadvanced_branch.py
The results in the paper were generated by this software that had been carried out using Python 3.8.11 and Gurobi 9.5 on a desktop computer with Intel(R) Core(TM) i9-9900, 3.1 GHz CPU and 20 GB of RAM, running Ubuntu 20.04.
To replicate the results of an instance of our case study run python ./run_algorithms.py [dimension] [scenarios] [seed] [theta] [rho] [alpha] [run_option] [arcs] [value_of_stochastic_solution]
.
The following input arguments are valid:
Argument | Inputs |
---|---|
dimension | [14, 16, 17, 21, 22, 24, 26, 29, 42, 48, 51, 52, 70, 76.1, 76.2, 96, 99, 100.1, 100.2, 100.3, 100.4, 100.5, 101] |
scenarios | positive integers |
seed | positiv integers |
theta | 0 <= theta <= 1 |
rho | 0 <= rho <= 1 |
alpha | 0 <= alpha <= 1 |
run_option | ['MIP', 'CG', 'heuristic', 'hybrid'] |
arcs | ['all', 'reachable'] |
value_of_stochastic_solution | [True, False] |
Running an instance with 21 nodes, 20 scenarios, seed 0, theta 0.95, rho 0.05, alpha 0.25, with our column generation based branch-and-price 'CG', with arcs 'all', and not calculating the value of stochastic solution 'False' can be done via
python .\run_algorithms.py 21 20 0 0.95 0.05 0.25 CG all False