OMMX Python SDK 2.7.x#

2.7.0 には、同じ MPS ファイルから読み込まれる数学モデルと 実行可能領域が変わる修正が含まれます。更新時には、影響を受けるモデルと 過去のソルバーの結果を再確認してください。

2.7.0 の各ソルバーアダプターは、v2 系の OMMX 2.7.0 以降を必要とします。

バグ修正#

再生成した MIPLIB 配布版を読み込む (#1204)#

ommx.dataset.miplib2017() は、修正済みの v2 パーサーで元の MPS ファイルから 再生成した ghcr.io/jij-inc/ommx/v2.7/miplib2017:{name} を読み込みます。 Rust の MIPLIB ローダーも同じ配布版を使用します。バージョンなしの旧配布先から 取得したキャッシュが、修正版より優先されることはありません。

公開済みの参照先は固定し、patch 更新では同じ配布版を維持します。 配布形式または数学モデルを変更するときは minor 以上を更新し、新しい版の リポジトリで配布します。取得先は MIPLIB チュートリアルを参照してください。

MPS 読み込み時に省略された二値変数の境界を保持 (#1203)#

Instance.load_mps() と ommx.mps.load_file() が、INTORG/INTEND 内にあり BOUNDS の指定がない変数を、Gurobi/HiGHS の MPS 解釈に従って [0, 1] の 二値変数として読み込むようになりました。従来は上限のない一般整数変数として 読み込んでいました。neos-2626858-aoos では17変数が影響を受け、二値変数の数が 209から192に変わっていました。

明示された境界指定は引き続き優先され、LO/LI 0 で指定した非負の整数変数は 上限なしのままです。パーサーの修正は保存済みの Artifact を書き換えません。 上記の配布先変更により、ommx.dataset.miplib2017() から再生成した問題を取得できます。