Running solvers from Command Line¶
The easiest use case for Repetita is to use one of its solvers from command line to compute a result.
Say you have a topology a demands file called, respectively, instance.graph and instance.demands. The next step depends on the solver you want to use.
Routing with MIP¶
Repetita features a MIP model of 2-SR inspired by Bhatia et al. . This model will compute SR-paths with a most one detour, but will do so optimally.
The backend solver is Gurobi that need to be installed separately. It has been tested with Gurobi 6.5 and 7.0. Once Gurobi is installed, type:
$target/pack/bin/repetita -graph instance.graph -demands instance.demands -solver 2SR-MIP -t 10000 -outpaths instance.paths
Routing with CP¶
This uses the CP algorithm described in DEFO-CP
$ target/pack/bin/repetita -graph instance.graph -demands instance.demands -solver defo-cp -t 10000 -outpaths instance.paths
Routing with Local Search¶
This uses the local search algorithm described in the INFOCOM 2017 paper from Gay, Hartert & Vissicchio (coming soon):
$target/pack/bin/repetita -graph instance.graph -demands instance.demands -solver rls -t 10000 -outpaths instance.paths
This will produce, in 10000 milliseconds, an instance.paths
file containing
a Segment Routing path for every demand.