Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 1.91 KB

README.md

File metadata and controls

70 lines (53 loc) · 1.91 KB

CVRPController

CVRPController is used to run and calculate score for the 12th DIMACS Implementation Challenge: CVRP track. Specified in Competition Rules.

Installation

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.

Usage example

How to run:

./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>

Example:

./CVRPController Wolverine X-n120-k6.vrp 1 2064 1800 13332 1 Solver1

How to run the instances:

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.

Example:

sh genScript1.sh Wolverine 2064 Solver1 > CVRP-Script1.sh
sh CVRP-Script1.sh

For more examples and usage, please refer to the Competition Rules.

How to call the solver indirectly via shell script

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).

Meta

Bruno Passeti – [email protected] (UFPB)

Rodrigo Ramalho – [email protected] (UFPB)

Distributed under the MIT license. See LICENSE for more information.