問題タブ [coin-or-cbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - Gurobi は CBC ソルバー (PuLP を使用) よりも速度が遅いですか?
PuLPを使用してpython 3.7で設定された混合整数プログラミングの問題があります。デフォルトのソルバーである CBC を使用すると、私のコードは3.9 秒かかります。この時間を短縮したいので、スピードアップするために、Gurobi のアカデミック ライセンスを取得しました。ただし、代わりにこれをソルバーとして使用すると、実行時間が 1 秒近く長くなります: 4.7s。
これらの行をセットアップに追加/更新することで、Gurobi ソルバーを使用するようにこれを更新します (同じ結果が得られるため、これは正しいと思います)。
遅さの理由を知っている人はいますか?gurobi を使用したい場合、代わりにセットアップに使用すべき PuLP のより高速な代替手段はありますか?
編集:
ログファイルは次のとおりです。
- CBC
- グロビ
この実行では、Gurobi は CBC よりも ~0.5 秒悪かった
branch-and-bound - CBC の解決プロセスを一時停止して保存する
混合整数計画法に取り組んでおり、コイン CBC をツールとして使用しています。主実行可能解が得られるたびに、探索ノードで部分問題の実行可能性をチェックすることを考えています。
そのため、検索ツリーでソリューション プロセスを一時停止し、実現可能性チェック ルーチンを挿入する必要があります。このようなチェックの後、実行不可能性が検出されると、チェック ノードに戻り、ツリーの分岐と切断を実行し続けます。
CBC がそのような一時停止と再開機能をサポートしているかどうか知りたいですか?