Пример метода золотого сечения
Опять рассмотрим задачу из примера 2.6, в которой требуется минимизировать f(х)=(100-х)2 в интервале 60£х£150. Для того чтобы перейти к интервалу единичной длины, проведем замену переменной, положив w=(х - 60)/90. Таким образом, задача принимает следующий вид: минимизировать f(w) = (40 – 90w)2 при ограничении 0£w£1.
Итерация 1. I1 = (0, 1); L1 = l. Проведем два первых вычисления значений функции:
w1 = t = 0,618, f(w1) = 244,0
w2 = 1-t = t2 = 0,382, f(w2) = 31,6
Так как f(w2) < f(w1) и w2 < w1, интервал w ³ w1 исключается.
Итерация 2. I2 =(0. 0,618); L2 = 0,618 = t. Следующее вычисление значения функции проводится в точке
w3 = t-t2 = t(1-t) = t3 = 0,236, f(w3) = 352.
Так как f(w3) > f (w2) и w3 < w2, интервал w £ w3, исключается.
Итерация 3. I3 =(0,236, 0,618); L3 = 0,382 = t2. Следующее вычисление значения функции проводится в точке, расположенной на расстоянии t ´ (длина полученного интервала) от левой граничной точки интервала, или на расстоянии (1-t) ´ (длина интервала) от правой граничной точки. Таким образом,
w4 =0,618 – (1-t)L3 = 0.618 - t2 L3 0.618 - t2(t2) = 0.618 - t4 = 0,472, f(w4) = 6,15.
Так как f(w4) < f (w2) и w4 > w2, интервал w £ w2 исключается.
В результате получен следующий интервал неопределенности: 0,382 £ w £ 0,618 для переменной w, или 94,4£х£115,6 для переменной х.
Если в процессе поиска проведено шесть вычислений значений функции, то длина результирующего интервала для переменной w равна
tN-1 = t5 = 0,09,
что соответствует интервалу длины 8,1 для переменной х. Для сравнения напомним, что в аналогичной ситуации метод деления интервала пополам привел к получению интервала длины 11,25.
В общем случае если правая и левая граничные точки интервала неопределенности (обозначим их через XR и XL) известны, то координаты всех последующих пробных точек, получаемых в соответствии с методом золотого сечения, можно вычислить по формулам
w = XR - tn или w = XL + tn, в зависимости от того, какой подынтервал был исключен на предыдущей итерации – левый или правый. В приведенных выше формулах через tn обозначена n-я степень t, где п – количество вычислений значений функции.
Поиск с помощью метода золотого сечения может быть окончен либо исходя из заданного количества вычислений значений функции (и, следовательно, величины интервала неопределенности), либо по достижении относительной точности искомого значения функции. Наиболее предпочтительным является использование обоих критериев одновременно.
Сравнение методов исключения интервалов. Ниже проводится сравнение относительных эффективностей рассмотренных методов исключения интервалов. Обозначим длину неходкого интервала неопределенности через L1, а длину интервала, получаемого в результате N вычислений значений функции, - через LN. В качестве показателя эффективности того или иного метода исключения интервалов введем в рассмотрение характеристику относительного уменьшения исходного интервала FR(N)=LN/L1
Напомним, что при использовании метода деления интервала пополам и метода золотого сечения длина получаемого интервала составляет L1(0,5)N/2 и L1(0.618)N-1 соответственно. Следовательно, относительное уменьшение интервала после N вычислений значений функции равно
FR(N) = (0,5)N/2 для метода деления интервала пополам;
FR(N) = (0,618) N-1 для метода золотого сечения.
Для сравнения рассмотрим также метод равномерного поиска, в соответствии с которым оценивание функции проводится в N равноотстоящих друг от друга точках (при этом интервал L1 делится на (N+1) равных интервалов длины L1/(N+l)). Пусть х* – точка, в которой наблюдается минимум функции f(х). Тогда точка истинного минимума f(x) оказывается заключенной в интервале
,
откуда LN = 2L1/(N+l). Следовательно, для метода равномерного поиска FR(N)=2/(N+1).
В табл. 6.2 представлены значения FR(N), соответствующие выбранным N, для трех методов поиска. Из таблицы следует, что поиск величины относительного уменьшения интервала с помощью метода золотого сечения
Таблица 6.2
Метод поиска | Количество вычислений значений функции | ||||
N=2 | N=5 | N=10 | N=15 | N=20 | |
Метод деления интервала пополам | 0,5 | 0,177 | 0,031 | 0,006 | 0,0009 |
Метод золотого сечения | 0,618 | 0,146 | 0,013 | 0,001 | 0,0001 |
Метод равномерного поиска | 0,667 | 0,333 | 0,182 | 0,125 | 0,095 |
обеспечивает наибольшее относительное уменьшение исходного интервала при одном и том же количестве вычислений значений функции. С другой стороны, можно также сравнить количества вычислений значения функции, требуемые для достижения заданной величины относительного уменьшения интервала или заданной степени точности. Если величина FR(N) = E задана, то значение N вычисляется по следующим формулам:
для метода деления интервала пополам
N=2 ln(E)/ln(0,5),
для метода золотого сечения
N=1+[ln(E)/ln(0,618)],
для метода равномерного поиска
N=(2/E)-1
В табл. 6.3 приведены данные о количествах вычислений значений функции, необходимых для определения координаты точки минимума с заданной точностью. Следует еще раз подчеркнуть, что метод золотого сечения оказывается более эффективным по сравнению с остальными двумя методами, поскольку он требует наименьшего числа оцениваний значения функции для достижения одной и той же заданной точности.
Требуемые количества вычислений значений функции
Таблица 6.3
Метод поиска | Заданная точность | |||
Е=0,1 | Е=0,05 | Е=0,01 | Е=0,001 | |
Метод деления интервала пополам | ||||
Метод золотого сечения | ||||
Метод равномерного поиска |
Дата добавления: 2017-05-02; просмотров: 2690;