マシン:E3-1226V3 3.3GHz
改善前:1409sec
改善後:781sec
今回の改善ポイントは、
■MyIPMSolver使用
■Branch Algorithm改善 (Multithreaded Branching廃止)
■Algorithm1適用のタイミング改善
です。特に大きく効いたのは、Branch Algorithmです。
Linear SolverがSingle Threadで動くときは、この計算時間がボトルネックですので、マルチスレッドブランチングは意味がありました。が、Linear Solver自体をマルチスレッド化すると、他に廻せるリソース余裕はありません。マルチスレッド化する意味がないことになります。また、マルチスレッド化ブランチングは実装上難しいという問題も抱えていました。この際廃止することにしました。
これだけ速いとCplex/Gurobiと比べても大分速いと思います。少し古いデータですが、ルーベンカトリック大学のPieter Smetさんが計測結果では、12000秒となっています。 What's new? (schedulingbenchmarks.org)
今は、もう少し速くなっていると思いますので、後で再計測してみます。
0 件のコメント:
コメントを投稿