CVRPController is used to run and calculate score for the 12th DIMACS Implementation Challenge: CVRP track. Specified in Competition Rules.
Linux, MacOS & OpenBSD:
git clone https://github.com/laser-ufpb/CVRPController
cd CVRPController
mkdir build
cd build
cmake ..
make
Testing the Controller with a dummy solver:
make test
The output will be at build/
as DIMACS-CVRP-Dummy-X-n101-k25.out
.
./CVRPController <Competitor ID> <Instance path> <Distance type [0/1/2]> <CPU mark> <Time limit> <Instance BKS> <If BKS is optimal [0/1]> <Path to solver>
./CVRPController Wolverine X-n120-k6.vrp 1 2064 1800 13332 1 Solver1
Generating a script:
sh genScript1.sh <Competitor ID> <CPU mark> <Solver path> > CVRP-Script1.sh
Running the instances:
sh CVRP-Script1.sh
to run all the instances, you also have to run the scripts genScript2.sh and genScript3.sh.
sh genScript1.sh Wolverine 2064 Solver1 > CVRP-Script1.sh
sh CVRP-Script1.sh
For more examples and usage, please refer to the Competition Rules.
Suppose a file named solver has the following content:
#!/usr/bin/env bash
./real-solver $1 $2 $3
Therefore, you can use solver (after calling chmod +x solver) instead of the original executable file real-solver (which could have other command-line arguments in addition to the three defined in the challenge rules).
Bruno Passeti – bruno@bravadus.com.br (UFPB)
Rodrigo Ramalho – rodrigo@bravadus.com.br (UFPB)
Distributed under the MIT license. See LICENSE
for more information.