The models, scripts, and results of the benchmarks performed for a Half Reification Journal paper
1from datetime import timedelta
2from pathlib import Path
3
4import minizinc
5
6from mzn_bench import Configuration, schedule
7
8schedule(
9 instances=Path("./mznc_instances.csv"),
10 timeout=timedelta(minutes=20),
11 configurations=[
12 Configuration(
13 "CBC",
14 solver=minizinc.Solver.lookup("cbc"),
15 other_flags={"no-half-reifications": True, "no-chain-compression": True},
16 ),
17 Configuration(
18 "CBC HR",
19 solver=minizinc.Solver.lookup("cbc"),
20 ),
21 Configuration(
22 "CPLEX",
23 solver=minizinc.Solver.lookup("cplex"),
24 other_flags={"no-half-reifications": True, "no-chain-compression": True},
25 ),
26 Configuration(
27 "CPLEX HR",
28 solver=minizinc.Solver.lookup("cplex"),
29 ),
30 Configuration(
31 "Gecode",
32 solver=minizinc.Solver.lookup("gecode"),
33 other_flags={"no-half-reifications": True, "no-chain-compression": True},
34 ),
35 Configuration("Gecode HR", solver=minizinc.Solver.lookup("gecode")),
36 Configuration(
37 "Gurobi",
38 solver=minizinc.Solver.lookup("gurobi"),
39 other_flags={"no-half-reifications": True, "no-chain-compression": True},
40 ),
41 Configuration(
42 "Gurobi HR",
43 solver=minizinc.Solver.lookup("gurobi"),
44 ),
45 Configuration(
46 "SCIP",
47 solver=minizinc.Solver.lookup("scip"),
48 other_flags={"no-half-reifications": True, "no-chain-compression": True},
49 ),
50 Configuration(
51 "SCIP HR",
52 solver=minizinc.Solver.lookup("scip"),
53 ),
54 ],
55 memory=16384,
56 nodelist=["critical001"],
57 output_dir=Path("./output/mznc/"),
58)