プロが教える店舗&オフィスのセキュリティ対策術

ニュートン法で多変数関数を最適化する方法についてやったことあるんですが忘れてしまいました。
1変数ならわかります。f(x)=0の解を求めたい場合は、
Xn+1=Xn-f(Xn)/f'(Xn)
という漸化式で徐々に近づいていけばいいんですよね?

では、例えば
「3x^2+6xy+5y^2-4x-6yを最小化せよ」
なんてのを解く場合にはどうすればいいんでしょうか?
漸化式だけ教えてくれればあとは思い出せると思います。お願いします。

A 回答 (2件)

Xをベクトルとします。


R^n→R^1の関数f(X)の極値(及び鞍点)を求めるには、∇f(X)=0を解けばよいです。
ここで∇f(X)はR^n→R^nの関数で、そのi番目の成分は∂f/∂x_iです。

この方程式を解くニュートン法は1次元の場合とほぼ同じであり、漸化式は
X_{n+1} = X_{n} - D(X_{n})^(-1) ∇f(X_{n})
で与えられます。ここで、D(X)はn*n行列であり、その(i,j)成分は∂^2f/∂x_i∂x_jです。

で、この問題は、目的関数が2次なので、D(X)は定数行列となり、任意の点X_{0}に対してX_{1}が極値をとる点となります。またD(X)は正定値のため、この極値で最小をとることもいえます。
    • good
    • 0
この回答へのお礼

おお! ありがとうございます。おかげさまでちゃんと解けました。
一度習ったんですが長年使ってなかったもので、すっかり忘れてました。

お礼日時:2005/06/08 06:47

どうぞ。



F( a + δX , b + δY ) = F( a, b ) + dF(a,b)/dX *δX + dF(a,b)/dY *δY

参考URL:http://www.geocities.co.jp/SiliconValley-Oakland …
    • good
    • 0
この回答へのお礼

参考のサイトも挙げてくださってありがとうございます。
おかげで何とかなりました。

お礼日時:2005/06/08 06:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!