Objective bounds BestBd worsens
AnsweredHi,
I am wondering how I should understand my log. The problem is a maximization problem, and the objective bounds first decrease, but then they increase at the final line of the log to match the incumbent solution and report optimality. I am not sure how I should understand this and/or how to fix it. Thank you.
Below is an example:
Set parameter FuncPieces to value -2
Set parameter FuncPieceError to value 0.01
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 3743 rows, 3840 columns and 9596 nonzeros
Model fingerprint: 0xda89cde4
Model has 20 quadratic objective terms
Model has 60 general constraints
Variable types: 2304 continuous, 1536 integer (1536 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+07]
Objective range [3e-01, 3e-01]
QObjective range [5e-01, 5e-01]
Bounds range [1e+00, 1e+00]
RHS range [1e-01, 4e+01]
Presolve removed 1457 rows and 995 columns
Presolve time: 0.04s
Presolved: 2286 rows, 2845 columns, 8668 nonzeros
Presolved model has 60 SOS constraint(s)
Presolved model has 20 quadratic objective terms
Variable types: 2206 continuous, 639 integer (639 binary)
Root relaxation: objective 1.510387e+03, 15097 iterations, 0.38 seconds (0.30 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 826.81436 0 70 - 826.81436 - - 0s
0 0 783.64563 0 208 - 783.64563 - - 0s
0 0 783.64563 0 208 - 783.64563 - - 0s
0 0 765.26983 0 369 - 765.26983 - - 1s
H 0 0 0.8119216 765.26983 - - 1s
0 0 765.26983 0 96 0.81192 765.26983 - - 1s
H 0 0 0.8119216 765.26983 - - 1s
0 0 765.06466 0 204 0.81192 765.06466 - - 1s
0 0 742.30583 0 355 0.81192 742.30583 - - 1s
0 0 739.68463 0 383 0.81192 739.68463 - - 1s
0 0 739.64588 0 385 0.81192 739.64588 - - 1s
0 0 739.63880 0 390 0.81192 739.63880 - - 1s
0 0 732.15782 0 388 0.81192 732.15782 - - 2s
0 0 730.30548 0 391 0.81192 730.30548 - - 2s
0 0 729.71861 0 389 0.81192 729.71861 - - 2s
0 0 729.70646 0 387 0.81192 729.70646 - - 2s
0 0 719.30354 0 376 0.81192 719.30354 - - 2s
0 0 717.31996 0 381 0.81192 717.31996 - - 2s
0 0 716.44781 0 381 0.81192 716.44781 - - 2s
0 0 716.31813 0 384 0.81192 716.31813 - - 2s
0 0 716.27022 0 383 0.81192 716.27022 - - 2s
H 0 0 9.7238575 716.27022 7266% - 3s
H 0 0 9.7238575 716.27022 7266% - 3s
0 0 711.73446 0 392 9.72386 711.73446 7219% - 3s
0 0 711.53705 0 390 9.72386 711.53705 7217% - 3s
0 0 711.51353 0 392 9.72386 711.51353 7217% - 3s
0 0 711.23144 0 384 9.72386 711.23144 7214% - 3s
H 0 0 31.0720731 711.23144 2189% - 3s
0 0 709.47875 0 377 31.07207 709.47875 2183% - 4s
0 2 708.36683 0 377 31.07207 708.36683 2180% - 4s
3 8 686.29787 2 369 31.07207 703.31237 2163% 433 5s
H 90 95 75.7528542 684.09690 803% 423 7s
H 123 126 76.1645631 684.09690 798% 417 8s
H 165 176 103.0272250 684.09690 564% 351 8s
H 208 232 125.9019150 684.09690 443% 314 8s
H 251 266 125.9110223 684.09690 443% 294 9s
H 287 303 127.1508635 684.09690 438% 285 9s
H 305 303 127.3859946 681.29384 435% 273 9s
H 309 303 129.7470313 681.29384 425% 272 9s
H 353 336 134.5859032 681.29384 406% 253 9s
H 354 336 146.5335280 681.29384 365% 253 9s
359 358 640.87420 8 359 146.53353 681.29384 365% 253 11s
H 445 406 286.6919290 681.29384 138% 301 12s
H 446 406 297.9469619 681.29384 129% 303 12s
813 820 526.90354 85 218 297.94696 681.29384 129% 241 15s
1079 934 551.36104 58 424 297.94696 678.52703 128% 219 20s
1106 955 664.87918 10 409 297.94696 664.87918 123% 254 25s
1136 981 646.59204 14 398 297.94696 664.01004 123% 299 30s
1261 1073 604.69238 20 379 297.94696 664.01004 123% 358 35s
1297 1086 603.61634 21 384 297.94696 664.01004 123% 365 40s
H 1347 1078 344.3898896 664.01004 92.8% 393 43s
H 1401 1069 363.1370030 664.01004 82.9% 400 45s
H 1402 1024 369.1416921 664.01004 79.9% 400 45s
H 1407 981 376.7736434 664.01004 76.2% 401 45s
H 1409 941 401.3000498 664.01004 65.5% 403 45s
1726 1158 570.71412 32 320 401.30005 664.01004 65.5% 394 50s
2306 1457 531.76601 49 270 401.30005 664.01004 65.5% 362 55s
H 2412 1296 461.8310347 664.01004 43.8% 357 58s
2651 1383 517.94880 65 230 461.83103 664.01004 43.8% 346 61s
H 2925 1439 463.1256331 664.01004 43.4% 356 64s
2991 1469 483.20254 107 177 463.12563 647.64739 39.8% 357 65s
H 3083 1320 479.6197474 647.64739 35.0% 356 67s
H 3198 1006 501.4979491 647.64739 29.1% 352 68s
H 3212 978 504.5507150 647.64739 28.4% 352 68s
H 3216 774 519.3559046 647.64739 24.7% 353 68s
3240 836 594.33693 21 342 519.35590 647.64739 24.7% 355 70s
H 3481 905 523.9197763 643.85928 22.9% 365 74s
H 3485 877 526.4449212 643.85928 22.3% 365 74s
H 3491 773 534.0310948 643.85928 20.6% 365 74s
3493 791 cutoff 41 534.03109 637.54341 19.4% 365 75s
3666 893 536.97187 33 285 534.03109 630.17382 18.0% 376 81s
H 3784 653 556.5861046 629.91698 13.2% 382 84s
H 3785 497 569.5923695 629.91698 10.6% 383 84s
3831 481 574.26737 21 303 569.59237 629.91698 10.6% 385 85s
4015 521 576.31563 23 317 569.59237 624.16876 9.58% 395 91s
H 4037 448 581.0872609 624.16876 7.41% 394 91s
4248 433 589.81637 23 346 581.08726 622.98853 7.21% 405 96s
4471 451 589.00789 21 337 581.08726 619.31146 6.58% 421 101s
4631 465 598.41482 17 389 581.08726 617.55860 6.28% 432 105s
H 4647 439 647.6198335 647.61983 0.00% 433 105s
Cutting planes:
Gomory: 42
Cover: 40
Implied bound: 93
Projected implied bound: 22
Clique: 1
MIR: 460
Flow cover: 1554
Inf proof: 1
Relax-and-lift: 579
Explored 4687 nodes (2089955 simplex iterations) in 105.44 seconds (160.79 work units)
Thread count was 8 (of 8 available processors)
Solution count 10: 647.62 581.087 569.592 ... 501.498
Optimal solution found (tolerance 2.00e-02)
Warning: max constraint violation (7.0949e-02) exceeds tolerance
Warning: max general constraint violation (7.0949e-02) exceeds tolerance
Piecewise linearization of function constraints often causes big violation.
Try to adjust the settings of the related parameters, such as FuncPieces.
Best objective 6.476198335367e+02, best bound 6.476198335367e+02, gap 0.0000%
-
Hi Jisoon,
This is not typical of a normal solve, and a heuristic solution with objective 647.61983 that violates the previous lower and upper bounds (581.08726, 617.55860) is not ideal. On top of this warnings about large general constraint violations are reported. I've had a chat with my colleagues and, based on similar behavior we have seen in the past, we suspect that your model suffers from numerical issues which is causing difficulty for the solver. It is entirely possible that you do not run into this issue by simply by changing the value of Seed, although this is masking the issue, not addressing it. Our recommendations for things you should try include:
- provide bounds for variables involved in quadratic terms (as tight as possible) if you're not already.
- as per the advice at the end of the log, try adjusting the settings of the related parameters, such as FuncPieces.
- setting NumericFocus to a higher value
- upgrade to Gurobi v10 if practical
There is also a section of our manual, Guidelines for Numerical Issues, which we think will be useful for you to review (and a video from Gurobi Days Digital on the subject too).- Riley
0
Please sign in to leave a comment.
Comments
1 comment