Задачи с ограничениями-неравенствами.
Условия Куна-Таккера
Задачи математического программирования, в которых ограничения могут быть заданы с помощью уравнений и неравенств, принято называть задачами нелинейного программирования. Эти задачи будем рассматривать в виде
(1)
где - дважды непрерывно
дифференцируемые функции векторного аргумента
.
Заметим,
что представление задач нелинейного программирования в виде (1) не умаляет
общности дальнейших рассуждений. Действительно, максимизация тождественна
минимизации
. Знак неравенства
также совершенно
условен, поскольку умножением обеих частей неравенства на
его можно развернуть в
противоположную сторону. Если случится ограничение-уравнение, то его можно
записать в виде двух неравенств, поскольку
Если какая-либо
переменная является свободной, то
ее можно записать как разность двух неотрицательных переменных:
, где
. Если на нее наложено одностороннее нижнее ограничение, т.е.
, то можно ввести переменную
и сделать замену по
формуле
. Если же
, то
.
Задачи с неотрицательными
переменными. Для начала рассмотрим задачу нелинейного программирования,
в которой ограничения сводятся лишь к требованию неотрицательности переменных:
(2)
Теорема 1. Если - решение задачи (2),
то для всех
, если
, (3)
, если
. (4)
Доказательство.
Поскольку - решение задачи, то
непременно является точкой локального максимума. Значит, для любого
выполняется неравенство
. Если
, значит принадлежит допустимой области вместе с некоторой
своей
-окрестностью. В этом случае, как было доказано выше,
. Допустим, теперь, что какая-то переменная принимает
граничное значение
. Для нее возможно только неотрицательное приращение
. Но чтобы это приращение не приводило к нарушению
соотношения
необходимо, чтобы производная по этой переменной была неположительна.
Теорема
доказана.
Нетрудно
видеть, что условия (3) и (4) можно записать в следующей форме:
(5)
где .
Замечание 1. Условия (5)
дают признак максимума. В случае минимума, необходимо, чтобы выполнялось
условие .
Достаточность
проверяется так же, как в задачах безусловной оптимизации, т.е. по критерию Сильвестра. Но учитывать при этом
следует лишь те переменные, производные которых в исследуемой точке равны нулю.
Пример 1. Покажем, что - решение задачи
.
Во-первых,
как видим, . Во-вторых, градиент
также неотрицателен:
.
Более
того, . Следовательно, все необходимые условия минимума
выполняются. Проверим выполнение достаточных условий. Поскольку
, вычислим для нее вторую производную, убедимся, что она
положительна.
.
Условия Куна-Таккера. Вернемся
к задаче (1) и рассмотрим ее, используя результаты, полученные для задачи (2).
Теорема 2. Если есть решение задачи (1),
то найдутся множители
, такие что для
, если
, (6)
, если
, (7)
и для
, если
, (8)
, если
. (9)
Доказательство.
Преобразуем ограничения-неравенства в уравнения. Для этого введем в задачу
дополнительные неотрицательные переменные . Очевидно, для всех
Далее,
используя функцию Лагранжа, сводим задачу (1)
к виду (2):
Записывая
для этой задачи условия (5) с учетом того, что , получаем так называемые
условия Куна-Таккера:
(10)
где
,
.
Нетрудно видеть, что (10) есть не что иное, как компактная форма записи условий (6) - (9).
Теорема
доказана.
Пример 2. Рассмотрим задачу
Исследуем
целевую функцию, вычислив для нее градиент и матрицу
Гессе.
;
;
.
Как
видим, матрица Гессе отрицательно определена при любом , значит, целевая функция выпукла вверх. Аналогично можно
показать выпуклость допустимого множества. Таким образом, задача в целом
выпукла и, следовательно, имеет единственное решение в точке, удовлетворяющей
условиям Куна-Таккера.
Функция
Лагранжа:
.
Условия
Куна-Таккера:
,
,
=
+
,
,
,
.
Эти
условия годятся лишь для того, чтобы проверить экстремальность предлагаемых
точек, но не для того, чтобы построить алгоритм их поиска. Поэтому для примера
рассмотрим две точки: и
. Подстановкой можно убедиться, что обе они удовлетворяют системе
ограничений. Одна из них является решением задачи. Определим, какая именно.
1)
Рассмотрим точку . Поскольку
, необходимо, чтобы выполнялось условие
. Воспользуемся этим, чтобы найти
.
Условие
не выполняется.
Следовательно,
не является решением.
2)
Рассмотрим точку . Поскольку
, необходимо, чтобы выполнялось условие
. Находим
:
Как
видим, . Все условия Куна-Таккера выполняются, следовательно,
- решение задачи.