Методы сопряженных градиентов



В предыдущих подразделах рассматривались методы Коши и Ньютона. Отмечалось, что метод Коши эффективен при поиске на значительных расстояниях от точки минимума х* и плохо «работает» в окрестности этой точки, тогда как метод Ньютона не отличается высокой надежностью при поиске х* из удаленной точки, однако оказывается весьма эффективным в тех случаях, когда x(k)находится вблизи точки минимума. В этом и последующих подраз­делах рассматриваются методы, которые обладают положительны­ми свойствами методов Коши и Ньютона и основаны на вычислении значений только первых производных. Таким образом, эти методы, с одной стороны, отличаются высокой надежностью при поиске х* из удаленной точки х* и, с другой стороны, быстро сходятся в окрестности точки минимума.

Методы, позволяющие получать решения задач с квадратичными целевыми функциями приблизительно за N шагов при условии использования недесятичных дробей, будем называть квадратично сходящимися. Среди таких методов можно выделить класс алгоритмов, в основе которых лежит построение сопряженных направлений. Выше было сформулировано условие сопряженности для системы направлений s(k), k = 1, 2, 3,…, rN, и симметрической матрицы С порядка N N. Была также установлена связь между построением указанных направлений и преобразованием произвольной квадратичной функции к виду суммы полных

1)Задачи такого типа возникают, например, в регрессионном анализе — Прим. перев.


квадратов; сделан вывод о том, что последовательный поиск вдоль каждого из N направлений, обладающих свойством С-сопряженности, позволяет найти точку минимума квадратичной функции N переменных. Рассмотрена процедура определения системы сопряженных направлений с использованием только значений целевой функции. Ниже для получения сопряженных направлений применяются квадратичная аппроксимация f(x) и значения компонент градиента. Кроме того, потребуем, чтобы рассматриваемые методы обеспечивали убывание целевой функции при переходе от итерации к итерации.

Пусть в пространстве управляемых переменных заданы две произвольные несовпадающие точки x(0) и x(1). Градиент квадратичной функции равен

f(x) = q(x) = Cx + b = g(x)                            (3.60)

Обозначение g(x) введено здесь для удобства записи формулы. Таким образом,

g(x(0)) = Cx(0) + b,

g(x(1)) = Cx(1) + b.

Запишем изменение градиента при переходе от точки х(0) к точке х(1):

g(x) = g(x(1)) – g(x(0)) = C(x(1) - x(0)),               (3.61)

g(x) = C x

Равенство (3.61) выражает свойство квадратичных функций, которое будет использовано ниже.

В 1952 г. Эстенс и Штифель [28] предложили эффективный итерационный алгоритм для решения систем линейных уравнений, который по существу представлял собой метод сопряженных градиентов. Они рассматривали левые части линейных уравнений как компоненты градиента квадратичной функции и решали задачу минимизации этой функции. Позже Флетчер и Ривс [29] обосновали квадратичную сходимость метода и обобщили его для случая неквадратичных функций. Фрид и Метцлер [30] продемонстрировали (допустив, однако, некоторые неточности) возможности использования метода для решения линейных систем с разреженной матрицей коэффициентов. (Определение разреженной матрицы см. в приложении А.) Они подчеркнули простоту реализации метода по сравнению с другими, более общими алгоритмами, что является особенно важной характеристикой с позиций нашего изложения.

Рассмотрение метода будем проводить в предположении, что "целевая функция является квадратичной:

f(x) = q(x) = a + bT x + ½ xT Cx,

аитерации проводятся по формуле (3.42), т.е.

x  = x + α s(x ).

Направления поиска на каждой итерации определяются с помощью следующих формул:

s(k) = – g(k) +                            (3.62)

s(0) = –g(0),                                              (3.63)

где g(k) = f(x ). Так как после определения системы направлений проводится последовательный поиск вдоль каждого из направлений, полезно напомнить, что в качестве критерия окончания одномерного поиска обычно используется условие

f (x )Ts(k) = 0                              (3.64)

Значения , i = 1, 2, 3,...,k - 1,выбираются таким образом, чтобы направление s(k) было С-сопряжено со всеми построенными ранее направлениями поиска. Рассмотрим первое направление

s(1) = –g(1) + γ(0)s(0) = –g(1) –γ(0)g(0)

и наложим условие его сопряженности с s(0)

s(1)T Cs(0) = 0,

откуда                      [g(1) + γ(0)g(0)]TCs(0) = 0.

На начальной итерации

s(0) = ;

следовательно,

[g(1) + γ(0)g(0)]TC[ ] = 0

Используя свойство квадратичных функций (3.61), получаем

[g(1) + γ(0)g(0)]T g = 0,                                      (3.65)

Откуда

γ(0) = ( gT g(1))/( gT g(0)).                             (3.66)

Из уравнения (3.65) следует, что

g(1)Tg(1) + γ(0)g(0)Tg(1) g(1) Tg(0) γ(0)g(0)Tg(0) = 0.

При соответствующем выборе α(0) и с учетом формулы (3.64) имеем

g(1) Tg(0) = 0.

Таким образом,

γ(0) = .                                      (3.67)

Далее определим следующее направление поиска

s(2) = –g(2) + γ(0)s(0) + γ(1)s(1).

и выберем γ(0) γ(1) таким образом, чтобы выполнялись условия

s(2)TCs(0) = 0 и s(2)Cs(1) = 0,

т. е. условия С-сопряженности направления s(2) с направлениями s(0) и s(1). С помощью формул (3.61) и (3.64) можно показать (это предоставляется читателю в качестве упражнения), что здесь γ(0) = 0, а в общем случае γ(i) = 0, i = 0, 1, 2,...,k—2, при любом значении k. Отсюда следует, что общая формула для направлений поиска может быть записана в виде, предложенном Флетчером и Ривсом:

s(k) = –g(k) + s                         (3.68)

 

Если f(x) — квадратичная функция, для нахождения точки минимума требуется определить N—1 таких направлений и провести N поисков вдоль прямой (при отсутствии ошибок округления). Если же функция f(х) не является квадратичной, количество направлений и соответствующих поисков возрастает.

Некоторые исследователи на основе опыта проведения вычислительных экспериментов предлагают после реализации каждой серии из N или N + 1 шагов возвращаться к начальной итерации алгоритма, положив s(x) = -g(x). Это предложение остается предметом для изучения, поскольку при минимизации функций общего вида в ряде случаев влечет за собой замедление сходимости. С другой стороны, циклические переходы к начальной итерации повы­шают надежность алгоритма, так как вероятность построения линейно зависимых направлений уменьшается. Если полученное на­правление оказывается линейной комбинацией одного или нескольких полученных ранее направлений, то метод может не привести к получению решения, поскольку поиск в соответствующем подпространстве RN уже проводился. Однако следует отметить, что на практике такие ситуации встречаются достаточно редко. Метод оказывается весьма эффективным при решении практических задач, характеризуется простотой однопараметрической вычислительной схемы и небольшим объемом памяти ЭВМ, необходимым для проведения поиска. Относительно невысокий уровень требований к объему памяти ЭВМ делает метод Флетчера — Ривса (ФР) и его модификации особенно полезным при решении задач большой размерности.


Дата добавления: 2018-06-01; просмотров: 629; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!