Методы сопряженных градиентов
В предыдущих подразделах рассматривались методы Коши и Ньютона. Отмечалось, что метод Коши эффективен при поиске на значительных расстояниях от точки минимума х* и плохо «работает» в окрестности этой точки, тогда как метод Ньютона не отличается высокой надежностью при поиске х* из удаленной точки, однако оказывается весьма эффективным в тех случаях, когда x(k)находится вблизи точки минимума. В этом и последующих подразделах рассматриваются методы, которые обладают положительными свойствами методов Коши и Ньютона и основаны на вычислении значений только первых производных. Таким образом, эти методы, с одной стороны, отличаются высокой надежностью при поиске х* из удаленной точки х* и, с другой стороны, быстро сходятся в окрестности точки минимума.
Методы, позволяющие получать решения задач с квадратичными целевыми функциями приблизительно за N шагов при условии использования недесятичных дробей, будем называть квадратично сходящимися. Среди таких методов можно выделить класс алгоритмов, в основе которых лежит построение сопряженных направлений. Выше было сформулировано условие сопряженности для системы направлений s(k), k = 1, 2, 3,…, r ≤ N, и симметрической матрицы С порядка 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!