- •Введение
- •Аналитическая часть
- •1.1. Основные определения и классификация методов безусловной оптимизации
- •1.2. Численные методы безусловной оптимизации нулевого порядка
- •1.2.1.Метод прямого поиска (метод Хука-Дживса)
- •1.2.2.Метод деформируемого многогранника (метод Нелдера—Мида)
- •1.2.3.Метод циклического покоординатного спуска
- •1.2.4.Метод вращающихся координат (метод Розенброка)
- •1.3.Численные методы безусловной оптимизации первого порядка
- •1.2.5.Метод параллельных касательных (метод Пауэлла)
- •1.3.1.Метод наискорейшего спуска
- •1.3.2.Метод сопряженных градиентов
- •1.4. Численные методы безусловной оптимизации второго порядка, варианты алгоритмов метода Ньютона
- •1.5.Анализ учебно-методической литературы и программных реализаций поиска оптимума функции нескольких переменных
- •2.Исследовательская часть
- •2.1.Тригонометрическая функция
- •2.2.Функция Розенброка (овражная функция)
- •Список литературы
1.3.2.Метод сопряженных градиентов
Рассмотренные выше градиентные методы отыскивают точку минимума функции в общем случае лишь за бесконечное число итераций. Метод сопряженных градиентов формирует направления поиска, в большей мере соответствующие геометрии минимизируемой функции. Это существенно увеличивает скорость их сходимости и позволяет, например, минимизировать квадратичную функцию
f(x) = (х, Нх) + (b, х) + а
с симметрической положительно определенной матрицей Н за конечное число шагов п , равное числу переменных функции. Любая гладкая функция в окрестности точки минимума хорошо аппроксимируется квадратичной, поэтому методы сопряженных градиентов успешно применяют для минимизации и неквадратичных функций. В таком случае они перестают быть конечными и становятся итеративными.
По определению, два n-мерных вектора х и у называют сопряженными по отношению к матрице H (или H-сопряженными), если скалярное произведение (x, Ну) = 0. Здесь Н - симметрическая положительно определенная матрица размером пхп.
Одной из наиболее существенных проблем в методах сопряженных градиентов является проблема эффективного построения направлений. Метод Флетчера-Ривса решает эту проблему путем преобразования на каждом шаге антиградиента -f(x[k]) в направление p[k], H-сопряженное с ранее найденными направлениями р[0], р[1], ..., р[k-1]. Рассмотрим сначала этот метод применительно к задаче минимизации квадратичной функции.
Направления р[k] вычисляют по формулам:
p[k] = -f’(x[k])+k-1p[k-l], k >= 1; p[0] = -f’(x[0]).
Величины k-1 выбираются так, чтобы направления p[k], р[k-1] были H-сопряженными:
(p[k], Hp[k-1])= 0.
В результате для квадратичной функции
,
итерационный процесс минимизации имеет вид
x[k+l] =x[k] +akp[k],
где р[k] - направление спуска на k-м шаге; аk - величина шага. Последняя выбирается из условия минимума функции f(х) по а в направлении движения, т. е. в результате решения задачи одномерной минимизации:
f(х[k] + аkр[k]) =
f(x[k]
+ ар [k]).
Для квадратичной функции
Алгоритм метода сопряженных градиентов Флетчера-Ривса состоит в следующем.
1. В точке х[0] вычисляется p[0] = -f’(x[0]).
2. На k-м шаге по приведенным выше формулам определяются шаг аk. и точка х[k+1].
3. Вычисляются величины f(x[k+1]) и f’(x[k+1]).
4. Если f’(x[k+1]) = 0, то точка х[k+1] является точкой минимума функции f(х). В противном случае определяется новое направление p[k+l] из соотношения
и осуществляется переход к следующей
итерации. Эта процедура найдет минимум
квадратичной функции не более чем за п
шагов. При минимизации неквадратичных
функций метод Флетчера-Ривса из конечного
становится итеративным. В таком случае
после (п+1)-й итерации процедуры 1-4
циклически повторяются с заменой х[0]
на х[п+1] , а вычисления заканчиваются
при
,
где
-
заданное число. При этом применяют
следующую модификацию метода:
x[k+l] = x[k] +akp[k],
p[k] = -f’(x[k])+k-1p[k-l], k >= 1;
p[0] = -f’(x[0]);
f(х[k] + akp[k]) = f(x[k] + ap[k];
.
Здесь I- множество индексов: I = {0, n, 2п, Зп, ...}, т. е. обновление метода происходит через каждые п шагов.
Геометрический смысл метода сопряженных градиентов состоит в следующем (Рис. 1.19). Из заданной начальной точки х[0] осуществляется спуск в направлении р[0] = -f'(x[0]). В точке х[1] определяется вектор-градиент f'(x [1]). Поскольку х[1] является точкой минимума функции в направлении р[0], то f’(х[1]) ортогонален вектору р[0]. Затем отыскивается вектор р [1], H-сопряженный к р [0] . Далее отыскивается минимум функции вдоль направления р[1] и т. д.
Рис. 1.19. Траектория спуска в методе сопряженных градиентов
Методы сопряженных направлений являются одними из наиболее эффективных для решения задач минимизации. Однако следует отметить, что они чувствительны к ошибкам, возникающим в процессе счета. При большом числе переменных погрешность может настолько возрасти, что процесс придется повторять даже для квадратичной функции, т. е. процесс для нее не всегда укладывается в п шагов.
