- •1. Введение
- •Основные разделы курса
- •3. Основная задача линейного программирования. Различные формы записи задачи.
- •6. Алгоритм симплекс-метода.
- •1.3. Реализация симплекс-метода в виде симплексных таблиц.
- •8Транспортная задача. Описание и примеры применения метода потенциалов.
- •29.Метод ветвей и границ. Задача о рюкзаке.
- •Задача о рюкзаке
- •30. Метод ветвей и границ. Задача коммивояжера.
- •28. Методы перебора вариантов. Метод вариаций.
- •31.Задачей целочисленного программирования называется задача линейного программирования, в которой имеется дополнительное условие, требующее, чтобы часть переменных принимала только целые значения.
- •35.Общие принципы дискретного динамического программирования. Уравнение Беллмана.
- •36. Задача распределения ресурсов.
- •38. Построение кратчайшего пути на сети.
- •37. Задача оптимального планирования. Обработка деталей на двух станках.
- •10. Выпуклые множества и выпуклые функции.
- •13.Двойственность в задачах выпуклого программирования
- •14. Квадратичное программирование
- •12. Постановка задачи. Теорема Куна – Таккера.
- •16. Геометрическое программирование
- •11. Свойства выпуклых множеств и выпуклых функций
- •19. Общая задача нелинейного программирования.
- •22.Свойства дифференцируемых функций.
- •24. Дифференцируемость оператора Немыцкого.
- •25. Необходимый признак экстремума в задачах без ограничений первого и второго порядков.
- •27 . Правило множителей Лагранжа для гладких нелинейных задач.
- •41. Простейшая вариационная задача (пвз), исследование необходимых условий экстремума первого порядка.
- •45. Вариационная задача с кусочно-гладкими кривыми.
- •46. Исследование необходимых условий экстремума второго порядка. Условия Лежандра и Якоби.
- •42.. Алгоритм Гюйгенса исследования пвз.
- •48.. Поле экстремалей. Достаточные условия сильного экстремума.
- •Задача Больца.
- •6.9. Изопериметрические задачи.
- •51. Принцип максимума Понтрягина.
12. Постановка задачи. Теорема Куна – Таккера.
Задачами оптимизации (экстремальными задачами) будем называть задачи следующего вида:
Задано векторное пространство X, функционал f: X→R∪{+∞} и подмножество M⊆X. Требуется найти минимальное значение функционала f на множестве M.
При этом f называется целевым функционалом, множество X – основным пространством задачи, множество M задает ограничения задачи, его элементы называются допустимыми для задачи.
Заметим сразу, что нахождение минимального значения функционала f на множестве M равносильно нахождению минимального значения функционала g(x) = f(x)+ cM(x) всем векторном пространстве X, где cM – индикаторная функция множества ограничений М (Убедитесь в этом!). Таким образом, любую задачу оптимизации можно записать как задачу без ограничений.
С другой стороны, иногда бывает проще исследовать задачу методами анализа, если функционал f не принимает значение +∞, пусть даже при наличии ограничений.
Определение. Задачу оптимизации называют выпуклой, если целевой функционал f и ограничения M являются выпуклыми (соответственно, как функция и как множество).
В данном пункте мы увидим, что понятие выпуклости играет важную роль в исследовании задач оптимизации.
Теорема 4.2.1 (Кун, Таккер). Пусть X – векторное пространство, fi:X→R∪{+∞}, i=0,…,m – некоторые функционалы, A⊆X. Предположим, что множество
B={(b0, b1,…,bm)∈Rm+1| ∃x∈A: ∀i=0,..,m fi(x)≤bi} –
непустое и выпуклое. Тогда
1) Если x* – решение задачи
f0(x) → min ,fi(x) ≤ 0, i=1,..., m; ,x ∈ A (4.2.1)
то найдется ненулевой вектор множителей Лагранжа λ*=(λ0*,…,λm*)∈Rm+1, такой что для функции Лагранжа L(x,λ)= выполняются следующие условия:
а) принцип минимума для функции Лагранжа: minx∈A L(x,λ*)= L(x*,λ*); (4.2.2)
б) условие дополняющей нежесткости: λi*fi(x*) = 0, i=1,…,m; (4.2.3)
в) условие неотрицательности: λi* ≥ 0,i=0,…,m; (4.2.4)
2) Если λ0* > 0, то условия (4.2.2) - (4.2.4) достаточны для того, чтобы допустимая точка x* была решением задачи (4.2.1).
3) Для λ0* > 0 достаточно выполнения условия Слейтера:
∃x1∈A: ∀i=1,…,m fi(x1) < 0 (4.2.5)
Доказательство.
1. А) Пусть x* - решение задачи (4.2.1). Без ограничения общности будем считать, что f0(x*)=0 (заменим f0(x) на f0(x) - f0(x*)).
Б) Пусть C = {(c0, 0,…,0)∈Rm+1| c0 < 0}. Множество C – непустое и выпуклое. Покажем, что B∩C=Ø.
Предположим, что (c0, 0,…,0) ∈ B∩C, т.е. c0 < 0 и ∃x∈A: f0(x)≤с0 и ∀i=1,..,m fi(x)≤0. Тогда x является допустимым для задачи и при этом f0(x) ≤ с0 < 0 = f0(x*), т.е. x* не является решением задачи (4.2.1).
Противоречие доказывает, что B∩C=Ø.
В) Поскольку множества B и C – непустые и выпуклые, к тому же B∩C=Ø, по теореме об отделимости выпуклых множеств 4.1.8 получаем, что существует ненулевой вектор λ*=(λ0*,…,λm*)∈Rm+1, для которого справедливо неравенство
infb∈B < λ*,b> ≥ supc∈C<λ*, c > = supc0<0 λ*0 c0. (4.2.6)
Поскольку 0∈B (Проверьте!), из (4.2.6) получаем 0 ≥ supc0<0 λ*0 c0, откуда, с одной стороны, λ0*≥ 0, а с другой supc0<0 λ*0 c0=0. Таким образом, для всех b∈B выполняется условие
∑0≤i≤m λ*i bi≥ 0. (4.2.7)
Г) Для каждого j=0,…,m вектор εj=(0,…,1,…,0) (1 на j+1-м месте) входит в множество B, поэтому его можно подставить в (4.2.7), из чего получаем условие неотрицательности (4.2.4).
Д) Зафиксируем i. Если fi(x*) = 0, то λi*fi(x*)=0. Предположим, что fi(x*) ≠ 0, т.е. fi(x*) < 0. Тогда вектор b=(0,…, fi(x*),…,0) ∈B. Подставляя его в (4.2.7), получаем неравенство λi*fi(x*)≥ 0. Однако с учетом того, что fi(x*) < 0, λi*≥ 0, получаем, что λi*= 0, а значит, снова λi*fi(x*)=0.
Условие дополняющей нежесткости (4.2.3) доказано.
Е) Пусть x∈A. Тогда вектор b=( f0(x),…, fi(x),…, fm(x)) ∈B. Подставляя его в (4.2.7), получаем:
∑0≤i≤m λ*i f i(x)= L(x,λ*) ≥ 0.
С учетом условия дополняющей нежесткости получаем, что
L(x*,λ*)=∑0≤i≤m λ*i f i(x*) =0.
Следовательно, для всех x∈A выполняется неравенство L(x,λ*) ≥ 0 = L(x*,λ*), которое означает выполнение принципа минимума (4.2.2).
Докажем утверждение 2.
Пусть выполняются условия (4.2.2) – (4.2.4) и λ0* > 0. Поскольку главное в векторе λ*– его направление, а не длина, можно считать, что λ0*=1.
Для любого допустимого x (т.е. удовлетворяющего всем ограничениям задачи (4.2.1) получаем:
f0(x) ≥ f0(x) +∑1≤i≤m λ*i f i(x) = L(x,λ*) ≥ L(x*,λ*) = f0(x*) + ∑1≤i≤m λ*i f i(x*)= f0(x*).
Докажем утверждение 3. Предположим, что выполнено условие Слейтера, но λ0* = 0. Тогда с одной стороны, в силу принципа минимума L(x1,λ*) ≥ L(x*,λ*).
С другой стороны, в силу условия Слейтера (4.2.5) ∀i=1,…,m fi(x1) < 0, а из (4.2.4) λi* ≥ 0, i=0,…,m. Получаем, что L(x1,λ*)= ∑1≤i≤m λ*i f i(x1) < 0 = L(x*,λ*).
Полученное противоречие завершает доказательство теоремы.
Замечание. Если fi(x), i=0,…,m – выпуклые функционалы, и множество A – выпуклое, то множество B из условия теоремы Куна-Таккера тоже будет выпуклым. Поэтому теорема Куна-Таккера применима ко всем выпуклым задачам.
Определение. Пусть F=F(x,λ) – функция двух переменных, определенная для всех x∈Q⊆X и всех λ∈M⊆Rm+1. Точка (x*,λ*), x*∈Q, λ*∈M называется седловой для функции F, если для всех x∈Q и всех λ∈M, выполняется неравенство:
F(x*, λ) ≤ F(x*, λ*) ≤ F(x, λ*).
С помощью понятия седловой точки можно сформулировать теорему Куна-Таккера следующим образом.
Теорема 4.2.2. Рассмотрим выпуклую задачу (4.2.1), для которой выполнено условие Слейтера (4.2.5).
1) Если x*- допустимый вектор, λ*≥0 (λ*0=1) и (x*,λ*) – седловая точка для функции Лагранжа L(x,λ)= на множестве допустимых векторов x и λ≥0 (λ0=1), то x*- решение задачи (4.2.1).
2) Пусть x*- решение задачи (4.2.1). Тогда найдется вектор λ*≥0, такой что пара (x*,λ*) – седловая точка для функции Лагранжа L(x,λ) на множестве допустимых векторов x и λ≥0 (λ0=1).
Кроме этого, в обоих случаях выполняются условия дополняющей нежесткости (4.2.3).