Refactor infinity.c

This commit is contained in:
2017-04-29 15:58:51 -04:00
parent 0c20ee2e26
commit c6e6d3d817
17 changed files with 1004 additions and 896 deletions

View File

@@ -1,30 +1,25 @@
[ 0.00] multirow (git-4d20687d04e75dc63c7bb84cbbfeb2261c6a6ab2)
[ 0.00] mf-hpc-1-7.local 2017-03-11 22:40
[ 0.00] Compile-time parameters:
[ 0.00] EPSILON: 1.000000e-08
[ 0.00] GREEDY_BIG_E: 1.000000e+03
[ 0.00] GREEDY_MAX_GAP: 1.000000e-04
[ 0.00] Command line arguments:
[ 0.00] ../build/infinity.run --mir --greedy --problem instances/gt2.pre.mps.gz --basis bases/gt2.pre.bas --log 2row-cont/gt2.pre.log --stats 2row-cont/gt2.pre.yaml --solution solutions/gt2.pre.x
[ 0.00] 28 rows, 201 cols
[ 0.00] Storing column types...
[ 0.00] Relaxing integrality...
[ 0.00] Disabling presolve...
[ 0.00] Optimizing...
[ 0.00] opt = 20146.761297
[ 0.00] Reading tableau rows...
[ 0.00] Adding MIR cuts...
[ 0.00] opt = 20545.739873
[ 0.00] opt = 20565.114738
[ 0.00] opt = 20628.064931
[ 0.00] opt = 20756.821715
[ 0.00] Optimizing...
[ 0.00] opt = 20756.821715
[ 0.00] Adding greedy intersection cuts (2 rows)...
[ 0.00] Finding combinations...
[ 0.00] 249 combinations [0.05]
[ 0.00] opt = 20815.431583
[ 0.05] opt = 21061.100847
[ 0.26] Optimizing...
[ 0.26] opt = 21061.100847
[ 0.26] Writing stats to file 2row-cont/gt2.pre.yaml...
[ 0.04] Reading problem instances/gt2.pre.mps.gz...
[ 0.41] 28 rows, 201 cols
[ 0.41] Storing column types...
[ 0.42] Relaxing integrality...
[ 0.43] Disabling presolve...
[ 0.43] Reading basis from file bases/gt2.pre.bas...
[ 0.47] Optimizing...
[ 0.74] opt = 20146.761297
[ 0.74] Reading tableau rows...
[ 0.80] Reading solution from solutions/gt2.pre.x
[ 0.83] Adding MIR cuts...
[ 1.09] opt = 20545.739873
[ 1.17] opt = 20565.114738
[ 1.21] opt = 20628.064931
[ 1.28] opt = 20756.821715
[ 1.28] Optimizing...
[ 1.29] opt = 20756.821715
[ 1.29] Adding greedy intersection cuts (2 rows)...
[ 1.29] Finding combinations...
[ 1.31] 249 combinations [0.05]
[ 1.75] opt = 20815.431583
[ 3.27] opt = 21061.100847
[ 7.74] Optimizing...
[ 7.74] opt = 21061.100847
[ 7.74] Writing stats to file 2row-cont/gt2.pre.yaml...

View File

@@ -13,9 +13,9 @@ added-cuts:
1: 7
2: 2
user-cpu-time:
0: 0.000
1: 0.000
2: 0.267
0: 0.871
1: 0.548
2: 6.451
time-per-cut:
1: 0.000
2: 0.001
1: 0.037
2: 0.026

View File

@@ -1,40 +1,17 @@
[ 0.00] multirow (git-4d20687d04e75dc63c7bb84cbbfeb2261c6a6ab2)
[ 0.00] mf-hpc-1-7.local 2017-03-11 22:40
[ 0.00] Compile-time parameters:
[ 0.00] EPSILON: 1.000000e-08
[ 0.00] GREEDY_BIG_E: 1.000000e+03
[ 0.00] GREEDY_MAX_GAP: 1.000000e-04
[ 0.00] Command line arguments:
[ 0.00] ../build/infinity.run --mir --greedy --problem instances/harp2.pre.mps.gz --basis bases/harp2.pre.bas --log 2row-cont/harp2.pre.log --stats 2row-cont/harp2.pre.yaml --solution solutions/harp2.pre.x
[ 0.00] Reading problem instances/harp2.pre.mps.gz...
[ 0.00] 92 rows, 1049 cols
[ 0.00] Storing column types...
[ 0.00] Relaxing integrality...
[ 0.00] Disabling presolve...
[ 0.01] Optimizing...
[ 0.01] opt = -74325169.345138
[ 0.01] Reading tableau rows...
[ 0.00] Reading basis from file bases/harp2.pre.bas...
[ 0.00] Optimizing...
[ 0.00] opt = -74325169.345138
[ 0.00] Reading tableau rows...
[ 0.01] Reading solution from solutions/harp2.pre.x
[ 0.01] Adding MIR cuts...
[ 0.01] opt = -74315010.901620
[ 0.01] opt = -74314964.934360
[ 0.01] opt = -74313681.237627
[ 0.01] opt = -74313582.579756
[ 0.01] opt = -74293298.124331
[ 0.01] opt = -74292514.336406
[ 0.01] opt = -74281276.834560
[ 0.01] opt = -74278931.707997
[ 0.01] opt = -74274793.244156
[ 0.01] opt = -74268371.376509
[ 0.01] opt = -74264893.739723
[ 0.01] opt = -74240861.206190
[ 0.01] opt = -74222594.677631
[ 0.01] Optimizing...
[ 0.01] opt = -74222594.677631
[ 0.01] Adding greedy intersection cuts (2 rows)...
[ 0.01] Finding combinations...
[ 0.02] 483 combinations [0.05]
[ 0.15] opt = -74222542.959159
[ 0.45] opt = -74222502.242291
[ 1.44] opt = -74222380.900680
[ 2.56] Optimizing...
[ 2.56] opt = -74222380.900680
[ 2.56] Writing stats to file 2row-cont/harp2.pre.yaml...
[ 0.01] Cut cuts off known integral solution: -0.26968016 >= -0.42512401 (0) (/Users/axavier/.shared/research/multirow/multirow/src/cg.c:319)
[ 0.01] check_cut failed (1) (/Users/axavier/.shared/research/multirow/multirow/src/cg.c:339)
[ 0.01] add_cut failed (1) (/Users/axavier/.shared/research/multirow/multirow/src/cg.c:644)
[ 0.01] CG_add_single_row_cuts failed (1) (/Users/axavier/.shared/research/multirow/infinity/benchmark/src/main.c:397)

View File

@@ -25,14 +25,14 @@
#include <multirow/stats.h>
#include <multirow/util.h>
#include <infinity/greedy.h>
#include <infinity/infinity.h>
int ENABLE_LIFTING = 0;
int MIN_N_ROWS = 2;
int MAX_N_ROWS = 2;
int DUMP_CUT = 0;
int SHOULD_DUMP_CUTS = 0;
int DUMP_CUT_N = 0;
int GENERATE_MIR = 0;
@@ -415,8 +415,8 @@ int main(int argc,
{
log_info("Adding greedy intersection cuts (%d rows)...\n", k);
rval = CG_add_multirow_cuts(cg, k, (MultirowGeneratorCallback)
GREEDY_generate_cut);
rval = CG_add_multirow_cuts(cg, k,
(MultiRowGeneratorCallback) INFINITY_generate_cut);
abort_if(rval, "CG_add_multirow_cuts failed");
}