2021年12月31日金曜日

HIGHSベンチマーク

 http://plato.asu.edu/ftp/milp.html

にHIGHS1.1.1のMILPベンチマーク結果がUpdateされています。このベンチマークでは、240問題を一定時間内に解きます。解けた問題数が一番下のsolvedで分かります。Gurobiが一番解けていますがこれはいつもの事です。

1threadと8threadが載っています。1threadについて見て見ると、scaledは、Gurobiを1としたときの時間比で、CBCは、8.59倍比ということになります。(Dec.30.2021時点のデータ)体感的に、もう少し差があるような気がするのは、解けた問題を対象にした時間比較だからです。解けない問題を何らかの方法で時間に換算すれば、差はさらに広がるでしょう。

8threadでは、HIGHS1.1.1が追加されており、CBCでは、約14.5倍、HIGHSでは、約13倍になっています。ですから、HIGHSの方が少しだけ良いという私のNSPでの計測結果と符合しているのではないかと思います。

=>https://schedule-nurse.blogspot.com/2022/02/highs.html

Mittlemanベンチマークについては、以下が参考になります。

untitled (orsj.or.jp)

COPTがMILPに参戦してきてそれなりの結果を残しています。こういう最適化領域の基幹的なソルバを設計する能力は、そのまま国力に通じる部分があると思います。(かってLSIを設計していたとき、その基幹的ツールである合成ツールは、Synopsysのデザインコンパイラという米国製が業界を席巻していました。ネーミングセンスがありますね。)

SCIPのソースコード行数は、GCC並みの50万行だったように記憶しています。ですから、一足飛びに商用並みのソルバを期待するのは難しいでしょう。HIGHSは、CBCに比べれば、モダンな筆致で、かなりコンパクトに書けています。MIPソルバについては、ほぼJulianHall教授とLeona Gottwaldさんの二人で開発しているようです。(Leona Gottwaldさんのプリプロセッサは、SCIPでも使えるようです。少し読んでみたのですが、殆ど理解できませんでした。)ちなみCBCは、IBMにいたJohnForrestさんによる開発で、かなりのご高齢のはずですが、未だメンテされているようで頭が下がります。後継の複数の開発者(大学の先生方)もメンテされているので開発が途絶える心配はないと思います。

日本の商用ソルバとしては、NTTDATAのNuOptが有名です。残念ながらGurobi/Cplexと比較データはありません。



0 件のコメント:

コメントを投稿