Instructions on how to run experiments in the paper.
-
Install Julia
-
Install commercial solvers CPLEX, Gurobi and CPLEX
-
Instantiate the environment. This will download and build open-source solvers Clp, ECOS, GLPK and Tulip.
julia> ] pkg> instantiate
See here.
See instructions at DER instances and TSSP instances on how to generate the problems.
- Create pre-compilation statements
Run the snoop.jl
script at the root of this directory
julia --trace-compile=precompile.jl --project snoop.jl
- Create the system image
using PackageCompiler
PackageCompiler.create_sysimage([:MathOptInterface, :Clp, :CPLEX, :ECOS, :GLPK, :Gurobi, :Mosek, :MosekTools, :QPSReader, :Tulip, :DoubleFloats, :UnitBlockAngular], project=".", sysimage_path="JuliaLP.so", precompile_statements_file="precompile.jl");
julia --sysimage=JuliaLP.so --project src/LP/tulip.jl dat/plato/cont1.mps
Single instance:
julia --sysimage=JuliaLP.so --project src/RMP/tulip.jl dat/rmp/4node_32_10.mps
Several instances using GNU parallel:
julia exp/RMP/jobs_rmp.jl > jobs.txt
cat jobs.txt | parallel -j1 --joblog rmp.log {}
Single instance
julia --project --sysimage=JuliaLP.so src/D64/tulipD64.jl dat/netlib/afiro.mps 1e-8
julia --project --sysimage=JuliaLP.so src/D64/tulipD64.jl dat/netlib/afiro.mps 1e-16
Several instances
cat exp/D64/failures.txt | parallel -j1 --joblog double64.log 'julia --project --sysimage=JuliaLP.so src/D64/tulipD64.jl dat/plato/{} 1e-8 > {}.log 2>&1'