Gurobi 9.0以降ではログに次のような fingerprint が含まれます。
Model fingerprint: 0x6775726f
2つのモデルが同じfingerprintを持つのは、それらが完全に同じ場合のみです。同じfingerprintを持つ2つのモデルを、同じプラットフォームで同じGurobiパラメータ設定を使って(場合によっては同じ初期解を使って)解くと、解の探索経路は同じになります。これは、Gurobiが同じノード数を探索し、同じ単体法の反復回数で終了することなどを意味します。2つのモデルが同一であるためには、制約と変数の定義順序も含めて同じでなければならないことに注意してください。
fingerprintは同じモデルを解いていることを確認するために使用できます。2つのモデルが異なったfingerprint持っている場合、それはモデルが何らかの要素について異なっていることを意味します。これはモデルを作成または記述するコードが非決定論的である場合に起こり得ます。Pythonのコードに由来する主な非決定論的動作は、組み込みの集合 (set) と一部の pandas の操作です。
コメント
0件のコメント
記事コメントは受け付けていません。