Метод половинного деления.

Данный метод является одним из самых простых методов данного класса. Основная его идея состоит в том, что на каждой итерации вычисляются значения clip_image002[4]только в двух точках clip_image004[6] и clip_image006[6]. Точки clip_image004[7] и clip_image006[7] располагаются симметрично относительно середины текущего отрезка clip_image008[4] и разнесены между собой ровно на половину этого отрезка. Поэтому на каждой итерации в силу унимодальности функции из рассмотрения исключается ровно половина текущего отрезка поиска. На рис. 2.1 показаны возможные ситуации при исключении половины отрезка.

Алгоритм метода деления интервала пополам включает следующие шаги поисковой процедуры:

1 Пусть clip_image010[4]- отрезок поиска экстремума функции clip_image012[4]. Вычислить clip_image014[4], clip_image016[6] и значение функции clip_image018[4].

2 Положить clip_image020[4] и clip_image022[4]. Вычислить значения функции clip_image024[4] и clip_image026[4].

3 Если clip_image028[4], исключить интервал clip_image030[4], положив clip_image032[4]. Положить clip_image034[4] и перейти к п.5. Если clip_image036[4], то перейти к п.4.

4 Если clip_image038[4], исключить интервал clip_image040[4], положив clip_image042[4] и clip_image044[4] перейти к п.5. Если clip_image046[4], исключить интервалы clip_image048[4]и clip_image050[4]. Положить clip_image052[4] и clip_image054[4]. Перейти к п.5.

5 Вычислить clip_image016[7]. Если clip_image056[4], то закончить поиск, а в противном случае перейти к п.2.

image

Пример 3. Найти минимум clip_image068[4]на отрезке [60; 150]. Пусть а =60, b=150, L=90, xm=(150+60)/2 =105.

Итерация 1.

Вычисляем

x1 = 60 + (90/4) = 82.5,

x2 = 150 - (90/4) = 127.5,

f(82.5) = 306.25 > f(105) = 25,

f(127.5) = 75.27 > f(105).

Исключаем интервалы (60;82.5) и (127.5;150).

Длина отрезка поиска будет L2 = 45.

Итерация 2.

Положим а = 82.5, b = 127.5, xm = 105.

Вычисляем

x1 = 82.5 + (45/4) = 93.75,

x2 = 127.5 - (45/4) = 116.25,

f(93.75) = 39.06 > f(105) = 25,

f(116.25) = 264.06 > f(105).

Получаем отрезок [93.75; 116.25] и его длина L3 =22.5. Таким образом, после двух итераций длина исходного отрезка L1 = 90, уменьшилась до L3 =22.5. Приближенное значение точки минимума xm =105, f(xm) = 25.

Предлагаю ознакомиться с аналогичными статьями: