Журнал вычислительной математики и математической физики, 2019, T. 59, № 12, стр. 2086-2101
Метод ньютоновского типа для решения систем линейных уравнений и неравенств
А. И. Голиков 1, 2, *, Ю. Г. Евтушенко 1, 2, **, И. Е. Капорин 1, 2, ***
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
Аннотация
Предложен метод ньютоновского типа для численной минимизации выпуклых кусочно-квадратичных функций и анализируется его сходимость. Ранее аналогичный метод успешно применялся для задач оптимизации, возникающих в генерации численных сеток. Показана применимость метода к вычислению проекции заданной точки на множество неотрицательных решений системы линейных уравнений, а также к нахождению расстояния между двумя выпуклыми многогранниками. Производительность метода протестирована на наборе задач из библиотеки NETLIB. Библ. 24. Табл. 4.
ВВЕДЕНИЕ
Работа посвящена теоретическому и экспериментальному изучению метода ньютоновского типа, использующего приближенные направления, получаемые с применением предобусловленного метода сопряженных градиентов, и является обобщением и уточнением результатов [1]. Ранее подобный метод успешно применялся в задачах оптимизации, возникающих при генерации численных сеток [2]–[4], см. также [5]. Здесь рассматривается применение данного метода для численного решения задач безусловной минимизации выпуклой кусочно-квадратичной функции. К таким задачам относятся нахождение нормального решения задачи линейного программирования (ЛП) [6], [7] и нахождение проекции заданной точки на множество решений задачи ЛП [8], [9]. С задачей ЛП тесно связано нахождение проекции точки на множество неотрицательных решений недоопределенной системы линейных уравнений [10], [11] и вычисление расстояния между двумя выпуклыми многогранниками [12].
Впервые О. Мангасариан показал эффективность применения обобщенного метода Ньютона для минимизации выпуклой кусочно-квадратичной функции. В своих работах [7], [13] он исходил из возможности простого вычисления обобщенной матрицы Гессе, предложенного в [11], так как кусочно-квадратичная функция непрерывно дифференцируема только один раз.
В разд. 1 задача нахождения неотрицательного решения недоопределенной системы линейных равенств рассматривается с точки зрения линейного программирования, что приводит к рассмотрению взаимно двойственных задач, одна из которых (прямая задача) является оштрафованной, а вторая (двойственная задача) – регуляризованной. При этом через решение задачи безусловной оптимизации кусочно-квадратичной функции легко вычисляется нормальное решение исходной линейной системы (проекция точки). В разд. 2 приведены некоторые вспомогательные технические результаты, связанные с кусочно-квадратичной функцией. В разд. 3 описывается метод ньютоновского типа для безусловной оптимизации кусочно-квадратичной функции. Раздел 4 содержит анализ сходимости метода ньютоновского типа с учетом специального правила остановки внутренних итераций предобусловленного метода сопряженных градиентов. В разд. 5 представлены численные результаты для различных модельных задач.
1. ЗАДАЧИ ОПТИМИЗАЦИИ И СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ И НЕРАВЕНСТВ
Применение теории оптимизации к задачам нахождения решения систем линейных уравнений и неравенств может быть весьма полезным, так как дает возможность упростить исходную задачу. Так, используя теорию двойственности, можно перейти к решению задачи с меньшим числом переменных, т.е. к задаче, более удобной для применения эффективного метода оптимизации. Метод штрафных функций позволяет снять ограничения и использовать методы безусловной оптимизации; метод регуляризации позволяет выделить единственное решение из множества решений исходной задачи (например, найти нормальное решение или проекцию заданной точки). Теория двойственности наглядно демонстрирует связь между методом штрафа и методом регуляризации.
Рассмотрим задачу нахождения неотрицательного решения системы линейных уравнений
Здесь матрица $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{\} }},$Прямую задачу линейного программирования $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).$Если к задаче $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),$Если в задаче ${{P}_{r}}$ снять ограничения с помощью квадратичного штрафа, то получаем следующую задачу:
Выпишем теперь двойственные задачи к приведенным выше оптимизационным задачам. Начнем с задачи ${{P}_{p}}$, двойственной для которой является задача строго вогнутого квадратичного программирования:
Двойственной к ${{P}_{r}}$ является следующая оштрафованная задача $D$
Приведем двойственную задачу для ${{P}_{{rp}}}$
В свою очередь решение $u(\varepsilon )$ задачи ${{D}_{{pr}}}$ находится через решение $x(\varepsilon )$ задачи ${{P}_{{rp}}}$ минимизации строго выпуклой кусочно-квадратичной функции на неотрицательном ортанте по простой формуле $u(\varepsilon ) = \tfrac{1}{\varepsilon }(b - Ax(\varepsilon ))$.
Аналогично получается двойственная задача для ${{P}_{{pr}}}$:
Приведенную связь оштрафованных и регуляризованных задач с помощью двойственности можно представить в виде следующей схемы:
В эту же схему укладываются и задачи нахождения проекции заданной точки $\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).$Если оштрафовать задачу ${{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).$Далее остановимся на рассмотрении задачи (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}$ на множество неотрицательных решений недоопределенной системы линейных уравнений:
Итак, введем в рассмотрение выпуклую дифференцируемую кусочно-квадратичную функцию $\varphi (u):{{R}^{m}} \to {{R}^{1}}$:
(11)
$\varphi (u)\frac{1}{2}{{\left\| {{{{(\hat {x} + {{A}^{{\text{т}}}}u)}}_{ + }}} \right\|}^{2}} - {{b}^{{\text{т}}}}u.$(13)
$H(u) = A\operatorname{Diag} (\operatorname{sign} {{(\hat {x} + {{A}^{{\text{т}}}}u)}_{ + }}){{A}^{{\text{т}}}}.$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]. Подставляя эти равенства в тейлоровское разложение
Лемма 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)}_{ + }},$(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;$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\|$. Поэтому предлагается следующий прототип метода:
где Выбор параметров $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}}$(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{\} }},$АЛГОРИТМ 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$Заметим, что знание точного значения $\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$ имеем,
Укажем также, что если вектор направления $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.$Оценка (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) это означает, что
Случай 2. Иначе, если было выполнено по крайней мере одно деление длины шага пополам (и его значение стало равно $\alpha $), то, используя (28) с $\beta = 2\alpha $, получаем
Осталось заметить, что когда с увеличением $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$):
где векторы направлений ${{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), можно определить величины(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)}}} } .$Приведем расчетные формулы алгоритма, реализующего предобусловленный метод сопряженных градиентов с использованием предложенного критерия остановки итераций.
Следуя [9], используем предобусловливание Якоби
Кроме того, используем переформулировку [19] метода сопряженных градиентов [20], [21]. Такой выбор может обеспечить возможность более эффективной параллельной реализации, см., например, [9].Следуя [19], напомним, что на каждой итерации метода сопряженных градиентов ${{M}^{{ - 1}}}$-норма $(i + 1)$-й невязки ${{r}^{{(i + 1)}}} = g - M{{d}^{{(i + 1)}}}$ минимальна в соответствующем подпространстве Крылова. Используя стандартные рекуррентные соотношения метода (см. ниже п. 4.3), можно найти
АЛГОРИТМ 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} $(35)
${{\theta }^{2}} = {{d}^{{\text{т}}}}Md{\text{/}}{{g}^{{\text{т}}}}{{M}^{{ - 1}}}g \geqslant tan{{h}^{2}}\left( {2i{\text{/}}\sqrt \kappa } \right).$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.
Задача | 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$Таблица 2.
Задача | Метод | Время (с) | ${{\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}}$ заданы следующими двумя системами линейных неравенств:
Будем использовать следующую регуляризованную/штрафную приближенную переформулировку задачи, сводящую ее к безусловной минимизации выпуклой кусочно-квадратичной функции. Вводя матрицы
Тестовые многогранники с $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.
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$ соответственно).
Авторы благодарны В.А. Гаранже за многочисленные полезные замечания, позволившие существенно улучшить изложение материала статьи.
Список литературы
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
Гаранжа В.A., Капорин И.E. Регуляризация барьерного вариационного метода построения расчетных сеток // Ж. вычисл. матем. и матем. физ. 1999. Т. 39. № 9. С. 1489–1503.
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.
Капорин И.Е. Использование внутренних итераций метода сопряженных градиентов при решении больших разреженных нелинейных задач оптимизации // Ж. вычисл. матем. и матем. физ. 2003. Т. 43. № 6. С. 802–807.
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
Голиков А.И., Евтушенко Ю.Г. Отыскание нормальных решений в задачах линейного программирования // Ж. вычисл. матем. и матем. физ. 2000. Т. 40. № 12. С. 1766–1786.
Mangasarian O.L. A Newton method for linear programming // J. Optimizat. Theory and Appl. 2004. V. 121. № 1. P. 1–18.
Голиков А.И., Евтушенко Ю.Г., Моллаверди Н. Применение метода Ньютона к решению задач линейного программирования большой размерности // Ж. вычисл. матем. и матем. физ. 2004. Т. 44. № 9. С. 1564–1573.
Гаранжа В.А., Голиков А.И., Евтушенко Ю.Г., Нгуен M.X. Параллельная реализация метода Ньютона для решения больших задач линейного программирования // Ж. вычисл. матем. и матем. физ. 2009. Т. 49. № 8. С. 1369–1384.
Ганин Б.В., Голиков А.И., Евтушенко Ю.Г. Проективно-двойственный метод решения систем линейных уравнений с неотрицательными переменными // Ж. вычисл. матем. и матем. физ. 2018. Т. 58. № 2. С. 169–180.
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.
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.
Mangasarian O.L. A finite Newton method for classification // Optimizat. Methods and Software. 2002. V. 17. № 5. P. 913–929.
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.
Тихонов А.Н. О некорректных задачах линейной алгебры и устойчивом методе их решения // Докл. Акад. Наук СССР. 1965. Т. 163. № 4. С. 591–594.
Голиков А.И., Евтушенко Ю.Г. Регуляризация и нормальные решения систем линейных уравнений и неравенств // Тр. ИММ УрО РАН. 2014. Т. 20. № 2. С. 113–121.
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.
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.
Капорин И.Е., Милюкова О.Ю. Массивно-параллельный алгоритм предобусловленного метода сопряженных градиентов для численного решения систем линейных алгебраических уравнений // Сб. трудов отдела проблем прикладной оптимизации ВЦ РАН / Под ред. В.Г. Жадана. М.: Изд-во ВЦ РАН, 2011. С. 32–49.
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.
Axelsson O. A class of iterative methods for finite element equations // Comput. Meth. Appl. Mech. Engrg. 1976. V. 9. P. 123–137.
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.
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.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики