2016-08-02 6 views
0

みなさんこんにちは。私は少し問題があります:私はopenmdaoとpyOptSparseDriverで作業しています。いくつかのソルバー(例えば、SLSQP、PSQPなど)のために働いていますので、そのインストールに関して問題はありません。PythonでOpenmdao(またはpyoptsparse)でIPOPTを使用する

今私はIPOPTで同じことを試してみたいが、コードはpyoptsparseで与えられていない。私はIPOPT(http://www.coin-or.org/Ipopt/documentation/node10.html)をインストールするためにCOIN-ORの文書をたどりましたが、すべてがOKです(私はそれを確認する方法がわかりません)。今、私は机の上にCOIN-ORフォルダを持っていますが、pyIPOPT/pyIPOPT.pyから、pyoptsparseにIPOPTを渡す方法がわかりません(それは "import pyoptcore"という行です)。 誰でも助けてくれますか? 事前にありがとう

答えて

1

私たちはOpenMDAOでIPOPTをpytoptsparseパッケージで使用しています。これは、あなたがやったようにスタンドアロンのライブラリとしてインストールしました。これを有効にするには、pyoptsparseのインストールを実行する前に、IPOPTをインストールした場所を指す環境変数IPOPT_DIRを設定する必要があります。

たとえば、IPOPTを次のようにインストールしたとします。/usr/local/IPOPT:

$ export IPOPT_DIR=/usr/local/IPOPT 
$ cd /path/to/pyoptsparse/ 
$ python setup.py install 

このpyoptsparseで結果がIPOPT用のPythonラッパーをコンパイルし、Pythonのsite-packages/pyoptsparse/pyIPOPTに配置されるファイルpyoptcore.soを生成する必要があります。

インテルのすべてをコンパイルしたので、私たちのクラスタでpyoptsparse/pyIPOPT/setup.pyファイルを少し修正しなければなりませんでしたが、gfortranでコンパイルするとpyoptsparseの公式バージョンがうまくいくはずです。

また、Justinが提案するようにすることもできます。これは本質的にはpyoptsparseのドキュメントにある指示です。

+0

python setup.py installコマンドは効果がないようです。 シェルでは、コマンドos.getenv( 'IPOPT_DIR')が適切なパスを提供します(エクスポートが機能します)。 pyIPOPT/setup.pyを見ると、(configを返す)関数の設定が... – gael17

+0

の場合、最初にビルドディレクトリを削除してpyoptsparseをクリーンインストールする必要があるかもしれません。デバッグのために、pyoptsparse/setup.py(https://bitbucket.org/mdolab/pyoptsparse/src/64bf91c487894c531941a99eb1aeb4880ae0e3a3/pyoptsparse/setup.py?at=default&fileviewer=file-view-default)の他のすべてのオプティマイザをコメントアウトすることもできます)。 pyoptsparse/pyIPOPT/setup.pyファイルにprintステートメントを追加して、IPOPTのインストールが正しく検出されたかどうかを調べることができます。 – frza

+0

わかりましたので、私は、私はgccを呼び出した後にこのエラーを行く新しいmdolab-pyoptsparse * .zipの のダウンロードからすべてやり直す: は/ usr/binに/ LD:-lcoinhsl を見つけることができませんがHSLオプションではありませんか?私はMUMPSをdowloadedし、医師は線形システムを解くのに十分であることを説明しているようだ... – gael17

0

ipoptソースコードをsrc folder of pyopt-sparseに入れてパッケージを再コンパイルする必要があります。

+0

ソースコードとはどういう意味ですか? Ipopt/srcには6つの異なるフォルダがあります。それらをpyIPOPT/srcに入れることはできませんでした。 – gael17

関連する問題