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

5.8 解法 synthesis に有効な求解オプション

 本節ではシンセシスソルバー synthesis で有効な求解オプションについて解説します.

 synthesis は,解法「分枝限定法」と解法「重み付き局所探索法」を並列実行する解法です.

 各解法の求解オプションは,それぞれの解法側の設定で指定します.詳細は以下のとおりです.

  • 分枝限定法について,以下の求解オプションは無視されます.
    • 5.7.18 分枝限定法における並列化手法
  • 重み付き局所探索法について,以下の求解オプションは無視されます.
    • 5.6.3 解法 wls における試行回数
    • すべての終了条件
  • 各解法のスレッド数は,自動的に設定されます.合計スレッド数は,「5.8.4 解法 synthesis におけるスレッド数上限」で設定できます.

 以下のいずれかの条件を満たした場合,シンセシスソルバー全体を停止します.

  • 本節のオプションで指定された「シンセシスソルバーの終了条件」を満たした場合
  • 「分枝限定法の終了条件」を満たした場合
    • 分枝限定法と重複するオプションについては,シンセシスソルバー側の設定値を優先します.
  • 各解法のスレッド数は,自動的に設定されます.合計スレッド数は,「5.8.4 解法 synthesis におけるスレッド数上限」で設定できます.

 

 PySIMPLE における求解オプションの設定例は以下のとおりです.

 例:合計スレッド数を 4 スレッド,実行時間制限を 10 分間とし,分枝限定法の部分問題個数の上限を設ける.

problem.options.method        = Options.Method.SYNTHESIS
problem.options.threads       = 4
problem.options.maxTime       = 600  # シンセシスソルバーの終了条件
Problem.options.branchMaxNode = 300  # 分枝限定法の終了条件
関連
  • 5.7 分枝限定法用求解オプション
  • 5.6 解法 wls に有効な求解オプション

 

 

上に戻る