Gurobi и Java и пустое решение - PullRequest
       38

Gurobi и Java и пустое решение

5 голосов
/ 16 сентября 2011

Я использую Gurobi с Java для решения проблемы ILP. Я установил все и запускаю программу. Но Гуроби даже не пытается решить мою проблему и дает моему пустому решению всю переменную, установленную в 0.

Во время расслабленного шага Гуроби показывает, что минимальное значение для функции -246. Это в отличие от следующего шага, где gurobi показывает, что оптимальным решением является 0.

Выход Gurobi:

Optimize a model with 8189 rows, 3970 columns and 15011 nonzeros
Variable types: 0 continuous, 3970 integer (0 binary)
0 0 0 1.0E100 -1.0E100 0 0
**** New solution at node 0, obj 0.0
Found heuristic solution: objective 0.0000000

Root relaxation: objective -2.465000e+02, 4288 iterations, 0.08 seconds

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


 0     0 -246.50000    0  315    0.00000 -246.50000     -      -    0s


 Cutting planes:
  MIR: 907

 Explored 0 nodes (5485 simplex iterations) in 0.70 seconds
 Thread count was 1 (of 1 available processors)
 Optimal solution found (tolerance 1.00e-04)
 Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0%

1 Ответ

3 голосов
/ 21 сентября 2011

Гуроби сообщает, что нашел оптимальное решение. Решение со значениями 0 для всех переменных является оптимальным (это не «пустое решение»). Решение с целью -246,5 - для смягченной проблемы. Расслабленная задача игнорирует ограничения, заставляющие переменные принимать целочисленные значения. Решение с объективным значением 0 является решением исходной задачи в том виде, в каком вы ее сформулировали.

Симптомы, о которых вы сообщаете (решение «все 0», которое вам явно не нужно), возможно, вызваны перевернутой целевой функцией. Возможно ли, что вы хотели максимизировать, а не минимизировать?

...