線形計画問題の制約で係数を削減した後に得た結果について、少し混乱しています。
問題は:
maximize z = x1 + x2 + x3 + x4 + x5 + x6
subject to: 6*x1 + 3*x2 - 5*x3 + 2*x4 + 7*x5 - 4*x6 <= 15
where:
1<=x1<=2 continuos
1<=x2<=2 continuos
1<=x3<=2 continuos
1<=x4<=2 continuos
1<=x5<=2 continuos
1<=x6<=2 continuos
係数削減後、制約は次のようになります。
subject to: 3*x1 + 3*x2 - 3*x3 + 2*x4 + 3*x5 - 3*x6 <= 8
応用整数プログラミングの本 (Der-San Chen - Robert G.Batson - Yu Dang)の 96 ページに記載されているように(97 ページに少し誤りがあります。x1 係数は 1 ではなく 3 です)。
その後、係数削減の有無にかかわらず、問題をamplに送信しようとしました。しかし、2 つの異なる結果が得られました。
[without coefficients reduction]
CPLEX 12.6.1.0: optimal integer solution; objective 11.57142857
display x;
x1 2
x2 2
x3 2
x4 2
x5 1.57
x6 2
[with coefficients reduction]
CPLEX 12.6.1.0: optimal integer solution; objective 11.33333333
display x;
x1 2
x2 2
x3 2
x4 2
x5 1.33
x6 2
なぜ?x5の結果が少し異なっていても、解決策は正しいと見なすことができますか? 私は 3 つの異なるソルバー (minos、gurobi、cplex) を使用しましたが、問題に対して同じ結果を出力します。