最適化におけるニュートンベースの方法対非線形方程式の解法


12

私はminpackに関する最近の質問について説明を求め、次のコメントを得ました:

方程式系はいずれも最適化問題に相当します。そのため、最適化におけるニュートンベースの方法は、非線形方程式システムを解くためのニュートンベースの方法によく似ています。

このコメント(およびminpackのような特殊な非線形最小二乗ソルバーに関する関連する否定的な意見)について私を混乱させるものは、共役勾配法の例で最もよく説明されるかもしれません。この方法は、対称正定行列Aを持つシステム適用できます。一般的な最小二乗問題min x |を解決するためにも使用できます| A x b | | 任意の行列Aの場合は2Aバツ=bAバツ||Aバツb||2A、しかし、そうすることは推奨されません。これを行わない理由の1つは、システムの条件数が大幅に増加することです。

しかし、連立方程式を最適化問題に変換することが線形の場合でも問題があると考えられる場合、なぜ一般的な場合では問題が少ないのでしょうか?少し経年劣化した非線形最小二乗ソルバーを使用するのではなく、最先端の最適化アルゴリズムを使用することに何らかの関係があるようです。しかし、問題は、情報の破棄とシステムの条件数の増加に関連しており、実際に使用されている最適化アルゴリズムとは比較的無関係ではないでしょうか?

回答:


10

私の答えの1つが引用されているので、MINPACKの代わりにIPOPTを使用することを提案した理由を明確にしようとします。

MINPACKを使用することに反対する私の意見は、MINPACKが使用するアルゴリズムとその実装に関係するすべてのこととは関係ありません。私の主な異議は、ソフトウェアが1980年にさかのぼり、1999年に最後に更新されたということです。ホルヘ・モレは引退しました。彼やソフトウェアの他の作者がそれを監視していることは疑わしく、積極的にサポートしているチームは存在しません。私がソフトウェアで見つけることができる唯一のドキュメントは、JorgeMoréと他のMINPACKの著者によって書かれた元の1980年のArgonneテクニカルレポートです。(1-3章はここにあり、4章はここにあります。)MINPACKソースコードを検索し、ドキュメントを熟読した後(PDFはスキャンされた画像であり、検索できません)、制約に対応するオプションが表示されません。非線形最小二乗問題の元のポスターは、制約付き非線形最小二乗問題を解決したかったため、MINPACKはその問題を解決することさえしません。

IPOPTメーリングリストを見ると、一部のユーザーは、非線形最小二乗(NLS)問題でのパッケージのパフォーマンスが、Levenberg-Marquardtアルゴリズムとより特化したNLSアルゴリズムに関連していることを示してます(こちらこちら、およびこちらをご覧ください)。NLSアルゴリズムと比較したIPOPTのパフォーマンスは、もちろん問題に依存します。ユーザーからのフィードバックを考えると、IPOPTはNLSアルゴリズムに比べて妥当な推奨事項のようです。

ただし、NLSアルゴリズムを調査する必要があることを指摘します。同意する。MINPACKよりも最新のパッケージを使用する必要があると思うのは、パフォーマンスが向上し、使いやすく、サポートされると信じているからです。Ceresは興味深い候補パッケージのように見えますが、現在は制約のある問題を処理できません。TAO古典的なLevenberg-Marquardtを実装せず、代わりに微分のないアルゴリズムを実装しますが、ボックス制約付き最小二乗問題で動作します。派生物のないアルゴリズムは、おそらく大規模な問題にはうまく機能しますが、小規模な問題には使用しません。ソフトウェアエンジニアリングに大きな信頼を寄せる他のパッケージは見つかりませんでした。たとえば、GALAHADは一見、バージョン管理や自動テストを使用していないようです。MINPACKはこれらのことも実行していないようです。MINPACKの経験がある場合、またはより優れたソフトウェアに関する推奨事項がある場合は、私はすべて耳にします。

これらすべてを念頭に置いて、私のコメントの引用に戻ります。

方程式系はいずれも最適化問題に相当します。そのため、最適化におけるニュートンベースの方法は、非線形方程式システムを解くためのニュートンベースの方法によく似ています。

より良いコメントは、おそらく次の効果をもたらすものです。

n個の未知数g x = 0を持つn 方程式系を解きたい場合、これを最小二乗最適化問題として定式化できます。(Dmitri Bertsekasによる非線形計画法、第2版のp.102の最後の段落のフレーズ。)nngバツ=0

このステートメントは、制約下で方程式系を解く場合にも当てはまります。変数に制約がある場合の「方程式ソルバー」と見なされるアルゴリズムは知りません。私が知っている一般的なアプローチは、おそらく数学期の最適化コースと最適化ラボでの研究に起因するもので、方程式系の制約を最適化定式化に組み込むことです。方程式を解くためにニュートンラプソンのようなスキームで制約を使用しようとすると、おそらく制約付き最適化で使用される方法と同様に、投影勾配法または投影信頼領域法になります。


私はMINPACKの経験があります。ローカルメソッドとしては十分です。調整を行わなくても、停止基準がうまく機能するのが気に入っています。私は、特にアルゴリズム自体の大きな変更ではないため、制約のあるものが迷惑になる可能性があることを知っています。変数の境界と一般的な線形制約を提供するLM実装も知っていますが、これらの実装はMINPACK自体よりも若くはなく、それらを評価することもありません。
トーマスクリンペル

1
gバツ=0gバツ2

gバツ=0バツSSRnSRn
ジェフオックスベリー

バツSgバツ2gバツ=0S

1
そのため、の境界にある解によって意味するものを正確に定義できる必要があります。補完的な定式化として記述されることが多いVIは、まさにそれを行います。特にデザインスペースが大きい場合、私は派生物フリーに関して反対の意見を持っています。目的に高価なPDEの解決が含まれる場合、勾配を使用して設計空間を探索できるように、随伴物が必要であると考えます。PDE随伴は、空間の次元に関係なく、フォワードソルブの小さな倍数のみを必要とします。これにより、モデルの滑らかさがさらに要求されます。S
ジェドブラウン

14

場合は与えられた非線形システムは、最適化問題のための第一次の最適条件である、そして我々は、多くの場合、その情報を使用して、より堅牢なアルゴリズムを生成することができます。たとえば、方程式を考えます

元の目的のプロット

これには明らかに一意の最小値があり、最適化方法は開始点に関係なくそれを見つけることが期待されます。しかし、1次の最適条件のみを見る場合、解を探しています[Wolfram Alpha]バツfバツ=0

勾配

これには独自の解決策がありますが、多くのルート検索メソッドはローカルミニマムで行き詰まる可能性があります。

勾配の平方のノルムを最小化するために新しい最適化問題を再定式化する場合、複数の局所最小値を持つ [Wolfram Alpha]のグローバル最小を探しています。バツfバツ2

ここに画像の説明を入力してください

まとめると、メソッドが見つかることを保証できる独自のソリューションを持つ最適化問題から始めました。ローカルに特定できる独自のソリューションを備えた非線形ルート検索問題として再定式化しましたが、ルート検索方法(ニュートンなど)は到達する前に停滞する可能性があります。次に、ルート検索問題を、複数のローカルソリューションを持つ最適化問題として再定式化しました(グローバルミニマムではないことを識別するためのローカル測定は使用できません)。

一般に、問題を最適化からルート発見またはその逆に変換するたびに、使用可能なメソッドと関連する収束保証を弱くします。メソッドの実際のメカニズムは非常によく似ていることが多いため、非線形ソルバーと最適化の間で多くのコードを再利用できます。


ジェッド、これらのWAリンクは、あなたが言っていることとはまったく異なります。かっこは無視されているか、URLで不適切に渡されています。
ビル・バルト

奇妙なことに、リンクは私のために機能します。Webブラウザーに依存しますか?これを提示する代替方法の提案はありますか?
ジェドブラウン

わからない。あるタブから次のタブに再フォーマットされたリンクをカットアンドペーストすると、WAがねじ込まれ、それ自体で再びねじ込まれます。
ビル・バルト

他の誰かがリンクに問題を抱えていますか?私は複数のブラウザで試しましたが、どの場合でもうまくいきます。
ジェドブラウン

これはいい答えです。しかし、代わりにGeoff Oxberryの答えを受け入れることにしました。なぜなら、私が理解しようとしていたことの一部は、質問に関連する「現実世界」の問題だからです。これには、私のような人々がMINPACKの欠点を知っているにもかかわらず、MINPACKを使用および推奨すること、および他の人々が「些細な」非線形システムの解決についてアドバイスを求めますが、3か月以上1つのソルバーでもテストできないことを含みます時間枠。
トーマスクリンペル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.