大域的最適化問題という名の難問

ここでいう「最適化」というのは「関数の最小化もしくは最大化」を意味しています。

ラグランジュ方程式とハミルトン方程式とかって確かに制約条件付きの問題を制約無しの問題に変換するテクニックなワケでして, そうでなければそもそも問題を解けないのです. けれどもこれらの問題の解はラグランジアンの「鞍点」を与えるわけで, 単純に最大値や最小値を与えるものではないのです.

徒然なる数学な日々 at FC2 | 未だ分からず

大域的な最適化(大域的に最大値もしくは最小値の発見すること)は非常に難しい問題ですね。正直に言って矢野もよく分かっているとは言いがたいので(というかぜんぜん分かってない?)、あまりきれいに分類できませんが、以下のように僕自身は理解しています。

1. まったく制約条件のない場合に関数の局所的な最小値もしくは局所的な最大値は1次微分と2次微分をすれば見つかる

2. 2次関数のような単峰であることが分かっているものは局所的な最小値(局所的な最大値)が大域的な最小値(大域的な最大値)に一致する

3. まったく制約条件のない場合に多峰関数の大域的な最大値もしくは最小値を確実に発見する方法はまだ見つかっていない

4. ある程度制約条件があり、目的関数が特定できる場合は目的関数を最大化もしくは最小化する解が得られる場合もある(動学マクロ理論なんかだと無限大の消費や負の無限大の消費がありえないと分かっているので、ある一定の範囲内に解があるはずで、その範囲内で極値が分かればいい。最大になっているか最小になっているかは目的関数がconcaveかconvexか[これは当たり前ですが])

・・・ホンマかいな(思いっきり嘘ついてるかも)。

「矢野、お前はぜんぜん分かっとらんから俺が最適化の真髄を教えてやる!」という方はコメントをお願いいたします↓