Я пытаюсь понять значение вывода на дисплей при использовании SCIP для решения MILP с использованием кода Branch-and-Cut. Я использую пример TSP в качестве справки.
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
p 1.9s| 1 | 0 | 0 | - | vbounds| 0 |1861 | 130 | 126 | 0 | 0 | 3 | 0 | 0.000000e+00 | 5.523000e+03 | Inf | unknown
2.2s| 1 | 0 | 1320 | - | 15M | 0 |1861 | 130 | 126 | 0 | 0 | 3 | 0 | 9.795000e+02 | 5.523000e+03 | 463.86%| unknown
2.2s| 1 | 0 | 1321 | - | 15M | 0 |1861 | 130 | 126 | 0 | 0 | 3 | 0 | 9.800000e+02 | 5.523000e+03 | 463.57%| unknown
4.6s| 1 | 0 | 1341 | - | 15M | 0 |1861 | 130 | 128 | 2 | 1 | 3 | 0 | 9.800000e+02 | 5.523000e+03 | 463.57%| unknown
4.6s| 1 | 0 | 1393 | - | 15M | 0 |1861 | 130 | 129 | 3 | 2 | 3 | 0 | 9.800000e+02 | 5.523000e+03 | 463.57%| unknown
4.7s| 1 | 0 | 1422 | - | 15M | 0 |1861 | 130 | 136 | 10 | 3 | 3 | 0 | 9.800000e+02 | 5.523000e+03 | 463.57%| unknown
4.8s| 1 | 0 | 1472 | - | 16M | 0 |1861 | 130 | 139 | 13 | 4 | 3 | 0 | 9.860000e+02 | 5.523000e+03 | 460.14%| unknown
4.8s| 1 | 0 | 1472 | - | 16M | 0 |1861 | 130 | 139 | 13 | 4 | 3 | 0 | 9.860000e+02 | 5.523000e+03 | 460.14%| unknown
4.9s| 1 | 0 | 1479 | - | 17M | 0 |1861 | 130 | 144 | 18 | 5 | 3 | 0 | 9.925000e+02 | 5.523000e+03 | 456.47%| unknown
4.9s| 1 | 0 | 1480 | - | 17M | 0 |1861 | 130 | 144 | 18 | 5 | 3 | 0 | 9.930000e+02 | 5.523000e+03 | 456.19%| unknown
5.0s| 1 | 0 | 1489 | - | 17M | 0 |1861 | 130 | 148 | 22 | 6 | 3 | 0 | 9.930000e+02 | 5.523000e+03 | 456.19%| unknown
5.0s| 1 | 0 | 1530 | - | 17M | 0 |1861 | 130 | 151 | 25 | 7 | 3 | 0 | 9.930000e+02 | 5.523000e+03 | 456.19%| unknown
5.1s| 1 | 0 | 1558 | - | 17M | 0 |1861 | 130 | 153 | 27 | 8 | 3 | 0 | 9.957500e+02 | 5.523000e+03 | 454.66%| unknown
5.1s| 1 | 0 | 1559 | - | 17M | 0 |1861 | 130 | 153 | 27 | 8 | 3 | 0 | 9.960000e+02 | 5.523000e+03 | 454.52%| unknown
5.2s| 1 | 0 | 1680 | - | 17M | 0 |1861 | 130 | 160 | 34 | 9 | 3 | 0 | 1.019750e+03 | 5.523000e+03 | 441.60%| unknown
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
5.2s| 1 | 0 | 1681 | - | 17M | 0 |1861 | 130 | 160 | 34 | 9 | 3 | 0 | 1.020000e+03 | 5.523000e+03 | 441.47%| unknown
5.4s| 1 | 0 | 1795 | - | 17M | 0 |1861 | 130 | 165 | 39 | 10 | 3 | 0 | 1.040500e+03 | 5.523000e+03 | 430.80%| unknown
5.4s| 1 | 0 | 1796 | - | 17M | 0 |1861 | 130 | 165 | 39 | 10 | 3 | 0 | 1.041000e+03 | 5.523000e+03 | 430.55%| unknown
5.5s| 1 | 0 | 1822 | - | 17M | 0 |1861 | 130 | 170 | 44 | 11 | 3 | 0 | 1.041000e+03 | 5.523000e+03 | 430.55%| unknown
5.6s| 1 | 0 | 1859 | - | 18M | 0 |1861 | 130 | 162 | 48 | 12 | 3 | 0 | 1.041000e+03 | 5.523000e+03 | 430.55%| unknown
5.7s| 1 | 0 | 1880 | - | 18M | 0 |1861 | 130 | 172 | 58 | 13 | 3 | 0 | 1.041000e+03 | 5.523000e+03 | 430.55%| unknown
5.8s| 1 | 0 | 1917 | - | 18M | 0 |1861 | 130 | 177 | 63 | 14 | 3 | 0 | 1.044500e+03 | 5.523000e+03 | 428.77%| unknown
5.8s| 1 | 0 | 1918 | - | 18M | 0 |1861 | 130 | 177 | 63 | 14 | 3 | 0 | 1.045000e+03 | 5.523000e+03 | 428.52%| unknown
5.9s| 1 | 0 | 1993 | - | 18M | 0 |1861 | 130 | 182 | 68 | 15 | 3 | 0 | 1.047643e+03 | 5.523000e+03 | 427.18%| unknown
5.9s| 1 | 0 | 1994 | - | 18M | 0 |1861 | 130 | 182 | 68 | 15 | 3 | 0 | 1.048000e+03 | 5.523000e+03 | 427.00%| unknown
6.0s| 1 | 0 | 2022 | - | 18M | 0 |1861 | 130 | 171 | 70 | 16 | 3 | 0 | 1.048750e+03 | 5.523000e+03 | 426.63%| unknown
6.0s| 1 | 0 | 2023 | - | 18M | 0 |1861 | 130 | 171 | 70 | 16 | 3 | 0 | 1.049000e+03 | 5.523000e+03 | 426.50%| unknown
6.1s| 1 | 0 | 2106 | - | 18M | 0 |1861 | 130 | 176 | 75 | 17 | 3 | 0 | 1.052250e+03 | 5.523000e+03 | 424.88%| unknown
6.1s| 1 | 0 | 2107 | - | 18M | 0 |1861 | 130 | 176 | 75 | 17 | 3 | 0 | 1.053000e+03 | 5.523000e+03 | 424.50%| unknown
6.3s| 1 | 0 | 2148 | - | 19M | 0 |1861 | 130 | 178 | 77 | 18 | 3 | 0 | 1.053375e+03 | 5.523000e+03 | 424.31%| unknown
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
6.3s| 1 | 0 | 2149 | - | 19M | 0 |1861 | 130 | 178 | 77 | 18 | 3 | 0 | 1.054000e+03 | 5.523000e+03 | 424.00%| unknown
6.4s| 1 | 0 | 2210 | - | 20M | 0 |1861 | 130 | 162 | 81 | 19 | 3 | 0 | 1.054167e+03 | 5.523000e+03 | 423.92%| unknown
6.5s| 1 | 0 | 2211 | - | 20M | 0 |1861 | 130 | 162 | 81 | 19 | 3 | 0 | 1.055000e+03 | 5.523000e+03 | 423.51%| unknown
6.6s| 1 | 0 | 2269 | - | 20M | 0 |1861 | 130 | 165 | 84 | 20 | 3 | 0 | 1.058111e+03 | 5.523000e+03 | 421.97%| unknown
6.6s| 1 | 0 | 2270 | - | 20M | 0 |1861 | 130 | 165 | 84 | 20 | 3 | 0 | 1.059000e+03 | 5.523000e+03 | 421.53%| unknown
6.7s| 1 | 0 | 2276 | - | 20M | 0 |1861 | 130 | 166 | 85 | 21 | 3 | 0 | 1.059000e+03 | 5.523000e+03 | 421.53%| unknown
8.3s| 1 | 2 | 2700 | - | 21M | 0 |1861 | 136 | 166 | 85 | 23 | 9 | 22 | 1.066655e+03 | 5.523000e+03 | 417.79%| unknown
*14.4s| 30 | 25 | 4452 | 75.0 | LP | 7 |1861 | 136 | 138 | 125 | 0 | 9 | 167 | 1.067000e+03 | 5.459000e+03 | 411.62%| 0.86%
29.9s| 100 | 91 | 6915 | 46.9 | 23M | 17 |1861 | 147 | 145 | 288 | 2 | 20 | 654 | 1.067000e+03 | 5.459000e+03 | 411.62%| 1.46%
*33.4s| 131 | 100 | 7858 | 42.9 |strongbr| 18 |1861 | 153 | 144 | 349 | 1 | 26 | 788 | 1.067000e+03 | 1.530000e+03 | 43.39%| 1.53%
42.5s| 200 | 155 | 9970 | 38.7 | 24M | 18 |1861 | 170 | 142 | 455 | 2 | 43 |1097 | 1.067000e+03 | 1.530000e+03 | 43.39%| 2.17%
51.6s| 300 | 237 | 13159 | 36.4 | 26M | 18 |1861 | 224 | 139 | 640 | 2 | 97 |1277 | 1.067000e+03 | 1.530000e+03 | 43.39%| 2.33%
57.4s| 400 | 309 | 15846 | 34.0 | 27M | 19 |1861 | 238 | 152 | 820 | 2 | 113 |1426 | 1.067000e+03 | 1.530000e+03 | 43.39%| 3.10%
63.4s| 500 | 391 | 19168 | 33.9 | 29M | 24 |1861 | 319 | 145 | 926 | 2 | 195 |1560 | 1.067000e+03 | 1.530000e+03 | 43.39%| 3.22%
L68.4s| 584 | 111 | 22609 | 34.9 | rins| 26 |1861 | 330 | 149 |1016 | 1 | 256 |1619 | 1.067000e+03 | 1.127000e+03 | 5.62%| 10.59%
Я также использовал display display
, чтобы получить некоторое представление о том, что означают заголовки столбцов в выводе на дисплей.
cons
просто глобально допустимые ограничения в задаче
rows
- количество строк LP в текущем узле
cuts
- общее количество сокращений, примененных к LP
sepa
- количество раундов разделения, выполненных на текущем узле
Так что у меня есть несколько вопросов по этому поводу. Я предположил, что строки должны быть равны 0, когда проблема начинается, но я не уверен, почему в начале проблемы 126 строк. Я добавляю строки LP, используя следующую функцию:
SCIP_ROW *row;
SCIP_CALL(SCIPcreateEmptyRowConshdlr(scip, &row, conshdlr, "subtour_elimination", -SCIPinfinity(scip), tour.size(), FALSE, FALSE, TRUE));
cuts
добавляется SCIP автоматически?
Как SCIP добавляет глобально допустимые ограничения в пул ограничений? Взять с rows
или с cuts
или с обоих? Есть ли способ добавить глобально допустимые ограничения непосредственно из обработчика ограничений?