Методы исключения отрезков
В методе перебора,
рассмотренном выше, точки
,
в которых определяются значения
,
выбираются заранее. Если же для выбора
очередной точки вычисления (измерения)
использовать информацию, содержащуюся
в уже найденных значениях
,
то поиск точки минимума можно сделать
более эффективным, т.е. сократить число
определяемых для этого значений
),
как, например, в методе поразрядного
поиска.
Один из путей
такого более эффективного поиска точки
указывает свойство 3 унимодальных
функций.
Пусть
.
Сравнив
значения
в точках
и
(пробных
точках),
можно
сократить отрезок поиска точки
,
перейдя к отрезку
,
если
,
или к отрезку
,
если
(рис. 3.2). Описанную процедуру можно
повторить необходимое число раз,
последовательно уменьшая отрезок,
содержащий точку минимума. Когда длина
последнего из найденных отрезков станет
достаточно малой, следует положить
,
где
- одна из точек этого отрезка, например,
его середина. Методы минимизации,
основанные на этом принципе, называются
методами
исключения отрезков.
|
|
|
Рис. 3.2. Уменьшение отрезка поиска точки минимума методами исключения отрезков |
Метод деления отрезка пополам (дихотомии)
В
этом
методе
точки
и
располагаются
близко к середине очередного отрезка
,
т.е.
,
,
(3.3)
где
- малое число. При этом отношение длин
нового и исходного отрезков
близко к 1/2, этим и объясняется название
метода.
Отметим, что для
любых точек
и
величина
,
поэтому указанный выбор пробных точек
объясняется стремлением обеспечить
максимально возможное относительное
уменьшение отрезка на каждой итерации
поиска
.
В конце вычислений
по методу дихотомии в качестве
приближенного значения
берут середину последнего из найденных
отрезков
,
убедившись
предварительно, что достигнуто неравенство
.
Опишем алгоритм метода деления отрезка пополам.
Шаг 1. Определить
и
по формулам (3.3). Вычислить
и
.
Шаг 2. Сравнить
и
.
Если
,
то перейти к отрезку
,
положив
,
иначе - к отрезку
,
положив
.
Шаг 3. Найти
достигнутую точность
.
Если
,
то перейти к следующей итерации,
вернувшись к шагу 1. Если
,
то завершить поиск
,
перейдя к шагу 4.
Шаг 4. Положить
,
.
Замечание
1. Число
из (3.3) выбирается на интервале (0;2
)
с учетом следующих соображений:
а) чем
меньше
,
тем больше относительное уменьшение
длины отрезка на каждой итерации, т.е.
при уменьшении
достигается более высокая скорость
сходимости метода дихотомии;
б) при
чрезмерно малом
сравнение значений
в точках
и
отличающихся на величину
,
становится затруднительным. Поэтому
выбор
должен быть согласован с точностью
определения
и с количеством верных десятичных знаков
при задании аргумента х.
Замечание 2.
Число
итераций
метода дихотомии, необходимое для
определения точки
с точностью
,
определяется неравенством
(3.4)
В самом деле,
обозначим длину исходного отрезка
через
.
Длина отрезка, полученного после первой
итерации, будет
,
после второй итерации
,
после третьей
![]()
и т.д.
Таким образом, в
результате
итераций длина отрезка поиска точки
станет
.
При этом будет
достигнута точность определения точки
минимума
.
Находя
из условия
(3.5)
получаем неравенство (3.4)
Замечание 3.
Величина
может быть выбрана достаточно малой,
поэтому, пренебрегая ею в (3.4), получаем:
.
На каждой итерации метода дихотомии
вычисляются два значения
.
Поэтому после
вычислений
производится
итераций и
достигается точность определения
:
(3.6)
Метод золотого сечения
Рассмотрим такое
симметричное расположение точек
и
на отрезке
,
при котором
одна из них становится пробной точкой
и на новом отрезке, полученном после
исключения части исходного отрезка.
Использование таких точек позволяет
на каждой итерации метода исключения
отрезков, кроме первой, ограничиться
определением только одного значения
,
так как другое значение уже найдено на
одной из предыдущих итераций.
Найдем точки
и
,
обладающие
указанным свойством.
Рассмотрим сначала
отрезок
и для определенности предположим, что
при его уменьшении исключается правая
часть этого отрезка. Пусть
,
тогда симметрично расположенная точка
(рис. 3.3).

Рис. 3.3. К определению пробных точек в методе золотого сечения
Пробная точка
отрезка
перейдет в пробную точку
нового отрезка
.
Чтобы точки
и
делили отрезки
и
в одном и том же отношении, должно
выполняться равенство
или
,
откуда
находим положительное значение
….
Таким
образом,
,
.
Для
произвольного
отрезка
выражения
для пробных точек примут вид
(3.7)
Точки
и
из (3.7) обладают следующим свойством:
каждая из них делит отрезок
на две неравные части так, что отношение
длины всего отрезка к длине его большей
части равно отношению длин большей и
меньше частей отрезка. Точки с таким
свойством называются точками
золотого сечения
отрезка
.
Это и объясняет
название рассматриваемого метода.
На каждой итерации
исключения отрезков с пробными точками
(3.7) одна из них
переходит на следующий отрезок и значение
в этой точке вычислять не следует. Если
новым отрезком становится
,
то на него переходит пробная точка
исходного
отрезка, становясь его второй пробной
точкой
(рис. 3.3). В
случае перехода к отрезку
пробная точка
исходного
отрезка становится первой пробной
точкой отрезка
.
Легко проверить,
что
.
Поэтому
на каждой итерации метода золотого
сечения недостающую пробную точку
нового отрезка можно найти по перешедшей
на него пробной точке с помощью сложения
и вычитания, не используя формул (3.7).
В конце вычислений
по методу золотого сечения в качестве
приближенного значения
можно взять
середину последнего из полученных
отрезков
.
На каждой итерации
отрезок поиска точки минимума уменьшается
в одном и том же отношении
,
поэтому в результате
итераций его длина становится
.
Таким образом,
точность
,
определения точки
после
итераций
находится из равенства
,
(3.8)
а условием окончания
поиска точки
с точностью е служит неравенство
.
Опишем алгоритм метода золотого сечения.
Шаг 1. Найти
и
по формулам
(3.7). Вычислить
и
.
Положить
,
.
Шаг 2. Проверка на
окончание поиска: если
,
то перейти к шагу 3, иначе — к шагу 4.
Шаг 3. Переход к
новому отрезку и новым пробным точкам.
Если
,
то положить
,
,
,
и вычислить
,
иначе - пожить
,
,
,
и вычислить
.
Положить
и
перейти к шагу 2.
Шаг 4. Окончание
поиска: положить
,
![]()
Замечание.
Число итераций, необходимое для достижения
заданной точности
,
можно найти из условия
с учетом соотношения (3.8):
.
Так как
вычислений
позволяют выполнить
итераций метода золотого сечения, то
достигнутая в результате этих вычислений
точность определения
составляет
.
Эффективность
прямых методов обычно оценивают или по
объему вычислений, обеспечивающему
заданную точность, или по гарантированной
точности, достигнутой в результате
выполнения заданного объема вычислений.
Поскольку при реализации методов
перебора определение значений функции
требует несравненно больших затрат,
чем выполнение таких вспомогательных
операций, как вычисление точек перебора,
сравнение значений функции и т.п., то
объем вычислений можно оценить количеством
N
вычислений значений функции
.
Метод считается
тем эффективнее, чем меньше
,
гарантирующее заданную точность
определения точки
минимума функции
.
Для сравнения рассматриваемых методов
по этому признаку рекомендуется составить
таблицу значений
в зависимости от требуемой точности
определения
.
При сравнении
методов по точности более эффективным
считается тот из рассматриваемых
методов, который обеспечивает достижение
меньшего значения
при одинаковом объеме вычислений. Для
получения вывода о точности рекомендуется
составить таблицу значений достигнутой
точности
в зависимости от количества
найденных значений функции
для анализируемых методов.

