MIP Starts と Variable Hints は、 MIPモデルを解く際にユーザーが知っている、または推測できる許容解における、変数の一部(あるいは全部)の情報をGurobiに対して与えることのできる方法です。そのような情報は、例えばヒューリスティクスを用いたり、問題に対するユーザーの知見から得られることがあります。これらの情報は、Gurobiが初期実行可能解を見つけることに時間がかかっているようなときに、パフォーマンス改善につながる場合があります。
MIP StartsとVariable Hintsは密接に関連していますが、いくつかの基本的な違いもあります。
- MIP Startsは初期実行可能解を生成するために利用され、その解はMIPにおける探索によって改善されていきます。対してVariable Hintsは提供された値を用いてMIPの探索自体をガイドし、求解プロセス全体へ影響を与えます。
- NumStart 属性とStartNumber パラメータを用いて複数の初期解を提供することができます(詳しくはMIPスタート(初期解)を使うには?を参照してください)。対してVariable Hintsは一組のみ与えることが可能です。
- MIP Startsは、変数のStart属性またはMST ファイルを使用して指定できます。Variable Hintsは、変数の VarHintVal 属性および(必要に応じて) VarHintPri 属性から指定するか、HNT ファイルから情報を提供することで指定できます。
MIP Starts も Variable Hintsも解における変数の値を固定するという目的では利用できません。変数の値を固定したい場合には、変数の LB と UB 属性が利用できます。
最後に、MIP Starts と Variable HintsはMIPモデルにおいてのみ利用可能です。LPモデルではVBasis/CBasis や PStart/DStart を用いてウォームスタートの情報を提供できます。
コメント
0件のコメント
記事コメントは受け付けていません。