Одномерная оптимизация методом поразрядного приближения.
Метод обладает высоким быстродействием. Это достигается тем, что используется алгоритм с переменным шагом поиска. Задаем интервал [a,b] , содержащий внутри себя точки максимума
:Задается начальное значение
и вычисляется . Задается начальный шаг поиска h и кратность изменения шага k в районе оптимума. Производится поиск максимума. Поиск из начальной точки x= осуществляется с постоянным шагом h , после каждого шага вычисляется значение критерия , оно сравнивается с предыдущим и в случае улучшения критерия шаги продолжаются. Движение к оптимуму с неизменным шагом h продолжается до тех пор, пока очередной шаг не окажется неудачным. После этого поиск максима продолжается из последней точки в обратном направлении с шагом в k раз меньше прежнего. Эта процедура будет продолжаться до тех пор, пока не выполнится условие:, где - заданная погрешность определения оптимума. Алгоритм расчета.
нет
Результаты расчета.
Целевая функция имеет вид :
X=-100;h=10;k=10 | ||||
Погрешность Е | Оптимальная точка х | Оптимальное значение ф-ции | Кол-во итераций | Кол-во вычислений |
1 | 0,895427987 | 22,910241869 | 2 | 23 |
0.1 | 0,94547427929 | 23,046790768 | 3 | 35 |
0.01 | 0,96349811902 | 23,055988462 | 4 | 51 |
0.001 | 0,96148191718 | 23,05610953 | 5 | 65 |
X=-100;h=10;e=0.01 | ||||
Кратность k | Оптимальная точка х | Оптимальное значение ф-ции | Кол-во итераций | Кол-во вычислений |
2 | 0,95703125 | 23,0553 | 11 | 51 |
5 | 0,9632 | 23,0560 | 6 | 46 |
10 | 0,96 | 23,0560 | 4 | 51 |
20 | 0,96125 | 23,0560 | 4 | 65 |
50 | 0,96 | 23,0560 | 3 | 101 |
X=-100;k=10;e=0.01 | ||||
Шаг h | Оптимальная точка х | Оптимальное значение ф-ции | Кол-во итераций | Кол-во вычислений |
0.1 | 0,95999 | 23,05601 | 2 | 1028 |
0.5 | 0,96 | 23,05601 | 3 | 231 |
1 | 0,96 | 23,05601 | 3 | 123 |
5 | 0,96 | 23,05601 | 4 | 53 |
10 | 0,96 | 23,05601 | 4 | 51 |
50 | 0,96 | 23,05601 | 5 | 57 |
100 | 0,96 | 23,05601 | 5 | 48 |
Вывод: метод является эффективным для измерения оптимума унимодальной функции, причем изменение шага поиска или кратности уменьшения шага ( при неизменной погрешности вычисления на результат практически не влияет).
Одномерная оптимизация методом квадратичной интерполяции.
В предыдущих методах была сделана попытка найти малый интервал, в котором находится оптимум функции f0(х). В этом методе применяется иной подход. Он заключается в построении аппроксимирующей модели оптимизируемой функции
(х). Функция может аппроксимирована полиномом второго порядка:(х) = ах2 + Ьх + с
по крайней мере в небольшой области значений, в том числе в области оптимума. При этом положении экстремума
(х) определяется по положению экстремума полинома, поскольку последний вычислить проще.Экстремум функции fап (х) как известно расположен в точке: = -Ь/2а.
Положим, что окрестность некоторой исходной точки х=х1 области определения f0(х) аппроксимирована полиномом fап (х). Задача поиска заключается в определении смещения
= х°ап – х1Которое приводит из исходного состояния х = х1, ближе к экстремуму х = х°. Если f0(х) строго квадратичная функция, то смещение
после первого шага сразу приведет к . В противном случае достижение х° требует выполнения итерационной процедуры. Для определения смещения нужно определить коэффициенты параболы. Для этого необходимо вычислить значение f0(х) в трех точках. Пусть вычисление производится в исходном состоянии х = х1 и в точках, , и при этом получено три значения этой функции ,где h - полуинтервал интерполяции, малая постоянная величина. Подставляя эти значения в уравнение (х), получаем систему из трех линейных уравнений с тремя неизвестными а, Ь, с:
а(х1 - h)2 + Ь(х1 - h) + с =а(х1 - h)2 + Ь(х1 - h) + с =
а*х12 + Ь*х1 + с =
а(х1 + h)2 + Ь(х1 + h) + с =
Для того, чтобы система имела решение, необходимо чтобы ее определитель не был равен нулю. Это условие выполняется, так как определитель равен:
= - 2h3 0 так как . Решая систему уравнений, получаем интересующие нас значения параметров а, Ь, с подставляя их в формулу находим положение экстремума параболых°ап= х1 + h(
- )/2( - 2 + )Зная коэффициенты а, Ь, с можно определить и экстремальное значение функции по формуле, которая является оценкой экстремума критерия
(х).