PuLPからSCIPを利用するためのモジュールを書いてみた。 https://github.com/msakai/pulp-scip #optimization

PythonでMILP(混合整数線形計画問題)を解きたかったので、とりあえず昨年のセミナーで知ったPuLPを試し、ソルバにはとりあえずGLPK(をコマンドラインで呼び出すもの)を使ってみた。けれど、解きたかった問題を扱うにはGLPKは非力すぎたので、非商用のMILPソルバでは最速のSCIPを使いたくなったのでちょっと書いてみたもの。 とりあえず、API経由で呼ぶのはなく、GLPKをコマンドラインで呼び出すものをちょっと書き換える形で実現。

使うには、PuLPのモデルに対して m.solve(pulp.solvers.GLPK()) などとしている部分を m.solve(pulp_scip.SCIP("/Users/sakai/scip-3.1.0.darwin.x86_64.gnu.opt.spx")) などと変更すれば良い。

PuLP -- A python Linear Programming API
https://github.com/coin-or/pulp

SCIP -- Solving Constraint Integer Programs
http://scip.zib.de/

GLPK -- GNU Linear Programming Kit
http://www.gnu.org/software/glpk/glpk.html

【株式会社構造計画研究所】Pythonによるデータ分析および最適化ハンズオン無料セミナー【第2回】
https://kke.smartseminar.jp/public/seminar/view/1023
PuLPについてはこのセミナーで知った。