
- •Методы оптимизации Введение
- •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.2 Квадратичная интерполяция
Идея метода квадратичной интерполяции (часто называемого методом Пауэлла) заключается в построении интерполяционного многочлена 2-й степени по трем точкам, взятым вблизи минимума, как на рис. 2. Положение минимума многочлена принимается в качестве нового приближения к искомой точке минимума функции.
Пусть f1, f2, f3 – значения функции f(x) в точках x1, x2 и x3, соответственно. Запишем интерполяционный многочлен в форме Лагранжа:
.
Дифференцируя это выражение, получим первую производную:
.
Приравнивая производную нулю, найдем положение минимума P2(x):
. (5)
Обозначим через x4 приближение к точке минимума, рассчитанное по формуле (5). Отбросим одну из прежних точек так, чтобы оставшиеся три точки (включая новую) ограничивали минимум, т. е. располагались, как на рис. 2. Повторяя шаг, найдем новое приближение с помощью квадратичной интерполяции, оставим три ближайшие к минимуму точки и т. д. Процесс заканчивают, когда длина интервала неопределенности либо относительное понижение значения функции на двух последовательных шагах становятся меньше заданной величины.
По мере приближения к минимуму величины x1, x2 и x3, входящие в формулу (5), все более сближаются (как и соответствующие значения функции). При этом непосредственное использование (5) может привести к вычислительным трудностям из-за потери точности в результате вычитания близких величин. Поэтому формулу приводят к более удобному для вычислений виду:
(5а)
Первое слагаемое в (5а) определяет середину отрезка [x1, x2] и не страдает от потери точности при сближении точек. Второе слагаемое мало по сравнению с первым (числитель дроби содержит произведение трех малых разностей, тогда как знаменатель представляет собой комбинацию первых степеней этих разностей). Конечно, второе слагаемое будет найдено с увеличенной относительной погрешностью из-за потери точности, но это погрешность малой поправки к первому слагаемому, и ее влияние на конечный результат невелико.
Метод Пауэлла в достаточной близости от минимума обладает квадратичной сходимостью, и в этом его преимущество по сравнению с линейно сходящимся методом золотого сечения. Однако, если начальный интервал неопределенности велик, аппроксимация функции с помощью многочлена второй степени может оказаться слишком грубой, что приведет к замедлению сходимости. Поэтому на практике чаще всего пользуются комбинированным методом, который получил название метода Брента. На первом этапе положение минимума уточняют с помощью метода золотого сечения, гарантирующего постоянную скорость сокращения интервала неопределенности, а когда этот интервал станет достаточно малым, переходят к квадратичной интерполяции по формуле (5а), быстро приводящей к конечному результату. Именно этот алгоритм реализован в библиотечной процедуре Fmin.