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

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

Метод сопряженных градиентовметод нахождения локального минимума функции на основе информации о её значениях и её градиенте. В случае квадратичной функции в \mathbb{R}^n минимум находится за n шагов.

Содержание

Основные понятия

Определим терминологию:

Пусть \vec{S_1},\ldots,\vec{S_n} \in \mathbb{X} \subset \mathbb{R}^n\!.

Введём на \mathbb{X}\! целевую функцию f(\vec{x})\in \mathrm{C^2}(\mathbb{X})\!.

Вектора \vec{S_1},\ldots,\vec{S_n}\! называются сопряжёнными, если:

  • \vec{S_i}^T H \vec{S_j}=0, \quad i\neq j, \quad i,j=1,\ldots,n\!
  • \vec{S_i}^T H \vec{S_i}\geqslant 0, \quad i=1,\ldots,n\!

где H\!матрица Гессе f(\vec{x})\!.

Теорема (о существовании).
Существует хотя бы одна система n\! сопряжённых направлений для матрицы H\!, т.к. сама матрица H\! (её собственные вектора) представляет собой такую систему.

Обоснование метода

Нулевая итерация

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

Пусть \vec{S_0}=-\nabla f(\vec{x_0})\qquad (1)\!

Тогда \vec{x_1}=\vec{x_0}+\lambda_1 \vec{S_0} \qquad (2)\!.

Определим направление \vec{S_1}=-\nabla f(\vec{x_1})+\omega_1 \vec{S_0}\! так, чтобы оно было сопряжено с \vec{S_0}\!:

\vec{S_0}^T H \vec{S_1}=0 \qquad (3)\!

Разложим \nabla f(\vec{x})\! в окрестности \vec{x_0}\! и подставим \vec{x}=\vec{x_1}\!:

\nabla f(\vec{x_1})-\nabla f(\vec{x_0})=H \, (\vec{x_1}-\vec{x_0})=\lambda_1 H \vec{S_0}\!

Транспонируем полученное выражение и домножаем на H^{-1}\! справа:

(\nabla f(\vec{x_1})-\nabla f(\vec{x_0}))^T H^{-1}=\lambda_1 \vec{S_0}^T H^T H^{-1}\!

В силу непрерывности вторых частных производных H^T=H\!. Тогда:

\vec{S_0}^T=\frac{(\nabla f(\vec{x_1})-\nabla f(\vec{x_0}))^T H^{-1}}{\lambda_1}\!

Подставим полученное выражение в (3):

\frac{(\nabla f(\vec{x_1})-\nabla f(\vec{x_0}))^T H^{-1}H\vec{S_1}}{\lambda_1}=0\!

Тогда, воспользовавшись (1) и (2):

(\nabla f(\vec{x_1})-\nabla f(\vec{x_0}))^T (-\nabla f(\vec{x_1})-\omega_1\nabla f(\vec{x_0})))=0\qquad (4)\!

Если \lambda=\arg\min_\lambda f(\vec{x_0}+\lambda \vec{S_0})\!, то градиент в точке \vec{x_1}=\vec{x_0}+\lambda \vec{S_0}\! перпендикулярен градиенту в точке \vec{x_0}\!, тогда по правилам скалярного произведения векторов:

(\nabla f(\vec{x_0}),\nabla f(\vec{x_1}))=0\!

Приняв во внимание последнее, получим из выражения (4) окончательную формулу для вычисления \omega\!:

\omega_1=\frac{||\nabla f(\vec{x_1})||^2}{||\nabla f(\vec{x_0})||^2}\!

К-я итерация

На k-й итерации имеем набор\vec{S_0},\ldots,\vec{S_{k-1}}\!.

Тогда следующее направление вычисляется по формуле:

\vec{S_k}=-\nabla f(\vec{x_0})+\omega_1 \vec{S_0}+\ldots+\omega_k \vec{S}_{k-1},\quad \omega_i=\frac{||\nabla f(\vec{x_i})||^2}{||\nabla f(\vec{x}_{i-1})||^2},\!

где \omega_k\! непосредственно рассчитывается на k-й итерации, а все остальные уже были рассчитаны на предыдущих.

Это выражение может быть переписано в более удобном итеративном виде:

\vec{S_k}=-\nabla f(\vec{x_k})+\omega_k \vec{S}_{k-1}\!

Алгоритм

  • Пусть \vec{x}_0\! — начальная точка, \vec{r}_0\! — направление антиградиента и мы пытаемся найти минимум функции f(\vec{x})\!. Положим \vec{S}_0=\vec{r}_0\! и найдем минимум вдоль направления \vec{S}_0\!. Обозначим точку минимума \vec{x}_1\!.
  • Пусть на некотором шаге мы находимся в точке \vec{x}_k\!, и \vec{r}_k\! — направление антиградиента. Положим \vec{S}_k=\vec{r}_{k}+\omega_k \vec{S}_{k-1}\!, где \omega_k\! выбирают либо \frac{(\vec{r}_k,\vec{r}_k)}{(\vec{r}_{k-1},\vec{r}_{k-1})}\! (стандартный алгоритм), либо \max(0,\frac{(\vec{r}_k,\vec{r}_k-\vec{r}_{k-1})}{(\vec{r}_{k-1},\vec{r}_{k-1})})\! (алгоритм Полака–Райбера). После чего найдем минимум в направлении \vec{S_k}\! и обозначим точку минимума \vec{x}_{k+1}\!. Если в вычисленном направлении функция не уменьшается, то нужно забыть предыдущее направление, положив \omega_k=0\! и повторив шаг.

Формализация

  1. Задаются начальным приближением и погрешностью: \vec{x}_0,\quad \varepsilon, \quad k=0\!
  2. Рассчитывают начальное направление: j=0,\quad \vec{S}_k^j=-\nabla f(\vec{x}_k),\quad \vec{x}_k^j=\vec{x}_k\!
  3. \vec{x}_k^{j+1}=\vec{x}_k^j+\lambda\vec{S}_k^j,\quad \lambda=\arg\min_\lambda f(\vec{x}_k^j+\lambda \vec{S}_k^j),\quad \vec{S}_k^{j+1}=-\nabla f(\vec{x}_k^{j+1})+\omega \vec{S}_k^j,\quad \omega=\frac{||\nabla f(\vec{x}_k^{j+1})||^2}{||\nabla f(\vec{x}_k^{j})||^2}\!
    • Если ||\vec{S}_k^{j+1}||<\varepsilon\! или ||\vec{x}_k^{j+1}-\vec{x}_k^j||<\varepsilon\!, то \vec{x}=\vec{x}_k^{j+1}\! и останов.
    • Иначе
      • если (j+1)<n\!, то j=j+1\! и переход к 3;
      • иначе \vec{x}_{k+1}=\vec{x}_k^{j+1},\quad k=k+1\! и переход к 2.

Случай квадратичной функции

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

Литература

  1. Акулич И.Л. Математическое программирование в примерах и задачах: Учеб. пособие для студентов эконом. спец. вузов. — М.: Высш. шк., 1986.
  2. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. Пер. с англ. — М.: Мир, 1985.
  3. Коршунов Ю.М., Коршунов Ю.М. Математические основы кибернетики. — М.: Энергоатомиздат, 1972.
  4. Максимов Ю.А.,Филлиповская Е.А. Алгоритмы решения задач нелинейного программирования. — М.: МИФИ, 1982.
  5. Максимов Ю.А. Алгоритмы линейного и дискретного программирования. — М.: МИФИ, 1980.
  6. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М.: Наука, 1970. — С. 575-576.

См. также

Градиентные методы:

Ссылки

Поиск глобального оптимума для задач оптимального проектирования систем или определения оптимальных законов управления.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Метод сопряженных градиентов" в других словарях:

  • СОПРЯЖЕННЫХ ГРАДИЕНТОВ МЕТОД — метод решения системы линейных алгебраич. уравнений Ах=b с положительно определенной матрицей А. Это прямой и итерационный метод одновременно: при любом начальном приближении он сходится за конечное число итераций, давая точное решение. В С. г. м …   Математическая энциклопедия

  • Метод сопряжённых градиентов — Метод сопряженных градиентов метод нахождения локального минимума функции на основе информации о её значениях и её градиенте. В случае квадратичной функции в минимум находится за шагов. Содержание 1 Основные понятия …   Википедия

  • Метод сопряжённых направлений — Метод сопряженных градиентов метод нахождения локального минимума функции на основе информации о её значениях и её градиенте. В случае квадратичной функции в минимум находится за n шагов. Содержание 1 Основные понятия 2 Обосновани …   Википедия

  • Метод покоординатного спуска — Содержание 1 Постановка задачи решения системы уравнений в терминах методов оптимизации 2 Градиентные методы …   Википедия

  • ТЯЖЕЛОГО ШАРИКА МЕТОД — метод решения задачи минимизации дифференцируемой функции f(x)на евклидовом пространстве Е п. Метод основан на рассмотрении системы дифференциальных уравнений к рая описывает движение материальной точки по поверхности y=f(x)в поле тяжести,… …   Математическая энциклопедия

  • ЧЕБЫШЕВСКИЙ ИТЕРАЦИОННЫЙ МЕТОД — итерационный алгоритм нахождения решения линейного уравнения учитывающий информацию о принадлежности Sр(A) спектра оператора А нек рому множеству и использующий свойства и параметры многочленов, наименее отклоняющихся от нуля на множестве и… …   Математическая энциклопедия

  • Система уравнений и экстремальные задачи. Градиентные методы. — Система уравнений и экстремальные задачи. Градиентные методы. Содержание 1 Постановка задачи решения системы уравнений в терминах методов оптимизации …   Википедия

  • Градиентные методы — численные методы решения с помощью градиента задач, сводящихся к нахождению экстремумов функции. Содержание 1 Постановка задачи решения системы уравнений в терминах методов о …   Википедия

  • НЕЛИНЕЙНОЕ УРАВНЕНИЕ — численные методы решения итерационные методы решения нелинейных уравнений. Под нелинейными уравнениями понимаются (см. [1] [3]) алгебраические и трансцендентные уравнения вида где х действительное число, нелинейная функция, а под системой… …   Математическая энциклопедия

  • МАКСИМИЗАЦИЯ И МИНИМИЗАЦИЯ ФУНКЦИЙ — конечного числа переменных задача поиска экстремума функции под этой задачей понимается: 1) нахождение 2) отыскание точек максимума или минимума, если достигаются на допустимом множестве (см. Максимум и минимум функции). 3) построение… …   Математическая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»