
- •Методы оптимизации Введение
- •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 Метод Дэвидона-Флетчера-Пауэлла
2.2 Методы прямого поиска
Методы прямого поиска не используют производные. Они определяют направление движения к минимуму, сравнивая между собой значения функции, вычисляемые в различных точках в окрестности текущего положения.
2.2.1 Метод покоординатного спуска (метод релаксации)
Строго говоря, покоординатный спуск не относится к методам прямого поиска, поскольку направление движения здесь определяется не свойствами минимизируемой функции, а ориентацией координатных осей. Однако мы включили его в этот раздел как метод, не требующий вычисления производных.
Метод покоординатного спуска (называемый также методом релаксации) является самым простым среди методов минимизации функций нескольких переменных. Пусть задано начальное приближение x0. Фиксируем все координаты кроме x1, и найдем наименьшее значение F(x), двигаясь от x0 параллельно оси Ox1. Достигнув наинизшей точки в данном направлении (обозначим ее x1), фиксируем все координаты, кроме x2, и будем искать наименьшее значение функции, двигаясь параллельно оси Ox2. После того, как мы закончили поиск вдоль каждой из N координатных осей и достигли точки xN, продолжим спуск, снова двигаясь поочередно вдоль осей Ox1, Ox2 и т. д. Этот процесс продолжается до тех пор, пока дальнейшее понижение значения функции не прекратится либо перемещения текущей точки не станут меньше заданного предела.
Рис. 5. Поиск минимума методом
покоординатного
спуска
Рис. 6. Функция Розенброка
Таким образом, траектория
спуска от точки x0
к минимуму представляет
собой ломаную линию,
состоящую из взаимно
ортогональных отрезков,
как показано на рис. 5. Главный
недостаток заключается
в том, что при этом никак не учитывается
реальная форма поверхности.
Если функция похожа на
изображенную на рис. 5, т. е.
линии уровня близки к
окружностям или эллипсам
и не слишком сильно вытянуты,
то метод релаксации
работает вполне
удовлетворительно.
Однако в более сложных
ситуациях, вроде показанной
на рис. 6 функции Розенброка
,
метод становится
неэффективным. Эта функция
является стандартным
тестом для испытания
методов минимизации.
Описываемая ею поверхность
представляет собой узкий
параболически изогнутый
«овраг»
с крутыми склонами, причем
дно оврага полого спускается
к точке минимума с координатами
[1, 1].
На рис. 6 ось z
имеет логарифмический
масштаб, так как диапазон
изменения функции в
изображенной области
слишком велик. В разных точках
дна оврага функция принимает
значения от 0 до 5.5, тогда как
максимальная высота
склонов превышает 2500.
Нетрудно видеть, что начавши,
например, покоординатный
спуск от точки [1, 1],
придется сделать большое
число коротких шагов,
поскольку направление,
ведущее к минимуму,
постоянно меняется.