2016-10-14 3 views
0

私の状況:PythonのSNOPT-SolverをpyomoのSolverFactoryで使いたいです。最適化ソルバーSNOPTのC/C++ライブラリを取得しました。snopt librariesの使い方は?

libsnopt7.dylib libsnopt7_cpp.dylib

一緒SolverFactoryが呼び出すことができるダミーの実行ファイルを置くために管理した後、それはエラーメッセージの後、私に与えます:

IOError: [Errno 2] No such file or directory: 
'/var/folders/_d/vnct15hn3.9j8dhgqr6gjf3rw0000gn/T/tmpoSB0fh.pyomo.sol' 

それにもかかわらず、唯一の.nl接尾辞で、その名前のファイルがあります。

誰でもこの問題が発生する理由とその解決方法を知っていますか?

ありがとうございます。

答えて

0

Pyomoには、SNOPTへの特殊化またはライブラリモードのバインディングがありません。 PyomoのSNOPTを使用するには、ASL(AMPLソルバー・ライブラリー・インターフェース)に対して構築されたコンパイル済みの実行可能ファイル「snopt」が必要です。 ASLは、Pyomoが生成する.nl入力ファイルを読み取ることができるインターフェイスを提供し、Pyomoが期待する.solソリューションファイルを生成します。

NetLibを通じてSNOPTのラッパーと一緒にAMPLソルバー・ライブラリー・インターフェースのソースを得ることができます。http://www.netlib.org/ampl/solvers/

+0

Mac OS X 10.12システムを使用しています。 netlibのsnoptディレクトリにあるファイルをDownloads-Folderにダウンロードし、.txt拡張子を削除しました。今、私は./configureを実行しようとするが、それは私に語った: –

+0

ポールのMacBook Proの-:snoptユーザー$ LS のconfigure \t \t makefile.u configurehere \t \t makefile.vc libsnopt7.dylib \t \t snopt.lbc libsnopt7_cpp .dylib \t snopt_.c makefile.fu ポールのMacBook Proの-:snoptユーザーの$ ./configureを -bash:./configureを:許可が ポールのMacBook Proの-を拒否:snoptユーザーの$ sudoは パスワードは./configure: sudo:./configure:コマンドが見つかりません Paul-MacBook-Pro:snoptユーザー$ –

+0

まず、すべてのASL(snoptサブディレクトリだけでなく)が必要です。主な 'solvers'ディレクトリには、ASLライブラリが構築できる必要がある(SNOPTラッパーがリンクする必要がある)ASLソースがあります。特定のエラーは、ダウンロードした後にconfigureスクリプトの実行ビットを設定しなかったためです。 'chmod 755 configure *'か明示的にbash( 'bash。/ configure')でスクリプトを実行してください。 – jsiirola

関連する問題