jump-dev / MathOptInterface.jl

A data structure for mathematical optimization problems
http://jump.dev/MathOptInterface.jl/
Other
392 stars 87 forks source link

Fix MPS reader with * in start of name, not as a comment #2470

Closed odow closed 6 months ago

odow commented 6 months ago

Closes #2469

odow commented 6 months ago

With this branch, I get

julia> model = read_from_file("grb/irish-electricity.mps.gz")
irish-electricity
Minimization problem with:
Variables: 61728
Objective function type: AffExpr
`AffExpr`-in-`MathOptInterface.EqualTo{Float64}`: 10537 constraints
`AffExpr`-in-`MathOptInterface.GreaterThan{Float64}`: 36195 constraints
`AffExpr`-in-`MathOptInterface.LessThan{Float64}`: 57527 constraints
`VariableRef`-in-`MathOptInterface.GreaterThan{Float64}`: 41472 constraints
`VariableRef`-in-`MathOptInterface.Interval{Float64}`: 10368 constraints
`VariableRef`-in-`MathOptInterface.ZeroOne`: 9888 constraints
Model mode: AUTOMATIC
CachingOptimizer state: NO_OPTIMIZER
Solver name: No optimizer attached.

julia> set_optimizer(model, Gurobi.Optimizer)

julia> optimize!(model)
Gurobi Optimizer version 11.0.0 build v11.0.0rc2 (mac64[x86] - Darwin 22.6.0 22G91)

CPU model: Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads

Optimize a model with 104259 rows, 61728 columns and 523257 nonzeros
Model fingerprint: 0xefddf5e8
Variable types: 51840 continuous, 9888 integer (9888 binary)
Coefficient statistics:
  Matrix range     [1e+00, 2e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [3e-01, 5e+03]
Presolve removed 72349 rows and 33080 columns
Presolve time: 2.96s
Presolved: 31910 rows, 28648 columns, 155874 nonzeros
Variable types: 20835 continuous, 7813 integer (7813 binary)
Deterministic concurrent LP optimizer: primal and dual simplex
Showing primal log only...

Root simplex log...

Iteration    Objective       Primal Inf.    Dual Inf.      Time
   28694    3.4467263e+05   4.826744e+01   5.178817e+10      5s
   49664    5.9628411e+06   0.000000e+00   4.832604e+06      8s
   76439    4.2466247e+06   0.000000e+00   1.073792e+06     10s
Concurrent spin time: 0.00s

Solved with dual simplex

Root simplex log...

Iteration    Objective       Primal Inf.    Dual Inf.      Time
   38977    3.5733790e+06   0.000000e+00   0.000000e+00     12s

Root relaxation: objective 3.573379e+06, 38977 iterations, 9.24 seconds (8.66 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 3573379.03    0  688          - 3573379.03      -     -   13s
H    0     0                    4176359.7248 3573379.03  14.4%     -   13s
H    0     0                    4158221.6043 3573379.03  14.1%     -   13s
H    0     0                    3830783.0019 3631410.10  5.20%     -   16s
     0     0 3631410.10    0  683 3830783.00 3631410.10  5.20%     -   16s
H    0     0                    3804492.0939 3632910.09  4.51%     -   16s
     0     0 3633311.90    0  630 3804492.09 3633311.90  4.50%     -   16s
     0     0 3633322.57    0  633 3804492.09 3633322.57  4.50%     -   16s
     0     0 3633323.33    0  633 3804492.09 3633323.33  4.50%     -   17s
H    0     0                    3782108.4747 3633323.33  3.93%     -   17s
H    0     0                    3780094.4267 3679298.40  2.67%     -   19s
H    0     0                    3778475.3481 3679298.40  2.62%     -   19s
H    0     0                    3738458.2119 3679298.40  1.58%     -   19s
     0     0 3679298.40    0  534 3738458.21 3679298.40  1.58%     -   20s
     0     0 3680269.90    0  861 3738458.21 3680269.90  1.56%     -   20s
     0     0 3680343.51    0  861 3738458.21 3680343.51  1.55%     -   20s
     0     0 3680566.07    0  865 3738458.21 3680566.07  1.55%     -   20s
     0     0 3680680.39    0  856 3738458.21 3680680.39  1.55%     -   20s
     0     0 3680693.06    0  855 3738458.21 3680693.06  1.55%     -   21s
     0     0 3695622.25    0  447 3738458.21 3695622.25  1.15%     -   23s
     0     0 3698427.86    0  696 3738458.21 3698427.86  1.07%     -   24s
     0     0 3698505.68    0  629 3738458.21 3698505.68  1.07%     -   24s
     0     0 3698507.87    0  631 3738458.21 3698507.87  1.07%     -   24s
H    0     0                    3737797.1582 3698507.87  1.05%     -   27s
     0     0 3705100.39    0  747 3737797.16 3705100.39  0.87%     -   27s
H    0     0                    3737014.9537 3705714.99  0.84%     -   28s
     0     0 3705714.99    0  687 3737014.95 3705714.99  0.84%     -   29s
     0     0 3706372.15    0  737 3737014.95 3706372.15  0.82%     -   29s
     0     0 3708165.72    0  922 3737014.95 3708165.72  0.77%     -   29s
     0     0 3708713.14    0  833 3737014.95 3708713.14  0.76%     -   30s
     0     0 3708879.23    0  835 3737014.95 3708879.23  0.75%     -   30s
     0     0 3709038.44    0 1001 3737014.95 3709038.44  0.75%     -   30s
     0     0 3709093.72    0  920 3737014.95 3709093.72  0.75%     -   30s
     0     0 3709103.05    0  998 3737014.95 3709103.05  0.75%     -   30s
H    0     0                    3736504.4127 3711198.23  0.68%     -   32s
     0     0 3711198.23    0  783 3736504.41 3711198.23  0.68%     -   32s
H    0     0                    3731128.4685 3711351.24  0.53%     -   33s
     0     0 3711657.60    0  324 3731128.47 3711657.60  0.52%     -   33s
     0     0 3711697.76    0  750 3731128.47 3711697.76  0.52%     -   34s
     0     0 3711703.87    0  671 3731128.47 3711703.87  0.52%     -   34s
     0     0 3712119.56    0  647 3731128.47 3712119.56  0.51%     -   35s
H    0     0                    3730902.7830 3712124.88  0.50%     -   36s
     0     0 3712203.75    0  908 3730902.78 3712203.75  0.50%     -   36s
     0     0 3712210.18    0  904 3730902.78 3712210.18  0.50%     -   36s
     0     0 3712345.28    0  507 3730902.78 3712345.28  0.50%     -   37s
     0     0 3712440.13    0  848 3730902.78 3712440.13  0.49%     -   38s
     0     0 3712442.66    0  843 3730902.78 3712442.66  0.49%     -   38s
     0     0 3712528.85    0  729 3730902.78 3712528.85  0.49%     -   39s
     0     0 3712587.38    0  832 3730902.78 3712587.38  0.49%     -   40s
     0     0 3712611.64    0  836 3730902.78 3712611.64  0.49%     -   41s
     0     0 3712700.03    0  824 3730902.78 3712700.03  0.49%     -   42s
H    0     0                    3725527.6012 3712700.03  0.34%     -   43s
     0     0 3712700.28    0  504 3725527.60 3712700.28  0.34%     -   49s
     0     0 3712700.28    0  288 3725527.60 3712700.28  0.34%     -   53s
     0     0 3712700.28    0  288 3725527.60 3712700.28  0.34%     -   53s
     0     0 3712700.28    0  226 3725527.60 3712700.28  0.34%     -   55s
     0     0 3712700.28    0  392 3725527.60 3712700.28  0.34%     -   55s
     0     0 3712700.28    0  364 3725527.60 3712700.28  0.34%     -   55s
     0     0 3712700.28    0  330 3725527.60 3712700.28  0.34%     -   56s
     0     0 3712700.28    0  415 3725527.60 3712700.28  0.34%     -   56s
     0     0 3712700.28    0  370 3725527.60 3712700.28  0.34%     -   57s
     0     0 3712700.28    0  377 3725527.60 3712700.28  0.34%     -   57s
     0     0 3712700.28    0  404 3725527.60 3712700.28  0.34%     -   57s
     0     0 3712700.28    0  421 3725527.60 3712700.28  0.34%     -   57s
H    0     0                    3725521.9668 3712700.28  0.34%     -   58s
     0     0 3712700.28    0  421 3725521.97 3712700.28  0.34%     -   58s
     0     0 3712700.28    0  446 3725521.97 3712700.28  0.34%     -   59s
     0     0 3712763.05    0  446 3725521.97 3712763.05  0.34%     -   61s
     0     0 3712763.05    0  460 3725521.97 3712763.05  0.34%     -   62s
     0     0 3712790.24    0  423 3725521.97 3712790.24  0.34%     -   63s
H    0     0                    3725035.0753 3712792.49  0.33%     -   64s
H    0     0                    3724205.7463 3712792.49  0.31%     -   68s
     0     2 3712799.25    0  423 3724205.75 3712799.25  0.31%     -   69s
     7    10 3713094.28    3  372 3724205.75 3713094.28  0.30%   234   70s
   177   149 3723880.70   37   80 3724205.75 3713250.18  0.29%  53.3   75s
H  257   211                    3724203.0961 3713250.18  0.29%  41.1   79s
   348   276 3716863.55    6  439 3724203.10 3714581.69  0.26%  35.2   80s
   753   528     cutoff   13      3724203.10 3714992.15  0.25%  34.2   85s
H  908   572                    3724115.7332 3715041.37  0.24%  35.2   89s
H  909   459                    3723904.9295 3715041.37  0.24%  35.2   89s
   911   525 3723503.29   23   68 3723904.93 3715041.37  0.24%  35.9   90s
  1452   760 3723545.19   45  824 3723904.93 3716417.22  0.20%  32.7  107s
  1454   761 3722405.76   24  165 3723904.93 3716417.22  0.20%  32.6  110s
  1468   771 3723472.15   24  527 3723904.93 3716417.22  0.20%  32.3  115s
  1486   783 3723452.07   71  454 3723904.93 3716417.22  0.20%  31.9  120s
  1511   799 3723816.79   54  562 3723904.93 3716417.22  0.20%  31.4  125s
  1530   812 3723758.97   85  558 3723904.93 3716417.22  0.20%  31.0  130s
  1546   823 3723817.07   89  559 3723904.93 3717538.31  0.17%  30.7  135s
  1555   829 3722403.16   14  467 3723904.93 3718195.58  0.15%  30.5  141s
  1601   851 3723021.47   17  167 3723904.93 3718195.58  0.15%  47.5  145s
H 1657   806                    3723892.4040 3718195.58  0.15%  46.8  147s
  1783   823 3722630.11   14  339 3723892.40 3718335.81  0.15%  46.1  150s
H 1804   777                    3723864.0164 3718335.81  0.15%  46.0  151s
  2041   851 3722595.58   17  182 3723864.02 3720607.25  0.09%  43.7  155s
H 2204   825                    3723850.3626 3721427.72  0.07%  42.3  157s
H 2212   785                    3723833.8909 3721427.72  0.06%  42.4  157s
H 2213   737                    3723797.1783 3721427.72  0.06%  42.5  157s
  2525   918 3723683.08   28  106 3723797.18 3722535.18  0.03%  40.7  160s
  3578  1253 3723237.64   36   95 3723797.18 3722750.22  0.03%  35.3  166s
  4184  1657 3723057.75   24  102 3723797.18 3722829.70  0.03%  33.6  171s
H 5177  1563                    3723578.2589 3722913.23  0.02%  31.1  175s
H 5225  1385                    3723530.4039 3722918.92  0.02%  31.1  175s
* 5296  1292              89    3723497.7761 3722923.12  0.02%  30.9  175s
  6628  1834     cutoff   38      3723497.78 3723006.05  0.01%  28.9  181s
H 7839  2238                    3723497.5914 3723059.51  0.01%  27.7  189s
  8121  2494 3723486.76   56   36 3723497.59 3723060.94  0.01%  27.5  192s
  8738  2746     cutoff   24      3723497.59 3723085.57  0.01%  27.1  195s
 10180  3195     cutoff   53      3723497.59 3723102.88  0.01%  25.9  201s
 10655  3487     cutoff   39      3723497.59 3723110.70  0.01%  25.6  206s

Cutting planes:
  Gomory: 3
  Cover: 15
  Implied bound: 283
  MIR: 472
  Mixing: 2
  StrongCG: 3
  Flow cover: 325
  GUB cover: 1
  Zero half: 3
  RLT: 12
  Relax-and-lift: 103

Explored 12145 nodes (391656 simplex iterations) in 209.55 seconds (202.16 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 3.7235e+06 3.7235e+06 3.72353e+06 ... 3.7239e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 3.723497591396e+06, best bound 3.723130505451e+06, gap 0.0099%

User-callback calls 63883, time in user-callback 0.11 sec