最適化後にOptimization Status Code が INF_OR_UNBD を返したり、メッセージとして"Model is infeasible or unbounded"が出力されることがあります。これは presolve におけるいくつかの処理に由来して、InfeasibleかUnboundedかの判断がつかないような場合に発生します。
このような場合にモデルがInfeasibleかUnboundedかを判別するためには、DualReductions パラメータを0に設定、モデルを reset、再度最適化を実行するといった手順が必要です。これにより最適化結果は INFEASIBLE か UNBOUNDED のいずれかを返します。
もし、モデルがInfeasibleであれば、How do I determine why my model is infeasible? の手順でInfeasibleの原因を調査可能です。
もし、モデルがUnboundedであれば、UnbdRay の値を見ることで、Unboundedの原因を探ることが可能です。ただし、この情報にアクセスするためには、あらかじめ InfUnbdInfo=1を設定する必要があります。また、この情報は整数変数を含まない、連続なモデルでのみサポートされています。.
コメント
0件のコメント
記事コメントは受け付けていません。