数理最適化セミナーのご案内

5.7.7 分枝限定法におけるノード選択

オプション名

モデリング言語/nuopt.prm オプション名
PySIMPLE Problem.options.branchNodeSelect シンボル
C++SIMPLE なし -
RSIMPLE なし -
nuopt.prm なし -

設定値

シンボル
デフォルト値 Branch.NodeSelect.AUTO
値範囲 {Branch.NodeSelect.BESTDEPTH, Branch.NodeSelect.BESTESTIMATE,
Branch.NodeSelect.AUTO}


意味
Branch.NodeSelect.AUTO 自動設定
Branch.NodeSelect.BESTDEPTH ノード選択で深さ優先探索を行う
Branch.NodeSelect.BESTESTIMATE ノード選択で最良優先探索を行う

詳細
  • 本オプションは分枝限定法のノード探索における戦略を選択します.
  • 本オプション値で深さ優先探索を選択すると,ノード選択において深い位置にあるノード(ルートノードから最も遠いノード)が選択されます.実行可能解が早期に見つかる可能性が高い反面,下界(最大化問題であれば上界)が上がるのが遅くなる可能性があります.
  • 本オプション値で最良優先探索を選択すると,ノード選択において最も目的関数値が良い(最小化問題であれば小さい)ノードを選択します.下界(最大化問題であれば上界)が上がるのが早くなる反面,実行可能解を見つけるのが遅くなったり, 分枝木が大きくなりメモリ使用量が増える可能性があります.
  • 深さ優先探索については C++SIMPLE 及び nuopt.prm では探索の深さを制御するオプション p で制御できます.例えば深さ優先探索を設定する場合は p を 1 に設定します.

    C++SIMPLE の場合
    options.p = 1;

    nuopt.prm の場合
    branch:p=1
    オプション p を大きく設定することにより,最良優先探索に近い探索を行うことができます.
関連
  • 5.7.18 分枝限定法における目的関数の目標値設定

 

 

上に戻る