最適化(最急降下法)

  テキストフィールドおよびテキストエリアには,例として,以下に示すような関数の最小値を求める場合に対する値が設定されています(他の問題を実行する場合は,それらを適切に修正してください).

n 変数関数 f(x) に対する最急降下法においては,現在の点 x における傾き,

を求め,その方向にαだけ進んだ点の関数値 f( x + αp) を計算する,という処理を繰り返します.目的関数の箇所には,この例に対する f( x + αp) の計算式,また,目的関数の微分の箇所には,p の計算式が与えられています.ただし,プログラム内では,変数 x は,この例の x と y からなる配列,変数 dx は p に対応し,関数 f を x 及び y で微分したものからなる配列,また,k はαに対応する変数として表現されています.なお,目的関数及び目的関数の微分は,JavaScript の仕様に適合した形式で記述してあることに注意してください.
変数の数(n):  最大繰り返し回数:  刻み幅:
初期値(n個):  1次元最適化:

目的関数: f(xp) =

目的関数の微分: f'(x) =



結果: