- •1. Задачи нелинейного программирования
- •3. Задачи с ограничениями-равенствами. Метод неопределённых множителей Лагранжа
- •2. Многомерная безусловная оптимизация
- •4. Задачи с ограничениями—неравенствами
- •5. Критерий оптимальности; теорема Куна-Таккера
- •6. Линейное программирование. Различные формы задачи линейного программирования
- •8. Симплекс—таблица и критерий оптимальности. Элементарное преобразование базиса
- •9 Прямой симплекс—метод
- •10 Лексикографический вариант прямого симплекс-метода
- •11 Метод искусственного базиса
- •12. Двойственные задачи линейного программирования. Построение двойственных задач
- •13. Теоремы двойственности
- •7. Базис и базисное решение
5. Критерий оптимальности; теорема Куна-Таккера
Данный раздел посвящен рассмотрению вопроса об оптимальности найденной точки в основной задаче выпуклого программирования. Рассматривается задача
f(x)
—► min{x
€ X},(1)
где
X
= {x
| φj(x)
<=0(j
= 1,
m)}.
(2)
Если
функции f(x)
и φj(x)
(j
= l,m)
выпуклы, то задача (1)-(2) называется
основной задачей выпуклого программирования.
Пусть задана некоторая точка x*
€ X.
Ограничение φj(x)
<=0 называется активным в этой точке,
если φj(x*)
= 0. Множество индексов активных ограничений
обозначим через
I(x*) = {j€{1,...,m}| φj(x*) = 0}.
Функция
F(x,y) = f(x) +sum{j=1,m}(yjφj(x)),
определённая
для всех x€
Еп,
у > 0, называется функцией Лагранжа для
задачи выпуклого программирования.
Пара (x*,у*),
где x*
€ Еп,
у* >= 0, называется седловой точкой
функции F(x,
у), если F(x*,
у) < F(x*,
у*) < F(x,
у*) для всех x
€ Еn,
у >= 0. В дальнейшем будем считать, что
функции f(x)
и φj(x)
(j
= l,m)
(и, следовательно, функция Лагранжа)
непрерывно дифференцируемы.
Теорема 10. Для того чтобы точка х* € X была точкой глобального минимума основной задачи выпуклого программирования (1)-(2), достаточно существования таких чисел yj >= 0 (j € I(х*)), что выполняется равенство –f’(x*)=sum{j€I(x*)}( yjφ’j(x*)),
Другими
словами, если (х*,у*) — седловая точка
функции Лагранжа, то х* — это точка
глобалвного минимума для задачи ввшуклого
программирования. Чтобы выполнялось
обратное утверждение, необходимо
наложить дополнительное условие на
множество X.
Если существует такая точка х € X,
что φj(x)
< 0 для всех j
= 1,т,
то говорят, что это множество удовлетворяет
условию регулярности Слейтера.
Теорема
Куна—Таккера (дифференцируемый случай).
Если функции f(x)
и φj(x)
(j
= 1,
т) выпуклы, а множество X
= {х |φj(x)
<=0(j
= 1,m)}
удовлетворяет условиям регулярности
Слейтера, то для оптимальности точки
х* € X
необходимо и достаточно существования
таких чисел yj
>= 0 (j
€ I(х*)),
что –f’(x*)=sum{j€I(x*)}(
yjφ’j(x*)),(з)
Как показывает следующая теорема, если все ограничения линейны, то условия регулярности Слейтера в теореме Куна-Таккера не обязательны.
Теорема
11. Для того чтобы точка х* € X
была точкой глобального минимума
выпуклой функции f(x)
на множестве X
= {х | <aj
,x>-bj
<= 0 (j
= l,m)}
необходимо и достаточно существование
таких чисел yj
>=0(j
= l,m),
что –f’(x*)=sum{j€I(x*)}(
yjaj),
В Приложении рассматривается метод возможных направлений, в котором используется следующая
Теорема 12. Для того чтобы точка х* € X была точкой глобального минимума задачи выпуклого программирования (1)-(2), достаточно, чтобы для всех векторов s, удовлетворяющих системе < φ’j(x*), s> <=0 (j € I(х*)), выполнялось условие (f'(x*),s) >= 0.
Рассмотрим примеры применения приведённых выше теорем. Общая схема проверки оптимальности точки х* для задачи (1)-(2) такова:
Убедиться, что решаемая задача действительно является задачей выпуклого программирования (т. е., что все функции выпуклы и задача на минимум).
Проверить, что X удовлетворяет условиям Слейтера (кроме случая линейных ограничений) .
Проверить, что х* € X и найти множество индексов активных ограничений I(х*).
Записать и решить систему (3). Точка х* будет оптимальной в том и только в том случае, если система (3) имеет решение у* >= 0.