
Лекция 7 Оптимизация
Сформулируем задачу оптимизации как задачу поиска экстремума целевой функции Ф(Р).
Классификация методов оптимизации
1. По числу параметров:
- одномерная оптимизация;
- многомерная оптимизация.
2. По использованию производных:
- методы нулевого порядка (прямые методы);
- методы первого порядка (градиентные методы);
- методы второго порядка.
-
. . .
Целевую функцию Ф(Р) будем считать унимодальной.
Определение унимодальности функции
Предположим,
что f
- действительная функция, определенная
на
[0,1]. Предположим, далее, что имеется
единственное
значение
х,
такое,
что f()
—
максимум f(x)
на [0,1],
и что f(x)
строго
возрастает для x
≤
и
строго убывает для
≤ x.
Такая
функция
называется унимодальной:
для
ее графика имеются три возможные формы:
Рис. 1.Графики унимодальной функции
Заметим, что унимодальная функция не обязана быть гладкой или даже непрерывной.
Задачу оптимизации сформулируем следующим образом:
найти множество абсцисс x1, x2... хk, в которых вычисляется функция, такое, что оптимальное значение f лежит при некотором i в интервале хi-1 ≤ х ≤ хi+1 (этот интервал называется интервалом неопределенности).
Алгоритм выбора абсцисс xi (i=1,…,k) называется планом поиска. Если известно только то, что f унимодальная, то какова оптимальная стратегия для нахождения х? При заданном количестве вычислений функции оптимальным планом поиска будет тот, который приводит к наименьшему интервалу неопределенности.
Большинство методов многомерной оптимизации сводится к задаче одномерной оптимизации.
Рассмотрим три известных метода одномерной оптимизации:
1. Метод дихотомии (деления отрезка пополам)
Пусть имеется целевая функция, изображенная на рис.2. Необходимо определить экстремум функции на участке (a, b)
Делим ось абсцисс на четыре равные части и вычисляем значение целевой функции в пяти точках, далее выбираем минимум из пяти найденных значений. Очевидно, что экстремум функции лежит в границах участка (a', b') прилегающего к точке найденного минимума. Интервал поиска сужается в два раза.
Если минимум находится в точке а или b, то интервал сужается в четыре раза.
Полученный интервал вновь разбиваем на четыре равные части. Поскольку значения целевой функции в трех точках были вычислены на предыдущем этапе, следующий этап требует вычисления целевой функции в двух точках.
Ф(Р)
р
a a' b' b
0 1 2 3 4
Рис. 2. Иллюстрация метода дихотомии
2. Метод Фибоначчи
Определим координату точки х относительно интервала [а, b] как число, равное (х-а) / (b-а). Таким образом, а имеет по отношению к интервалу [a,b] координату 0, b - координату 1, а средняя точка — координату 1/2.
Пусть F0 = F1 = 1, F2 = 2, F3 = 3, F4 = 5, F5 = 8,…, Fk = Fk-1+Fk-2. Числа Fi – числа Фибоначчи. Оптимальная стратегия последовательного поиска максимума называется поиском Фибоначчи, поскольку она тесно связана с этими числами. При оптимальной стратегии выбирают xk-1 = Fk-2/Fk и xk = Fk-1/Fk. Какой бы из интервалов [0, xk] или [xk-1,1] не стал суженным интервалом неопределенности, унаследованная точка будет иметь по отношению к новому интервалу одну из двух следующих координат: Fk-3/Fk-1 или Fk-2/Fk-1. Тогда в качестве xk-2 выбирается точка, имеющая по отношению к новому интервалу другую из этих координат. Используя
f(xk-2) и значение функции, унаследованное от прежнего интервала, можно еще сократить интервал неопределенности и передать в наследство одно значение функции.
На последнем шаге мы придем к некоторому интервалу неопределенности [а,b], причем средняя точка будет унаследованной от предыдущего шага.
Тогда в качестве х1 выбирается точка с относительной координатой ½+ε, и окончательным интервалом неопределенности будет либо [0, ½+ε], либо [½, 1] относительно [а, b].
На первом шаге длина интервала неопределенности уменьшилась с 1 до Fk-1/Fk. На последующих шагах уменьшение длин интервалов выражается числами
Fk-2/Fk-1, Fk-3/Fk-2,…, F2/F3, F1/F2(1+2ε).
Таким образом, длина окончательного интервала неопределенности равна (1+2ε)/Fk. Пренебрегая ε, заметим, что асимптотически 1/Fk равно rк при k→∞, где
r = (√5 – 1)/2 ≈ 0.6180 (1)
Заметим, что асимптотически, для больших k каждый шаг поиска Фибоначчи сужает интервал неопределенности с коэффициентом 0.6180. Этот результат нужно сравнить с 0.5, коэффициентом сужения интервала неопределенности в методе бисекции для нахождения нуля функции.