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 # 分枝限定法の終了条件
上に戻る
