Этап уменьшения интервала. Метод деления интервала пополам (дихотомии)

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

Метод деления интервала пополамявляется простейшим последовательным методом минимизации (методы минимизации, в которых точки xi определяются в процессе минимума с помощью найденных ранее значений функции ¦(x) называются последовательными методами). Он позволяет для любой функции построить последовательность вложенных отрезков , каждый из которых содержит хотя бы одну из точек минимума x* функции ¦(x). Пусть e > 0 – требуемая точность определения точки x*. Выбрав ( может характеризовать погрешность измерений величины x и ограничена снизу возможностями измерительного прибора), построим последовательности используя рекуррентные формулы:

(5.1)

a = a , b = x , если ¦(x ) < ¦(x ),

a = x , b = b , если ¦(x )> ¦(x ).

Переход от отрезка [a ; b ] к отрезку [a ; b ] методом деления отрезка пополам иллюстрируется на рис. 5.2а, если ¦(x ) < ¦(x ), и на рис. 5.2б, если ¦(x ) > ¦(x ). Полагая x » (a + b )/2, находим x с абсолютной погрешностью, не превосходящей величины

e = (b a )/2 = (ba−d)/2 + d/2. (5.2)

Используя условие из последнего выражения можно найти необходимое число шагов п для обеспечения требуемой точности ε. Однако на практике часто поступают иначе: определив границы отрезка [a ; b ], вычисляют e по формуле (5.2) и сравнивают с заданной точностью e.

 

 

Рис. 5.2. Уменьшение интервала поиска точки минимума методом деления интервала пополам

 

Пример 5.3. Найти минимальное значение ¦ и точку минимума x функции ¦(x) = x + 8x − 6x − 72x на отрезке [1,5; 2,0]. Точку x найти с погрешностью e = 0,05.

Положим d = 0,02 < 2e = 0,1. Построим последовательность вложенных отрезков [a ; b ] по формуле (5.1), записывая результаты вычислений в табл. 5.2.

Таблица 5.2

Значения вложенных отрезков и функций ¦(x)

n a b e =(b a )/2 х х ¦(х ) ¦(х ) Примечание
1,5 2,0 0,25 1,74 1,76 -92,135 -92,096 ¦(х ) < ¦(х ), b = х
1,5 1,76 0,13 1,62 1,64 -91,486 -91,696 ¦(х ) > ¦(х ), a = х
1,62 1,76 0,07 1,68 1,70 -91,995 -92,084 ¦(х ) > ¦(х ), a = х
1,68 1,76 0,04         e £ e, точность достигнута

Следовательно, х » (a +b )/2 » 1,72 и ¦ » ¦(1,72) = − 92,13.

Для увеличения скорости сходимости метода величину dÎ (0; 2e) целесообразно выбирать как можно меньшей, однако этот выбор ограничен снизу используемым количеством верных десятичных знаков при задании аргумента x. В любом случае d должно быть больше машинного нуля применяемой ЭВМ.