Журнал вычислительной математики и математической физики, 2020, T. 60, № 2, стр. 216-220
Локально полиномиальный метод решения систем линейных неравенств
Ю. Г. Евтушенко 1, *, А. А. Третьяков 1, 2, **
1 ВЦ ФИЦ ИУ РАН
119991 Москва, ул. Вавилова, 40, Россия
2 System Res. Inst., Polish Acad. Sie, Newelska 6, 01-447 Warsaw, and University of Siedlct,
Faculty of Sciences
08-110 Siedlce, Poland
* E-mail: evt@ccas.ru
** E-mail: tret@ap.siedlce.pl
Поступила в редакцию 13.01.2017
После доработки 16.06.2017
Принята к публикации 17.11.2019
Аннотация
Для решения системы линейных неравенств предлагается численный метод, который представляет собой комбинацию градиентного метода и метода проекции на линейное многообразие. Показывается, что метод сходится за конечное число итераций, причем число вычислений оценивается полиноминальной сложностью от размерности пространства и числа неравенств, входящих в систему. Библ. 17.
Пусть $X \subset {{\mathbb{R}}^{n}}$ – непустое множество решений системы линейных неравенств
где $A$ – матрица размерности $m \times n$, $n \geqslant m$, $x \in {{\mathbb{R}}^{n}}$, $b \in {{\mathbb{R}}^{m}}$. Ставится задача: найти произвольный элемент из множества $X$.Для решения систем вида (1) существует большое количество численных методов. Укажем лишь на некоторые из них: прямые [1], [2] и итерационные [3]–[5]. Конечный алгоритм полиномиальной вычислительной сложности на данный момент пока не найден. Задача его нахождения включена в список Смейла [6] как одна из важнейших нерешенных проблем. В работах [7], [8] и [17] используется редукция (1) к задачам безусловной минимизации строго выпуклой кусочно-квадратичной функции, показано, что решение получается за конечное полиномиальное число вычислений, если начальная точка принадлежит достаточно малой окрестности единственного решения, либо мы попадаем в эту окрестность каким-либо методом. Однако к минимизируемой функции предъявляются весьма жесткие требования – она должна быть сильно выпуклой, собственные значения матрицы Гессе должны удовлетворять определенным соотношениям и т.д. Это приводит к существенным ограничениям на класс решаемых задач; требуется, например, единственность решения (1) и т.д. Идея метода, описанная в [7], [8], заключается в возможности получения информации о решаемой задаче на основе результатов расчетов в малой окрестности этого решения. Аналогичный подход был использован в работе [9] и [13] для построения 2-фактор-метода решения вырожденных систем нелинейных уравнений. Подобная идея применялась в [10], [11], [14], [15] для создания численных методов решения вырожденных задач нелинейного программирования. В работах [5], [16] построены точные методы решения задач квадратичного программирования на основе описываемой идеи и имеющие локально полиномиальную сложность. Отметим, что известный метод эллипсоидов, как показано в работе [12], в общем случае не является полиномиальным. В [4] предложен градиентно-проективный метод решения системы (1), который сходится за конечное число итераций и представляет собой объединение итерационного и прямого метода. В данной работе предлагается усовершенствованная схема подобного метода, более простая в своей реализации и обладающая локально полиномиальной оценкой сложности, т.е. если начальная точка принадлежит достаточно малой окрестности некоторой точки решения, то число вычислений, необходимых для получения решения, оценивается как полином от $m$ и $n$, т.е. $O(m \times {{n}^{3}})$. Причем используется идея проектирования на множество активных ограничений в окрестности решения.
Введем $m$ скалярных функций ${{f}^{i}}(x) = \left\langle {{{a}^{i}},x} \right\rangle - {{b}^{i}}$, где ${{a}^{i}} \in {{\mathbb{R}}^{n}}$ есть $i$-я строка матрицы $A$, $i \in D = \{ 1,2, \ldots ,m\} $. Шар радиуса $\varepsilon $ с центром в точке $x$ обозначим через ${{U}_{\varepsilon }}(x)$.
Для произвольных $x$, ${{x}_{*}}$, $i \in D$ выполнены неравенства Липшица
(2)
${{f}^{i}}(x) - \left\| {{{a}^{i}}} \right\|\left\| {x - {{x}_{*}}} \right\| \leqslant {{f}^{i}}({{x}_{*}}) \leqslant {{f}^{i}}(x) + \left\| {{{a}^{i}}} \right\|\left\| {x - {{x}_{*}}} \right\|.$Определим индексные множества ${{J}_{0}}(x) = \{ i:i \in D,{{f}^{i}}(x) = 0\} $, ${{J}_{ - }}(x) = \{ i:i \in D,{{f}^{i}}(x) < 0\} $, ${{J}_{ + }}(x) = \{ i:i \in D,{{f}^{i}}(x) > 0\} $.
Для решения задачи (1) достаточно найти хотя бы одну точку ${{x}_{*}}$ такую, что множество ${{J}_{ + }}({{x}_{*}})$ пусто, либо, что то же самое, такую, что ${{J}_{0}}({{x}_{*}}) \cup {{J}_{ - }}({{x}_{*}}) = m$.
Лемма 1. Пусть ${{x}_{*}} \in X$, $i \in D$ и для любых $\varepsilon > 0$ существуют $x \in {{U}_{\varepsilon }}({{x}_{*}})$ такие, что ${{f}^{i}}(x) \geqslant 0$. Тогда $i \in {{J}_{0}}({{x}_{*}})$.
Доказательство. Из условия ${{x}_{*}} \in X$ следует, что либо ${{f}^{i}}({{x}_{*}}) = 0$, либо ${{f}^{i}}({{x}_{*}}) < 0$. В первом случае имеет место требуемое утверждение, во втором из (2) получим ${{f}^{i}}(x) \leqslant {{f}^{i}}({{x}_{*}}) + \left\| {x - {{x}_{*}}} \right\|\left\| {{{a}^{i}}} \right\|$ для любых $x \in {{U}_{\varepsilon }}({{x}_{*}})$. Отсюда при $0 < \varepsilon < - {{f}^{i}}({{x}_{*}}){\text{/}}\left\| {{{a}^{i}}} \right\|$, имеем ${{f}^{i}}(x) < 0$, что противоречит условию леммы о том, что на множестве ${{U}_{\varepsilon }}({{x}_{*}})$ есть точки, где ${{f}^{i}}(x) \geqslant 0$. Поэтому заключаем, что $i \in {{J}_{0}}({{x}_{*}})$.
Введем в рассмотрение функцию штрафа
где ${{(Ax - b)}_{ + }}$ – вектор, $i$-я компонента которого равна ${{(Ax - b)}^{i}}$, если ${{(Ax - b)}^{i}} > 0$, и равна нулю, если ${{(Ax - b)}^{i}} \leqslant 0$, $1 \leqslant i \leqslant m$. Очевидно, чтоКоличество элементов, входящих в множество $Z$, обозначаем через $\left| Z \right|$ (его мощность). Для определенности считаем, что ${{J}_{ - }}({{x}_{*}}) = \{ 1, \ldots ,l\} $, ${{J}_{0}}({{x}_{*}}) = \{ l + 1, \ldots ,m\} $.
Если ранг матрицы $B$ размерности $m \times n$ равен $m$, то псевдообратной к $B$ будет $n \times m$ матрица ${{B}^{ + }} = {{B}^{ \top }}{{(B{{B}^{ \top }})}^{{ - 1}}}$. Квадратную матрицу $n \times n$ ортогонального проектирования на пространство строк матрицы $B$ определим как ${{({{B}^{ \top }})}^{\parallel }} = {{B}^{ \top }}{{(B{{B}^{ \top }})}^{{ - 1}}}B = {{B}^{ + }}B$, а проекцию на ортогональное дополнение ${{({{B}^{ \top }})}^{ \bot }} = J - {{({{B}^{ \top }})}^{\parallel }}$, где $J$ – единичная матрица $n \times n$, $n \geqslant m$.
Из индексного множества ${{J}_{ + }}(x)$ выделим подмножество ${{\bar {J}}_{ + }}(x)$ – совокупность индексов, соответствующих максимальному набору линейно независимых строк матрицы $A$ с номерами из ${{J}_{ + }}(x)$. Пусть
Обозначим через $\bar {A}(\bar {x})$ матрицу, состоящую из строк, соответствующих индексному множеству ${{\bar {J}}_{ + }}(\bar {x})$. Аналогично определим вектор $\bar {b}$. Введем оператор проектирования точек $\bar {x} \in {{\mathbb{R}}^{n}}$ на множество $M(\bar {x})$:(6)
$z(\bar {x}) = {{P}_{{M(\bar {x})}}}(\bar {x}) = \mathop {\left( {{{{\bar {A}}}^{ \top }}(\bar {x})} \right)}\nolimits^ \bot \bar {x} + {{\bar {A}}^{ + }}(\bar {x})\bar {b},$Опишем алгоритм нахождения решения системы (1) по информации, полученной в текущей точке $\bar {x}$.
АЛГОРИТМ
1. В текущей точке $\bar {x}$ определяем набор индексов ${{J}_{ + }}(\bar {x})$. Если множество ${{J}_{ + }}(\bar {x})$ – пусто, то $\bar {x}$ – решение системы (1).
2. По формуле (6) определим проекцию $z(\bar {x})$ и проверим выполнение неравенств
3. Если неравенство (7) выполнено для всех $i \in D$, то $z(\bar {x})$ – решение системы (1).
Если для некоторых $i \in D{\backslash }{{J}_{ + }}(\bar {x})$ неравенство (7) нарушается, то выбираем индекс ${{i}_{0}}$ такой, что
(8)
${{i}_{0}} = \mathop {{\text{argmin}}}\limits_{i \notin {{J}_{ + }}(\bar {x})} \,\left| {{{f}^{i}}\left( {z(\bar {x})} \right)} \right|.$4. Добавим ${{i}_{0}}$ к множеству ${{J}_{ + }}(\bar {x})$
и перейдем к 2.Теоpема 1. При достаточно малых $\varepsilon > 0$ и любых $\bar {x} \in {{U}_{\varepsilon }}({{x}_{*}})$. Алгоритм определяет решение ${{z}_{*}} = z(\bar {x})$ системы (1) за число вычислений порядка $O(m \times {{n}^{3}})$.
Доказательство. Идея доказательства состоит в том, что в соответствии с леммой 1 при $\bar {x}$ достаточно близких к ${{x}_{*}}$ ограничения, которые нарушаются, т.е. ${{f}^{i}}(\bar {x}) > 0$, должны соответствовать активным ограничениям в точке ${{x}_{*}}$, т.е. ${{f}^{i}}({{x}_{*}}) = 0$, ${{J}_{ + }}(\bar {x}) \in \left\{ {\ell + 1, \ldots ,m} \right\}$. Нулевые ограничения в точке $\bar {x}$, т.е. ${{f}^{j}}(\bar {x}) = 0$, опять по лемме 1 соответствуют ${{f}^{j}}({{x}_{*}}) = 0$. Остаются только ограничения ${{f}^{i}}(\bar {x}) < 0$, среди которых могут быть соответственно активные в точке ${{x}_{*}}$. Пусть это $\left\{ {\ell + 1, \ldots ,p} \right\}$, т.е. ${{f}^{j}}({{x}_{*}}) = 0$ для $\ell + 1 \leqslant j \leqslant p$. А для остальных ${{f}^{j}}({{x}_{*}}) \leqslant - c$, $1 \leqslant j \leqslant \ell $, и $0 < c$ – некоторая независимая константа. Поэтому ${{f}^{j}}(\bar {x}) \leqslant - c{\text{/}}2$, $1 \leqslant j \leqslant \ell $, а остальные ограничения будут меньше нуля в точке $\bar {x}$, но заведомо ${{f}^{j}}(\bar {x}) > - c{\text{/}}2$, при $\ell + 1 \leqslant j \leqslant p$. Эти ограничения занумеруем по убыванию $\left| {{{f}^{i}}(\bar {x})} \right|$, $i \in \left\{ {1, \ldots ,p} \right\}$ и будем выбирать последовательно индексы
На основании вышеизложенного доказательство можно записать в следующем виде.
В соответствии с леммой 1 в множестве индексов ${{J}_{ + }}(\bar {x}) \in \{ \ell + 1, \ldots ,m\} $ и среди ограничений ${{f}^{i}}(\bar {x}) < 0$, $i \notin {{J}_{ + }}(\bar {x})$, могут быть такие, что $i \in {{J}_{0}}({{x}_{*}})$. Пусть это для определенности $i \in \{ \ell + 1, \ldots ,p\} $, т.е. ${{f}^{j}}(\bar {x}) < 0$ для $\ell + 1 \leqslant j \leqslant p$, а для остальных индексов имеем ${{f}^{j}}(\bar {x}) \leqslant - \tfrac{c}{2}$, $1 \leqslant j \leqslant \ell $, $c > 0$, т.е. получаем заведомо допустимые ограничения для неактивных $i \in D$. Очевидно, что при $\varepsilon > 0$ достаточно малых,
(10)
$\left| {{{f}^{i}}(\bar {x})} \right| < \left| {{{f}^{j}}(\bar {x})} \right|,\quad j \in \{ 1, \ldots ,\ell \} ,\quad i \in \{ \ell + 1, \ldots ,p\} ,$Отметим, что при вычислении точки $z(\bar {x})$, система ${{f}^{i}}(z) = 0$, $i \in \mathop {\bar {J}}\nolimits_ + (\bar {x})$ и система ${{f}^{i}}(z) = 0$, $i \in {{J}_{ + }}(\bar {x})$ будут совместны, поскольку совместны системы
Изменение множества ${{J}_{ + }}(\bar {x})$ происходит за счет добавления ограничений с индексами из множества $\{ \ell + 1, \ldots ,p\} $. Считаем, что множество ${{J}_{0}}({{x}_{*}})$ не пусто, т.к. в противном случае ${{J}_{ + }}(\bar {x}) = 0$ и все ${{f}^{i}}(\bar {x}) < 0$. Тогда число изменений множества ${{J}_{ + }}(\bar {x})$ не больше, чем $p - \ell - 1 \leqslant m$. Поэтому за число проектирований не более, чем $m$, мы получим проекцию ${{z}_{*}} = z(\bar {x}) = {{P}_{{M(\bar {x})}}}(\bar {x})$. Число операций, требуемых для проектирования точки $x$ на $M(\bar {x})$, будет порядка $O({{n}^{3}})$, а число изменений множества ${{J}_{ + }}(\bar {x})$ – не более $m$. Поэтому общее число итераций для отыскания ${{z}_{*}}$ будет порядка $O(m \times {{n}^{3}})$.
Остается описать способ нахождения точки $\bar {x}$ из достаточно малой окрестности ${{U}_{\varepsilon }}({{x}_{ * }})$ некоторого фиксированного решения ${{x}_{*}} \in X$. Для этого используем простейший градиентный метод
где градиент $\varphi {\text{'}}(x) = {{A}^{ \top }}{{(Ax - b)}_{ + }}$ удовлетворяет условию Липшица с константой $L = \left\| {{{A}^{ \top }}A} \right\|$. Справедлива следующаяТеоpема 2. Пусть ${{x}_{0}} \in {{\mathbb{R}}^{n}}$ и последовательность $\{ {{x}_{k}}\} $ строится по схеме (11) с постоянным шагом $\alpha = 1{\text{/}}2L$. Тогда ${{x}_{k}} \to {{x}_{*}} \in X$ при $k \to \infty $ и $\left\| {{{x}_{{k + 1}}} - y} \right\| < \left\| {{{x}_{k}} - y} \right\|$ для любого $y \in X$ и $k = 0,1, \ldots $ .
Доказательство можно найти, например, в [1].
Таким образом, метод (11) реализует последовательность, которая сходится к некоторой точке ${{x}_{*}} \in X$, т.е. заведомо для каждого $\varepsilon > 0$ достаточно малого, начиная с некоторого $\bar {k} = k(\varepsilon )$, все $\{ {{x}_{k}}\} \in {{U}_{\varepsilon }}({{x}_{*}})$, $k \geqslant \bar {k}$. Это означает, что на некотором шаге с номером $\bar {k}$ выполнены условия теоремы 1 и получается решение системы (1).
Опишем окончательно метод решения системы (1).
Теоpема 3. Выполняются следующие действия.
1. Полагаем $k = 0$ и берем в качестве ${{x}_{0}}$ любую точку из ${{\mathbb{R}}^{n}}$.
2. Определяем итерацию ${{x}_{{k + 1}}} = {{x}_{k}} - \alpha \varphi {\text{'}}({{x}_{k}})$, $k = k + 1$.
3. Вычисляем по алгоритму точку $z({{x}_{k}})$.
4. Проверяем: будет ли $z({{x}_{k}})$ решением системы (1):
− если нет, то переходим на п. 2.
− если да, то найдено конечное $\bar {k}$ такое, что $z({{x}_{{\bar {k}}}})$ – решение системы (1).
Доказательство. Поскольку последовательность $\{ {{x}_{k}}\} $ сходится к фиксированной точке ${{x}_{*}} \in X$, то на некотором шаге $\bar {k}$ будут выполнены условия теоремы 1 и получится решение ${{z}_{*}} = {{P}_{{M({{x}_{{\bar {k}}}})}}}({{x}_{{\bar {k}}}}) \in X$.
Замечание. Если в алгоритме нарушается условие совместности системы (5), то считаем, что алгоритм не дает решения и переходим к п. 2.
Отметим, что требование непустоты множества $X$, введенное выше, можно опустить. Тогда описанный метод находит псевдорешение системы (1).
Список литературы
Карманов В.Г. Математическое программирование. М.: Физматлит, 2000.
Голиков А.И., Евтушенко Ю.Г. Теоремы об альтернативах и их применение в численных методах // Журн. вычисл. мат. и матем. физ. 2003. Т. 43. № 3. С. 354–375.
Evtushenko Y.G., Golikov A.I. New perspective on the theorems of alternative // High Performance Algorithms and Software for Nonlinear Optimization. Springer US, 2003. P. 227–241.
Tret’yakov A.A. A finite-termination gradient projection method for solving systems of linear inequalities // Russian Journal of Numerical Analysis and Mathematical Modelling. 2010. V. 25(3). P. 279–288.
Tret’yakov A., Tyrtyshnikov E. Exact differentiable penalty for a problem of quadratic programming with the use of a gradient-projective method // Russian Journal of Numerical Analysis and Mathematical Modelling, 2015. V. 30 (2). P. 121–128.
Smale S. Mathematical problems for the next century, Mathematics: Frontiers and perspectives, 271–294 // American Mathematical Society, Providence, RI. 2000.
Mangasarian O.L. A finite Newton method for classification problems. Technical Report 01-11, Data Mining Institute, Computer Sciences Department, University of Wisconsin, Madison, Wisconsin, 2001. C. 01–11.
Mangasarian O.L. A Newton method for linear programming // J. Optimizat. Theory and Applicat. 2004. T. 121. № 1. C. 1–18.
Белаш К.Н., Третьяков А.А. Методы решения вырожденных задач // Ж. вычисл. матем. и матем. физ. 1988. Т. 28. № 7. С. 1097–1102.
Brezhneva O.A., Tret’yakov A.A. The p-factor-Lagrange methods for degenerate nonlinear programming // Numerical Functional Analysis and Optimization. 2007. T. 28. № 9–10. C. 1051–1086.
Брежнева О.А., Евтушенко Ю.Г., Третьяков А.А. $2$-фактор метод модифицированной функции Лагранжа для решения вырожденных задач условной оптимизации // Доклад. АН. 2006. Т. 408. № 4. С. 439–442.
Goffin J.L. On the non-polynomiality of the relaxation method for systems of linear inequalities // Mathematical Programming. 1982. T. 22. № 1. C. 93–103.
Facchinei F., Fischer A., Kanzow C. On the accurate identification of active constraints // SIAM Journal on Optimization. 1998. T. 9. № 1. C. 14–32.
Szczepanik E., Tret’yakov A. p-factor methods for nonregular inequality-constrained optimization problems // Nonlinear Analysis. 2008. T. 69. № 12. C. 4241–4251.
Wright S.J. An algorithm for degenerate nonlinear programming with rapid local convergence // SIAM Journal on Optimization. 2005. T. 15. № 3. C. 673–696.
Tret’yakov A., Tyrtyshnikov E.E. A finite gradient-projective solver for a quadratic programming problem // Russian Journal of Numerical Analysis and Mathematical Modelling. 2013. T. 28. № 3. C. 289–300.
Han S. P. Least-Squares Solution of Linear Inequalities. WISCONSIN UNIV-MADISON MATHEMATICS RESEARCH CENTER, 1980. № MRC-TSR-2141.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики