jiadongwang/DIP-TESTING
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This file is part of the test engine for TESTING MILP SOLVER * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Here is what you have to do to get MIPLIB2010 and decomplib running: 1. compile the solution checker using the command "make checker" 2. Create a soft-link bin/SOLVER to the solver "SOLVER" you want to run, e.g: - bin/cbc -> ... for CBC - bin/cplex -> ... for CPLEX - bin/glpki -> ... for GLPK - bin/gurobi -> ... for GUROBI - bin/lpsolve -> ... for lp_solve - bin/mosek -> ... for MOSEK - bin/scip -> ... for SCIP - bin/xpress -> ... for XPRESS - bin/dip -> ... for DIP It is also possible to compare different versions of a SOLVER. For this purpose, you need to create soft-links bin/SOLVER.IDENTIFIER. Please, stick to the notation SOLVER.IDENTIFIER where IDENTIFIER should be a unique identifier, like the LP solver or the version number. Note, that the identifier will also be used to distinguish the corresponding output and result files. Example 1: To compare SCIP with different LP solvers create for each SCIP version a soft-link of the form - bin/scip.spx -> ... for SCIP with SoPlex as LP solver - bin/scip.cpx -> ... for SCIP with CPLEX as LP solver. Example 2: To compare GUROBI version 2 and 3 create for each Gurobi version a soft-link of the form - bin/gurobi.2 -> ... for GUROBI version 2 - bin/gurobi.3 -> ... for GUROBI version 3. 3. Run the MIPLIB2010 test engine with a MIP solver: In your MIPLIB2010 main directory, enter "make [options] test" with the following options: - "TIME=3600" to set a wall-clock time limit (default) - "TEST=benchmark" to set the file "testsets/TEST.test" containing all instances to be tested. (default) Example line: "instances/miplib2010/30n20b8.mps.gz" for the MPS file 30n20b8.mps.gz located in instances/miplib2010/ - "SOLVER=cbc" to use CBC as MIP solver - "SOLVER=cplex" to use CPLEX as MIP solver - "SOLVER=glpk" to use GLPK as MIP solver - "SOLVER=gurobi" to use GUROBI as MIP solver - "SOLVER=lpsolve" to use lp_solve as MIP solver - "SOLVER=mosek" to use MOSEK as MIP solver - "SOLVER=scip" to use SCIP as MIP solver (default) - "SOLVER=xpress" to use XPRESS as MIP solver - "HARDMEM=8192" to set a hard memory limit in mega bits (default) - "THREADS=0" to set the number if threads to use, 0 means as many wanted (default) ----------------------------------------------------------------------------- 4. The script provides an option to generate performance profile on results of different solvers The following line generates the performance profile to cplex_dip.eps of two results file from decomp.cplex.res and decomp.dip.res make - "RESULT1=decomp.cplex.res" - "RESULT2=decomp.dip.res" - "OUTPUT=cplex_dip.eps" pprof 5. on testing DIP. after creating a softlink of executable dip in bin folder, run the following line to test dip on instances in decomp make - "TIME=3600" - "TEST=decomp" - "SOLVER=dip" test Here is a short explanation of the involved scripts: - scripts/run.sh: The main script which - calls "scripts/run_SOLVER.sh" on each problem instance in testsets/TEST.test - calls the exact solution checker to test the solution found by SOLVER - calls "scripts/parse.awk" and "scripts/parse_$SOLVER.awk" to evaluate the log information of "OUTFILE" - scripts/run_SOLVER.sh: The driver for a specific SOLVER. - scripts/parse.awk: The evaluation script which - parses the information that doesn't depend on the solver used (like, wall-clock time which is measured externally and the primal-dual-gap computation) - prints the result table "RESFILE" in a certain format - scripts/parse_SOLVER.awk: The SOLVER specific evaluation script which parses the remaining information (like, number of branch-and-bound nodes, primal bound, and dual bound).
About
scripts for DIP-TESTING
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published