タグ付けされた質問 「optimization」

このタグは、関数の(制約付きまたは制約なし)最小化または最大化のメソッドに関する質問を対象としています。

2
実変数の凸包上の凸の組み合わせの最大値
私は次の線形プログラムを持っています: ここで、X \で\ mathbb {R} ^ nは、\ mathbf {1} ^ T X意味のエントリの和X、および知られており、明確に明確な正のエントリがあります。MaximizeSubject toaTxxmin≤x≤xmax1Tx=1MaximizeaTxSubject toxmin≤x≤xmax1Tx=1 \begin{array}{cc} \text{Maximize} & a^T x \\ \text{Subject to} & x_{\min} \leq x \leq x_{\max} \\ & \mathbf{1}^T x = 1 \end{array} x∈Rnx∈Rnx \in \mathbb{R}^n1Tx1Tx\mathbf{1}^T xxxxaaa LPソルバーを使用せずに上記を簡単に解決する方法を探しています。従うべき迅速な手順はありますか?(シンプレックス以外)。 ありがとうございました!

3
Pythonでのfmincgの実装
私はPythonでニューラルネットワークを再実装しようとしています。コスト関数と逆伝播アルゴリズムを正しく実装しました。Octaveに相当するコードを実行して、それらをチェックしました。 しかし、scipy.optimize.fmin_cg関数を使用しようとすると、反復の実行に非常に長い時間がかかります。警告が表示されて終了し、「目的のエラー率が達成されなかった」というエラーが表示されます。 Octaveの同じプログラムは問題なく実行されます。ただし、独自のfmincg機能が定義されています。 何が悪いのですか?

1
C / C ++での凸型最適化ソルバーのオープンソースでスレッドセーフな実装?
C / C ++の凸型最適化ソルバーのオープンソースでスレッドセーフな実装はありますか? NLopt、Ipopt、OPT ++などの一部のライブラリは、私の要件を満たしていません。 OPT ++とIpoptはスレッドセーフではなく、NLoptには、等式/不等式制約のある凸型プログラミングの問題を解決する特定の/効率的な方法がないようです。
8 optimization  c 

2
利用可能な導関数なしの2つの関数の同時最大化
2つの変数がkありt、他の2つの変数の関数としてp1とがありp2ます。私はそれらの最大値も知っています。このための分析式はありません。私はの値見つけたいkとt彼らの最大値に最も近いです。 k = f1(p1, p2)and を最適化する方法はありt = f2(p1, p2)ますか? 積k0 * t0や四角形の積、k0^2 * t0^2または他の2つの関係を調べてみることができます。 これは効率的ですか? ありがとうございました。

1
与えられた多面体の最大楕円体を計算する方法
BBBBBBCCCC= { x | aT私X ≤ B私、i = 1 、… 、m }C={x|aiTx≤bi,i=1,…,m}C=\{x| a_i^T x \leq b_i, i=1,\dots,m\}分B 、d[ ログdet B− 1]st:| | B a私| |2+ aT私d≤ B私、i = 1 、… 、mminB,d[log⁡detB−1]s.t.:||Bai||2+aiTd≤bi,i=1,…,m \min_{B,d}\quad[\log\det B^{-1}]\\ \mbox{s.t.:}\quad ||Ba_i||_2+a_i^Td\leq b_i, \qquad i=1,\dots, m 。私のアプローチは、内点法を使用し、精度パラメーターを導入し、上記の本の第11章で説明されているように対数バリア関数を介して制約を目標に組み込み、結果として生じる制約のない問題を最小限に抑えることです したがって、私は偏導関数を取ります: これは行列であり、 分B 、dt > 0t>0t>0F∂F分B 、d[ ログdet B− 1− …

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に上方修正されており、最近の論文では、スパース性を利用できるかどうかに応じてさらに大きな値を認めています。これはかなり広い範囲なので、最先端の内点法では何が大きいのか知りたいです。

1
scipy.optimize.fmin_bfgs:「精度の低下により、必ずしも必要なエラーが達成されるとは限らない」
Pythonでscipy.optimize.fmin_bfgs関数を使用して関数を最適化しようとすると、投稿の件名に警告が表示されます。完全な出力: 警告:精度の低下により、必ずしも望ましいエラーが達成されるとは限りません Current function value: nan Iterations: 1 Function evaluations: 18 Gradient evaluations: 3 致命的なエラーではありません。答えは出ますが、最適な検索結果にはほど遠いです。 このエラーを生成する可能性のある一般的な「noob」エラーはありますか?私は昨日だけこのパッケージを使い始めました。だから、どこから始めればいいのかさえわからない。どんな助けでもありがたいです!

2
線形制約付きの片側非線形最小二乗
私は線形制約付きの片側非線形最小二乗問題、つまり問題を解決しようとしています: minx∑mi=1ri(x) s.t Ax≤bminx∑i=1mri(x) s.t Ax≤b\min_{\mathbf{x}} \quad \sum^m_{i=1} \mathbf{r}_i(\mathbf{x}) \qquad \text{ s.t } \quad A\mathbf{x} \leq \mathbf{b} どこ ri(x)=fi(x)2ri(x)=fi(x)2r_i(\mathbf{x})=f_i(\mathbf{x})^2 if fi(x)&gt;0fi(x)&gt;0f_i(\mathbf{x})>0場合、ri(x)=0ri(x)=0r_i(\mathbf{x})=0。 言い換えれば、これは正の残差(fff)のみが含まれる最小二乗問題と考えることができます。これがデータフィッティングケースではないことを強調できません。ほとんどのデータフィッティングの場合に使用するとどうなるかを知っています。結果は、すべての観測値の「上の」関数にすぎません。このアプリケーションは、通常minmaxノルムで解決される特定の最適化問題を解決するためのものです(minx||f(x)||∞minx||f(x)||∞\min_{\mathbf{x}} ||\mathbf{f}(\mathbf{x})||_\infty)。すべての実際的なケースでは、f関数の動作により、解はゼロに到達しません。つまり、|| \ mathbf {f}(\ mathbf {x})|| _ \ infty \ neq 0です。||f(x)||∞≠0||f(x)||∞≠0||\mathbf{f}(\mathbf{x})||_\infty \neq 0fff 関数は、非線形であり、我々は解析的にあまり余計なトラブルもなくヤコビアンを計算することができるようなその誘導体へのアクセスを、持っています。fff いくつかの成功を収めて、目的関数が上記のように定式化されるLevenberg-Marquardtアルゴリズムを適用しました。つまり、0未満のが合計から削除され、ヤコビアン対応する行がゼロに設定されます(つまり、 ifこれはかなり大雑把ですが問題なく動作しますが、残念ながら線形制約を組み込むことができませんでした。fffJJJJi,:=0Ji,:=0J_{i,:}=0fi(x)&lt;=0fi(x)&lt;=0f_i(\mathbf{x})<=0 制限された制約のみでNLLSQ問題を解決する多くの方法を認識していますが、これらの方法は明らかに問題を解決しません。DQEDと呼ばれる線形制約付きのNLLSQを1つだけ見つけ、それをLevenberg Marquardtで行ったように目的関数を変更することにより、制限された成功(反復/関数評価の数に不満)で使用しました。 私が探しているもの 線形制約のある非線形最小二乗問題を解く方法の提案。また、正の残差のみを含めるという事実を組み込むためにアルゴリズムを変更する方法に関する提案も歓迎されます。最後に、ヒントや考えは大歓迎ですが、問題の定式化は間違っていないことを再度強調しなければなりませんが、微分可能性がないため、最適化には最適ではないことに気づきました場合。ri(x)ri(x)r_i(\mathbf{x})ri(x)=0ri(x)=0r_i(\mathbf{x})=0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.