MIP を部分的に解決し、問題を複製して、その問題のコピーで最適化を続行しますが、別の戦略 (ノード選択規則、変数選択規則など) を使用し、現在の分枝限定ツリーを維持したいと考えています。CPLEX や Gurobi では、コピーの最初から最適化を開始するため、これを実行できないことはわかっています。
SCIPでこれを行う方法はありますか?
助けていただければ幸いです。
ベスト、
ロドルフォ
MIP を部分的に解決し、問題を複製して、その問題のコピーで最適化を続行しますが、別の戦略 (ノード選択規則、変数選択規則など) を使用し、現在の分枝限定ツリーを維持したいと考えています。CPLEX や Gurobi では、コピーの最初から最適化を開始するため、これを実行できないことはわかっています。
SCIPでこれを行う方法はありますか?
助けていただければ幸いです。
ベスト、
ロドルフォ
コピー/クローンを持つことを主張しない場合は、イベント ハンドラーの観点から停止基準をコーディングする可能性が常にあります。イベント ハンドラの追加方法については、ご存知だと思います。
scip ソース コードには、いわゆるソフト タイム リミット イベント ハンドラーと呼ばれるイベント ハンドラーもありsrc/scip/event_softtimelimit.c
ます。そこには、最初の解が見つかった後に制限時間を変更するサンプル コードがあります。パラメーターは、コード内のメソッドを使用して 1 つずつ入力することもSCIPchg{Real,Bool,Int,Longint,Char,String}Param()
、設定ファイルとして渡すこともできます。これは、コードを毎回変更せずに多数のパラメーターを変更する場合に便利です。
set diffsave
デフォルト以外の設定のみを保存するコマンドで保存された設定ファイルを使用することをお勧めします。そうしないと、完全な設定ファイルを使用すると、時間制限またはメモリ制限が制御なしに変更されるため、問題が発生する可能性があります。
分枝限定法で使用されるツリーなどのデータ構造を含むコピーは、現在のところ不可能です。SCIP のコピー メカニズムでは、問題全体をコピーし、変数ドメインや目的係数を変更して定式化を調整することしかできません。