2017-12-14 15 views
0

scipy.optimize.minimizeソルバーとmethod=SLSQPをpyomoで統合できますか? pyomoでのモデリングはscipyよりもはるかに高速ですが、pyomoのドキュメントはこれが実現可能かどうかを明示的に示さないようです。pyomo内でscipy.optimizeを呼び出します。

+0

申し訳ありませんが最初のいくつかの言葉が何とか削除されました。私はscipy.optimize.minimizeソルバーをpyomoで整数化できるかどうかを尋ねることを意味しました。ありがとうございます –

+0

なぜIPOPTが利用可能な場合、SLSQPを使用したいですか? – sascha

+0

私はIPOPTで使用されているHSL不定線形ソルバーをダウンロードするための承認を待っているので、空き時間に何か試したかったのですが... –

答えて

0

現時点(2017年12月)には、Pyomoモデルをscipy.optimizeに渡すための組み込みサポートはありません。つまり、必要な(値、Jacobian、Hessian)評価関数を生成して、scipy.optimize.minimize()に渡すことができる合理的に汎用的なオブジェクトを書くことは、非常に難しい作業ではありません。

+0

ジャコビア行列を取得するために私はいくつかの自動微分パッケージを使用することを提案していますか? –

+0

はい。 Pyomo式はそれらを評価するために呼び出すことができます。ヤコビアンとヘッセンの情報は、象徴的な区別によって得ることができます。あなたが 'sympy'を持っていると仮定すると、' pyomo.core.base.symbolic.differentiate'を使ってヤコビアンとヘッシアンの式を得ることができます(適度な量のコードで)。 Constraintがどのように情報を保持しているかを理解するためには、pyomo.coreを掘り下げて調べる必要があります。また、 'sympy'や' scipy.optimize'を使うことについての保証はありません。 (私はPythonモデルをipoptで実行するとかなり速くなると思う) – jsiirola

関連する問題