Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GLAVA_10_FIN.doc
Скачиваний:
29
Добавлен:
15.12.2018
Размер:
823.81 Кб
Скачать

10.4. Метод золотого сечения

Основная идея данного метода – сокращение числа nш вычислений функции на каждом шаге (кроме первого) до 1 (минимально возможного значения) с дальнейшим использованием при поиске минимума второй пробной точки каждого шага, которая попадает внутрь нового доверительного интервала. Несмотря на то, что доверительный интервал сокращается при этом существенно менее, чем в два раза (в отличие от дихотомии), данный метод за счёт уменьшения nш работает в общем значительно быстрее.

Золотым сечением отрезка [a,b] называется такое его деление промежуточной точкой с, при котором выполняется соотношение (рис 10.12 а), где ξ – коэффициент золотого сечения.

а б

Рис 10.12. Прямое и обратное золотые сечения отрезка

Выразим через  и отрезок ab отрезки ас и cb: аc = ab; cb= ac = 2 ab .

Из условия аc + cb = ab после подстановки данных выражений и сокращения на аb получим следующее квадратное уравнение относительно :

2 +  - 1 = 0 .

Решая его, находим корни:

Отбрасывая отрицательный корень, получим искомую величину отношения:

Разбивать отрезок [a,b] можно не только в прямом, но и в обратном направлении – от b к a. Аналогичная точка d лежит симметрично с относительно средней точки интервала (a+b)/2 (рис.10.12 б).

Величину отношения ad/ab получим, вычитая  из 1:

Точки d, с, задающие обратное и прямое разбиение отрезка в золотом сечении, обладают следующими свойствами.

1. Если отбросить часть отрезка [а,d], то с – золотое сечение оставшейся части [d, b].

2. Если отбросить часть отрезка [с, b], то d – золотое сечение оставшейся части [a, с].

Данные свойства можно доказать непосредственной подстановкой значений

Допустим, необходимо с точностью найти минимум унимодальной функции F(x) на [a,b].

Предварительные действия (Шаг 0).

Доверительный отрезок принимаем равным заданному: а0 = а , b0 = b .

Шаги i (i>0) выполняются в цикле при выполнении условия (bi - a i >).

Шаг 1 . 1. Расчет положения двух пробных точек:

х20 + ( b0 - а0 ) а0 + 0,618 ( b0 - а0 );

х1 =( b0 + а0 ) - x2 а0 + 0,382( b0 - а0 ).

2. Расчет значений функций F(x1) и F(x2).

3. Анализ значений функции в точках х1 , х2 и изменение доверительного отрезка по аналогии с дихотомией:

а) при F(x1)  F(x2) принимаем: a1 = х1 , х1 = х2 , b1 = b0 ,

б) при F(x1) < F(x2) принимаем: a1 = а0 , х2 = х1 , b1 = х2 .

4. Проверка окончания цикла: если (b1 - a1 ) > -продолжение цикла, иначе - выход.

Шаги i (i>1) . Из предыдущей итерации (i-1) известно одно значение функции F(x) во внутренней точке х доверительного отрезка [ai-1; x i-1]. Поэтому для сокращения достаточно ввести только одну новую пробную точку.

1. Расчет положения новой пробной точки: х = (bi-1 + аi-1) - х, расчет значения функции F(x).

2. Упорядочение пробных точек х, х и значений функции в них:

если (х < х), то { х1 = х; F(x1)=F(x); х2 = х ; F(x2)=F(x) };

иначе { х1 = х ; F(x1)=F(x) ; х2 = х ; F(x2)=F(x) }.

Пункты 3 и 4 совпадают с шагом 1.

Скорость сходимости и точность метода. Так как на каждом шаге длина доверительного отрезка сокращается в = 1/  1,618 раз, то длина [a1 ,b1] связана с длиной [a, b] следующим образом: b1 - a1 = (b0 - a0 ) = (b - a ).

По аналогии для произвольного шага k длина доверительного отрезка: bk - ak = k (b - a).

Процесс заканчивается, когда выполняется неравенство bk - ak = k(b - a)  .

Отсюда следует, что номер шага k, на котором достигается требуемая точность , равен k() = ]log (b - a)/ [ = ]log M [.

На первом шаге выполняется два вычисления целевой функции, на всех последующих nш=1. Поэтому полное число необходимых вычислений F(х)

п() =1+ nш k() = 1+] log ((b - a)/)[ .

Зависимость  (п) находим из равенства (b -a)/ = (n-1):  (п) = (b - a) (n-1).

Асимптотические скорости роста зависимостей  (n) и n () для метода золотого сечения:

 (n) = O[(b-a) n];

п() = O [log ((b - a)/)] =O [log M].

Данный метод является ещё более быстрым по сравнению с дихотомией, так как в формуле для п() основание логарифма   1,618 < 2. Как и дихотомия, он является регулярным. Также он принадлежит к группе так называемых симметричных методов.

Последовательный метод определения экстремума называют симметричным, если на каждом i–том шаге поиска экстремума на доверительном отрезке [ai,bi] уже известна одна пробная точка x1 и значение целевой функции F(x1) в ней. Вторая (новая) пробная точка x2 определяется как симметричная x1 относительно средней точки (ai+bi)/2 доверительного интервала: x2 = ai+ bi - x1.

Метод дихотомии не является симметричным.

Замечание 1. Известная пробная точка x1 в симметричном методе может быть как меньше, так и больше значения (ai+bi)/2 .

Замечание 2. Свойство симметрии метода позволяет значительно упростить расчёт новых пробных точек. Формула x2 = ai+ bi - x1 позволяет рассчитать вторую пробную точку x2 независимо от того, как первая точка x1 расположена относительно средней точки доверительного отрезка (до или после).

Замечание 3. В практических расчетах при большом числе итераций из-за накопления погрешностей вычисления положение пробной точки x1 на отрезках [ai,bi] может значительно отклоняться от золотого сечения. При этом, соответственно, полное число необходимых вычислений целевой функции п() будет увеличиваться. Для предотвращения этого явления, положение точки x с известным значением функции можно периодически уточнять по формулам х=a+(b-a) либо х=a+(1-)(b-a) в зависимости от того, к какому из данных значений она ближе.

Пример 1. Найти минимум функции F(х) = х22х на доверительном отрезке [0,2;2] по методу золотого сечения при заданной точности  =0,5.

Решение.

Шаг 0. а0 = а , b0 = b .

Шаг 1. Расчет положения двух пробных точек: х20+(b0а0) 1,3124; х1=(b00)-х2)  0,8876. Значения функции в них: F(x1) = -0,9874; F(x2) = -0,7768. Так как F(x1)<F(x2), то отбрасываем часть доверительного отрезка [x2;b0]. Получаем новый доверительный отрезок [а1;b1] = [0,2;1,3124].

b11 = 1,1124 >  = 0,5; продолжаем поиск.

Шаг 2. Границы доверительного отрезка а1 = 0,2; b1 = 1,3124 . На нем известно значение функции в точке х 0,8876, F(x) = -0,9874.

Новая пробная точка: х =( b11) - 0,8876  0,6248. Значение функции в новой точке х: F(x) = -0,8592.

Поскольку х<х, то принимаем х1 = х ; F(x1) = F(x); х2 = х; F(x2) = F(x).

Так как F(x1) > F(x2), то отбрасываем часть доверительного отрезка [a1;x1]. Получаем новый отрезок [а2;b2] = [0,6246;1,3124].

b22 = 0,6878 >  = 0,5; продолжаем поиск.

Шаг 3. а2= 0,6246; b2= 1,3124 . Известно значение функции в точке х 0,8876, F(x) = -0,9874.

Новая пробная точка: х = (b22) - 0,8876  1,0494.. Значение функции в новой точке х: F(x)= --0,9976.

Поскольку х>х, то принимаем х1= х; F(x1) = F(x); х2 ; F(x2) = F(x ).

Так как F(x1)>F(x2), то отбрасываем часть доверительного отрезка [a1; x1] и получаем отрезок [а3; b3] = [0,8876; 1,3124].

b33=0,4248 <  =0,5; следовательно, поиск завершен.

Ответ. Выполнено 3 шага, использовано 4 пробных точки. Найден итоговый доверительный интервал: [а3 , b3] = [0,8876; 1,3124] длины 0,4248.

Как видно из Примера 1 п.10.3, число необходимых вычислений функции сократилось по сравнению с методом дихотомии с 6 до 4.

Вопросы для проверки знаний.

1. Что называют а) золотым сечением отрезка, б) прямым и обратным золотым сечением отрезка ?

2. Как практически рассчитать точки, задающие прямое и обратное золотое сечение отрезка ?

3. Какое свойство золотого сечения используется при сокращении доверительного отрезка ?

4. Какие методы называют симметричными и как симметричность используется для упрощения расчета пробных точек ?

5. Как выполняются первый и последующие шаги в методе золотого сечения ?

6. За счет чего метод золотого сечения является более быстрым по сравнению с дихотомией ?

Практические задания.

Решить по методу золотого сечения задачи 1)-13) из п.10.2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]