5

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

緩和ステップ中、Gurobiは関数の最小値が-246であることを示します。

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% 

答えて

3

Gurobiはそれが最適解を見つけたことを報告している:これはgurobiは最適解が0

Gurobiの出力があることを示した次の段階とは対照的です。すべての変数の値が0の解は最適です(「空の解」ではありません)。目標-246.5の解は、緩和された問題に対するものです。緩和された問題は、変数が整数値をとるようにする制約を無視します。客観的な価値が0のソリューションは、あなたがそれを策定したときの元の問題の解決策です。

あなたが報告している症状(明らかに望ましくない0の解決策)は、逆さまの目的関数によって引き起こされる可能性があります。あなたは最小化するのではなく最大化したいと思う可能性はありますか?

関連する問題