数理計画法の最適化ソルバーまとめ

以下で扱ったRのompr(ラッパー、使った際の中身はGLPK)か、デモや研修を兼ねて小規模問題にExcelアドインを使えば、最適化ソルバーは今の業務では十分。

ではあるが、今後扱いうる問題も考えて、たまに見つけた情報をまとめてたら相応のボリュームになったので、以下のページからも一部の情報を移して、このページを立てた。

なお、数理最適化のpythonライブラリ(Rのompr同様ほぼラッパー)に関しては、上記のページに残している。

ampl

が手軽さからも、Llmとの相性からも、冒頭で挙げたものの次にくる選択肢の1つ。

同じ先生がAMPLの解説をしている。

pythonから使いやすくするMPライブラリもある。

NEOS

という、有償ソルバーを無料で使う環境があるのもすごいこと。顧客データを乗せられないのは当然として、ベンチマークには良い。

Google Optimization Tools

の最新版はどこまで能力があるか、後で調べようと思ってるうちに時間ばかり過ぎた。今ならAMPLとMPライブラリをgcp上で動かすので良いのかも。この辺りは後日アップデートします。
GitHub - google/or-tools: Google's Operations Research tools:

特定ドメイン特化

のものがあると諸々の手間が省けて便利。配送ルート最適化については、オープンソースの最先端の車両ルーティング問題(VRP)ソルバーがあった。

最短経路問題は新たなアルゴリズムも出てきた。内容を見るとソルバーとして実装される日も遠くない気はする。人間の脳は「最短ルート」を選ぶようにできてないそうなので、ニーズの高い分野ではある。

個人的にはスケジューリングに特化したものが欲しいが、以下の情報まで。

個々の問題に固有の制約が多く難しいのかな。もう少し汎化した

汎用整数計画ソルバー

がせいぜいかもしれない。まだ整数変数がある問題は、正面から解くなら有償ソルバーの方が計算の速度や結果で一枚上手、実務的にはヒューリスティックなのは変わらず。

動的計画法ベースのソルバーもあるらしい。

QUBOソルバー

も量子コンピューターの練習とか代替として使えそう。
GitHub - tytansdk/tytan: Python SDK for large QUBO problems

LLM/生成AIとの連携

でスケジューリング問題を解く事例、まさに整数問題とのシームレスな連携、まだ少し懐疑的というか問題依存な気はする。

他の情報を見たい方は、目次ページへ
仕切り直しで収集情報の整理から|くすぐったがり|note

いいなと思ったら応援しよう!