問題タブ [ipopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
394 参照

ipopt - Pyomo Ipopt が解決策を返さない

私のスクリプトは次のとおりです。

これは非常に単純な問題であり、プログラムは最適解を見つけたと述べていますが、解の数は 0 であり、解は表示されていません。

何か案は??

どうもありがとう。

0 投票する
1 に答える
878 参照

visual-c++ - x64 ビット Windows ライブラリには IPOPT (MUMPS ソルバー) が必要

IPOPT-MUMPS ソルバー バイナリ (Lib) を使用している Visual Studio 2013 で x64 構成としてプロジェクトをビルドしようとしています。

以下のリンクから互換性のあるバイナリをダウンロードしようとしています: http://www.coin-or.org/download/binary/Ipopt/

残念ながら、Visual Studio 2013 と互換性のある x64 ビット バイナリを見つけることができません。

Visual Studio 2013 用の MUMPS ソルバーの x64 IPOPT バイナリを取得する方法 (デバッグ モードとリリース モードの両方)

x64 ビット VS2013 と互換性のあるバイナリが利用できない場合は、同じものを作成するための詳細な手順を教えていただければ幸いです。

0 投票する
2 に答える
376 参照

performance - 非線形ソルバーでは、ソルバー時間と NLP 関数の評価に影響を与えるものは何ですか?

非線形最適化のパフォーマンスが、ソルバー エンジンのインターフェースの特定の方法によってどのように影響されるかを理解するのに、いくつかの困難があります。

最初のバージョンでは GAMS で書かれた最適化モデルがあります。IPOPT (一般的な FOOS 非線形ソルバー エンジン) は、最適化ごとに IPOPT (関数評価なし) で 1.4 CPU 秒、関数評価で 0.2 CPU 秒の実行時間を返していました。

モデルを C++ に変換し (モデルの最適化されていないコンポーネントをより適切に説明するため)、その C++ API を介して IPOPT をインターフェースした (AD 用の ADOL-C および ColPack を使用) と、IPOPT で 0.7 秒、9.4 秒の実行時間が得られました。数秒の関数評価 (IPOPT の改善は、ソースごとに IPOPT をコンパイルすることで、IPOPT の GAMS バージョンでは利用できないより優れた線形ソルバーを使用できたことが原因である可能性があります)。

そのため、C++ を使用すると、明らかに最適化が不十分なコードを使用すると、GAMS よりも 50 倍遅い結果が得られましたが、ソルバー時間の短縮によって部分的に補償されました。

現在、モデルを他の言語 (Pyomo を使用した Python、または JuMP を使用した Julia) に変換する可能性を評価しています。

しかし、最初に、各ステップでソルバーによって行われる関数評価が、実装されている特定の言語にどのように依存するかを理解したいと思います。

C++ では、最適化モデルを作成する関数が反復ごとに直接実行 (評価) されることは明らかであるため、それらの実装方法が重要です (特に、少なくとも私たちの実装では、勾配とヘシアンは毎回再計算されます)。 .

PyomoとJuMPはどうですか?Python と Julia で評価される各反復か、それとも Pyomo と JuMP が代わりに (私が推測する) C で最初にモデルをレンダリングし、勾配とヘッセ行列を一度だけ計算 (評価しない) し、それからこの「C バージョン」です。毎回評価されますか?特にpythonの場合、明らかに大きな違いがあります..

0 投票する
1 に答える
879 参照

optimization - IPOPT ソリューションは最適ではありません

IPOPT を使用して非線形目的関数を最小化しようとしていますが、最適ではない解が返されます。

最適解を出発点として使用しても、IPOPT はより悪い解に収束します。

これは、悪い開始点で実行したときの出力です。

これは、最適解を開始点として実行したときの出力です。

すでに終了オプションを変更しようとしましたが、常に同じ結果が得られます。なぜスタート地点から最悪地点に逃げるのか理解できません。

何か案は?