0

OMG ツールを使用して、 compare_distributed_optimization_quadrotors.pyma57で使用されているような HSL ソルバーで例を実行したいと考えています。

まず、を使用して OMG ツールをインストールしました。これにより、 CasadiIpoptpipも自動的にインストールされます。その後、Casadi のチュートリアルに従って、ソースから HSL をビルドしました。ここで、パッケージが にインストールされたことを確認できますが、OMG ツールの例を実行すると、選択したソルバーが常に取得されます。チュートリアルに記載されているリンクと環境変数の両方を追加しました。/usr/local/libInvalid_Option

システムで Ipopt を使用して HSL をセットアップするために必要な追加の手順はありますか?

私のシステムはUbuntu 16.04を実行しています。

4

1 に答える 1

0

私はそれを実行しました。願わくば、この短いガイド/アドバイスが、将来の自分以外の誰かにとって役立つことを願っています。

まず、problemOMG ツールで new を宣言すると、options構文は次のようになります。

options = {'horizon_time': horizon_time, 'solver_options': {'ipopt':{'ipopt.linear_solver': 'ma57'}}};

Invalid_Option各 のターミナルにエラーが出力された場合update_timeipoptコマンドは認識されませんでした。

ソルバーに問題があるというメッセージが表示されてプログラムが終了した場合、ma57HSL はインストールされていますが、正しいソルバーが見つからないだけです。おそらく HSL のアーカイブ バージョンを取得しています。

インストールするには、HSL の取得に関する Casadi ガイドにアクセスし、最初のオプションであるソースからのビルドに従ってください。と の代わりにlibblas3gfliblapack3gfも使用できることに注意しlibblas3てくださいliblapack3。それが完了したら、HSL を取得する必要があります。アカデミック ライセンスを使用してアクセスする 2 つのパッケージ (RC、安定版) のいずれかのソース コードをダウンロードします。このステップでは、いくつかのフォームに記入し、ダウンロード ファイルへのリンクを受け取るまで 1 ~ 2 回待つ必要があります。

環境を準備し、必要なファイルをすべてダウンロードしたら、ガイドの説明に従って構成を実行します。ここでは/usr/local、パッケージを にインストールすることをお勧めし/usr/local/libます。

$> ./configure --prefix=(where_you_want_to_install) LIBS="-llapack" --with-blas="-L/usr/lib -lblas" CXXFLAGS="-g -O2 -fopenmp" FCFLAGS="-g - O2 -fopenmp" CFLAGS="-g -O2 -fopenmp"

構成後、make および (sudo) install を実行します。最後に、 に追加/usr/local/lib$LD_LIBRARY_PATHます。ターミナルにエコーして、パスが有効であることを確認します。

ma27これで、とma57ソルバーの両方が機能するはずです。どのソルバーとその使用方法の詳細については、http://www.hsl.rl.ac.uk/にアクセスしてください。

PS: 各Coin-HSLパッケージには独自の README があります。configure --helpさらに、コマンド自体を理解するために実行できます。インストール中に問題が発生した場合は、必ず両方をお読みください。

于 2018-10-30T15:24:44.340 に答える