Пример использования метода золотого сечения
Требуется минимизировать:f(x)=(100-x)2 в интервале 60<=х<=150
Решение:
Для того, чтобы перейти к интервалу единичной длины, проведем заметку переменной, положив Z = (x-60)/90.
Таким образом, задача принимает следующий вид:
- минимизировать f(Z) = (40-90Z)2;
- при ограничении 0<=Z<=1.
Итерация 1.
Интервал : I1=(0,1); L1=1.
Проведем два первых вычислений функции:
Z1=q=0.618, f(Z1)=244.0
Z2=1-q=q2=0.382, f(Z2)=31.6
Т.к. f(Z2)<f(Z1) и Z2<Z1, интервал Z>=Z1 исключается.
Итерация 2.
I2=(0, 0.618); L=0.618=q.
Следующее вычисление значения функции проводится в точке.
Z3=q-q2=q(1-q)=q3=0.236, f(Z3)=352.
Т.к. f(Z3)>f(Z2) и Z3<Z2, интервал Z<=Z3 исключается.
Итерация 3.
I3=(0.236, 0.618); L=0.382=q2.
Следующее вычисление функции проводится в точке, расположенной на расстоянии q*(длина полученного интервала), или на расстоянии (1-q)*(длина интервала) от правой граничной точки.
Таким образом:
Z4=0.618 - (1-q)L3=0.618 - q2L3=0.618 -q2(q2)=0.618 - q4=0.472;f(Z4)=6.15.
Т.к. f(Z4)<f(Z2) и Z4>Z2, интервал Z<=Z2 исключается.
0.382<=Z<=0.618 для переменной Z, или 94.4<=x<=115.6 для переменной x.