タイトルの通りgoogle or-toolsでGLPKをつかいたいです。
Installing OR-Tools Python from Source on Windows
の手順で進めているのですが、中段のBuild third partiesのところで、
tools\make third_party
を実行しても
make: *** No rule to make target 'third_party'. Stop.
と表示され先に進めません。
どうすれば良いのでしょうか?
https://pypi.org/project/ortools/
に「Wrappers around commercial and other open source solvers, including mixed integer solvers - CBC, CLP, CPLEX, GLPK, Gurobi, SCIP and XPRESS」と書かれてますけど、これ入れたら使えたりしませんかね??
(GLPK for Windowsは別途入れるとして)
使ったことないので、外してたらごめんなさい
glpk自体(glpsol.exe)はパスも通しているのですが、python側では
W00-1 -1:-1:-1.268310 12960 linear_solver.cc:609] Support for GLPK not linked in, or the license was not found.
と出てきます......
> glpk自体(glpsol.exe)はパスも通しているのですが
この場合に使われるのは*.exeじゃなくて*.dllかもしれませんが、*.dllも同じディレクトリにあるので、パスを通してれば見つかるはずですよね
GLPKのパスを通してるのは、Pythonのbitと合ってる方のディレクトリ(w32かw64)ですよね?
当方のWindows 10のPython環境にpipでortoolsを入れて、
https://www.mechmathmass.tokyo/entry/python-optimizer
の「Google Or-tools」のコードの「CBC_」を「GLPK_」に変えて実行したら、エラーが出て実行できませんでした
GLPKのw64ディレクトリは、環境変数Pathに含めてます
Windows以外は試してないので分かりませんが、Windowsでは、これを入れるだけではダメみたいですね
失礼しました
ただし、エラーメッセージは質問者さんと違い、下記の通りでした (何で違うのだろう??)
F00-1 -1:-1:-1.945556 14008 linear_solver.cc:427] Linear solver not recognized.
元々の質問のmakeのエラーの件ですが、
https://developers.google.com/optimization/install/python/source_windows
の「Build third parties」の少し下の「Using an optional third-party MIP solver」に「GLPK」も書かれてるので、そこに書いてあるように「Makefile.local」にパスを指定する、ということを先にやらないといけないのではないですかね
WINDOWS_GLPK_DIR=...
みたいに
https://github.com/google/or-tools/issues/1181
の「GLPK Issues」を見ると、「Makefile.win.mk」に書いてあるファイル名とかパス(*.libや*.hがあるところ)とかを、GLPKが入ってる実際の配置に合わせて変えないといけないみたいです
@jbpb0さん
ご返信遅くなり申し訳ございません。
手元に環境ないので,試してみで結果をご報告します.
(ちなみに,単純にGLPK使うならpulp使えばとても楽でした)
> 単純にGLPK使うならpulp使えばとても楽
PyomoでもGLPK使えます
https://takala.tokyo/takala_wp/2019/02/20/844/
の「実装」のコードそのままで、WindowsのPythonでも動きました
回答1件
あなたの回答
tips
プレビュー