================================== 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. .. _`Bhatia et al.` : http://dx.doi.org/10.1109/INFOCOM.2015.7218434 .. _Gurobi : www.gurobi.com .. _DEFO-CP : http://sites.uclouvain.be/defo/ .. _SRLS : http:// .. _OscaR : https://bitbucket.org/oscarlib/oscar/ .. _Scala : http://www.scala-lang.org/