Let us now consider a more difficult model, glass4.mps.
Again, we read the model and begin the optimization:
gurobi> m = read('c:/gurobi752/win64/examples/data/glass4')
Read MPS format model from file c:/gurobi752/win64/examples/data/glass4.mps
Reading time = 0.00 seconds
glass4: 396 Rows, 322 Columns, 1815 NonZeros
gurobi> m.optimize()
Optimize a model with 396 rows, 322 columns and 1815 nonzeros
Variable types: 20 continuous, 302 integer (0 binary)
Coefficient statistics:
Matrix range [1e+00, 8e+06]
Objective range [1e+00, 1e+06]
Bounds range [1e+00, 8e+02]
RHS range [1e+00, 8e+06]
Found heuristic solution: objective 2.40002e+09
Presolve removed 4 rows and 5 columns
Presolve time: 0.01s
Presolved: 392 rows, 317 columns, 1815 nonzeros
Variable types: 19 continuous, 298 integer (298 binary)
Root relaxation: objective 8.000024e+08, 72 iterations, 0.00 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 8.0000e+08 0 72 2.4000e+09 8.0000e+08 66.7% - 0s
H 0 0 2.283353e+09 8.0000e+08 65.0% - 0s
H 0 0 2.283353e+09 8.0000e+08 65.0% - 0s
0 0 8.0000e+08 0 72 2.2834e+09 8.0000e+08 65.0% - 0s
0 0 8.0000e+08 0 72 2.2834e+09 8.0000e+08 65.0% - 0s
0 0 8.0000e+08 0 72 2.2834e+09 8.0000e+08 65.0% - 0s
H 0 0 2.233352e+09 8.0000e+08 64.2% - 0s
0 2 8.0000e+08 0 72 2.2334e+09 8.0000e+08 64.2% - 0s
H 702 664 2.133352e+09 8.0000e+08 62.5% 5.1 0s
* 779 663 81 2.000020e+09 8.0000e+08 60.0% 5.2 0s
H 1396 1055 2.000019e+09 8.0000e+08 60.0% 5.4 0s
H 1397 1011 2.000017e+09 8.0000e+08 60.0% 5.4 0s
* 1563 1071 46 2.000017e+09 8.0000e+08 60.0% 5.2 0s
* 1566 1028 47 2.000017e+09 8.0000e+08 60.0% 5.2 0s
* 1641 1034 46 2.000017e+09 8.0000e+08 60.0% 5.1 0s
H 2751 1465 1.950016e+09 8.0000e+08 59.0% 4.5 1s
* 3452 1815 129 1.946685e+09 8.0000e+08 58.9% 4.3 1s
* 3628 1890 130 1.940020e+09 8.0000e+08 58.8% 4.3 1s
* 3774 1952 103 1.912519e+09 8.0000e+08 58.2% 4.2 1s
* 3778 1935 104 1.900018e+09 8.0000e+08 57.9% 4.2 1s
* 5459 3246 111 1.900017e+09 8.0000e+08 57.9% 3.7 1s
* 5706 3206 114 1.850017e+09 8.0000e+08 56.8% 3.7 1s
* 5707 3206 114 1.850017e+09 8.0000e+08 56.8% 3.7 1s
H 9808 6160 1.850017e+09 8.0000e+08 56.8% 3.3 1s
* 9962 6053 75 1.800017e+09 8.0000e+08 55.6% 3.3 1s
* 9963 6050 75 1.800017e+09 8.0000e+08 55.6% 3.3 1s
*11813 6857 83 1.766683e+09 8.0000e+08 54.7% 3.2 2s
H13611 5753 1.593348e+09 8.0000e+08 49.8% 3.2 2s
H17448 7869 1.571443e+09 8.0000e+08 49.1% 3.1 2s
H17455 7722 1.560015e+09 8.0000e+08 48.7% 3.1 2s
H24494 11296 1.550014e+09 8.0000e+08 48.4% 3.4 3s
H29764 13948 1.550014e+09 8.0001e+08 48.4% 3.4 7s
29791 13966 1.1000e+09 33 148 1.5500e+09 8.0431e+08 48.1% 3.4 10s
H29794 13269 1.537514e+09 8.0448e+08 47.7% 3.4 10s
29861 13318 1.3000e+09 63 131 1.5375e+09 8.1068e+08 47.3% 3.5 15s
Interrupt request received
Cutting planes:
Gomory: 42
Cover: 2
Implied bound: 10
Clique: 1
MIR: 6
Flow cover: 42
Explored 29862 nodes (105763 simplex iterations) in 15.38 seconds
Thread count was 8 (of 8 available processors)
Solution count 10: 1.53751e+09 1.55001e+09 1.55001e+09 ... 1.85002e+09
Solve interrupted
Best objective 1.537514308333e+09, best bound 8.106816259965e+08, gap 47.2732%
It quickly becomes apparent that this model is quite a bit more
difficult than the earlier coins model. The optimal solution
is actually 1,200,000,000, but finding that solution takes a
while. After letting the model run for 10 seconds, we interrupt the
run (by hitting CTRL-C, which produces the Interrupt request
received message) and consider our options. Typing
m.optimize() would resume the run from the point at which it was
interrupted.