2

こんにちは、みんな。少し問題があります。openmdao と pyOptSparseDriver を使用しています。一部のソルバー (SLSQP、PSQP など) で動作しているため、インストールに問題はありません。

IPOPT で同じことを試してみたいのですが、pyoptsparse ではコードが表示されません。COIN-OR のドキュメントに従って IPOPT ( http://www.coin-or.org/Ipopt/documentation/node10.html ) をインストールしましたが、すべて問題ないようです (確認方法がわかりません)。今、私は机の上に COIN-OR フォルダーを持っていますが、pyoptsparse にそこから IPOPT を取得させる方法がわかりません (クラッシュするのは "from . import pyoptcore" の行です)、pyIPOPT/pyIPOPT.py から。誰でも私を助けることができますか?よろしくお願いします

4

2 に答える 2

1

pytoptsparse パッケージを介して OpenMDAO で IPOPT を使用し、スタンドアロン ライブラリとしてインストールしました。IPOPT_DIRこれを機能させるには、pyoptsparse のインストールを実行する前に、IPOPT をインストールした場所を指す環境変数を設定する必要があります。

したがって、たとえば /usr/local/IPOPT に IPOPT をインストールしたと仮定します。

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

これにより、 pyoptsparseが IPOPT の python ラッパーをコンパイルし、ファイル pyoptcore.so が生成され、Python のsite-packages/pyoptsparse/pyIPOPT.

私たちのクラスターではpyoptsparse/pyIPOPT/setup.py、Intel ですべてをコンパイルしたため、ファイルを少し変更する必要がありましたが、gfortran でコンパイルすると、pyoptsparse の公式バージョンが機能するはずです。

または、ジャスティンが提案するようにすることもできます。これは、基本的に pyoptsparse docs に記載されている手順です。

于 2016-08-02T16:29:11.720 に答える