5

ILPの問題を解決するためにJavaでGurobiを使用しています。すべてを設定し、プログラムを開始します。しかし、Gurobi は私の問題を解決しようとさえせず、空のソリューションにすべての変数を 0 に設定します。

緩和されたステップの間、Gurobi は関数の最小値が -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%
4

1 に答える 1

3

Gurobi は、最適なソリューションを見つけたと報告しています。すべての変数の値が 0 の解が最適です (「空の解」ではありません)。目的が -246.5 の解は、緩和された問題に対するものです。緩和された問題は、変数が整数値を取ることを強制する制約を無視します。客観的な値が 0 の解は、定式化した元の問題の解です。

あなたが報告している症状 (明らかに望ましくないすべて 0 のソリューション) は、目的関数の反転が原因である可能性があります。最小化ではなく最大化したかった可能性はありますか?

于 2011-09-20T23:27:40.743 に答える