Status SUBOPTIMAL
OngoingI am running a multi-objective MIP model. When combining the objectives into a single objective, the model works correctly. However, when separating the objectives using setObjectiveN
and parameterizing each environment with getMultiobjEnv
, the returned model status is suboptimal. What could be causing this?
-
Hi Gabriel,
Sequentially solving your model for different objectives rather than solving your model for one combined objective can have a strong influence on model performance and solving behavior. Note that for each objective, a new optimization is run, for which you can specify solver parameters, such as a time limit, which could result in early termination and, thereby, a sub-optimal solution.
Feel free to share a log file from one of these runs, which might contain enough information to spot the issue.
Best regards,
Lennart0 -
Thank you, Lennart.
However, I have a question. When running the model with a short 'TimeLimit', the result is worse than running the model with a long 'TimeLimit', but both runs return an 'optimal' status. How is the status calculated, and why does it sometimes identify it as suboptimal and other times not?
Also, here is the log of the executed run:
Optimize a model with 49196 rows, 88668 columns and 6146061 nonzeros
Model fingerprint: 0x8f08c33c
Variable types: 6468 continuous, 82200 integer (82200 binary)
Coefficient statistics:
Matrix range [2e-03, 7e+06]
Objective range [1e+00, 2e+07]
Bounds range [1e+00, 1e+00]
RHS range [2e-03, 2e+08]
---------------------------------------------------------------------------
Multi-objectives: starting optimization with 3 objectives ...
---------------------------------------------------------------------------
Multi-objectives: applying initial presolve ...
---------------------------------------------------------------------------
Presolve removed 40168 rows and 74801 columns
Presolve time: 4.64s
Presolved: 9028 rows and 13867 columns
---------------------------------------------------------------------------
Multi-objectives: optimize objective 1 ...
---------------------------------------------------------------------------
Presolve removed 303 rows and 1332 columns
Presolve time: 0.58s
Presolved: 8725 rows, 12535 columns, 284114 nonzeros
Variable types: 2580 continuous, 9955 integer (9865 binary)
Deterministic concurrent LP optimizer: primal and dual simplex
Showing first log only...
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
0 1.2821345e+11 1.042746e+04 3.052648e+10 6s
Concurrent spin time: 0.00s
Solved with dual simplex
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
2787 4.0407948e+08 0.000000e+00 0.000000e+00 6s
Use crossover to convert LP symmetric solution to basic solution...
Root crossover log...
0 DPushes remaining with DInf 0.0000000e+00 6s
412 PPushes remaining with PInf 0.0000000e+00 6s
0 PPushes remaining with PInf 0.0000000e+00 6s
Push phase complete: Pinf 0.0000000e+00, Dinf 2.4965473e+06 6s
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
3645 4.0407948e+08 0.000000e+00 2.496547e+06 6s
3667 4.0407948e+08 0.000000e+00 0.000000e+00 6s
3667 4.0407948e+08 0.000000e+00 0.000000e+00 6s
Root relaxation: objective 4.040795e+08, 3667 iterations, 0.30 seconds (0.32 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 4.0408e+08 0 149 - 4.0408e+08 - - 5s
0 0 4.0545e+08 0 180 - 4.0545e+08 - - 7s
0 0 4.0545e+08 0 203 - 4.0545e+08 - - 8s
0 0 4.0545e+08 0 209 - 4.0545e+08 - - 9s
0 0 4.0545e+08 0 194 - 4.0545e+08 - - 10s
0 0 4.0989e+08 0 103 - 4.0989e+08 - - 12s
0 0 4.0989e+08 0 140 - 4.0989e+08 - - 12s
0 0 4.0989e+08 0 88 - 4.0989e+08 - - 13s
0 0 4.0989e+08 0 156 - 4.0989e+08 - - 13s
0 0 4.0989e+08 0 73 - 4.0989e+08 - - 13s
0 0 4.0989e+08 0 118 - 4.0989e+08 - - 14s
0 0 4.0989e+08 0 68 - 4.0989e+08 - - 14s
0 0 4.0989e+08 0 155 - 4.0989e+08 - - 14s
0 0 4.0989e+08 0 79 - 4.0989e+08 - - 15s
0 0 4.0989e+08 0 55 - 4.0989e+08 - - 15s
0 2 4.0989e+08 0 55 - 4.0989e+08 - - 17s
72 81 4.1881e+08 9 177 - 4.0994e+08 - 48.9 26s
508 562 4.3091e+08 59 128 - 4.0994e+08 - 64.3 30s
2181 2278 4.9509e+08 254 27 - 4.0994e+08 - 35.5 40s
* 2197 1566 227 4.403017e+08 4.0994e+08 6.90% 35.8 40s
H 2341 1425 4.402616e+08 4.0998e+08 6.88% 35.6 41s
H 2447 1495 4.402216e+08 4.0998e+08 6.87% 35.9 42s
2450 1497 4.1233e+08 101 181 4.4022e+08 4.0998e+08 6.87% 35.8 45s
2468 1518 4.1860e+08 15 345 4.4022e+08 4.0998e+08 6.87% 3.1 50s
2565 1576 4.2288e+08 21 401 4.4022e+08 4.0998e+08 6.87% 4.8 55s
2701 1672 4.2636e+08 30 412 4.4022e+08 4.0998e+08 6.87% 7.9 60s
2952 1830 4.2681e+08 51 475 4.4022e+08 4.0998e+08 6.87% 13.6 65s
H 3216 1694 4.218624e+08 4.0998e+08 2.82% 18.1 69s
3250 1651 cutoff 61 4.2186e+08 4.0998e+08 2.82% 18.2 73s
H 3255 1572 4.196034e+08 4.0998e+08 2.29% 18.1 73s
H 3256 1503 4.195633e+08 4.0998e+08 2.28% 18.1 73s
3345 1572 4.1073e+08 25 172 4.1956e+08 4.0998e+08 2.28% 19.6 75s
3966 1937 4.1241e+08 106 110 4.1956e+08 4.0998e+08 2.28% 21.6 80s
H 4034 1850 4.195185e+08 4.0998e+08 2.27% 22.6 80s
H 4356 1975 4.195175e+08 4.0998e+08 2.27% 23.6 83s
4573 2138 4.1919e+08 194 27 4.1952e+08 4.0998e+08 2.27% 24.3 85s
5099 2383 4.1069e+08 55 157 4.1952e+08 4.0998e+08 2.27% 32.3 90s
H 5606 2554 4.193171e+08 4.0998e+08 2.23% 35.1 94s
5746 2721 4.1244e+08 136 103 4.1932e+08 4.0998e+08 2.23% 34.9 95s
6350 3182 4.1517e+08 239 37 4.1932e+08 4.0998e+08 2.23% 35.5 100s
6911 3521 4.1897e+08 42 118 4.1932e+08 4.0998e+08 2.23% 41.8 106s
H 6926 3488 4.192771e+08 4.0998e+08 2.22% 41.7 106s
H 6936 3488 4.192771e+08 4.0998e+08 2.22% 41.7 106s
7265 3880 4.1042e+08 50 221 4.1928e+08 4.0998e+08 2.22% 45.2 110s
7903 4355 4.1013e+08 33 219 4.1928e+08 4.0998e+08 2.22% 46.7 116s
8415 4716 4.1307e+08 87 220 4.1928e+08 4.0998e+08 2.22% 47.3 121s
8895 5280 4.1113e+08 55 140 4.1928e+08 4.0998e+08 2.22% 45.9 126s
9233 5446 cutoff 101 4.1928e+08 4.0998e+08 2.22% 45.6 146s
9768 5871 4.1713e+08 86 127 4.1928e+08 4.1000e+08 2.21% 46.5 152s
10049 6124 4.1151e+08 37 96 4.1928e+08 4.1000e+08 2.21% 46.9 155s
10797 6601 4.1043e+08 53 191 4.1928e+08 4.1000e+08 2.21% 50.3 165s
11005 7024 4.1160e+08 66 154 4.1928e+08 4.1000e+08 2.21% 51.8 170s
12141 8089 4.1172e+08 85 182 4.1928e+08 4.1000e+08 2.21% 52.5 180s
12881 8496 cutoff 187 4.1928e+08 4.1000e+08 2.21% 51.9 310s
13408 8726 4.1202e+08 64 234 4.1928e+08 4.1000e+08 2.21% 52.2 329s
H13428 8726 4.192771e+08 4.1000e+08 2.21% 52.1 329s
13694 9501 4.1352e+08 84 187 4.1928e+08 4.1000e+08 2.21% 52.3 335s
14593 10282 4.1021e+08 29 236 4.1928e+08 4.1000e+08 2.21% 50.1 343s
Cutting planes:
Gomory: 2
Clique: 3
Explored 15691 nodes (851881 simplex iterations) in 344.77 seconds (468.22 work units)
Thread count was 16 (of 16 available processors)
Solution count 10: 4.19277e+08 4.19277e+08 4.19317e+08 ... 4.40262e+08
Time limit reached
Best objective 4.192770688823e+08, best bound 4.100029548488e+08, gap 2.2119%
---------------------------------------------------------------------------
Multi-objectives: optimize objective 2 ...
---------------------------------------------------------------------------
Loaded user MIP start with objective 1
Presolve removed 111 rows and 1323 columns
Presolve time: 0.60s
Presolved: 8918 rows, 12544 columns, 292718 nonzeros
Variable types: 2568 continuous, 9976 integer (9880 binary)
Root relaxation presolved: 8727 rows, 12686 columns, 284147 nonzeros
Deterministic concurrent LP optimizer: primal and dual simplex
Showing first log only...
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
0 0.0000000e+00 1.085131e+05 4.913600e+11 346s
Solved with dual simplex
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
4613 3.6803195e-01 0.000000e+00 0.000000e+00 346s
Root relaxation: objective 3.680319e-01, 4613 iterations, 0.52 seconds (0.55 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 0.36803 0 223 1.00000 0.36803 63.2% - 346s
0 0 0.37521 0 248 1.00000 0.37521 62.5% - 348s
0 0 0.37521 0 253 1.00000 0.37521 62.5% - 348s
H 0 0 0.6485719 0.37521 42.1% - 349s
0 0 0.37521 0 204 0.64857 0.37521 42.1% - 349s
0 0 0.37535 0 210 0.64857 0.37535 42.1% - 350s
0 0 0.37535 0 256 0.64857 0.37535 42.1% - 351s
0 0 0.37546 0 249 0.64857 0.37546 42.1% - 351s
0 0 0.37546 0 304 0.64857 0.37546 42.1% - 351s
0 0 0.37574 0 288 0.64857 0.37574 42.1% - 352s
0 0 0.37574 0 314 0.64857 0.37574 42.1% - 352s
0 0 0.37598 0 294 0.64857 0.37598 42.0% - 352s
0 0 0.37598 0 239 0.64857 0.37598 42.0% - 353s
0 0 0.37599 0 259 0.64857 0.37599 42.0% - 353s
0 0 0.37599 0 319 0.64857 0.37599 42.0% - 354s
0 0 0.37599 0 312 0.64857 0.37599 42.0% - 354s
0 0 0.37599 0 310 0.64857 0.37599 42.0% - 354s
0 0 0.37604 0 317 0.64857 0.37604 42.0% - 355s
0 0 0.37624 0 252 0.64857 0.37624 42.0% - 355s
0 0 0.37628 0 284 0.64857 0.37628 42.0% - 355s
0 0 0.37647 0 311 0.64857 0.37647 42.0% - 356s
0 0 0.37659 0 316 0.64857 0.37659 41.9% - 356s
0 0 0.37663 0 343 0.64857 0.37663 41.9% - 357s
0 0 0.37668 0 345 0.64857 0.37668 41.9% - 357s
0 0 0.37717 0 318 0.64857 0.37717 41.8% - 358s
0 0 0.37717 0 326 0.64857 0.37717 41.8% - 358s
0 0 0.37731 0 285 0.64857 0.37731 41.8% - 358s
0 0 0.37731 0 330 0.64857 0.37731 41.8% - 359s
0 0 0.37741 0 358 0.64857 0.37741 41.8% - 359s
0 0 0.37748 0 357 0.64857 0.37748 41.8% - 360s
0 0 0.37748 0 368 0.64857 0.37748 41.8% - 360s
0 0 0.37761 0 363 0.64857 0.37761 41.8% - 361s
0 0 0.37761 0 339 0.64857 0.37761 41.8% - 361s
0 0 0.37761 0 376 0.64857 0.37761 41.8% - 361s
0 0 0.37761 0 379 0.64857 0.37761 41.8% - 362s
H 0 0 0.5927748 0.37761 36.3% - 362s
0 0 0.37761 0 323 0.59277 0.37761 36.3% - 363s
H 0 0 0.5496654 0.37761 31.3% - 364s
0 0 0.37778 0 292 0.54967 0.37778 31.3% - 364s
0 0 0.37778 0 291 0.54967 0.37778 31.3% - 364s
0 0 0.37778 0 311 0.54967 0.37778 31.3% - 365s
0 0 0.37778 0 361 0.54967 0.37778 31.3% - 365s
0 0 0.37778 0 271 0.54967 0.37778 31.3% - 366s
0 0 0.37778 0 271 0.54967 0.37778 31.3% - 366s
H 0 0 0.5418974 0.37778 30.3% - 370s
H 0 0 0.5406800 0.37778 30.1% - 370s
0 2 0.37778 0 271 0.54068 0.37778 30.1% - 370s
47 34 infeasible 6 0.54068 0.38315 29.1% 1195 375s
109 86 0.42576 7 318 0.54068 0.38492 28.8% 1035 381s
203 177 0.52836 11 220 0.54068 0.38492 28.8% 864 386s
230 179 infeasible 11 0.54068 0.38492 28.8% 838 392s
H 234 179 0.5389522 0.38492 28.6% 835 392s
240 181 infeasible 12 0.53895 0.38492 28.6% 851 395s
H 252 181 0.5324405 0.38492 27.7% 845 395s
364 250 0.52836 18 272 0.53244 0.38492 27.7% 911 400s
392 259 infeasible 20 0.53244 0.38796 27.1% 903 405s
493 310 infeasible 55 0.53244 0.42005 21.1% 881 410s
600 384 0.46651 92 112 0.53244 0.42005 21.1% 891 415s
838 508 0.47263 13 239 0.53244 0.42426 20.3% 859 421s
933 558 0.47263 17 239 0.53244 0.42426 20.3% 869 425s
1056 666 0.47263 22 265 0.53244 0.42426 20.3% 907 430s
1267 778 0.51024 13 215 0.53244 0.42643 19.9% 879 437s
1429 869 infeasible 15 0.53244 0.42643 19.9% 871 440s
1497 870 0.47263 15 271 0.53244 0.42643 19.9% 871 455s
1506 876 0.51984 25 558 0.53244 0.42643 19.9% 866 463s
1509 883 0.42643 11 416 0.53244 0.42643 19.9% 18.0 465s
1553 900 0.42643 16 564 0.53244 0.42643 19.9% 48.2 470s
1586 918 0.44554 18 273 0.53244 0.42643 19.9% 75.3 475s
1602 929 0.44554 20 297 0.53244 0.42643 19.9% 90.6 481s
H 1609 883 0.5255392 0.42643 18.9% 93.8 481s
1619 890 infeasible 19 0.52554 0.42643 18.9% 114 487s
1631 893 0.44554 22 326 0.52554 0.42643 18.9% 138 491s
1653 897 0.44554 24 304 0.52554 0.42643 18.9% 145 495s
1682 907 0.44554 28 327 0.52554 0.42643 18.9% 153 502s
1697 909 0.44554 30 306 0.52554 0.42643 18.9% 156 515s
1706 915 0.44554 31 329 0.52554 0.42643 18.9% 158 520s
1734 927 0.44554 36 341 0.52554 0.42643 18.9% 164 525s
1775 929 infeasible 38 0.52554 0.42643 18.9% 175 530s
1810 923 0.44765 42 500 0.52554 0.42643 18.9% 194 536s
1825 925 infeasible 41 0.52554 0.42643 18.9% 203 541s
Cutting planes:
Gomory: 9
Clique: 120
MIR: 19
StrongCG: 1
Flow cover: 2
GUB cover: 1
Zero half: 4
RLT: 11
Explored 1867 nodes (1770273 simplex iterations) in 544.80 seconds (813.46 work units)
Thread count was 16 (of 16 available processors)
Solution count 9: 0.525539 0.532441 0.538952 ... 1
Time limit reached
Best objective 5.255391962461e-01, best bound 4.264330265154e-01, gap 18.8580%
---------------------------------------------------------------------------
Multi-objectives: optimize objective 3 ...
---------------------------------------------------------------------------
Loaded user MIP start with objective 1.50428e+06
Presolve removed 111 rows and 1323 columns
Presolve time: 0.71s
Presolved: 8919 rows, 12544 columns, 296952 nonzeros
Variable types: 2568 continuous, 9976 integer (9880 binary)
Root relaxation presolved: 8777 rows, 12686 columns, 296468 nonzeros
Deterministic concurrent LP optimizer: primal and dual simplex
Showing first log only...
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
0 2.4482834e+04 8.219405e+04 7.363612e+10 546s
Solved with dual simplex
Root simplex log...
Iteration Objective Primal Inf. Dual Inf. Time
6863 1.0062257e+06 0.000000e+00 0.000000e+00 547s
Extra simplex iterations after uncrush: 5
Root relaxation: objective 1.006226e+06, 6863 iterations, 1.00 seconds (1.14 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 1006225.67 0 462 1504280.83 1006225.67 33.1% - 546s
H 0 0 1486968.4340 1006225.67 32.3% - 548s
0 0 1013066.20 0 617 1486968.43 1013066.20 31.9% - 548s
0 0 1013066.20 0 706 1486968.43 1013066.20 31.9% - 548s
0 0 1013066.20 0 713 1486968.43 1013066.20 31.9% - 548s
0 0 1015789.21 0 814 1486968.43 1015789.21 31.7% - 550s
0 0 1016155.77 0 823 1486968.43 1016155.77 31.7% - 550s
0 0 1018770.70 0 924 1486968.43 1018770.70 31.5% - 551s
0 0 1018770.70 0 551 1486968.43 1018770.70 31.5% - 552s
H 0 0 1446572.8340 1018770.70 29.6% - 553s
0 2 1018770.70 0 524 1446572.83 1018770.70 29.6% - 554s
15 24 1018770.70 4 875 1446572.83 1018770.70 29.6% 483 555s
39 42 1028866.23 6 824 1446572.83 1018770.70 29.6% 831 560s
H 72 67 1440802.0340 1018770.70 29.3% 959 563s
101 100 1030857.57 15 811 1440802.03 1018770.70 29.3% 754 565s
H 121 104 1435031.2340 1018770.70 29.0% 659 569s
H 129 110 1388864.8340 1018770.70 26.6% 642 577s
137 134 infeasible 18 1388864.83 1018770.70 26.6% 737 580s
216 211 1043063.50 22 826 1388864.83 1018770.70 26.6% 568 590s
246 228 infeasible 25 1388864.83 1018770.70 26.6% 677 595s
312 292 infeasible 27 1388864.83 1018770.70 26.6% 683 600s
Cutting planes:
Gomory: 35
Cover: 946
Implied bound: 9
Clique: 492
MIR: 145
StrongCG: 33
GUB cover: 68
Zero half: 23
RLT: 21
Relax-and-lift: 1
Explored 422 nodes (240496 simplex iterations) in 604.83 seconds (899.60 work units)
Thread count was 16 (of 16 available processors)
Solution count 6: 1.38886e+06 1.43503e+06 1.4408e+06 ... 1.50428e+06
Time limit reached
Best objective 1.388864834000e+06, best bound 1.019533634000e+06, gap 26.5923%
---------------------------------------------------------------------------
Multi-objectives: stopped in 604.92 seconds (899.60 work units), solution count 10
Sub-optimal termination for some objective, not solved to optimality0
Please sign in to leave a comment.
Comments
2 comments