パウエル法

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:出典の明記 パウエル法(パウエルほう、パウエルの共役方向法、パウエルのきょうやくほうこうほう、テンプレート:Lang-en-short)とは、関数の局所的最小解を求めるアルゴリズムである。関数は微分可能関数である必要はなく、導関数を必要としない。

関数は変数の数が可変でない実数値を入力とする実数値関数でなければならない。また初期点と探索ベクトル集合が入力として必要である。通常初期の探索ベクトル集合({s1,,sN})は各軸に対応したN個の標準ベクトルとすることが多い[1]

パウエル法は探索ベクトルを順番に双方向探索することによって関数の極小値を求める。探索ベクトルによる双方向探索では黄金分割探索ブレント法によって実行される。各反復の双方向探索で求まる極小値は {x0+α1s1,x0+i=12αisi,,x0+i=1Nαisi} となる。ただし、x0 は初期点を表し、αi は探索ベクトル si 方向に進む双方向探索において求まるスカラー値である。新たな点 x1 は探索ベクトルの線形和 x1=x0+i=1Nαisi によって表される。この線形和で表されるベクトル(i=1Nαisi)は新たな探索ベクトルとして、ベクトル集合に加えられる。その際ベクトル集合に最も前に加えられた探索ベクトル(id=argmaxi=1N|αi|si)は削除される。新たに更新された要素数 N の探索ベクトル集合は {s1,,sid1,sid+1,,sN,i=1Nαisi} と表される。パウエル法は関数の値の改善がされなくまで反復が続けられる[1]

パウエル法は導関数を必要としない解法であるため、数学的に定義されていないような複雑な連続関数の局所的最小解を求めるために使用される。パウエル法の手続きは単純であるが、探索ベクトル方向の線形探索の計算が容易ではないが、これはブレント法によって実現される。

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

テンプレート:最適化アルゴリズム