Положим, что в ограниченном интервале функцию f(x) можно аппроксимировать квадратичным полиномом. Пусть задана последовательность точек x1, x2, x3 и известны значения функции в этих точках: f(x1) = f1, f(x2) = f2, f(x3) = f3. Тогда можно определить постоянные коэффициенты a0, a1 и a2 таким образом, что значения квадратичного полинома [4]:
совпадут со значениями функции f(x) в трех указанных точках. Для этого вычислим значение j(x) в трех заданных точках.
Так как , получаем
. Поскольку
получаем
. При
имеем
или
Если точность аппроксимации функции f(x) на отрезке [x1, x2] квадратичным полиномом оказывается достаточно высокой, то построенный полином далее используется для оценивания координаты точки минимума функции f(x).
Стационарные точки полинома определяются посредством приравнивания к нулю его первой производной и последующим нахождением корней полученного таким образом уравнения. Имеем
Тогда для оценки координаты точки минимума функции f(x) получаем формулу
Приведем описание алгоритма метода последовательного оценивания с использованием квадратичной аппроксимации, разработанного Пауэллом [4].
1 Пусть f(x) – оптимизируемая функция, х1 – начальная точка, Dх – величина шага по оси абсцисс. Вычислить х2 = х1+Dх и значения функции f(x1) и f(x2).
2 Если f(x1) >f(x2), то положить х3 = х1 +2 Dх. Если f(x1) £ f(x2), то положить х3 = х1 -Dх.
3 Вычислить значение функции f(x3). Найти fmin = min{ f(x1), f(x2), f(x3)}, xmin – точка, которой соответствует fmin.
4 По трем точкам x1, x2, x3 вычислить по формуле (34).
5 Произвести проверку на окончание поиска минимума. Если разности и
являются достаточно малыми величиннами, то закончить поиск; иначе перейти к п. 6.
6 Выбрать «наилучшую» точку ( или
) и две точки по обе стороны от нее. Обозначить эти точки в естественном порядке и перейти к п. 3.
Пример 6. Найти минимум [9], с e1 =0.003, e2 = 0.03. Пусть начальная точка х1 = 1 и длина шага Dх = 1. Находим минимум f(x) методом квадратичной аппроксимации.
Решение:
Итерация 1.
1 х2 = х1 +Dх = 2;
2 f(x1) = 18; f(x2) = 16; f(x1) > f(x2), следовательно, х3 = 1+2 =3;
3 f(x3) =23.33, fmin =16, xmin = x2.
4 Находим значения коэффициентов полинома по формулам (32) – (34):
5 Проверка на окончание поиска
следовательно, поиск продолжается.
6 Наилучшей точкой является , а х1 =1 и х2 = 2 – точки, которые ее окружают. Обозначаем выбранные точки в естественном порядке, т.е. х1 =1, х2 = 1.714, х3 = 2.
Итерация 2.
3 x1 =1, f1 =18, x2 = 1.714, f2 =15.210, x3 =2, f3 =16.
Получаем xmin = x2, fmin = 15.210.
4 a1 = - 3.908, a2 = 6.671, =1.1650, f(
) =15.42.
5 Проверка на окончание поиска
Условие не выполняется и поиск продолжаем.
6 Наилучшая точка , х1 =1 и х2 = 1.714 – ее окружают. Следовательно, х1 =1, х2 = 1.650, х3 = 1.714.
Итерация 3.
3 x1 =1, f1 =18, x2 = 1.650, f2 =15.42, x3 =1.714, f3 =15.210.
Получаем xmin = 1.65, fmin = 15.42.
4 a1 = - 4.397, a2 = 7.647, =1.6125, f(
) =15.123.
5 Проверка на окончание поиска
Следовательно, поиск закончен и xmin = 1.6125, fmin = 15.123.
0 коммент.:
Отправить комментарий