MIPモデルからLP緩和モデル(連続変数のみを含み、SOS制約やGeneralConstraintを含まない)を作成するには、Model.relax()が利用可能です。
relax = model.relax()
上記のように呼び出すことでオリジナルのモデルに変更を加えることなく、新しいModelオブジェクトが生成されます。
もう一つの緩和方法としては変数のtype属性を変更することです。
for v in model.getVars():
v.setAttr('vtype', 'C')
加えて、すべての非線形制約を取り除く必要があります。
また、すべての整数変数の値をロードされた値に固定したLPモデルを返す Model.fixed()というメソッドもあります。
fixed = model.fixed()
このメソッドを呼び出すことにより、連続変数のみを含んだモデルが得られます。
コメント
0件のコメント
記事コメントは受け付けていません。