Донецкий национальный технический университет
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 3134 / 727 | Оценка: 4.34 / 4.12 | Длительность: 13:54:00
Специальности: Программист

Лекция 8: Задача нелинейного программирования при ограничениях – неравенствах. Седловая точка и задача нелинейного программирования. Применение теоремы Куна – Таккера для задачи выпуклого программирования

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >

Теорема Куна-Таккера. Выше найдены условия оптимальности (1.9), (1.10) для задачи НП с линейными ограничениями. Обобщим эти условия на случай задачи (1.1), (1.2), когда все ограничения нелинейны.

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

Теорема 1.1. (Куна-Таккера). Пусть функции g_i(x), \; i=\overline{1,m}, имеют непрерывные частные производные на некотором открытом множестве Rn, содержащем точку x+. Если x+ является точкой минимума функции f(x) при ограничениях g_i(x) \le 0 , \; i=\overline{1,m}, удовлетворяющих условию регулярности в виде линейной независимости векторов \nabla g_i(x^*), то существуют такие неотрицательные множители Лагранжа \lambda_1, \lambda_2, \ldots, \lambda_m, что

\nabla f(x^*) + \sum_{i=1}^m \lambda_i \nabla g_i(x^*) = 0, ( 1.13)
\sum_{i=1}^m \lambda_i g_i(x^*) = 0, \; \lambda \ge 0, \; i=\overline{1,m} ( 1.14)

Определим функцию Лагранжа следующим образом:

L(x, \Lambda) = f(x) + \sum_{i=1}^m \lambda_i g_i (x). ( 1.15)

Тогда теорему Куна-Таккера можно записать в виде

\nabla_x L(x, \Lambda) = 0, ( 1.16)
\nabla_i L(x, \Lambda) = g(x) \le 0 , ( 1.17)
\Lambda^T \nabla_{\lambda} L(x, \Lambda) = \sum_{i=1}^m \lambda_i g_i (x) =0. ( 1.18)

Заметим, что множители Лагранжа \lambda_i в задаче НП с ограничениями-равенствами являются знаконеопределенными, тогда как в теореме Куна-Таккера они должны быть положительными.

Доказательство. При достаточно малых t > 0, разлагая f(x++tz) в ряд Тейлора, получим

g_i(x^* + tz) = g_i(x^*) + t \nabla g_i^T (x^*) z + o(t^2) =
t \nabla g_i^T (x^*) z + o(t^2), ( 1.19)
где o(t2) - остаточный член второго порядка малости (t2). Пусть I - множество активных ограничений. Тогда
g_i(x^* + tz) = g_i(x^*) + t \nabla g_i^T (x^*) z + o(t^2) =
t \nabla g_i^T (x^*) z + o(t^2),
так как gi(x+) при i \in I. Заметим, что система неравенств
\left.
\begin{aligned}
\nabla f^T (x^*) z < 0, \\
\nabla g_i^T (x^*) z \le 0.
\end{aligned}
\right\} ( 1.20-1.21)
несовместна, так как в противном случае при достаточно малом t > 0 для некоторого z получили бы:
\begin{align*}
& f (x^* + tz) < f(x^*) \\
& g_i(x^* + tz) \le 0, \; i \in J.
\end{align*}
что противоречит предположению об оптимальности точки x+. Для дальнейшего доказательства воспользуемся леммой, являющейся следствием леммы Фаркаша.

Лемма. При произвольной матрице A выполняется одно из двух условий:

либо выполняется следующая система неравенств:

Ax < 0, ( 1.22)
либо выполняется следующая система равенств (уравнений):
\left\{
\begin{aligned}
& \Lambda^T A =0 \\
& \Lambda \ge 0, \quad \Lambda \neq 0
\end{aligned}
\right. ( 1.23)
Одновременно условия (2.3.22), (2.3.23) выполняться не могут.

Применим эту лемму к (1.20), (1.21), приняв за матрицу A

\left[
\begin{aligned}
& \nabla f (x^*) \\ 
& \nabla g_i (x^*)
\end{aligned}
\right] , \quad i \in I

Поскольку система (1.20), (1.21) не имеет решений, то существуют такие \lambda_0 \ge 0, \lambda_1 \ge 0, \ldots, \lambda_m \ge 0, что

\lambda_0 \nabla f(x^*) + \sum_{i \in I} \lambda_i \nabla g_i (x^*) = 0, ( 1.24)
где
\left[
\begin{aligned}
& \lambda_0 \\
& \lambda_1
\end{aligned}
\right] \neq 0.

Если присвоим \lambda_i значение 0 для i \in I, то получим \sum_{i = I}^m \lambda_i g_i (x^*) = 0. Условие \sum_{i = I}^m \lambda_i g_i (x^*) = 0 называют условием дополняющей нежесткости.

Покажем, что \lambda_0 в (1.24) не может равняться 0. В самом деле, если допустить, что \lambda_0 = 0, то получим

\sum_{i \in I} \lambda_i \nabla g_i (x^*) = 0 ( 1.25)

Однако (1.25) противоречит условию теоремы о линейной независимости векторов \nabla g_i (x^*). Остается принять \lambda_0 \neq 0.. Тогда, разделив обе части (1.24) на \lambda_0, получим

\nabla f(x^*) + \sum_{i=I}^m \lambda_i \nabla g_i(x^*) = 0
Следовательно, теорема доказана.

Понятие регулярности было впервые введено Г.Куном и А.Таккером и имеет различные формы. В частном случае, когда все g_i()x, \; i = \overline{1,m} являются выпуклыми функциями, условие регулярности записывается в виде: существует такой вектор x, что gi(x)<0 для всех i = \overline{1,m}. Это означает, что может существовать хотя бы одна внутренняя точка допустимого множества решений. Это условие называют условием регулярности Слейтера.

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >