
- •Лекция №4 Тема 2. Задача нелинейного программирования (продолжение)
- •2.1.1. Понятие выпуклого множества
- •2.1.2. Свойства выпуклых множеств
- •2.1.3. Опорная гиперплоскость
- •2.2.1. Понятие выпуклой и вогнутой функций
- •2.2.3. Признаки выпуклости и вогнутости функций
- •2.2.4. Алгоритм проверки выпуклости функции на заданном множестве
- •Решение
- •2.4.2. Достаточный признак для задач выпуклого программирования
2.4.2. Достаточный признак для задач выпуклого программирования
Теорема 3 (достаточное условие глобального максимума для задач выпуклого программирования)
Пусть
целевая функция
вогнута (всюду на
или хотя бы на допустимом множестве), а
функции
образующие функциональные ограничения,
выпуклы. Тогда из выполнения условий
Куна-Таккера в точке
следует наличие максимума (и даже
глобального) в этой точке. Если при этом
функция
строго вогнута, то точка максимума
единственная.
Замечание.
Выпуклость функций
в данном случае можно заменить на более
слабое условие (следствие) – выпуклость
допустимого множества.
Поясним смысл сформулированного утверждения иллюстрацией для случая одного активного ограничения.
Иллюстрация достаточности
условий Куна-Таккера в задаче выпуклого
программирования для случая
Пусть
в точке
выполняется условие Куна-Таккера, т.е.
градиент целевой функции раскладывается
по градиентам активных ограничений.
Поскольку функции
выпуклы, то и допустимое множество
выпукло. Аналогично, поскольку целевая
вогнута, то область
,
в которой значение целевой функции не
меньше, чем в точке
,
тоже выпукло (по аналогичному свойству).
Ввиду выполнения условия Куна-Таккера
существует разделяющая эти два выпуклых
множества гиперплоскость, а значит,
точки, в которых
не могут попасть в допустимую область.
Особенно наглядно это видно для случая
одного активного ограничения. В этом
случае разделяющая гиперплоскость
проходит через точку
перпендикулярно к соноправленным
градиентам
и
,
касаясь в точке
линий уровня
и
.
Таким образом, в точке
имеет место глобальный максимум.
Объединяя теоремы 2 и 3, можно сформулировать необходимое и достаточное условие глобального максимума для задач выпуклого программирования, для которых выполнено условие Слейтера.
Теорема 4 (необходимое и достаточное условие наличия в точке глобального максимума)
Пусть
в задаче нелинейного программирования
функции
непрерывно дифференцируемы в некоторой окрестности точки
;
функции
,
выпуклы (в частности, линейны) на
;
выполнено условие Слейтера.
Тогда
для наличия в точке
условного глобального максимума
необходимо и достаточно, чтобы в ней
выполнялись условия Куна-Таккера.
Приведенное в теореме 3 достаточное условие носит глобальный характер. Но его можно несколько ослабить для локального случая.
Теорема 5 (достаточное условие локального максимума – локально-выпуклый случай)
Пусть
существует такая окрестность
точки
,
что
вогнута в
или на
,
гдеХ
- допустимое множество, а
для которых
(эффективные ограничения) выпуклы в
(это условие можно заменить на выпуклость
множества
).
Тогда из выполнения условий Куна-Таккера
в точке
следует наличие условного локального
максимума в этой точке. Если при этом
функция
строго вогнута, то локальный максимум
строгий.
Седловая точка функции Лагранжа. Теорема Куна-Таккера
Рассмотрим функцию Лагранжа
для задачи максимизации
F(х)→ max при gj(x) ≤ bj, j = 1,2,…,m; x ≥ 0.
Напомним,
что функция Лагранжа для задачи
нелинейного программирования задана
при x0
и λ
0.
Определение. Точка (x*, λ*),
гдеx*0
и λ*
0,
называется седловой точкой функции
Лагранжа, если
L(x, λ*)L(x*,
λ*)
L(x*, λ)
для
всех x0
и λ
0.
Оказывается, что седловая точка функции Лагранжа (1) задачи оптимизации (2) имеет удивительные свойства, которые мы рассмотрим далее.
Основным результатом является теорема Куна-Таккера и ее использование для анализа и решения задач выпуклого программирования. Существенным элементом теоремы Куна-Таккера является выполнение условия Слейтера.
Отметим, что в условии Слейтера в точке х0Xлишь нелинейные функциональный ограниченияgj(x0) ≤bj, j=1,2,…,m, должны выполняться в виде строгих неравенств.
Теорема Куна-Таккера. Пусть в задаче
выпуклого программирования множествоXудовлетворяет условию Слейтера.
Тогда для того, чтобы векторх*являлся решением задачи выпуклого
программирования, необходимо и достаточно,
чтобы нашелся такой векторλ*0,
что пара (x*,λ*)
составляет седловую точку функции
Лагранжа, т.е.
L(x, λ*)L(x*,
λ*)
L(x*, λ)для всехx
0
иλ
0.
1Теорема 3.1 доказана, например, в книге: С. Карлин «Математические методы в теории игр, программировании и экономике». М.: Мир, 1964.
2 См. Васильев Ф.П. Численные методы решения экстремальных задач. М.: Наука, 1980, стр. 170.
3См. Алексеев В.М., Тихомиров В.М., Фомин С.В. Оптимальное управление. М.: Наука, 1979.
4См. Васильев Ф.П. Численные методы решения экстремальных задач. М.: Наука, 1980, стр. 173.