黄金分割法
現在、黄金分割法を用いて、一変数関数の最小化をしようとしています。
黄金分割法はx座標上の4点(xa<xb<xc<xd)を常に保持し、凹型になっている3点の中に次々とxminを追い込んでいく方法です。
文献を参考に黄金分割法のプログラムを作成し、二次関数を用いてテストをしたのですが、最小値を与える座標xminが求まりません。
一番離れている2点(xa,xd)がxminを常に囲っている状態ならば、求まると思うのですが、4点の値をトレースしたところ、4点とも、xminに対して片側に寄ってしまい(例えばxmin<xa<xb<xc<xdというような状態)、求まらないようなのです。
黄金分割法は原理的に上記のように最適化が失敗する可能性があると思うのですが、どうなのでしょうか?
初期状態でxminを囲っていれば、確実に最適化が可能なのでしょうか?