Why does SOCP obtain a suboptimal solution?
Answered
0
-
Set parameter Threads to value 8
Set parameter TimeLimit to value 3600
Gurobi Optimizer version 10.0.3 build v10.0.3rc0 (win64)
CPU model: AMD Ryzen 7 6800H with Radeon Graphics, instruction set [SSE2|AVX|AVX2]
Thread count: 8 physical cores, 16 logical processors, using up to 8 threads
Optimize a model with 35952 rows, 26928 columns and 180654 nonzeros
Model fingerprint: 0x0377dc3d
Model has 4488 quadratic constraints
Coefficient statistics:
Matrix range [1e+00, 5e+03]
QMatrix range [1e+00, 1e+00]
Objective range [3e-04, 5e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+00, 5e+04]
Presolve removed 2154 rows and 1931 columns
Presolve time: 0.05s
Presolved: 47262 rows, 33973 columns, 197583 nonzeros
Presolved model has 4488 second-order cone constraints
Ordering time: 0.01s
Barrier statistics:
AA' NZ : 5.996e+05
Factor NZ : 1.513e+06 (roughly 45 MB of memory)
Factor Ops : 6.985e+07 (less than 1 second per iteration)
Threads : 8
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 9.17940430e+08 1.16777778e+07 5.48e+03 5.04e+01 3.12e+04 0s
1 2.74717996e+08 -4.26543783e+06 1.30e+03 3.35e+01 1.12e+04 0s
2 1.25578432e+08 3.34626544e+06 3.95e+02 1.14e+01 3.99e+03 0s
3 7.99429462e+07 2.77429203e+07 2.01e+02 4.77e+00 2.06e+03 0s
4 5.68975154e+07 4.80616364e+07 1.19e+02 2.00e+00 1.06e+03 0s
5 3.99230356e+07 5.02889772e+07 6.23e+01 1.28e+00 6.25e+02 0s
6 3.54935926e+07 5.83556484e+07 4.73e+01 8.64e-01 4.37e+02 0s
7 3.00547679e+07 5.83689346e+07 2.92e+01 5.40e-01 3.35e+02 0s
8 2.81408345e+07 5.91774707e+07 2.23e+01 4.03e-01 2.70e+02 0s
9 2.47493214e+07 4.95193859e+07 1.07e+01 1.84e-01 2.03e+02 0s
10 2.26700632e+07 4.38902281e+07 4.53e+00 1.19e-01 1.99e+02 0s
11 2.16904326e+07 3.22947106e+07 1.61e+00 5.02e-02 8.99e+01 0s
12 2.13703771e+07 2.90305587e+07 8.52e-01 3.52e-02 6.32e+01 0s
13 2.12076746e+07 2.74405731e+07 6.03e-01 2.83e-02 5.21e+01 0s
14 2.08463586e+07 2.54278217e+07 1.29e-01 2.02e-02 3.85e+01 0s
15 2.06809444e+07 2.40681413e+07 1.06e-01 1.48e-02 2.92e+01 0s
16 2.04994950e+07 2.32358058e+07 9.04e-02 1.18e-02 2.48e+01 0s
17 2.02686417e+07 2.26331546e+07 6.60e-02 9.62e-03 2.06e+01 1s
18 2.01228268e+07 2.17653763e+07 5.59e-02 6.84e-03 1.66e+01 1s
19 2.00028593e+07 2.12940771e+07 4.41e-02 5.34e-03 1.36e+01 1s
20 1.99506895e+07 2.11542383e+07 3.92e-02 4.87e-03 1.24e+01 1s
21 1.98753077e+07 2.07808612e+07 3.28e-02 3.73e-03 1.02e+01 1s
22 1.98056691e+07 2.03784291e+07 2.54e-02 2.49e-03 7.51e+00 1s
23 1.97437146e+07 2.00401475e+07 1.76e-02 1.41e-03 4.67e+00 1s
24 1.96890094e+07 1.98125705e+07 9.48e-03 6.68e-04 2.34e+00 1s
25 1.96630034e+07 1.97271076e+07 5.95e-03 3.87e-04 1.43e+00 1s
26 1.96431837e+07 1.96822867e+07 3.58e-03 2.36e-04 8.54e-01 1s
27 1.96314026e+07 1.96443047e+07 2.18e-03 1.09e-04 4.50e-01 1s
28 1.96204054e+07 1.96302870e+07 1.04e-03 6.16e-05 2.14e-01 1s
29 1.96165061e+07 1.96217870e+07 6.50e-04 3.26e-05 1.08e-01 1s
30 1.96137516e+07 1.96140515e+07 4.82e-04 6.82e-06 2.03e-02 1s
31 1.96131230e+07 1.96129102e+07 1.25e-04 1.77e-07 2.76e-03 1s
32 1.96129314e+07 1.96129167e+07 6.23e-05 2.10e-07 1.80e-04 1s
33 1.96129056e+07 1.96129169e+07 1.22e+01 1.52e-02 3.02e-05 1s
34 1.96129086e+07 1.96129169e+07 1.22e+01 1.53e-02 3.01e-05 1s
35 1.96129104e+07 1.96129170e+07 1.10e+01 2.58e-02 2.57e-05 1s
36 1.96127358e+07 1.96129170e+07 1.59e+01 8.52e-03 1.29e-05 1s
37 1.96127286e+07 1.96129170e+07 2.45e+01 1.62e-02 1.14e-05 1s
38 1.96127888e+07 1.96129170e+07 3.94e+01 3.02e-02 7.97e-06 1s
39 1.96128136e+07 1.96129170e+07 3.16e+01 5.20e-02 6.57e-06 1s
40 1.96128892e+07 1.96129171e+07 2.10e+01 1.04e-01 4.97e-06 2s
41 1.96129837e+07 1.96129171e+07 4.06e+01 2.01e-01 3.81e-06 2s
42 1.96130379e+07 1.96129171e+07 5.39e+01 2.28e-01 3.40e-06 2s
43 1.96132273e+07 1.96129171e+07 1.41e+02 3.69e-01 2.39e-06 2s
44 1.96129770e+07 1.96129171e+07 1.95e+01 2.72e-01 7.09e-07 2s
45 1.96131802e+07 1.96129171e+07 7.34e+01 5.22e-01 6.61e-07 2s
46 1.96127051e+07 1.96129171e+07 1.40e+02 1.02e+00 5.75e-07 2s
47 1.96129541e+07 1.96129172e+07 1.22e+02 2.68e+00 4.65e-07 2s
48 1.96131479e+07 1.96129172e+07 1.32e+02 2.50e+00 2.48e-07 2s
49 1.96132796e+07 1.96129172e+07 1.59e+02 2.60e+00 2.24e-07 2s
50 1.96127509e+07 1.96129172e+07 1.64e+02 3.64e+00 2.03e-07 2s
51 1.96130932e+07 1.96129172e+07 1.89e+02 4.12e+00 1.93e-07 2s
52 1.96130342e+07 1.96129172e+07 1.57e+02 4.72e+00 1.82e-07 2s
53 1.96135314e+07 1.96129172e+07 1.52e+02 4.90e+00 1.75e-07 2s
54 1.96134952e+07 1.96129172e+07 1.55e+02 4.91e+00 1.74e-07 2s
55 1.96117425e+07 1.96129172e+07 1.65e+02 5.74e+00 1.61e-07 3s
56 1.96129761e+07 1.96129172e+07 2.01e+02 8.77e+00 1.18e-07 3s
57 1.96139275e+07 1.96129172e+07 3.22e+02 1.37e+01 7.78e-08 3s
58 1.96128024e+07 1.96129172e+07 4.02e+02 2.09e+01 6.61e-08 3s
59 1.96133383e+07 1.96129172e+07 4.87e+02 2.24e+01 6.34e-08 3s
60 1.96140276e+07 1.96129172e+07 6.78e+02 3.52e+01 5.21e-08 3s
61 1.96118055e+07 1.96129172e+07 1.05e+03 4.25e+01 4.02e-08 3s
62 1.96097664e+07 1.96129172e+07 1.85e+03 5.77e+01 3.80e-08 3s
63 1.96083524e+07 1.96129172e+07 2.19e+03 8.27e+01 3.44e-08 3s
64 1.95888606e+07 1.96129172e+07 3.23e+03 9.01e+01 3.28e-08 3s
65 1.96298356e+07 1.96129172e+07 4.36e+03 8.97e+01 3.23e-08 3s
66 1.96767296e+07 1.96129172e+07 6.61e+03 9.21e+01 3.15e-08 3s
67 1.96609988e+07 1.96129172e+07 9.98e+03 9.33e+01 2.99e-08 4s
68 1.96609988e+07 1.96129172e+07 9.98e+03 9.33e+01 2.99e-08 4s
69 1.96439202e+07 1.96129172e+07 1.09e+04 1.02e+02 2.95e-08 4s
70 1.95423986e+07 1.96129172e+07 2.22e+04 1.61e+02 2.82e-08 4s
71 1.95358451e+07 1.96129172e+07 2.26e+04 1.63e+02 2.76e-08 4s
72 1.92815283e+07 1.96129172e+07 3.97e+04 1.63e+02 2.83e-08 4s
73 1.89616188e+07 1.96129172e+07 5.18e+04 3.70e+02 7.74e-08 4s
Barrier performed 73 iterations in 4.07 seconds (4.72 work units)
Sub-optimal termination - objective 1.96129314e+070 -
Sub-optimal termination is printed when the barrier algorithm does not make any (or only very small) progress in the solution value and cannot decrease the dual residual, meaning that although the final convergence criterion is met, the dual infeasibility cannot be reduced. It then terminates at some point and returns the last most feasible iterate, which is declared as sub-optimal. This is often the case for numerically questionable models.
You can try to overcome this issue by either reformulating your problem and/or experimenting with the following parameters; this may however result in a performance loss:
- set BarHomogeneous parameter to 1
- set NumericFocus to 2 or 3
- experiment with the value of BarCorrectors, e.g., set it to 10 or 1000
- turn off Presolve
- decrease the tolerances BarConvTol, BarQCPConvTol, FeasibilityTol
You should also try upgrading to Gurobi v11.
Best regards,
Jaromił0
Please sign in to leave a comment.
Comments
2 comments