制約付きの逐次非線形最適化のための c++ の適切なライブラリはありますか?
不等式の制約および/または上限と下限を探しています。
これにはすでにスタックオーバーフローの質問がありますが、すべてに制約があるわけではありません。
私はNLoptを知っていますが、私の特定の問題ではうまくいきません。他にもありますか?
他の誰かがlpOptに興味を持っている場合、私は最終的に私が探していた解決策を見つけました
制約付きの逐次非線形最適化のための c++ の適切なライブラリはありますか?
不等式の制約および/または上限と下限を探しています。
これにはすでにスタックオーバーフローの質問がありますが、すべてに制約があるわけではありません。
私はNLoptを知っていますが、私の特定の問題ではうまくいきません。他にもありますか?
他の誰かがlpOptに興味を持っている場合、私は最終的に私が探していた解決策を見つけました
試すことができる 1 つの SQP アルゴリズムはDONLP2です。元々は Fortran 77 で書かれていましたが、ANSI C バージョンもあります。密な代数を使用するため、主に小規模から中規模の問題に適しています。アカデミック利用は無料です。作成者に直接コードを要求する必要があります。リンクの指示に従ってください。
UPDATE Sequential Quadratic Programmingは、制約のある非線形目的関数を解くための唯一のアプローチです。たとえば、内点法もあります。内点アプローチを適用する非常に優れた大規模なオープンソース C++ の代替手段の 1 つはIpopt です(別の回答で既に言及されています)。たとえば、商用パッケージKNITROもあります。目的関数と制約の勾配を提供できない、または提供したくない場合は、COBYLA2 を参照することもできます。COBYLA2 の C バージョンは、ここからダウンロードできます。
さらにインスピレーションを得るために、さまざまな問題に適したさまざまな最適化コードをリストしている最適化ソフトウェアの決定ツリーを参照することもできます。