Журнал вычислительной математики и математической физики, 2019, T. 59, № 12, стр. 2086-2101

Метод ньютоновского типа для решения систем линейных уравнений и неравенств

А. И. Голиков 12*, Ю. Г. Евтушенко 12**, И. Е. Капорин 12***

1 ВЦ ФИЦ ИУ РАН
119333 Москва, ул. Вавилова, 40, Россия

2 НИУ МФТИ
141700 М.о., Долгопрудный, Институтский пер., 9, Россия

* E-mail: gol-a@yandex.ru
** E-mail: evt@ccas.ru
*** E-mail: igorkaporin@mail.ru

Поступила в редакцию 27.06.2019
После доработки 27.06.2019
Принята к публикации 05.08.2019

Полный текст (PDF)

Аннотация

Предложен метод ньютоновского типа для численной минимизации выпуклых кусочно-квадратичных функций и анализируется его сходимость. Ранее аналогичный метод успешно применялся для задач оптимизации, возникающих в генерации численных сеток. Показана применимость метода к вычислению проекции заданной точки на множество неотрицательных решений системы линейных уравнений, а также к нахождению расстояния между двумя выпуклыми многогранниками. Производительность метода протестирована на наборе задач из библиотеки NETLIB. Библ. 24. Табл. 4.

Ключевые слова: системы линейных уравнений и неравенств, регуляризация, метод штрафа, двойственность,  проекция точки,  кусочно-квадратичная функция,  метод Ньютона, предобусловленный метод сопряженных градиентов.

ВВЕДЕНИЕ

Работа посвящена теоретическому и экспериментальному изучению метода ньютоновского типа, использующего приближенные направления, получаемые с применением предобусловленного метода сопряженных градиентов, и является обобщением и уточнением результатов [1]. Ранее подобный метод успешно применялся в задачах оптимизации, возникающих при генерации численных сеток [2]–[4], см. также [5]. Здесь рассматривается применение данного метода для численного решения задач безусловной минимизации выпуклой кусочно-квадратичной функции. К таким задачам относятся нахождение нормального решения задачи линейного программирования (ЛП) [6], [7] и нахождение проекции заданной точки на множество решений задачи ЛП [8], [9]. С задачей ЛП тесно связано нахождение проекции точки на множество неотрицательных решений недоопределенной системы линейных уравнений [10], [11] и вычисление расстояния между двумя выпуклыми многогранниками [12].

Впервые О. Мангасариан показал эффективность применения обобщенного метода Ньютона для минимизации выпуклой кусочно-квадратичной функции. В своих работах [7], [13] он исходил из возможности простого вычисления обобщенной матрицы Гессе, предложенного в [11], так как кусочно-квадратичная функция непрерывно дифференцируема только один раз.

В разд. 1 задача нахождения неотрицательного решения недоопределенной системы линейных равенств рассматривается с точки зрения линейного программирования, что приводит к рассмотрению взаимно двойственных задач, одна из которых (прямая задача) является оштрафованной, а вторая (двойственная задача) – регуляризованной. При этом через решение задачи безусловной оптимизации кусочно-квадратичной функции легко вычисляется нормальное решение исходной линейной системы (проекция точки). В разд. 2 приведены некоторые вспомогательные технические результаты, связанные с кусочно-квадратичной функцией. В разд. 3 описывается метод ньютоновского типа для безусловной оптимизации кусочно-квадратичной функции. Раздел 4 содержит анализ сходимости метода ньютоновского типа с учетом специального правила остановки внутренних итераций предобусловленного метода сопряженных градиентов. В разд. 5 представлены численные результаты для различных модельных задач.

1. ЗАДАЧИ ОПТИМИЗАЦИИ И СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ И НЕРАВЕНСТВ

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

Рассмотрим задачу нахождения неотрицательного решения системы линейных уравнений

(1)
$Ax = b,\quad x \geqslant {{0}_{n}}.$
Здесь матрица $A \in {{R}^{{m \times n}}}$, вектор $b \in {{R}^{m}}$ заданы и $m \leqslant n$. Через ${{0}_{i}}$ обозначен $i$-мерный нулевой вектор. Будем предполагать, что исходная система (1) разрешима. Оказывается, эту систему полезно рассмотреть как задачу линейного программирования (ЛП)
(2)
$P:\mathop {min}\limits_{x \in X} 0_{n}^{{\text{т}}}x,\quad X = {\text{\{ }}x \in {{R}^{n}}:Ax = b,\;x \geqslant {{0}_{n}}{\text{\} }},$
в которой вектор целевой функции $c = {{0}_{n}}$. Двойственная к (2) имеет вид

$D:\mathop {max}\limits_{u \in U} {{b}^{{\text{т}}}}u,\quad U = {\text{\{ }}u \in {{R}^{m}}:{{A}^{{\text{т}}}}u \leqslant {{0}_{n}}{\text{\} }}.$

Прямую задачу линейного программирования $P$ преобразуем следующими двумя способами: 1) с помощью квадратичного штрафа (преобразование $pen$), 2) используя квадратичную регуляризацию (преобразование $reg$). Можно продолжить преобразование полученных задач, применяя, соответственно, квадратичную регуляризацию и квадратичный штраф. Последовательность преобразований задачи $P$ можно представить схематически в виде ${{P}_{{pr}}}\;\mathop { \leftarrow \;}\limits^{reg} {{P}_{p}}\;\mathop { \leftarrow \;}\limits^{pen} P\;\mathop { \to \;}\limits^{reg} {{P}_{r}}\;\mathop { \to \;}\limits^{pen} {{P}_{{rp}}}$. Если применить квадратичный штраф к задаче $P$, то приходим к минимизации квадратичной функции на неотрицательном ортанте:

(3)
${{P}_{p}}\,:\quad \mathop {min}\limits_{x \in R_{ + }^{n}} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| {b - Ax} \right\|}}^{2}}} \right).$
Вообще говоря, (3) есть задача наименьших квадратов для решения системы (1). В силу постоянства целевой функции в задаче $P$, которая всегда равна нулю, в задаче ${{P}_{p}}$ не требуется вводить коэффициент штрафа. Отметим, что квадратичная задача (3) всегда разрешима независимо от того, имеет ли решение исходная система (1).

Если к задаче $P$ применить квадратичную регуляризацию (регуляризация по Тихонову [15]), то получим задачу строго выпуклого квадратичного программирования при ограничениях

(4)
${{P}_{r}}\,:\quad \mathop {min}\limits_{x \in X} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| x \right\|}}^{2}}} \right),\quad X = {\text{\{ }}x \in {{R}^{n}}:Ax = b,\;x \geqslant {{0}_{n}}{\text{\} }}.$
В этой задаче также не требуется вводить коэффициент регуляризиции.

Задачу минимизации на неотрицательном ортанте ${{P}_{p}}$ можно регуляризовать, и тогда приходим к следующей строго выпуклой квадратичной задаче:

(5)
${{P}_{{pr}}}\,:\quad \mathop {min}\limits_{x \in R_{ + }^{n}} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| {b - Ax} \right\|}}^{2}} + \frac{\varepsilon }{2}{{{\left\| x \right\|}}^{2}}} \right),$
где $\varepsilon > 0$ представляет собой коэффициент регуляризации. Решение $x(\varepsilon )$ задачи (5) единственно при любом $\varepsilon > 0$. При $\varepsilon \to 0$ решение $x(\varepsilon )$ сходится к нормальному решению системы (1) ([15]), т.е. к решению задачи (4).

Если в задаче ${{P}_{r}}$ снять ограничения с помощью квадратичного штрафа, то получаем следующую задачу:

${{P}_{{rp}}}\,:\quad \mathop {min}\limits_{x \in R_{ + }^{n}} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| x \right\|}}^{2}} + \frac{1}{{2\varepsilon }}{{{\left\| {b - Ax} \right\|}}^{2}}} \right).$
Очевидно, что задачи ${{P}_{{rp}}}$ и ${{P}_{{pr}}}$ эквивалентны в смысле совпадения их решений при любом положительном $\varepsilon $.

Выпишем теперь двойственные задачи к приведенным выше оптимизационным задачам. Начнем с задачи ${{P}_{p}}$, двойственной для которой является задача строго вогнутого квадратичного программирования:

${{D}_{r}}\,:\quad \mathop {max}\limits_{u \in U} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| u \right\|}}^{2}}} \right),\quad U = {\text{\{ }}u \in {{R}^{m}}:{{A}^{{\text{т}}}}u \leqslant {{0}_{n}}{\text{\} }}.$
Хорошо известно (см., например, [16]), что задачу безусловной оптимизации можно легко свести к задаче с ограничениями с помощью дополнительных переменных и естественно возникающих ограничений. Для такой задачи уже можно ввести функцию Лагранжа и стандартным образом получить двойственную задачу. Задачи ${{P}_{p}}$ и ${{D}_{r}}$ являются взаимно двойственными. По решению ${{x}_{ * }}$ задачи ${{P}_{p}}$ легко вычисляется решение задачи ${{D}_{r}}$ по формуле ${{u}_{ * }} = b - A{{x}_{ * }}$. Следует отметить, что квадратичные задачи ${{P}_{p}}$ и ${{D}_{r}}$ всегда разрешимы вне зависимости от разрешимости задач линейного программирования $P$ и $D$. Задача ${{D}_{r}}$ получается применением квадратичной регуляризации к задаче $D$.

Двойственной к ${{P}_{r}}$ является следующая оштрафованная задача $D$

${{D}_{p}}\,:\quad \mathop {max}\limits_{u \in {{R}^{m}}} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| {{{{({{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}}} \right).$
Здесь и ниже ${{a}_{ + }}$ обозначает вектор $a$, у которого все отрицательные компоненты заменены на нули. По решению ${{u}_{ * }}$ задачи ${{D}_{p}}$ находится решение ${{x}_{ * }} = {{({{A}^{{\text{т}}}}{{u}_{ * }})}_{ + }}$ задачи ${{P}_{r}}$, т.е. нормальное решение исходной линейной системы (1).

Приведем двойственную задачу для ${{P}_{{rp}}}$

${{D}_{{pr}}}\,:\quad \mathop {max}\limits_{u \in {{R}^{m}}} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| {{{{({{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}} - \frac{\varepsilon }{2}{{{\left\| u \right\|}}^{2}}} \right),$
которая является задачей безусловной максимизации строго вогнутой кусочно-квадратичной функции. При любом $\varepsilon > 0$ по решению $u(\varepsilon )$ задачи ${{D}_{{pr}}}$ вычисляется решение $x(\varepsilon ) = {{({{A}^{{\text{т}}}}u(\varepsilon ))}_{ + }}$ задачи ${{P}_{{rp}}}$. При $\varepsilon \to 0$ решение $x(\varepsilon )$ сходится к решению задачи ${{P}_{r}}$, т.е. к нормальному решению исходной системы (1). Итак, оштрафованную задачу ${{P}_{r}}$, т.е. задачу минимизации ${{P}_{{rp}}}$ на положительном ортанте с $n$ переменными, заменили задачей безусловной максимизации ${{D}_{{pr}}}$ другой размерности с $m$ переменными.

В свою очередь решение $u(\varepsilon )$ задачи ${{D}_{{pr}}}$ находится через решение $x(\varepsilon )$ задачи ${{P}_{{rp}}}$ минимизации строго выпуклой кусочно-квадратичной функции на неотрицательном ортанте по простой формуле $u(\varepsilon ) = \tfrac{1}{\varepsilon }(b - Ax(\varepsilon ))$.

Аналогично получается двойственная задача для ${{P}_{{pr}}}$:

${{D}_{{rp}}}\,:\quad \mathop {max}\limits_{u \in {{R}^{m}}} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| u \right\|}}^{2}} - \frac{1}{{2\varepsilon }}{{{\left\| {{{{({{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}}} \right).$
При любом $\varepsilon > 0$ решения взаимно двойственных задач ${{P}_{{pr}}}$ и ${{D}_{{rp}}}$ выражаются друг через друга. По решению $u(\varepsilon )$ задачи ${{D}_{{rp}}}$ легко находится решение $x(\varepsilon ) = \tfrac{1}{\varepsilon }{{({{A}^{{\text{т}}}}u(\varepsilon ))}_{ + }}$ задачи ${{P}_{{pr}}}$ и из решения $x(\varepsilon )$ задачи ${{P}_{{pr}}}$ имеем решение $u(\varepsilon ) = b - Ax(\varepsilon )$ задачи ${{D}_{{rp}}}$.

Приведенную связь оштрафованных и регуляризованных задач с помощью двойственности можно представить в виде следующей схемы:

$\begin{gathered} {\kern 1pt} {{P}_{{pr}}}\;{\kern 1pt} \mathop \leftarrow \limits^{reg} \;{\kern 1pt} {\kern 1pt} {{P}_{p}}\;\mathop \leftarrow \limits^{pen} \;{\kern 1pt} P\;\mathop \to \limits^{reg} \;{\kern 1pt} {{P}_{r}}{\kern 1pt} \;{\kern 1pt} \mathop \to \limits^{pen} \;{{P}_{{rp}}} \hfill \\ {\kern 1pt} \updownarrow \quad \;\;\;{\kern 1pt} \updownarrow \quad \;\;{\kern 1pt} \updownarrow \quad \;{\kern 1pt} \updownarrow \quad \;\; \updownarrow \hfill \\ {{D}_{{rp}}}\;\mathop {{\kern 1pt} \leftarrow {\kern 1pt} }\limits^{pen} \;{{D}_{r}}\;{\kern 1pt} \mathop \leftarrow \limits^{reg} \;D\;\mathop \to \limits^{pen} \;{{D}_{p}}\;\mathop \to \limits^{reg} \;{{D}_{{pr}}} \hfill \\ \end{gathered} $

В эту же схему укладываются и задачи нахождения проекции заданной точки $\hat {x}$ на множество решений системы (1). Регуляризованная задача $P$ будет иметь вид

(6)
${{P}_{r}}\,:\quad \mathop {min}\limits_{x \in X} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| {x - \hat {x}} \right\|}}^{2}}} \right),\quad X = {\text{\{ }}x \in {{R}^{n}}:Ax = b,\;x \geqslant {{0}_{n}}{\text{\} }},$
взаимно двойственной к ней будет задача
(7)
${{D}_{p}}\,:\quad \mathop {max}\limits_{u \in {{R}^{m}}} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}}} \right).$
При этом через ее решение ${{u}_{ * }}$ находится решение ${{\hat {x}}_{ * }} = {{(\hat {x} + {{A}^{{\text{т}}}}{{u}_{ * }})}_{ + }}$ задачи ${{P}_{r}}$ (6), т.е проекция точки $\hat {x}$ на множество решений системы (1). Задача ${{D}_{p}}$ (7) есть оштрафованная задача $D$, в которой ограничения сдвинуты на вектор $\hat {x}$. Отметим, что задача ${{D}_{p}}$ (7) безусловной максимизации от $m$ переменных имеет в общем случае неединственное решение.

Если оштрафовать задачу ${{P}_{r}}$ (6), то приходим к задаче минимизации строго выпуклой квадратичной функции от $n$ переменных на неотрицательном ортанте:

(8)
${{P}_{{rp}}}\,:\quad \mathop {min}\limits_{x \in R_{ + }^{n}} \left( {0_{n}^{{\text{т}}}x + \frac{1}{2}{{{\left\| {x - \hat {x}} \right\|}}^{2}}) + \frac{1}{{2\varepsilon }}{{{\left\| {b - Ax} \right\|}}^{2}}} \right),$
взаимно двойственная к которой имеет вид
(9)
${{D}_{{pr}}}\,:\quad \mathop {max}\limits_{u \in {{R}^{m}}} \left( {{{b}^{{\text{т}}}}u - \frac{1}{2}{{{\left\| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}} - \frac{\varepsilon }{2}{{{\left\| u \right\|}}^{2}}} \right).$
Задача (9) является задачей безусловной максимизации строго вогнутой кусочно-квадратичной функцией от $m$ переменных. Эта задача получается регуляризацией задачи ${{D}_{p}}$ (7). При любом $\varepsilon > 0$ решения $x(\varepsilon )$ и $u(\varepsilon )$ соответственно задач (8) и (9) выражаются по простым формулам $x(\varepsilon ) = {{(\hat {x} + {{A}^{{\text{т}}}}u(\varepsilon ))}_{ + }}$ $u(\varepsilon ) = \tfrac{1}{\varepsilon }(b - Ax(\varepsilon ))$.

Далее остановимся на рассмотрении задачи (7), которую перепишем в следующем виде безусловной минимизации кусочно-квадратичной функции

(10)
${{u}_{ * }} = arg\mathop {min}\limits_{u \in {{R}^{m}}} \left( {\frac{1}{2}{{{\left\| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}}^{2}} - {{b}^{{\text{т}}}}u} \right).$

Задача (10) является взаимно двойственной к задаче нахождения проекции заданного вектора $\hat {x}$ на множество неотрицательных решений недоопределенной системы линейных уравнений:

${{x}_{ * }} = arg\mathop {min}\limits_{_{{x \geqslant 0}}^{{Ax = b}}} \frac{1}{2}{{\left\| {x - \hat {x}} \right\|}^{2}}.$
Решение ${{x}_{ * }}$ этой задачи выражается через решение ${{u}_{ * }}$ задачи (10) по простой формуле ${{x}_{ * }} = {{(\hat {x} + {{A}^{{\text{т}}}}{{u}_{ * }})}_{ + }}$.

Итак, введем в рассмотрение выпуклую дифференцируемую кусочно-квадратичную функцию $\varphi (u):{{R}^{m}} \to {{R}^{1}}$:

(11)
$\varphi (u)\frac{1}{2}{{\left\| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}^{2}} - {{b}^{{\text{т}}}}u.$
Ее градиент $g(u) = {\text{grad}}\varphi (u)$ имеет вид
(12)
$g(u) = A{{(\hat {x} + {{A}^{{\text{т}}}}u)}_{ + }} - b,$
а обобщенную матрицу Гессе [14] определим как
(13)
$H(u) = A\operatorname{Diag} (\operatorname{sign} {{(\hat {x} + {{A}^{{\text{т}}}}u)}_{ + }}){{A}^{{\text{т}}}}.$
Связь между $H(u)$, $\varphi (u)$ и $g(u)$ будет установлена ниже в Замечании 1.

2. ТЕЙЛОРОВСКОЕ РАЗЛОЖЕНИЕ ФУНКЦИИ $( \cdot )_{ + }^{2}$

Следующий результат представляет собой специальный случай разложения Тейлора с остаточным членом в интегральной форме.

Лемма 1. Для любых действительных скалярных величин $\eta $ и $\zeta $ справедливо

(14)
$\frac{1}{2}{{({{(\eta + \zeta )}_{ + }})}^{2}} - \frac{1}{2}{{({{\eta }_{ + }})}^{2}} - \zeta {{\eta }_{ + }} = {{\zeta }^{2}}\int\limits_0^1 {\left( {\int\limits_0^1 {{\text{sign}}} {{{(\eta + st\zeta )}}_{ + }}ds} \right)t} dt.$

Доказательство. Пусть $f(\xi ) = \tfrac{1}{2}{{({{\xi }_{ + }})}^{2}}$, тогда $f{\kern 1pt} {\text{'}}{\kern 1pt} (\xi ) = {{\xi }_{ + }}$ и $f{\kern 1pt} {\text{''}}(\xi ) = {\text{sign}}({{\xi }_{ + }})$ (без потери общности будем полагать $f{\text{''}}(0) = 0$) [14]. Подставляя эти равенства в тейлоровское разложение

$f(\eta + \zeta ) = f(\eta ) + \zeta f{\kern 1pt} {\text{'}}(\eta ) + {{\zeta }^{2}}\int\limits_0^1 {\left( {\int\limits_0^1 {f{\kern 1pt} {\text{''}}} (\eta + st\zeta )ds} \right)} tdt,$
приходим к нужному результату.

Лемма 2. Для любых $n$-мерных векторов $y$ и $z$ справедливо

(15)
$\frac{1}{2}{{\left\| {{{{(y + z)}}_{ + }}} \right\|}^{2}} - \frac{1}{2}{{\left\| {{{y}_{ + }}} \right\|}^{2}} - {{z}^{{\text{т}}}}{{y}_{ + }} = \frac{1}{2}{{z}^{{\text{т}}}}{\text{Diag}}(d)z,$
где

(16)
$d = \int\limits_0^1 {\left( {\int\limits_0^1 {{\text{sign}}} {{{(y + stz)}}_{ + }}ds} \right)} 2tdt.$

Доказательство. Полагая $\eta = {{y}_{j}}$, $\zeta = {{z}_{j}}$ в (14) и суммируя по всем $j = 1, \ldots ,\;n$, приходим к нужной формуле. Заметим, что использование множителя 2 в подынтегральном выражении приводит к оценке $\left\| {{\text{Diag}}(d)} \right\| \leqslant 1$.

Лемма 3. Функция (11) и ее градиент (12) удовлетворяют равенству

(17)
$\varphi (u + q) - \varphi (u) - {{q}^{{\text{т}}}}g(u) = \frac{1}{2}{{q}^{{\text{т}}}}A{\text{Diag}}(d){{A}^{{\text{т}}}}q,$
где

(18)
$d = \int\limits_0^1 {\left( {\int\limits_0^1 {{\text{sign}}} {{{(\hat {x} + {{A}^{{\text{т}}}}u + st{{A}^{{\text{т}}}}q)}}_{ + }}ds} \right)} 2tdt.$

Доказательство. Полагая $y = \hat {x} + {{A}^{{\text{т}}}}u$ и $z = {{A}^{{\text{т}}}}q$ в (15) и (16), легко получаем требуемый результат (с учетом приведения линейных членов, включающих b в левой части (17)).

Замечание 1. Как видно из (18), если условие

(19)
${\text{sign}}{{(\hat {x} + {{A}^{{\text{т}}}}u + \vartheta {{A}^{{\text{т}}}}q)}_{ + }} = {\text{sign}}{{(\hat {x} + {{A}^{{\text{т}}}}u)}_{ + }},$
справедливо для любого $0 \leqslant \vartheta \leqslant 1$, то (17) приводится к простейшему виду:
(20)
$\varphi (u + q) - \varphi (u) - {{q}^{{\text{т}}}}g(u) = \frac{1}{2}{{q}^{{\text{т}}}}H(u)q,$
где обобщенная матрица Гессе $H(u)$ задана формулой (13). Это объясняет ключевую роль $H(u)$ в рассмотренном ниже методе ньютоновского типа. Заметим, что достаточным условием для выполнения (19) является
(21)
$\left| {{{{({{A}^{{\text{т}}}}q)}}_{j}}} \right| \leqslant \left| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{j}}} \right|\quad {\text{всегда}},\;{\text{когда}}\quad {{({{A}^{{\text{т}}}}q)}_{j}}{{(\hat {x} + {{A}^{{\text{т}}}}u)}_{j}} < 0;$
т.е. если некоторые компоненты приращения $q$ относительно малы, то $\varphi $ в точности квадратична (20) в соответствующей окрестности $u$.

3. МЕТОД НЬЮТОНОВСКОГО ТИПА ДЛЯ ДВОЙСТВЕННОЙ ЗАДАЧИ (10)

Из условия (19) и его следствия (20) вытекает, что можно численно минимизировать $\phi $ методом ньютоновского типа ${{u}_{{k + 1}}} = {{u}_{k}} - {{d}_{k}}$, где ${{d}_{k}} = H{{({{u}_{k}})}^{{ - 1}}}g({{u}_{k}})$. Заметим, что согласно (20) точка минимума ${{u}_{ * }} = {{u}_{{k + 1}}}$ получается за один шаг, если компоненты ${{d}_{k}}$ достаточно малы и удовлетворяют (21), где $u = {{u}_{k}}$ and $q = - {{d}_{k}}$. Однако начальные ${{u}_{k}}$ могут быть еще далеки от решения и поэтому возможны только постепенные улучшения точности приближений. Во-первых, должен использоваться коэффициент ${{\alpha }_{k}}$ для гарантии монотонной сходимости (в смысле уменьшения $\varphi ({{u}_{k}})$ при увеличении $k$). Во-вторых, вместо $H({{u}_{k}})$ должна использоваться некоторая ее аппроксимация ${{M}_{k}}$, являющаяся обратимой матрицей с не слишком большой нормой обратной $\left\| {M_{k}^{{ - 1}}} \right\|$. Поэтому предлагается следующий прототип метода:

${{u}_{{k + 1}}} = {{u}_{k}} - {{\alpha }_{k}}M_{k}^{{ - 1}}g({{u}_{k}}),$
где
(22)
${{M}_{k}} = H({{u}_{k}}) + \delta {\text{Diag}}(A{{A}^{{\text{т}}}}).$
Выбор параметров $0 < {{\alpha }_{k}} \leqslant 1$ и $0 \leqslant \delta \ll 1$ существенен для лучшей сходимости. Кроме того, на начальных этапах итераций наиболее эффективной стратегией является использование приближенных ньютоновских направлений ${{d}_{k}} \approx M_{k}^{{ - 1}}g({{u}_{k}})$, которые могут быть получены предобусловленным методом сопряженных градиентов, примененным к решению уравнения ${{M}_{k}}{{d}_{k}} = g({{u}_{k}})$. Как будет показано ниже, достаточно использовать любой вектор ${{d}_{k}}$, который удовлетворяет условиям
(23)
$d_{k}^{{\text{т}}}{{g}_{k}} = d_{k}^{{\text{т}}}{{M}_{k}}{{d}_{k}} = \vartheta _{k}^{2}g_{k}^{{\text{т}}}M_{k}^{{ - 1}}{{g}_{k}}$
с $0 < {{\vartheta }_{k}} < 1$, достаточно хорошо отделенным от нуля. При любом предобусловливании метода сопряженных градиентов такие аппроксимации удовлетворяют (23) (см. п. 4.3 ниже). Для выбора параметра $0 < \alpha \leqslant 1$ используется правило Армийо
(24)
$\varphi ({{u}_{k}} - \alpha {{d}_{k}}) \leqslant \varphi ({{u}_{k}}) - \frac{\alpha }{2}d_{k}^{{\text{т}}}g({{u}_{k}}),\quad \alpha \in {\text{\{ }}1,1{\text{/}}2,1{\text{/}}4,\; \ldots {\text{\} }},$
где выбирается максимально возможное значение $0 < \alpha \leqslant 1$, при котором выполняется условие (24). Соответствующий алгоритм ньютоновского типа можно представить в виде:

АЛГОРИТМ 1

 Input:

$A \in {{R}^{{m \times n}}}$, $b \in {{R}^{m}}$, $\hat {x} \in {{R}^{m}}$;

Initialization:

$\delta = {{10}^{{ - 6}}}$, $\varepsilon = {{10}^{{ - 12}}}$, $\tau = {{10}^{{ - 15}}}$;

${{k}_{{max}}} = 2000$, ${{l}_{{max}}} = 10$, ${{u}_{0}} = {{0}_{m}}$;

Iterations:

for $k = 0,1,\; \ldots ,\;{{k}_{{max}}} - 1$:

  ${{x}_{k}} = {{(\hat {x} + {{A}^{{\text{т}}}}{{u}_{k}})}_{ + }}$

  ${{\varphi }_{k}} = \tfrac{1}{2}{{\left\| {{{x}_{k}}} \right\|}^{2}} - {{b}^{{\text{т}}}}{{u}_{k}}$

  ${{g}_{k}} = A{{x}_{k}} - b$

  if $(\left\| {{{g}_{k}}} \right\| \leqslant \varepsilon \left\| b \right\|)$ return ${\text{\{ }}{{x}_{k}},{{u}_{k}},{{g}_{k}}{\text{\} }}$

  find ${{d}_{k}} \in {{R}^{m}}$ such that

   $d_{k}^{{\text{т}}}{{g}_{k}} = d_{k}^{{\text{т}}}{{M}_{k}}{{d}_{k}} = \vartheta _{k}^{2}{{g}_{k}}M_{k}^{{ - 1}}{{g}_{k}}$,

   where ${{M}_{k}} = A{\text{Diag}}({\text{sign}}({{x}_{k}})){{A}^{{\text{т}}}} + \delta {\text{Diag}}(A{{A}^{{\text{т}}}})$

  ${{\alpha }^{{(0)}}} = 1$

  $u_{k}^{{(0)}} = {{u}_{k}} - {{d}_{k}}$

  for $l = 0,1,\; \ldots ,\;{{l}_{{max}}} - 1$:

   $x_{k}^{{(l)}} = {{(\hat {x} + {{A}^{{\text{т}}}}u_{k}^{{(l)}})}_{ + }}$

   $\varphi _{k}^{{(l)}} = \tfrac{1}{2}{{\left\| {x_{k}^{{(l)}}} \right\|}^{2}} - {{b}^{{\text{т}}}}u_{k}^{{(l)}}$

   $\zeta _{k}^{{(l)}} = \left( {\tfrac{1}{2}{{\alpha }^{{(l)}}}d_{k}^{{\text{т}}}{{g}_{k}} + \varphi _{k}^{{(l)}}} \right) - {{\varphi }_{k}}$

   if ($\zeta _{k}^{{(l)}} > \tau \left| {{{\varphi }_{k}}} \right|$) then

    ${{\alpha }^{{(l + 1)}}} = {{\alpha }^{{(l)}}}{\text{/}}2$

    $u_{k}^{{(l + 1)}} = {{u}_{k}} - {{\alpha }^{{(l + 1)}}}{{d}_{k}}$

   else

    $u_{k}^{{(l + 1)}} = u_{k}^{{(l)}}$

    go to NEXT

   end if

  end for

  NEXT: ${{u}_{{k + 1}}} = u_{k}^{{(l + 1)}}$

end for

Далее исследуем свойства сходимости этого алгоритма.

4. АНАЛИЗ СХОДИМОСТИ МЕТОДА НЬЮТОНОВСКОГО ТИПА

Оказывается, что анализ сходимости Алгоритма 1 можно выполнить тем же образом, что и в работах [4] и [17] (где, однако, рассматривается нелинейная задача наименьших квадратов для гладких функций). Для полноты изложения и совместимости обозначений мы воспроизводим здесь основные результаты из [4].

4.1. Анализ сходимости метода ньютоновского типа

Основные необходимые предположения для рассматриваемой функции $\varphi (u)$ заключаются в том, что она ограничена снизу, имеет градиент $g(u) \in {{R}^{m}}$ и удовлетворяет оценке

(25)
$\varphi (u + q) - \varphi (u) - {{q}^{{\text{т}}}}g(u) \leqslant \frac{\gamma }{2}{{q}^{{\text{т}}}}Mq$
для симметричной положительно определенной $m \times m$ матрицы $M = M(u)$, определеной выше в (22) и некоторой константы $\gamma \geqslant 1$. Предполагается также, что доступна достаточно экономичная процедура умножения матрицы $M$ на произвольный вектор.

Заметим, что знание точного значения $\gamma $ не требуется для реальных вычислений. Существование $\gamma $ следует из (22) и леммы 3. Действительно, обозначая $D = {{({\text{Diag}}(A{{A}^{{\text{т}}}}))}^{{1/2}}}$ и $\hat {A} = {{D}^{{ - 1}}}A$, для правой части (17) имеем с учетом $\left\| {{\text{Diag}}(d)} \right\| \leqslant 1$ и $H(u) \geqslant 0$ имеем,

$A{\text{Diag}}(d){{A}^{{\text{т}}}} \leqslant A{{A}^{{\text{т}}}} \leqslant {{\left\| {\hat {A}} \right\|}^{2}}{\text{Diag}}(A{{A}^{{\text{т}}}}) \leqslant \frac{{{{{\left\| {\hat {A}} \right\|}}^{2}}}}{\delta }(\delta {\text{Diag}}(A{{A}^{{\text{т}}}}) + H(u)) = \frac{{{{{\left\| {\hat {A}} \right\|}}^{2}}}}{\delta }M.$
Поэтому (25) выполняется с
(26)
$\gamma = {{\left\| {\hat {A}} \right\|}^{2}}{\text{/}}\delta .$
Последняя формула объясняет выбор $M$, который способен учитывать большие вариации норм строк в $A$ (см. примеры и обсуждение в п. 5.1).

Укажем также, что если вектор направления $d$ получен после $i \geqslant 1$ итераций предобусловленного метода сопряженных градиентов с нулевым начальным приближением, примененным к решению системы линейных уравнений $Md = g$, то выполнено требуемое условие нормировки (23), см. п. 4.3).

Оценим уменьшение значения $\varphi $, которое достигается при спуске по направлению $( - d)$, удовлетворяющему (23). Далее используются упрощенные обозначения $u = {{u}_{k}}$, $\hat {u} = {{u}_{{k + 1}}}$ и т.д. Можно дать следующую оценку уменьшения значения целевой функции на каждой итерации $\hat {u} = u - \alpha d$ с выбором $\alpha = {{2}^{{ - l}}}$, где $l = 0,1,\; \ldots $, по правилу Армийо (24):

(27)
$\varphi (\hat {u}) \leqslant \varphi (u) - \frac{{{{\vartheta }^{2}}}}{{4\gamma }}{{g}^{{\text{т}}}}{{M}^{{ - 1}}}g.$
В частности, если значения ${{\vartheta }^{2}}$ отделены от нуля положительной константой $\vartheta _{{min}}^{2}$ (нижняя оценка для $\vartheta $ следует из п. 4.3 и верхней границы для $\kappa = {\text{cond}}(CM)$), то с учетом оценки $M \leqslant (1 + \delta ){{\left\| A \right\|}^{2}}I$ (вытекающей из (13), (22)) и ограниченности $\varphi $ снизу, следует
$\sum\limits_{j = 0}^{k - 1} {g_{j}^{{\text{т}}}} {{g}_{j}} \leqslant \frac{{4\gamma (1 + \delta ){{{\left\| A \right\|}}^{2}}(\varphi ({{u}_{0}}) - \varphi ({{u}_{ * }}))}}{{\vartheta _{{min}}^{2}}}.$
Замечая, что правая сторона последней оценки не зависит от $k$, окончательно получаем
$\mathop {lim}\limits_{k \to \infty } \left\| {g({{u}_{k}})} \right\| = 0,$
где $k$ – номер внешней итерации (см. алгоритм 1).

Оценка (27) может быть установлена следующим образом (обратим внимание, что аналогичный анализ можно найти в [13]). Используя $q = - \beta d$, где $0 < \beta < 2{\text{/}}\gamma $, получаем из (25) и (23) следующую оценку уменьшения $\phi $ вдоль направления $( - d)$:

(28)
$\varphi (u - \beta d) = \varphi (u) - \beta {{d}^{{\text{т}}}}g + (\varphi (u - \beta d) - \varphi (u) - \beta {{d}^{{\text{т}}}}g) \leqslant \varphi (u) - \left( {\beta - \frac{\gamma }{2}{{\beta }^{2}}} \right){{d}^{{\text{т}}}}Md.$
Возможны следующие два случая.

Случай 1. Если условие (24) выполняется сразу при $\alpha = 1$, то с учетом левого равенства (23) это означает, что

$\varphi (\hat {u}) \leqslant \varphi (u) - \frac{1}{2}{{d}^{{\text{т}}}}Md.$

Случай 2. Иначе, если было выполнено по крайней мере одно деление длины шага пополам (и его значение стало равно $\alpha $), то, используя (28) с $\beta = 2\alpha $, получаем

$\varphi (u) - \alpha {{d}^{{\text{т}}}}Md < \varphi (u - 2\alpha d) \leqslant \varphi (u) - (2\alpha - 2\gamma {{\alpha }^{2}}){{d}^{{\text{т}}}}Md,$
откуда имеем $\alpha > 1{\text{/}}(2\gamma )$. С другой стороны, справедливо
$\varphi (u - \alpha d) \leqslant \varphi (u) - \frac{\alpha }{2}{{d}^{{\text{т}}}}Md,$
и поэтому верно следующее:
(29)
$\varphi (u - \alpha d) \leqslant \varphi (u) - \frac{1}{{4\gamma }}{{d}^{{\text{т}}}}Md.$
Объединяя рассмотренные два случая, учитывая условие $\gamma \geqslant 1$ и используя второе равенство (23), приходим к требуемой оценке (27).

Осталось заметить, что когда с увеличением $k$ нормы векторов ${{g}_{k}}$ станут достаточно малыми, получаемые направления ${{d}_{k}}$ также будут иметь малые нормы. Поэтому реализуется ситуация, рассмотренная в замечании 1, и наступит этап весьма быстрой сходимости ньютоновского метода (тем более быстрой, чем меньшим выбрано значение параметра $\delta $ в (22)).

4.2. Критерий завершения итераций метода сопряженных градиентов

Ниже будет рассмотрено соотношение между сходимостью итераций метода сопряженных градиентов при вычислении приближений к ньютоновским направлениям и общей эффективностью метода ньютоновского типа, использующего такие приближенные направления. Аналогичные рассмотрения проводились в работах [3], [4], [17], [18].

Приближение ${{d}^{{(i)}}}$ к решению задачи $Md = g$, построенное на $i$-й итерации метода сопряженных градиентов по рекуррентной формуле ${{d}^{{(i + 1)}}} = {{d}^{{(i)}}} + {{s}^{{(i)}}}$ (см. ниже алгоритм 2) может быть записано следующим образом (напомним, что здесь всегда выбирается начальное приближение ${{d}^{{(0)}}} = 0$):

(30)
${{d}^{{(i)}}} = \sum\limits_{j = 0}^{i - 1} {{{s}^{{(j)}}}} ,$
где векторы направлений ${{s}^{{(j)}}}$ образуют $M$-ортогональную систему: ${{({{s}^{{(j)}}})}^{{\text{т}}}}M{{s}^{{(l)}}} = 0$, $j \ne l$. Введем также обозначения для $M$-норм этих направлений ${{\eta }^{{(j)}}} = {{({{s}^{{(j)}}})}^{{\text{т}}}}M{{s}^{{(j)}}}$, $j = 0,1,\; \ldots ,\;i - 1$. Тогда, используя (30), можно определить величины
${{\zeta }^{{(i)}}} = {{({{d}^{{(i)}}})}^{{\text{т}}}}M{{d}^{{(i)}}} = \sum\limits_{j = 0}^{i - 1} {{{\eta }^{{(j)}}}} ,$
так что оценка (29) принимает вид
${{\varphi }_{{k + 1}}} \leqslant {{\varphi }_{k}} - \frac{1}{{4\gamma }}\sum\limits_{j = 0}^{{{i}_{k}} - 1} {\eta _{k}^{{(j)}}} ,$
где через $k$ обозначается номер ньютоновской итерации. Суммируя полученные неравенства для $0 \leqslant k \leqslant m - 1$, получаем
(31)
${{c}_{0}} \equiv 4\gamma ({{\varphi }_{0}} - {{\varphi }_{ * }}) \geqslant \sum\limits_{k = 0}^{m - 1} {\sum\limits_{j = 0}^{{{i}_{k}} - 1} {\eta _{k}^{{(j)}}} } .$
С другой стороны, мера затрат, пропорциональная общему времени, требуемому для выполнения $m$ итераций ньютоновского типа (при ${{i}_{k}}$ итерациях метода сопряженных градиентов на каждой из них), может быть оценена как
${{T}_{m}} = \sum\limits_{k = 0}^{m - 1} {\left( {\epsilon _{{{\text{CG}}}}^{{ - 1}} + {{i}_{k}}} \right)} \leqslant {{c}_{0}}\frac{{\sum\limits_{k = 0}^{m - 1} {\left( {\epsilon _{{{\text{CG}}}}^{{ - 1}} + {{i}_{k}}} \right)} }}{{\sum\limits_{k = 0}^{m - 1} {\sum\limits_{j = 0}^{{{i}_{k}} - 1} {\eta _{k}^{{(j)}}} } }} \leqslant {{c}_{0}}\mathop {max}\limits_{k < m} \frac{{\epsilon _{{{\text{CG}}}}^{{ - 1}} + {{i}_{k}}}}{{\sum\limits_{j = 0}^{{{i}_{k}} - 1} {\eta _{k}^{{(j)}}} }} = {{c}_{0}}\mathop {max}\limits_{k < m} \frac{{\epsilon _{{{\text{CG}}}}^{{ - 1}} + {{i}_{k}}}}{{{{\zeta }^{{({{i}_{k}})}}}}}.$
Здесь введен малый параметр ${{\epsilon }_{{{\text{CG}}}}} \in (0,1)$, предназначенный для учета отношения затрат на одну итерацию метода сопряженных градиентов к дополнительным затратам на одну итерацию метода Ньютона (включающим, в частности, затраты на построение предобусловливания и на несколько вычислений $\varphi $ в процессе выбора длины шага $\alpha $), а также возможной потери эффективности из-за преждевременного окончания итераций метода сопряженных градиентов. Таким образом, вводя функцию $\psi (i) = (_{{{\text{CG}}}}^{{ - 1}} + i){\text{/}}{{\zeta }^{{(i)}}}$, можно предложить соответствующий критерий остановки итераций по условию $\psi (i) > \psi (i - 1)$, которое можно переписать в виде
(32)
$(\epsilon _{{{\text{CG}}}}^{{ - 1}} + i){{\eta }^{{(i - 1)}}} \leqslant {{\zeta }^{{(i)}}}.$
Очевидно, использование меньших значений ${{\varepsilon }_{{{\text{CG}}}}}$ соответствует повышению получаемой границы числа итераций. Заметим, что при использовании указанного критерия остановки метод сопряженных градиентов всегда делает не меньше двух итераций.

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

Следуя [9], используем предобусловливание Якоби

(33)
$C = {{({\text{Diag}}(M))}^{{ - 1}}}.$
Кроме того, используем переформулировку [19] метода сопряженных градиентов [20], [21]. Такой выбор может обеспечить возможность более эффективной параллельной реализации, см., например, [9].

Следуя [19], напомним, что на каждой итерации метода сопряженных градиентов ${{M}^{{ - 1}}}$-норма $(i + 1)$-й невязки ${{r}^{{(i + 1)}}} = g - M{{d}^{{(i + 1)}}}$ минимальна в соответствующем подпространстве Крылова. Используя стандартные рекуррентные соотношения метода (см. ниже п. 4.3), можно найти

${{d}^{{(i + 1)}}} = {{d}^{{(i)}}} + C{{r}^{{(i)}}}{{\alpha }^{{(i)}}} + {{s}^{{(i - 1)}}}{{\alpha }^{{(i)}}}{{\beta }^{{(i - 1)}}}.$
Поэтому оптимальное приращение ${{s}^{{(i)}}}$ в рекуррентной формуле ${{d}^{{(i + 1)}}} = {{d}^{{(i)}}} + {{s}^{{(i)}}}$, где ${{s}^{{(i)}}} = {{V}^{{(i)}}}{{h}^{{(i)}}}$ и ${{V}^{{(i)}}} = [C{{r}^{{(i)}}}\,|\,{{s}^{{(i - 1)}}}]$, может быть определено как решение следующей двумерной линейной задачи наименьших квадратов:
$\left[ {_{{{{\beta }^{{(i)}}}}}^{{{{\alpha }^{{(i)}}}}}} \right] = {{h}^{{(i)}}} = arg\mathop {min}\limits_{h \in {{R}^{2}}} {{\left\| {g - M{{d}^{{(i + 1)}}}} \right\|}_{{{{M}^{{ - 1}}}}}} = arg\mathop {min}\limits_{h \in {{R}^{2}}} {{\left\| {{{r}^{{(i)}}} - M{{V}^{{(i)}}}h} \right\|}_{{{{M}^{{ - 1}}}}}}.$
Переопределяя ${{r}^{{(i)}}}: = - {{r}^{{(i)}}}$ и вводя векторы ${{t}^{{(i)}}} = M{{s}^{{(i)}}}$, получаем требуемую переформулировку алгоритма:

АЛГОРИТМ 2

${{r}^{{(0)}}} = - g,$${{d}^{{(0)}}} = {{s}^{{( - 1)}}} = {{t}^{{( - 1)}}} = 0,$${{\zeta }^{{( - 1)}}} = 0;$

$i = 0,1,\; \ldots ,\;i{{t}_{{max}}}:$

  ${{w}^{{(i)}}} = C{{r}^{{(i)}}},$

  ${{z}^{{(i)}}} = M{{w}^{{(i)}}},$

  ${{\gamma }^{{(i)}}} = {{({{r}^{{(i)}}})}^{{\text{т}}}}{{w}^{{(i)}}},$${{\xi }^{{(i)}}} = {{({{w}^{{(i)}}})}^{{\text{т}}}}{{z}^{{(i)}}},$${{\eta }^{{(i - 1)}}} = {{({{s}^{{(i - 1)}}})}^{{\text{т}}}}{{t}^{{(i - 1)}}},$

  ${{\zeta }^{{(i)}}} = {{\zeta }^{{(i - 1)}}} + {{\eta }^{{(i - 1)}}},$

  if $((\varepsilon _{{{\text{CG}}}}^{{ - 1}} + i){{\eta }^{{(i - 1)}}} \leqslant {{\zeta }^{{(i)}}})$ or $({{\gamma }^{{(i)}}} \leqslant \varepsilon _{{{\text{CG}}}}^{2}{{\gamma }^{{(0)}}})$ return ${\text{\{ }}{{d}^{{(i)}}}{\text{\} }}$;

  if ($k = 0$) then

    ${{\alpha }^{{(i)}}} = - {{\gamma }^{{(i)}}}{\text{/}}{{\xi }^{{(i)}}},\quad {{\beta }^{{(i)}}} = 0;$

  else

    ${{\delta }^{{(i)}}} = {{\gamma }^{{(i)}}}{\text{/}}({{\xi }^{{(i)}}}{{\eta }^{{(i - 1)}}} - {{({{\gamma }^{{(i)}}})}^{2}})$,

    ${{\alpha }^{{(i)}}} = - {{\eta }^{{(i - 1)}}}{{\delta }^{{(i)}}}$, ${{\beta }^{{(i)}}} = {{\gamma }^{{(i)}}}{{\delta }^{{(i)}}}$;

  end if

  ${{t}^{{(i)}}} = {{z}^{{(i)}}}{{\alpha }^{{(i)}}} + {{t}^{{(i - 1)}}}{{\beta }^{{(i)}}},$${{r}^{{(i + 1)}}} = {{r}^{{(i)}}} + {{t}^{{(i)}}},$

  ${{s}^{{(i)}}} = {{w}^{{(i)}}}{{\alpha }^{{(i)}}} + {{s}^{{(i - 1)}}}{{\beta }^{{(i)}}},$${{d}^{{(i + 1)}}} = {{d}^{{(i)}}} + {{s}^{{(i)}}}.$

Для большей надежности, наряду с новым критерием остановки итераций (32), здесь также применяется и стандартный критерий; однако, почти всегда в расчетах срабатывал именно новый критерий.

Несмотря на некоторое увеличение затрат рабочей памяти и количества векторных операций алгоритма 2 по сравнению со стандартным (см. следующий раздел), он может допускать более эффективную параллельную реализацию операций скалярного произведения при большом числе процессов MPI и значительной латентности операций обмена данными. Так, на каждой итерации алгоритма 2 достаточно применения одной операции сборки/рассылки MPI$\_$AllReduce($ * $,$ * $,3,…), в то время как стандартный алгоритм требует двух таких операций MPI$\_$AllReduce($ * $,$ * $,1,…). Аналогичные алгебраически эквивалентные переформулировки алгоритма предобусловленного метода сопряженных градиентов можно найти в работе [22] и цитированных в ней источниках.

4.3. Оценки сходимости метода сопряженных градиентов

Напомним некоторые использованные выше основные свойства метода сопряженных градиентов (см., например, [21]). Стандартный алгоритм (алгебраически эквивалентный алгоритму 2) для решения задачи $Md = g$ с нулевого начального приближения ${{d}_{0}}$ выглядит следующим образом:

(34)
$\begin{gathered} {{d}^{{(0)}}} = 0,\quad {{r}^{{(0)}}} = g,\quad {{s}^{{(0)}}} = C{{r}^{{(0)}}}; \hfill \\ {\mathbf{for}}\;i = 0,1,\; \ldots ,\;m - 1: \hfill \\ \quad \;{{\alpha }^{{(i)}}} = {{({{r}^{{(i)}}})}^{{\text{т}}}}C{{r}^{{(i)}}}{\text{/}}{{({{s}^{{(i)}}})}^{{\text{т}}}}M{{s}^{{(i)}}}, \hfill \\ \quad \;{{d}^{{(i + 1)}}} = {{d}^{{(i)}}} + {{s}^{{(i)}}}{{\alpha }^{{(i)}}}, \hfill \\ \quad \;{{r}^{{(i + 1)}}} = {{r}^{{(i)}}} - M{{s}^{{(i)}}}{{\alpha }^{{(0)}}}, \hfill \\ \quad \;{\mathbf{if}}\;({{({{r}^{{(i)}}})}^{{\text{т}}}}C{{r}^{{(i + 1)}}} \leqslant \varepsilon _{{{\text{CG}}}}^{2}{{({{r}^{{(0)}}})}^{{\text{т}}}}C{{r}^{{(0)}}})\;{\mathbf{return}}\;{{d}^{{(i + 1)}}} \hfill \\ \quad \;{{\beta }^{{(i)}}} = {{({{r}^{{(i + 1)}}})}^{{\text{т}}}}C{{r}^{{(i + 1)}}}{\text{/}}{{({{r}^{{(i)}}})}^{{\text{т}}}}C{{r}^{{(i)}}}, \hfill \\ \quad \;{{s}^{{(i + 1)}}} = C{{r}^{{(i + 1)}}} + {{s}^{{(i)}}}{{\beta }^{{(i)}}}. \hfill \\ {\mathbf{end}}\;{\mathbf{for}} \hfill \\ \end{gathered} $
Справедливость условия нормировки (23) ${{d}^{{\text{т}}}}g = {{d}^{{\text{т}}}}Md$ (здесь и далее опущены индексы при $d$) можно доказать следующим образом. Пусть вектор $d = {{d}^{{(i)}}}$ получен после выполнения $i$ итераций приведенного выше метода сопряженных градиентов. Тогда имеем
$d \in {{K}_{i}} = {\text{span\{ }}Cg,CMCg,\; \ldots ,\;{{(CM)}^{{i - 1}}}Cg{\text{\} }},$
и, в силу свойства оптимальности метода, справедливо соотношение
$d = arg\mathop {min}\limits_{d \in {{K}_{i}}} {{(g - Md)}^{{\text{т}}}}{{M}^{{ - 1}}}(g - Md).$
Так как $\beta d \in {{K}_{i}}$ для любого скаляра $\beta $, получаем
${{(g - \beta Md)}^{{\text{т}}}}{{M}^{{ - 1}}}(g - \beta Md) \geqslant {{(g - Md)}^{{\text{т}}}}{{M}^{{ - 1}}}(g - Md).$
Полагая здесь $\beta = {{d}^{{\text{т}}}}g{\text{/}}{{d}^{{\text{т}}}}Md$, можно легко преобразовать полученное неравенство к виду $0 \geqslant {{( - {{d}^{{\text{т}}}}g + {{d}^{{\text{т}}}}Md)}^{2}}$, откуда следует (23). Кроме того, согласно известной оценке [21] погрешности метода сопряженных градиентов с использованием многочленов Чебышёва, получаем
$1 - {{\theta }^{2}} \equiv {{(g - Md)}^{{\text{т}}}}{{M}^{{ - 1}}}(g - Md){\text{/}}{{g}^{{\text{т}}}}{{M}^{{ - 1}}}g \leqslant cos{{h}^{{ - 2}}}(2i{\text{/}}\sqrt \kappa ),$
где
$\kappa = {\text{cond}}(CM) \equiv {{\lambda }_{{max}}}(CM){\text{/}}{{\lambda }_{{min}}}(CM).$
В силу условия нормировки (23), отсюда следует оценка
(35)
${{\theta }^{2}} = {{d}^{{\text{т}}}}Md{\text{/}}{{g}^{{\text{т}}}}{{M}^{{ - 1}}}g \geqslant tan{{h}^{2}}\left( {2i{\text{/}}\sqrt \kappa } \right).$
Таким образом, установлено, что $0 < \theta < 1$, причем ${{\theta }^{2}} \to 1$ при увеличении числа итераций $i$.

5. РЕЗУЛЬТАТЫ ЧИСЛЕННЫХ ТЕСТОВ

Ниже рассмотрены два семейства тестовых задач, которые могут быть решены сведением к безусловной минимизации кусочно-квадратичных функций. Первое семейство — нахождение проекции заданной точки на множество неотрицательных решений системы линейных уравнений (см. также [10]), второе представлено задачей вычисления расстояния между двумя выпуклыми многогранниками, рассмотренной в работе [12]. Последняя задача важна, например, в таких приложениях, как робототехника и компьютерная анимация.

5.1. Результаты расчетов для задач из коллекции NETLIB

Входные данные следующих 11 задач линейного программирования (тех же самых задач из NETLIB, которые были использованы для тестирования в [11]) послужили для формирования тестовых задач типа (10). Чтобы обеспечить возможность непосредственного сравнения с результатами расчетов из [11], ниже рассматривается только случай $\hat {x} = 0$. Напомним также обозначение ${{x}_{ * }} = {{(\hat {x} + {{A}^{{\text{т}}}}{{u}_{ * }})}_{ + }}$. Задачи в табл. 1 даны в порядке возрастания количества ненулевых элементов ${\text{nz}}(A)$ в матрице $A \in {{R}^{{m \times n}}}$. Здесь и далее для вещественных чисел используются обозначения типа 7.E–09 = $7 \times {{10}^{{ - 9}}}$.

Таблица 1.  

Свойства матриц для 11 задач из NETLIB

Задача m n $\tfrac{{nz(A)}}{{mn}}$ $\left\| {{{x}_{ * }}} \right\|$ $mi{{n}_{i}}{{(A{{A}^{{\text{т}}}})}_{{ii}}}$ $ma{{x}_{i}}{{(A{{A}^{{\text{т}}}})}_{{ii}}}$
afiro 27 51 7.E–2 634.029569 1.18490000 44.9562810
addlittle 56 138 5.E–2 430.764399 1.00000000 10 654.0000
Agg3 516 758 1.E–2 765 883.022 1.00000001 179 783.783
25fv47 821 1876 7.E–3 3310.45652 0.00000000 88 184.0358
Pds$\_$02 2953 7716 7.E–5 16 0697.180 1.00000000 91.0000000
cre$\_$a 3516 7248 7.E–5 1162.32987 0.00000000 27 476.8400
80bau3b 2262 12 061 8.E–4 4129.96530 1.00000000 321 739.679
Ken$\_$13 28 362 42 659 8.E–5 25 363.3224 1.00000000 170.000000
maros$\_$r7 3136 9408 5.E–3 141 313.207 3.05175947 3.37132546
cre$\_$b 9648 77137 3.E–3 624.270129 0.00000000 27 476.8400
Osa$\_$14 2337 54797 2.E–3 119 582.321 18.0000000 845 289.908

Как видно из двух последних столбцов табл. 1, три из 11 матриц имеют нулевые строки, и более половины имеют довольно большой разброс строчных норм. Это объясняет использование в настоящей работе регуляризации гессиана в виде (22) вместо ранее предложенной в [10], [11] конструкции ${{M}_{k}} = H({{u}_{k}}) + \delta {{I}_{m}}$. Последняя более подходит для матриц со строками примерно равной длины, таких как в задаче maros$\_$r7 или для матриц с равномерно распределенными псевдослучайными элементами, использовавшихся для тестирования в [9], [11]. В частности, оценка (26) при $D = I$ имеет вид $\gamma = {{\left\| A \right\|}^{2}}{\text{/}}\delta $, что повышает чувствительность метода к выбору параметра $\delta $.

Некоторые задачи, например 80bau3b, имели матрицы с нулевыми столбцами; однако использованная реализация метода позволила устранить возможные численные затруднения.

В табл. 2 воспроизведены результаты, опубликованные в [11], и представлены аналогичные результаты, полученные с использованием предложенного в настоящей работе метода ньютоновского типа (см. алгоритм 1). Подчеркнем, что для предложенного метода использовался фиксированный набор настроечных параметров

(36)
$\delta = {{10}^{{ - 6}}},\quad \varepsilon = {{10}^{{ - 12}}},\quad {{\varepsilon }_{{{\text{CG}}}}} = {{10}^{{ - 3}}},\quad {{l}_{{max}}} = 10$
для всех 11 задач. В работе [11] выбор параметров, например для процедуры Армийо, не был конкретизирован.

Таблица 2.  

Сравнение методов на 11 задачах из NETLIB

Задача Метод Время (с) ${{\left\| {Ax - b} \right\|}_{\infty }}$ #NewtIter #MVMult
afiro GNewtEGK 0.001 8.63E–11 17 398
» ssGNewton 0.06 6.39E–14
» cqpMOSEK 0.31 1.13E–13
addlittle GNewtEGK 0.003 6.45E–10 22 1050
» ssGNewton 0.05 2.27E–13
» cqpMOSEK 0.35 7.18E–11
agg3 GNewtEGK 0.14 3.93E–07 116 9234
» ssGNewton 0.27 3.59E–08
» cqpMOSEK 0.40 2.32E–10
25fv47 GNewtEGK 0.54 7.15E–10 114 32 234
» ssGNewton 1.51 3.43E–09
» cqpMOSEK 1.36 1.91E–11
pds$\_$02 GNewtEGK 0.32 1.55E–08 75 8559
» ssGNewton 2.30 1.40E–07
» cqpMOSEK 0.51 8.20E–06
cre$\_$a GNewtEGK 3.36 2.64E–09 219 85 737
» ssGNewton 1.25 4.13E–06
» cqpMOSEK 0.61 2.15E–10
80bau3b GNewtEGK 0.27 3.33E–09 79 6035
» ssGNewton 0.95 1.18E–12
» cqpMOSEK 0.80 2.90E–07
ken$\_$13 GNewtEGK 1.41 2.70E–08 55 6285
» ssGNewton 9.09 4.39E–09
» cqpMOSEK 2.09 1.71E–09
maros$\_$r7 GNewtEGK 0.10 1.18E–09 27 535
» ssGNewton 2.86 2.54E–11
» cqpMOSEK 55.20 3.27E–11
cre$\_$b GNewtEGK 9.25 6.66E–10 75 24 590
» ssGNewton 13.20 1.62E–09
» cqpMOSEK 2.31 1.61E–06
osa$\_$14 GNewtEGK 42.59 8.25E–08 767 104 874
» ssGNewton 60.10 4.10E–08
» cqpMOSEK 4.40 7.82E–05

В [11] вычисления проводились на компьютере 5 GHz AMD 64 Athlon X2 Dual Core. В наших расчетах использовалось одно вычислительное ядро компьютера 3.40 GHz X8 Intel (R) Core (TM) i7-3770 CPU, предположительно обладающего меньшей производительностью.

Отметим, что алгоритм, приведенный в [11], основан на непосредственном вычислении матрицы ${{M}_{k}}$ и ее треугольной факторизации, в то время как предлагаемая в настоящей работе реализация алгоритма 1 использует метод сопряженных градиентов с диагональным предобусловливанием (33) для вычисления приближенных ньютоновских направлений (аналогично тому, как было предложено в [9]). Поэтому эффективность алгоритма 1 существенно зависит от сходимости итераций метода сопряженных градиентов, которая иногда оказывается медленной (отчасти это компенсируется использованием нового критерия сходимости (32)). С другой стороны, основные вычислительные процедуры алгоритма 1 представлены операциями матрично-векторного умножения типа $x = Ap$ или $q = {{A}^{{\text{т}}}}y$ и элементарными векторными операциями, что способствует его эффективной параллельной реализации.

В табл. 2 сокращение cqpMOSEK относится к использованию пакета MOSEK программ выпуклой квадратичной оптимизации, см. [11]. Сокращение ssGNewton относится к методу, разработанному и протестированному в [11], а через GNewtEGK обозначенм метод, предложенный в настоящей работе.

Несмотря на использование менее производительного компьютера, предлагаемый метод GNewtEGK работает быстрее остальных двух для 8 задач из 11. В противном случае, можно заметить, что меньшее время вычислений для cqpMOSEK сопровождается выдачей приближенного решения с гораздо большей невязкой, чем для GNewtEGK (см. результаты решения задач cre$\_$b и osa$\_$14).

Результаты непосредственного сравнения эффективности стандартного критерия остановки итераций метода сопряженных градиентов ${{\gamma }^{{(i)}}} \leqslant \varepsilon _{{{\text{CG}}}}^{2}{{\gamma }^{{(0)}}}$ (см. алгоритм 2) с новым критерием остановки (32) дают в табл. 3, где приводятся значения времени счета и точности, усредненных по 11 задачам, в зависимости от заданного значения ${{\varepsilon }_{{{\text{CG}}}}}$. Видно, что те же уровни нормы невязки ${{\left\| {Ax - b} \right\|}_{\infty }}$ могут быть достигнуты и с новым критерием остановки итераций, причем с меньшими затратами времени и при менее критичной зависимости результата от выбранного значения ${{\varepsilon }_{{{\text{CG}}}}}$.

Таблица 3.  

Сравнение критериев остановки итераций метода СГ

Критерий ${{\varepsilon }_{{CG}}}$ Средн. геом. время Средн. арифм. время Средн. геом. невязка
Стандартный 0.05 1.78 12.37 3.64–09
Стандартный 0.03 1.45 12.21 3.47–09
Стандартный 0.01 1.35 14.91 2.11–09
Стандартный 0.003 1.48 21.14 2.14–09
Стандартный 0.001 1.82 29.12 3.64–09
Новый 0.003 1.66 11.12 3.46–09
Новый 0.002 1.39 11.36 3.64–09
Новый 0.001 1.26 10.81 4.65–09
Новый 0.0003 1.26 11.25 4.23–09
Новый 0.0001 1.33 12.47 3.60–09

5.2. Вычисление расстояния между двумя выпуклыми многогранниками

Пусть два выпуклых многогранника ${{\mathcal{X}}_{1}}$ и ${{\mathcal{X}}_{2}}$ заданы следующими двумя системами линейных неравенств:

${{\mathcal{X}}_{1}} = {\text{\{ }}{{x}_{1}}:A_{1}^{{\text{т}}}{{x}_{1}} \leqslant {{b}_{1}}{\text{\} }},\quad {{\mathcal{X}}_{2}} = {\text{\{ }}{{x}_{2}}:A_{2}^{{\text{т}}}{{x}_{2}} \leqslant {{b}_{2}}{\text{\} }},$
где ${{A}_{1}} \in {{R}^{{s \times {{n}_{1}}}}}$, ${{A}_{2}} \in {{R}^{{s \times {{n}_{2}}}}}$, и векторы ${{x}_{1}}$, ${{x}_{2}}$, ${{b}_{1}}$, ${{b}_{2}}$ имеют соответствующие размерности. Исходная задача вычисления расстояния между ${{\mathcal{X}}_{1}}$ и ${{\mathcal{X}}_{2}}$ имеет следующий вид:
${{x}_{ * }} = arg\mathop {min}\limits_{A_{1}^{{\text{т}}}{{x}_{1}} \leqslant {{b}_{1}},A_{2}^{{\text{т}}}{{x}_{2}} \leqslant {{b}_{2}}} {{\left\| {{{x}_{1}} - {{x}_{2}}} \right\|}^{2}}{\text{/}}2,\quad {\text{где}}\quad x = {{[x_{1}^{{\text{т}}},x_{2}^{{\text{т}}}]}^{{\text{т}}}} \in {{R}^{{2s}}}.$
Указанная постановка была предложена в [12], где для решения этой задачи применялся метод проекции градиента.

Будем использовать следующую регуляризованную/штрафную приближенную переформулировку задачи, сводящую ее к безусловной минимизации выпуклой кусочно-квадратичной функции. Вводя матрицы

$A\left[ {\begin{array}{*{20}{c}} {{{A}_{1}}}&0 \\ 0&{{{A}_{2}}} \end{array}} \right] \in {{R}^{{2s \times ({{n}_{1}} + {{n}_{2}})}}},\quad B\left[ {\begin{array}{*{20}{c}} {{{I}_{s}}}&{ - {{I}_{s}}} \\ { - {{I}_{s}}}&{{{I}_{s}}} \end{array}} \right] \in {{R}^{{2s \times 2s}}},$
и вектор $b = {{[b_{1}^{{\text{т}}},b_{2}^{{\text{т}}}]}^{{\text{т}}}} \in {{R}^{{{{n}_{1}} + {{n}_{2}}}}}$, рассмотрим задачу
${{x}_{ * }}(\varepsilon ) = arg\mathop {min}\limits_{x \in {{R}^{{2s}}}} \left( {\frac{\varepsilon }{2}{{{\left\| x \right\|}}^{2}} + \frac{1}{2}{{x}^{ \top }}Bx + \frac{1}{{2\varepsilon }}{{{\left\| {{{{({{A}^{{\text{т}}}}x - b)}}_{ + }}} \right\|}}^{2}}} \right),$
где регуляризующий/штрафной параметр $\varepsilon $ является достаточно малым положительным числом (мы использовали значение $\varepsilon = {{10}^{{ - 4}}}$). Построенную задачу можно решить, непосредственно используя описанный выше алгоритм 1, полагая в (22) $\delta = 0$ и используя следующие явные выражения для градиента и обобщенного гессиана:
$g(x) = \varepsilon x + Bx + {{\varepsilon }^{{ - 1}}}A{{({{A}^{{\text{т}}}}x - b)}_{ + }},\quad H(x) = \varepsilon I + B + {{\varepsilon }^{{ - 1}}}AD(x){{A}^{{\text{т}}}},$
где $D(x) = {\text{Diag}}({\text{sign}}{{({{A}^{{\text{т}}}}x - b)}_{ + }})$. При решении практической задачи по определению расстояния между двумя трехмерными выпуклыми многогранниками, заданными своими гранями (так что $s = 3$), ньютоновские итерации производятся в ${{R}^{6}}$, и поэтому затраты на каждую такую итерацию пропорциональны суммарному количеству граней многогранников $n = {{n}_{1}} + {{n}_{2}}$. В этом случае для вычисления $d = {{H}^{{ - 1}}}g$ предпочтительно выполнение явного формирования гессиана $H(x)$ и его точной треугольной факторизации.

Тестовые многогранники с $n{\text{/}}2$ гранями каждый, строились вокруг точек $e = {{[1,1,1]}^{{\text{т}}}}$ or $ - e$ и определялись системами неравенств $A_{1}^{{\text{т}}}(x - e) \leqslant {{b}_{1}}$ и $A_{2}^{{\text{т}}}(x + e) \leqslant {{b}_{2}}$ соответственно, где ${{b}_{1}} = {{b}_{2}} = [1,\; \ldots ,\;1] \in {{R}^{{n/2}}}$. Столбцы матриц ${{A}_{1}}$ и ${{A}_{2}}$ были заданы как $n{\text{/}}2$ псевдослучайных единичных $3$-векторов, компонентами которых служили члены т.наз. логистической рекуррентной последовательности (см., например, [23] и цитированные там источники) ${{\xi }_{0}} = 0.4$, ${{\xi }_{k}} = 1 - 2\xi _{{k - 1}}^{2}$. Использовались формулы ${{A}_{1}}(i,j) = {{\xi }_{{20(i - 1 + 3(j - 1))}}}$ и аналогично для ${{A}_{2}}$; затем их столбцы нормировались к единичной длине. Соответствующие результаты вычислений представляются вполне удовлетворительными как по точности, так и по скорости вычислений, см. табл. 4.

Таблица 4.  

Результаты применения метода ньютоновского типа при $\varepsilon = {{10}^{{ - 4}}}$ к задаче определения расстояния между двумя псевдослучайными выпуклыми многогранниками (с $n{\text{/}}2$ гранями у каждого)

n ${{\left\| {{{x}_{1}} - {{x}_{2}}} \right\|}_{2}}$ ${{\left\| {{{{({{A}^{{\text{т}}}}{{x}_{ * }} - b)}}_{ + }}} \right\|}_{\infty }}$ time (s) ${{\left\| {g({{x}_{ * }})} \right\|}_{\infty }}$ #NewtIter
8 0.001815 9.69–09 <0.001 7.89–13 15
16 0.481528 8.63–05 <0.001 1.27–13 3
32 0.795116 8.80–05 <0.001 1.46–12 28
64 1.102286 1.32–04 <0.001 5.58–13 13
128 1.446262 1.36–04 <0.001 7.12–13 17
256 1.449913 9.54–05 <0.001 4.37–13 11
512 1.460197 1.31–04 0.001 8.16–13 15
1024 1.460063 1.46–04 0.002 1.09–12 14
2048 1.463320 1.04–04 0.005 6.58–13 19
4096 1.463766 1.26–04 0.009 3.59–13 20
8192 1.463879 1.03–04 0.009 8.32–14 12
16 384 1.463976 7.58–05 0.009 1.64–12 13
32 768 1.464046 3.28–05 0.018 1.54–12 13

Дополнительно отметим, что для вычисленного расстояния всегда сохраняется верхняя оценка $\left\| {{{x}_{1}} - {{x}_{2}}} \right\| \leqslant 2\sqrt 3 - 2 \approx 1.464101$ (в силу того, что многогранники ${{\mathcal{X}}_{1}}$ и ${{\mathcal{X}}_{2}}$ являются описанными вокруг сфер $\left\| {{{x}_{1}} - e} \right\| = 1$ и $\left\| {{{x}_{2}} + e} \right\| = 1$ соответственно).

Авторы благодарны В.А. Гаранже за многочисленные полезные замечания, позволившие существенно улучшить изложение материала статьи.

Список литературы

  1. Golikov A.I., Kaporin I.E. Inexact Newton Method for Minimization of Convex Piecewise Quadratic Functions // In: Numerical Geometry, Grid Generation and Scientific Computing Proceedings of the 9th International Conference, NUMGRID 2018/Voronoi 150, Celebrating the 150th Anniversary of G.F. Voronoi, Moscow, Russia, December 2018 (Garanzha, V.A., Kamenski, Lennard, Si, Hang, Eds.) Lecture Notes in Computational Science and Engineering, Vol. 131. Springer Nature Switzerland AG (2019) ISBN 978-3-030-23435-5 https://doi.org/10.1007/978-3-030-23436-2$\_$10

  2. Гаранжа В.A., Капорин И.E. Регуляризация барьерного вариационного метода построения расчетных сеток // Ж. вычисл. матем. и матем. физ. 1999. Т. 39. № 9. С. 1489–1503.

  3. Garanzha V., Kaporin I., Konshin I. Truncated Newton type solver with application to grid untangling problem // Numer. Linear Algebra Appls. 2004. V. 11. № 5–6. P. 525–533.

  4. Капорин И.Е. Использование внутренних итераций метода сопряженных градиентов при решении больших разреженных нелинейных задач оптимизации // Ж. вычисл. матем. и матем. физ. 2003. Т. 43. № 6. С. 802–807.

  5. Garanzha V., Kudryavtseva L. Hypoelastic Stabilization of Variational Algorithm for Construction of Moving Deforming Meshes // In: Evtushenko Y., Jacimovic M., Khachay M., Kochetov Y., Malkova V., Posypkin M. (eds.) Optimization and Applications. OPTIMA 2018. Communications in Computer and Information Science, Vol. 974. Springer, Cham (2019). P. 497–511. https://doi.org/10.1007/978-3-030-10934-9_35

  6. Голиков А.И., Евтушенко Ю.Г. Отыскание нормальных решений в задачах линейного программирования // Ж. вычисл. матем. и матем. физ. 2000. Т. 40. № 12. С. 1766–1786.

  7. Mangasarian O.L. A Newton method for linear programming // J. Optimizat. Theory and Appl. 2004. V. 121. № 1. P. 1–18.

  8. Голиков А.И., Евтушенко Ю.Г., Моллаверди Н. Применение метода Ньютона к решению задач линейного программирования большой размерности // Ж. вычисл. матем. и матем. физ. 2004. Т. 44. № 9. С. 1564–1573.

  9. Гаранжа В.А., Голиков А.И., Евтушенко Ю.Г., Нгуен M.X. Параллельная реализация метода Ньютона для решения больших задач линейного программирования // Ж. вычисл. матем. и матем. физ. 2009. Т. 49. № 8. С. 1369–1384.

  10. Ганин Б.В., Голиков А.И., Евтушенко Ю.Г. Проективно-двойственный метод решения систем линейных уравнений с неотрицательными переменными // Ж. вычисл. матем. и матем. физ. 2018. Т. 58. № 2. С. 169–180.

  11. Ketabchi S., Moosaei H., Parandegan M., Navidi H. Computing minimum norm solution of linear systems of equations by the generalized Newton method // Numerical Algebra, Control and Optimizat. 2017. V. 7. № 2. P. 113–119.

  12. Bobrow J.E. A direct minimization approach for obtaining the distance between convex polyhedra // The Internat. J. Robotics Research. 1989. V. 8. № 3. P. 65–76.

  13. Mangasarian O.L. A finite Newton method for classification // Optimizat. Methods and Software. 2002. V. 17. № 5. P. 913–929.

  14. Hiriart-Urruty J.B., Strodiot J.J., Nguyen V.H. Generalized Hessian matrix and second-order optimality conditions for problems with ${{C}^{{1,1}}}$ data // Applied Mathematics and Optimization. 1984. V. 11. № 1. P. 43–56.

  15. Тихонов А.Н. О некорректных задачах линейной алгебры и устойчивом методе их решения // Докл. Акад. Наук СССР. 1965. Т. 163. № 4. С. 591–594.

  16. Голиков А.И., Евтушенко Ю.Г. Регуляризация и нормальные решения систем линейных уравнений и неравенств // Тр. ИММ УрО РАН. 2014. Т. 20. № 2. С. 113–121.

  17. Axelsson O., Kaporin I.E. Error norm estimation and stopping criteria in preconditioned conjugate gradient iterations // Numer. Linear Algebra Appls. 2001. V. 8. № 4. P. 265–286.

  18. Kaporin I.E., Axelsson O. On a class of nonlinear equation solvers based on the residual norm reduction over a sequence of affine subspaces // SIAM J. Sci. Comput. 1995. V. 16. № 1. P. 228–249.

  19. Капорин И.Е., Милюкова О.Ю. Массивно-параллельный алгоритм предобусловленного метода сопряженных градиентов для численного решения систем линейных алгебраических уравнений // Сб. трудов отдела проблем прикладной оптимизации ВЦ РАН / Под ред. В.Г. Жадана. М.: Изд-во ВЦ РАН, 2011. С. 32–49.

  20. Hestenes M.R., Stiefel E.L. Methods of conjugate gradients for solving linear systems // J. Res. Nat. Bur. Standards. 1952. V. 49. № 1. P. 409–436.

  21. Axelsson O. A class of iterative methods for finite element equations // Comput. Meth. Appl. Mech. Engrg. 1976. V. 9. P. 123–137.

  22. Dongarra J., Eijkhout V. Finite-choice algorithm optimization in Conjugate Gradients // Lapack Working Note 159. 2003. University of Tennessee Computer Science Report UT-CS-03-502.

  23. Yu L., Barbot J.P., Zheng G., Sun H. Compressive sensing with chaotic sequence. // IEEE Signal Proc. Lett. 2010. V. 17. № 8. P. 731–734.

Дополнительные материалы отсутствуют.