Метод золотого сечения для чего нужен. VBA Excel. Нахождение экстремума функции Методом Золотого Сечения. Понятие и определение метода золотого сечения

интервалом неопределенности , но при этом можно выполнить только n вычислений функции. Как следует выбрать n точек, в которых вычисляется функция? С первого взгляда кажется ясным, что не следует искать решение для всех точек, получаемых в результате эксперимента. Напротив, надо попытаться сделать так, чтобы значения функции, полученные в предыдущих экспериментах, определяли положение последующих точек. Действительно, зная значения функции, мы тем самым имеем информацию о самой функции и положении ее минимума и используем эту информацию в дальнейшем поиске.

Предположим, что имеется интервал неопределенности (x 1 ,x 3) и известно значение функции f(x 2) внутри этого интервала (см. рис. 9.3). Если можно вычислить функцию всего один раз в точке х 4 , то где следует поместить точку х 4 , для того чтобы получить наименьший возможный интервал неопределенности ?


Рис. 9.3.

Положим х 2 –х 1 =L и х 3 –х 2 =R , причем L > R , как показано на рис. 9.3 , и эти значения будут фиксированы, если известны x 1 , x 2 и х 3 . Если х 4 находится в интервале (х 1 ; х 2) , то:

  1. если f(x 4) < f(x 2) , то новым интервалом неопределенности будет (x 1 ,x 2) длиной х 2 –х 1 =L ;
  2. если f(х 4)>f(x 2) , то новым интервалом неопределенности будет (х 4 ,х 3) длиной х 3 –х 4 .

Поскольку не известно, какая из этих ситуаций будет иметь место, выберем х 4 таким образом, чтобы минимизировать наибольшую из длин х 3 -х 4 и х 2 -х 1 . Достигнуть этого можно, сделав длины х 3 – х 4 и х 2 – х 1 равными т.е. поместив х 4 внутри интервала симметрично относительно точки х 2 , уже лежащей внутри интервала. Любое другое положение точки х 4 может привести к тому, что полученный интервал будет больше L . Помещая х 4 симметрично относительно х 2 , мы ничем не рискуем в любом случае. Если окажется, что можно выполнить еще одно вычисление функции, то следует применить описанную процедуру к интервалу (х 1 , х 2) , в котором уже есть значение функции, вычисленное в точке х 4 , или к интервалу (х 4 ,х 3) , в котором уже есть значение функции, вычисленное в точке х 2 .

Следовательно, стратегия ясна с самого начала. Нужно поместить следующую точку внутри интервала неопределенности симметрично относительно уже находящейся там точке. Парадоксально, но, чтобы понять, как следует начинать вычисления, необходимо разобраться в том, как его следует кончать.

На n -м вычислении n -ю точку следует поместить симметрично по отношению к (n - 1) -й точке. Положение этой последней точки в принципе зависит от нас. Для того чтобы получить наибольшее уменьшение интервала на данном этапе, следует разделить пополам предыдущий интервал. Тогда точка х будет совпадать с точкой х n-1 . Однако при этом мы не получаем никакой новой информации. Обычно точки х n-1 и х n отстоят друг от друга на достаточном расстоянии, чтобы определить, в какой половине, левой или правой, находится интервал неопределенности . Они помещаются на расстоянии е/2 по обе стороны от середины отрезка L n-1 ; можно самим задать величину е или выбрать эту величину равной минимально возможному расстоянию между двумя точками.

Интервал неопределенности будет иметь длину L n , следовательно, L n-1 = 2L n - е (рис.9.4 , нижняя часть). На предыдущем этапе точки х n-1 и х n-2 должны быть помещены симметрично внутри интервала L n-2 на расстоянии L n-2 от концов этого интервала. Следовательно, L n-2 = L n-1 +L n (pис.9.4 , средняя часть).


Рис. 9.4.

Замечание . Из рисунка ясно, что на предпоследнем этапе х n-2 остается в качестве внутренней точки.

Аналогично L n-3 =L n-2 +L n-1 (pис. 9.4 , верхняя часть)

В общем случае L j-1 =L j + L j+1 при 1

Таким образом,

Если определить последовательность чисел Фибоначчи следующим образом: F 0 =1, F 1 =l , и F k =F k-1 +F k-2 для k = 2, 3,.. ., то

Следовательно, произведя n вычислений функции, мы уменьшим начальный интервал неопределенности в l/F n раз по сравнению с его начальной длиной (пренебрегая е), и это - наилучший результат.

Если поиск начат, то его несложно продолжить, используя описанное выше правило симметрии. Следовательно, необходимо найти положение первой точки, которая помещается на расстоянии L 2 от одного из концов начального интервала, причем не важно, от какого конца, поскольку вторая точкa помещается согласно правилу симметрии на расстоянии L 2 от второго конца интервала:


(2.4)

После того как найдено положение первой точки, числа Фибоначчи больше не нужны. Используемое значение е может определяться из практических соображений. Оно должно быть меньше L 1 \F n+x , в противном случае мы будем напрасно тратить время на вычисление функции.

Таким образом, поиск методом Фибоначчи , названный так ввиду появления при поиске чисел Фибоначчи , является итерационной процедурой. В процессе поиска интервала (x1; x2) с точкой х 2 , уже лежащей в этом интервале, следующая точка х 2 всегда выбирается такой, что х 3 –х 4 = х 2 –х 1 или х 4 -х 1 = х 3 -x 2 , т.е. x 4 =х 1 -х 2 +х 3 .

Если f(x 2) = f 2 и f(x 4) = f 4 , то можно рассмотреть четыре случая (рис. 9.5).


Рис. 9.5.

Следующий из методов одномерной оптимизаци называется методом "золотого сечения" .

Не всегда можно заранее определить, сколько раз придется вычислять функцию. В методе Фибоначчи это нужно знать для определения L 2 , т.е. положения начальной точки (см. уравнение 2.4).

Метод "золотого сечения" почти столь же эффективен, как и метод Фибоначчи , однако при этом не требуется знать n - количество вычислений функции, определяемое вначале. После того как выполнено j вычислений, исходя из тех же соображений, что и ранее (см. уравнение 2.1), записываем

Т.е.

Таким образом, , откуда . Тогда

О методе Золотого Сечения:

Безусловно, простой и быстрый метод. И как водится, скорость не способствует аккуратности. Это я о том, что если на заданном интервале поиска будут находиться несколько минимумов (максимумов), то данный алгоритм легко может вернуть локальный (не самый большой, не абсолютный) экстремум.

Задание:

Составить программу позволяющую протестировать алгоритм поиска экстремума методом Золотого Сечения на примере пяти произвольных функций. Исходными данными для поиска должны являться границы интервала, точность и тип экстремума (MAX или MIN). Программа должна отображать график функции на заданном интервале и координаты точки экстремума.

В программе есть смысл оформить следующие классы и модули :

  1. Модуль листа Excel (SheetGoldCutting), на котором как на форме будут располагаться необходимые органы управления ходом тестирования;
  2. Форма для ввода данных FormDann;
  3. Класс ExtremGC, вычисляющий координаты точки экстремума с заданной точностью, а также массив точек графика функции на заданном интервале (для отображения на диаграмме);
  4. Стандартный модуль GoldCutting для описания глобальных констант, переменных и функций.

Например, так...

Рис.1 Рабочий лист Excel с диаграммой, двумя командными кнопками и кнопками выбора функции


Рис.2 Форма для ввода исходных данных

Данная форма вызывается явно при щелчке по первой командной кнопке (расположенной на листе Excel) или косвенно, если в момент нажатия на вторую командную кнопку (расположенную на листе Excel), исходные данные не обеспечивают необходимых условий начала выполнения алгоритма.
Для удобства пользователя, все элементы TextBox допускают ввод только числовых значений.
При щелчке по кнопке «Отмена» все переменные получат значения, которые существовали на момент открытия формы.

При открытии файла (если макросы включены) или включении макросов (если они были отключены на момент открытия файла) выполняется обработчик события с целью задать (определить) одну из заготовленных функций, как функцию для тестирования по умолчанию. Для этого достаточно отметить одну (например, первую) OptionButton (или как часто называют - радиокнопку) и вызвать макрос назначенный этой кнопке.

Private Sub Workbook_Open()
" радиокнопки нумеруются в этой книге от 5 до 9.
" Поэтому по умолчанию выделяю первую кнопку.
Sheets(1).Shapes("Option Button 5").ControlFormat.Value = 1
SheetGoldCutting.OptBut1_Click
End Sub

Метод theAlgoritm класса ExtremGC , который, собственно, и выполняет определение координат точки экстремума выглядит приблизительно так:

"Нахождение экстремума функции на отрезке. Метод золотого сечения
Public Sub theAlgoritm(v1 As Double, v2 As Double, v3 As Double, v4 As Double, findMax As Boolean)
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double, sme As Double
FullArrayOnly v1, v2, v3, v4 "для проверки допустимости аргумента

If Not BadDann Then

Zc = (1 + Sqr(5)) / 2
n = 0 "количество разбиений (переменная модуля класса)
Do While b - a > ep
sme = (b - a) / zc
x1 = b - sme: x2 = a + sme
y1 = theFunc(x1): y2 = theFunc(x2)
If findMax Then
"поиск максимума
If y1 a = x1
Else
b = x2
End If
Else
"поиск минимума
If y1 >= y2 Then
a = x1
Else
b = x2
End If
End If
n = n + 1 "количество разбиений (переменная модуля класса)
Loop
dxk = Abs(b - a) " конечное значение шага
xe = (a + b) / 2: ye = theFunc(xe) " результат: координаты точки экстремума

End If
End Sub

Где
FullArrayOnly - закрытый метод класса для проверки допустимости аргумента и заполнения массива точек графика;
BadDann – флаг допустимости аргумента;
zc – константа золотого сечения;
a, b – границы интервала;
ep – заданная точность поиска ε ;
findMax – параметр, характеризующий режим поиска (при true ищется максимум, при false – минимум);
theFunc(x As Double) As Double – метод класса, возвращающий значение тестируемой функции в зависимости от значение аргумента.

Кому интересен остальной код – обращайтесь…
Если нужно что-то изменить в проекте под Ваши требования (например, заменить функции) – пожалуйста, проблем не будет!

исходный код уже открыт. Используйте !

Если у Вас не появляется форма ввода данных, значит вы забыли включить макросы…

Хочу обратить внимание, что для первой функции значения аргумента не могут быть меньше или равны нулю.

Чтобы увидеть, как ошибается алгоритм и находит локальный экстремум вместо абсолютного, задайте достаточно большой интервал (например: от 0 до 25) для 4 или 5 функций, имеющих явную периодичность…

В этой блок-схеме y, z - точки деления отрезка ,причем y < z .

y = 0.618a + 0.382b

z = 0.382a + 0.618b

Fy = f(y) : Fz = f(z)

b - a < e b - a < e

z = y: Fz = Fy y = z: Fy = Fz

y = 0.618a + 0.382b z = 0.382a + 0.618b

Fy = f(y) Fz = f(z)

Вывод x, f(x)

Пример. Для оценки сопротивления дороги движению автомобиля при скорости v км/ч можно использовать эмпирическую формулу f(v) = 24 - 2/3*v + 1/30*v 2 (для шоссе). Определить скорость, при которой сопротивление будет минимальным.

Решение.

1) Данную задачу легко решить с помощью вычисления производной:

, v = 10 км/ч.

2) Решение с помощью метода "золотого сечения". Начальные границы интервала неопределенности примем равными a = 5, b = 20.

Решение для первого этапа:

y = 0.618*5 + 0.382*20 » 10.7: z = 0.382*5 + 0.618*20 » 14.3

Fy = 24 - 2*10.7/3 + 10.7 2 /30 » 20.7: Fz = 24 - 2*14.3/3 + 14.3 2 /30 » 21.3

Результаты вычислений обычно представляют в виде таблицы. Расчеты проводятся в соответствии с блок-схемой с погрешностью e = 1 км/ч.

После пяти шагов оптимизации искомое значение скорости равно v = (8.6+10.7)/2 = 9.65 км/ч. После еще одного шага этот результат получается с меньшей погрешностью v = (9.4+10.7)/2 = 10.05 км/ч.

Оптимизация функции многих переменных Минимум функции нескольких переменных

Минимум дифференцируемой функции многих переменных u = f(x 1 , x 2 , … , x n) можно найти, исследуя ее значение в критических точках, которые определяются из решения системы дифференциальных уравнений

Отметить, что в данном случае критические точки могут соответствовать либо экстремальным, либо "седловым" точкам (точкам "минимакса"). Под этими точками понимаются такие точки, в которых по некоторым направлениям функция имеет минимум, а по остальным направлениям - максимум.

Пример постановки задачи. Пусть требуется спроектировать контейнер в форме прямоугольного параллелипипида объемом V=1 м 3 , причем на его изготовление необходимо израсходовать как можно меньше материала.

При постоянной толщине стенок это условие означает, что площадь полной поверхности контейнера S должна быть минимальной. Если обозначить через x 1 , x 2 и x 3 длины ребер контейнера, то задача сведется к минимизации функции:

S = 2 (x 1 x 2 + x 1 x 3 + x 2 x 3) .

Эта функция в данном случае является целевой, а условие V = 1 м 3 - ограничением-равенством, которое позволяет исключить один параметр:

.

Задача свелась к минимизации функции двух переменных. В результате ее решения будут найдены значения параметров оптимизации x 1 и x 2 , а затем и x 3 . В приведенном примере фактически получилась задача безусловной оптимизации, так как ограничение-равенство было использовано для исключения параметра x 3 .

Решение. После дифференцирования получим

Отсюда находят x 1 = x 2 =1 м, x 3 = 1/(x 1 x 2) = 1 м. Таким образом, оптимальной формой контейнера в данном случае является куб, длина ребра которого равна 1 м.

При таком подходе могут возникнуть серьезные трудности при решении системы нелинейных уравнений.

Вместе с тем, можно эту задачу усложнить. Например, потребуем, чтобы данный контейнер имел длину не менее 2 м. Это условие запишется в виде ограничения-неравенства на один из параметров, например, x 1 ³ 2 .

Таким образом, получили следующую условную задачу оптимизации: минимизировать функцию

учитывая ограничение-неравенство x 1 ³ 2 и найти оптимальные значения факторов x 2 , x 3 (x 2 ³0, x 3 ³0).

Графическое представление функции двух переменных: рассмотреть функцию

f(x 1 , x 2) = x 1 2 + x 2 2 .

Показать линии равного уровня для этой функции.

Дать общий вид трех возможных вариантов линий равного уровня, показать "овражные" функции.

В общем случае для поиска минимального значения целевой функции можно ввести дискретное множество точек (узлов) путем разбиения интервалов изменения параметров x 1 и x 2 на части с шагами h 1 и h 2 . В полученных узлах можно вычислить значения целевой функции и среди них найти наименьшее. Однако в многомерных задачах оптимизации такой подход требует слишком большого объема вычислений.

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

Рассмотрим такое симметричное расположение точек x 1 и х 2 на отрезке [а ; b ], при котором одна из них становится пробной точкой и на новом отрезке, полученном после исключения части исходного отрезка. Использование таких точек позволяет на каждой итерации метода исключения отрезков, кроме первой, ограничиться определением только одного значения f (x ), так как другое значение уже найдено на одной из предыдущих итераций.

Рассмотрим сначала отрезок и для определенности предположим, что при его уменьшении исключается правая часть этого отрезка. Пусть х 2 = , тогда симметрично расположенная точка х 1 = 1- (рис.2.2).

Рис. 2.2.

Пробная точка х 1 отрезка перейдет в пробную точку х 2 = 1- нового отрезка . Чтобы точки х 2 = , и х 2 = 1- делили отрезки и в одном и том же отношении, должно выполняться равенство или, откуда находим положительное значение … Таким образом, х 1 = 1- = , .

Для произвольного отрезка [а ; b ] выражения для пробных точек примут вид

1. Точки x 1 и х 2 обладают следующим свойством: каждая из них делит отрезок [а ; b ] на две неравные части так, что отношение длины всего отрезка к длине его большей части равно отношению длин большей и меньшей частей отрезка. Точки с таким свойством называются точками золотого сечения отрезка [а ; b ].

2. На каждой итерации исключения отрезков с пробными точками одна из них переходит на следующий отрезок и значение f (x ) в этой точке вычислять не следует. Если новым отрезком становится [а ; х 2 ], то на него переходит пробная точка исходного отрезка, становясь его второй пробной точкой (х 2 "= х 1) (рис. 2.2). В случае перехода к отрезку [х 1 ; b ] пробная точка исходного отрезка становится первой пробной точкой отрезка [х 1 ; b ].

3. Легко проверить, что х 1 =а+b -х 2 , и x 2 =а+b -х 1 . Поэтому на каждой итерации метода золотого сечения недостающую пробную точку нового отрезка можно найти по перешедшей на него пробной точке с помощью сложения и вычитания.

4. В конце вычислений по методу золотого сечения в качестве приближенного значения х* можно взять середину последнего из полученных отрезков.

На каждой итерации отрезок поиска точки минимума уменьшается в одном и том же отношении, поэтому в результате п итераций его длина становится. Таким образом, точность n определения точки х* после п итераций находят из равенства, а условием окончания поиска точки х * с точностью служит неравенство n .

Пример решения методами дихотомии и золотого сечения

Дана функция, где d=2, e=1

Необходимо найти минимум на отрезке , где, т.е. на отрезке

Составить программу, которая выдаст число итераций при точности е=0,001

Решить двумя методами: дихотомии и золотого сечения

Решение методом дихотомии:

Так как f1

Так как f1

Решение методом золотого сечения:

Так как f1

Так как f1

Так как f1

Листинг программы реализующей методы дихотомии и золотого сечения представлен в приложении А

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

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

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

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

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

x 2 + x - 1 = 0 .

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

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

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

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

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

1. Если отбросить часть отрезка [а,d ], то с d, b ].

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

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

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

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

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

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

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

х 2 0 + x(b 0 - а 0)» а 0 + 0,618 (b 0 - а 0);

х 1 = ( b 0 + а 0) - x 2 » а 0 + 0,382(b 0 - а 0).

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

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

а) при F (x 1) ³ F (x 2) принимаем: a 1 = х 1 , х 1 = х 2 , b 1 = b 0 ,

б) при F (x 1) < F (x 2) принимаем: a 1 = а 0 , х 2 = х 1 , b 1 = х 2 .

4. Проверка окончания цикла: если (b 1 - a 1) > e -продолжение цикла, иначе - выход.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

e (n ) = O[(b-a )x n ];

п(e ) = O =O .

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

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

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

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

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

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

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

Решение .

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

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

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

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

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

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

Так как F (x 1) > F (x 2), то отбрасываем часть доверительного отрезка [a 1 ;x 1 ].Получаем новый отрезок [а 2 ; b 2 ] = .

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

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

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

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

Так как F (x 1)>F (x 2),то отбрасываем часть доверительного отрезка [a 1 ; x 1 ] и получаем отрезок [а 3 ; b 3 ] = .

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

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

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

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

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

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

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

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

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



Статьи по теме