- •Методы оптимизации Введение
- •1. Функции одной переменной
- •1.1 Поиск методом золотого сечения
- •1.2 Квадратичная интерполяция
- •1.3 Кубическая интерполяция (метод Дэвидона)
- •2. Функции нескольких переменных
- •2.1 Предварительные сведения
- •2.1.1 Общая классификация методов
- •2.1.2 Векторные обозначения
- •2.2 Методы прямого поиска
- •2.2.1 Метод покоординатного спуска (метод релаксации)
- •2.2.2 Метод Хука-Дживса
- •2.2.3 Метод деформируемого многогранника Нелдера-Мида
- •2.3 Методы с использованием производных
- •2.3.1 Метод скорейшего спуска
- •2.3.3 Квадратичные функции и сопряженные направления
- •2.3.4 Метод Флетчера-Ривса
- •2.3.5 Метод Дэвидона-Флетчера-Пауэлла
1. Функции одной переменной
Раздел, касающийся одномерной оптимизации, занимает особое место. Во-первых, методы поиска минимума функции одной переменной специфичны; применяемые здесь идеи имеют мало общего с принципами минимизации функций нескольких переменных. Во-вторых, хотя в практических приложениях целевые функции одной переменной встречаются редко, одномерная минимизация является составной частью большинства алгоритмов решения многомерных задач.
1.1 Поиск методом золотого сечения
Рис. 1. Локализация минимума
Следующая стадия — уточнение положения минимума путем последовательного сжатия найденного отрезка. Применяемый для этого алгоритм напоминает метод деления отрезка, которым пользуются для нахождения корня нелинейного уравнения. Так же, как и там, первоначальный отрезок на каждом шаге делится на две части, и выбирается та часть, внутри которой содержится искомая точка. Однако, как мы увидим ниже, оптимальная стратегия поиска минимума требует делить отрезок не пополам, а в некотором ином отношении.
x4
x1
x3
x2
Рис. 3
x1
x3
x2
Рис. 2
Очевидно, три последовательных интервала неопределенности L1, L2 и L3 связаны следующим образом:
L1=L2+L3 (1)
Требование постоянства коэффициента сокращения интервала неопределенности на каждом шаге алгоритма записывается в виде:
. (2)
Отношение
с учетом (1) можно представить как
,
то есть
или
,
откуда
(3)
Это известное отношение «золотого сечения» (целое так относится к большей из двух своих частей, как большая часть к меньшей). Длины интервалов неопределенности L2 и L3 выражаются через L1 следующим образом:
(4)
Таким образом, точка x2 должна делить отрезок [x1, x3] в отношении золотого сечения; точка x4 должна таким же образом делить отрезок [x1, x2] и т. д. Только в этом случае будет обеспечена постоянная и максимально возможная скорость сокращения отрезка неопределенности. При любом другом способе выбора последовательных точек стабильность результатов не гарантирована. Возможно, на некоторых шагах продвижение окажется более быстрым, чем в случае золотого сечения, но эти успешные шаги не компенсируют неизбежное замедление сходимости на остальных шагах.
Рассмотренный выше алгоритм уточнения положения минимума путем последовательного деления отрезка в отношении носит название метода золотого сечения. Он обладает линейной сходимостью, так как погрешность (отрезок неопределенности) на n-м шаге, согласно уравнению (4), пропорциональна погрешности предыдущего шага с коэффициентом пропорциональности 10.61803
