Documentation

Simple experimentation with a more difficult model

Let us now consider a more difficult model, glass4.mps. Again, we read the model and begin the optimization:

gurobi> m = read('/Library/gurobi811/mac64/examples/data/glass4')
Read MPS format model from file /Library/gurobi811/mac64/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.