タグ付けされた質問 「nonlinear-programming」

17
Python用の高品質な非線形プログラミングソルバーはありますか?
解決すべきいくつかの挑戦的な非凸のグローバル最適化問題があります。現在、MATLABのOptimization Toolbox(特にfmincon()algorithm ='sqp'を使用)を使用していますが、これは非常に効果的です。ただし、私のコードのほとんどはPythonで作成されているため、Pythonでも最適化を行いたいと考えています。競合できるPythonバインディングを備えたNLPソルバーはありfmincon()ますか?ちがいない 非線形等式および不等式の制約を処理できる ユーザーがヤコビアンを提供する必要はありません。 グローバルな最適化を保証していなくても構いません(保証fmincon()しません)。私は、困難な問題や、それよりもわずかに遅い場合でも、ローカル最適にロバストに収束するものを探していfmincon()ます。 OpenOptで利用できるソルバーをいくつか試しましたが、MATLABのソルバーより劣っていfmincon/sqpます。 強調するために、私はすでに扱いやすい定式化と優れたソルバーを持っています。私の目標は、ワークフローをより合理化するために、単に言語を変更することです。 Geoffは、問題のいくつかの特性が関連している可能性があると指摘しています。彼らです: 10-400の決定変数 4〜100の多項式等式制約(1〜8の範囲の多項式次数) 決定変数の数の約2倍に等しい合理的な不等式制約の数 目的関数は決定変数の1つです 不等式制約のヤコビアンと同様に、等式制約のヤコビアンは密です。

8
制約付き最適化のためのソフトウェアパッケージ?
いくつかの変数(具体的にはボックス化された制約)の境界がわかっている制約付き最適化問題を解決しようとしています。 arg分あなたはf(u 、x )arg⁡minuf(u,x) \arg \min_u f(u,x) の対象 A ≤ D (U 、X )≤ Bc (u 、x )= 0c(u,x)=0 c(u,x) = 0 ≤ D(U 、X )≤ Ba≤d(u,x)≤b a \le d(u,x) \le b ここで、あなたはuuは設計変数のベクトル、バツxxは状態変数のベクトル、c (u 、x )c(u,x)c(u,x)は等式制約(通常はPDE)です。下限および上限の制約aaaおよびbbbは、空間的に可変です。 この形式のシステムを処理できるパッケージはどれですか?

1
BFGSアップデートの直感的な動機
私は数値分析調査クラスを教えており、最適化の背景/直感が限られている学生のためのBFGS法の動機付けを求めています! JのK(→ X K - → Xのk - 1)= F (→ X K)- F (→ Xのk - 1)∥ Jk− Jk − 1∥2あちこち‖Jk−Jk−1‖あちこち2\|J_k-J_{k-1}\|^2_{\textrm{Fro}}Jk(x⃗ k− x⃗ k − 1)= f(x⃗ k)− f(x⃗ k − 1)Jk(バツ→k−バツ→k−1)=f(バツ→k)−f(バツ→k−1)J_k(\vec x_k-\vec x_{k-1})=f(\vec x_k)-f(\vec x_{k-1}) BFGSアップデートの派生は、はるかに複雑で曖昧なようです!特に、更新がランク2であるか、特定の形式をとるべきであるとアプリオリに仮定したくない。BroydenのようなBFGS Hessianの更新には、変則的に見える短い動機がありますか?

2
大規模な最適化問題を解くための分解方法
大規模な数理計画問題を解決するための分解方法(原始、双対、ダンツィッヒ・ウルフ分解など)に関するテキストや調査記事に関する提案があるのではないかと思いました。 私はスティーブン・ボイドの「分解方法に関する注意事項」が好きでした。例えば、このトピックをより詳細に扱った教科書を見つけるのは素晴らしいことです。

2
非線形プログラミングでSQPが拡張ラグランジアンよりも優れているのはなぜですか?
Galahad [1]に関する技術レポートでは、著者は一般的な非線形計画問題との関連で、 私たちの心には、SQP [逐次二次計画法]メソッドが[拡張ラグランジュ法]よりも長期的に成功するという疑問はほとんどありませんでした... その信念の根拠は何でしょうか?つまり、SQP法が拡張ラグランジュ法よりも高速/信頼性が高いことを示唆する理論的な結果はありますか? [1] Gould、Orban、およびTointによる、大規模な非線形最適化用のスレッドセーフなFortran 90パッケージのライブラリであるGalahad

2
非線形制約付き最小化のためのC ++ライブラリ
現在、MATLABの「fmincon」関数に実装されている非線形制約付き最小化問題を解決しようとしています。私の期待は、minimize(fun1、x0、uB、lB、fun2)です。ここで、x0は初期状態、fun1は最小化する必要がある関数、uBは上限、lBは下限、fun2は非線形等式のベクトルを提供する関数です。 /不等式に記載されているようにhttp://www.mathworks.com/help/optim/ug/fmincon.htmlnonlcon関数として。これらのベクトルも反復によって変化します(これらは、解ベクトルのn番目の反復であるx_nに非線形に依存しています)。matlab実装では、c(x)<= 0の形式です。これは、MATLABからC ++に移植する必要のある最後のコードであり、このアルゴリズムを含む適切なC ++ライブラリを見つけるために多くの苦労をしてきました。これが私がここで助けを求めている理由であり、あなたの専門知識を提供していただければ幸いです。 私がしたいことの良い例は、このページの最初のものですhttp://www.mathworks.com/help/optim/ug/constrained-nonlinear-optimization-examples.html#f10960?s_tid=doc_12b唯一の違いは、境界も必要です... 前もって感謝します。 ピーター

3
GPUで実行されるIPOPTのような制約付き非線形最適化ライブラリはありますか?
私のチームの誰かがIPOPTを並列化したいと考えています。(少なくともその機能のいくつか)。それまたは同様のパッケージのGPU実装を見つけることができませんでした。また、ドキュメントには何も見つかりませんでした。 だから問題は、GPUにすでに実装されている代替案があるかどうかです。または、少なくとも誰かがGPUに移植して、一緒に作業できるようにしていますか?

2
非線形制約のある2次関数の最小化
二次関数の最小化問題解決のために試すには良い方法(および/またはソフトウェアパッケージ)であるもの、ST 0 ≤ X I ≤ 1、およびいくつかの非線形(そして微分不可能)な制約があります。たとえば、∑ i x i 1 x i &gt; a &lt; b?f(x)=∑Ni=1(xi−yi)2f(x)=∑i=1N(xi−yi)2f(x) = \sum_{i=1}^N{(x_i - y_i)^2}0≤xi≤10≤xi≤10 \leq x_i \leq 1∑ixi1xi&gt;a&lt;b∑ixi1xi&gt;a&lt;b\sum_i x_i \mathbf{1}_{x_i>a} < b 私は考えています。FWIW、Matlabは明らかに「ギル他と同様のアクティブセットメソッド」を使用しており、パフォーマンスに多少のばらつきがあります。N≈100N≈100N \approx 100

3
標準の線形代数/最適化法には大きすぎるものは何ですか?
異なる数値線形代数および数値最適化手法は、独自のプロパティに加えて、それらが「良いアイデア」である場合に異なるサイズ体制を持っています。たとえば、非常に大規模な最適化問題の場合、ヘッセ行列を扱う必要がないため、ニュートン法や内点法の代わりに勾配法、確率勾配法、座標降下法が使用されます。同様に、密な線形ソルバーメソッドは、特定のサイズになると実行できなくなります。 したがって、アルゴリズムとコンピューターハードウェアの両方が絶えず変化していることを考えると、標準の線形代数と最適化ソルバーにとってどれほどの大きさであるかを知るにはどうすればよいでしょうか。 (数値アルゴリズムのエンドユーザーである場合、それらのアルゴリズムを適用できるときはあいまいな考えを持つことが重要であるため、これについて考えています。その一部は、問題の構造と望ましいソリューションの種類ですが、一部は問題の大きさでもあります。) 編集:より具体的に言えば、これについて私が考えさせられたのは、問題の内点アルゴリズムが解決できる大きさの上限に関するさまざまな経験則でした。以前の論文では、次元数は約1000である必要があると述べていましたが、後の論文では5000に上方修正されており、最近の論文では、スパース性を利用できるかどうかに応じてさらに大きな値を認めています。これはかなり広い範囲なので、最先端の内点法では何が大きいのか知りたいです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.