Метод сопряженных градиентов Флетчера-Ривса.

Этот метод относится к группе методов сопряженных направлений, при которых шаги итерационной процедуры минимизации целевой функции предпринимаются в сопряженных направлениях. Два n-мерных вектора x и y называют сопряженными по отношению к матрице H (или H-сопряженными), если скалярное произведение (x,Hy)=0. Здесь H – симметричная положительно определенная матрица размером n x n [11].

Методы сопряженных направлений обладают по сравнению с градиентными методами более высокой скоростью сходимости. Минимум положительно определенной квадратичной функции n переменных

clip_image002 (49)

может быть найден не более чем за n шагов из любой начальной точки, если эти шаги предпринимать в сопряженных направлениях. Любая гладкая функция в окрестности точки минимума хорошо аппроксимируется квадратичной, поэтому методы сопряженных направлений успешно применяются для минимизации также не квадратичных функций. В таком случае методы перестают быть конечными и становятся итеративными.

Наиболее существенна при методах сопряженных направлений проблема эффективного построения таких направлений. Метод Флетчера - Ривса решает эту проблему путем преобразования на каждом шаге антиградиента - clip_image004 в направлении clip_image006, H – сопряженном с ранее найденными направлениями clip_image008. Рассмотрим сначала этот метод применительно к задаче минимизации квадратичной функции (49).

Направление clip_image006[1] вычисляются по формулам:

clip_image010, clip_image012

clip_image014 (50)

Величины clip_image016 выбираются так, чтобы направления clip_image018 были H-сопряженными: clip_image020 (51)

В результате для квадратичной функции:

clip_image022 (52)

Итерационный процесс минимизации имеет вид

clip_image024 clip_image026 clip_image028, где (53)

clip_image030 - называют величиной шага, а n-мерный вектор clip_image032 - направлением спуска на k-том шаге. Величина шага выбирается из условий минимума функции в направлении движения:

clip_image034 (54)

Для квадратичной функции clip_image036 (55)

Алгоритм сопряженных градиентов состоит в следующем:

1. В точке clip_image038 вычисляется clip_image040;

2. На k-ом шаге по формулам (55) и (53) определяется шаг clip_image030[1]и точка clip_image042;

3. Вычисляются величины clip_image044 и clip_image046;

4. Если clip_image048, то точка clip_image042[1]является минимумом функции. В противном случае из соотношения:

clip_image050 (56)

определяется новое направление clip_image052 и осуществляется переход к следующей итерации. Благодаря этой процедуре минимум квадратичной функции находится не более чем за n шагов. При минимизации не квадратичных функций метод Флетчера -Ривса из конечного становится итеративным. В таком случае после clip_image054 итерации шаги 1 – 4 алгоритма повторяются с заменой clip_image038[1] на clip_image057, а вычисления заканчиваются при clip_image059, где clip_image061 - заданная точность.

Пример 9. Найти минимум функции clip_image063. Начальная точка (9; -7; 11) [2] .

Решение: Итерационный процесс приведен в таблице 4.

Таблица 4.

итерации

x1

x2

x3

F

1

9

-7

11

418

2

-0,481

0,111

7,83

37,14

3

1,206

2,827

4,862

4,965

4

0,999

2

3

4,26E-14

Оптимальное значение найдено на 4 шаге.

Методы сопряженных градиентов наиболее эффективны для решения задач минимизации, однако чувствительны к ошибкам, возникающим в процессе счета.

Предлагаю ознакомиться с аналогичными статьями: