Лекция 7. Постановка задачи нелинейного программирования. Теорема Куна-Таккера Содержание лекции: 1. 2. 3. 4. Формулировка общей задачи математического программирования Классификация задач нелинейного программирования Понятие о функции Лагранжа Теорема Куна-Таккера. Интерпретация множителей Лагранжа Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 Литература Шелобаев С.И. Экономико-математические методы и модели: Учеб. пособие для вузов. — 2-е изд. М.: ЮНИТИ-ДАНА, 2005. — Разделы 4.1 (до начала подраздела «Аналитические методы решения задач 4.2. Исследование операций в экономике: Учебн. пособие для вузов / Под ред. Н.Ш. Кремера. М.: Банки и биржи, ЮНИТИ, 1997. — Разделы 10.2, 11.2. условной оптимизации»), Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 2/11 Формулировка общей задачи математического программирования ен ие 2 чение 3 Ограни О гр ан ич 7.1 Огр ани чен ие 1 max z ( x1 , x2 , , xn ) „ q ( x , x , , x ) b1 n … 1 1 2 q2 ( x1 , x2 , , xn ) „… b2 q ( x , x , , x ) „ b n … m m 1 2 x1 …0; x2 …0; ; xn …0 max z ( x) q ( x ) † b x ‡ 0 (часто формулируют без условий неотрицательности) Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 3/11 7.1 Найти значения переменных xn , x1, x2 , доставляющие максимум минимум заданной целевой функции z( x1, x2 , xn ) при условиях: „ q1 ( x1 , x2 , , xn ) b1 , q2 ( x1 , x2 , , xn ) b2 , … задача линейного программирования задача нелинейного программирования z(x) и все qi (x), i =1…m – линейные функции среди z(x) и qi (x), i =1…m есть хотя бы одна нелинейная функция „ … , qm ( x1 , x2 , Вышеприведённым формулировкам отвечают: „ , xn ) bm , x1 …0; x2 …0; … ; xn …0 Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 4/11 ЗМП является задачей выпуклого программирования , если: – все её ограничения представлены выпуклыми функциями; 7.2 – её целевая функция представлена вогнутой функцией. П о в т о р е н и е % Функция f (x) является выпуклой , если для любых x1 , x 2 и положительных , , в сумме равных 1, имеет место f ( x1 x 2 ) … f (x1 ) f (x 2 ). % Функция f (x) является строго выпуклой , если для любых x1 , x 2 и положительных , , в сумме равных 1, при x1 x 2 имеет место f ( x1 x 2 ) f (x1 ) f (x 2 ). % Функция f (x) является вогнутой , если для любых x1 , x 2 и положительных , , в сумме равных 1, имеет место f ( x1 x 2 ) „ f (x1 ) f (x 2 ). % Функция f (x) является строго вогнутой , если для любых x1 , x 2 и положительных , , в сумме равных 1, при x1 x 2 имеет место f ( x1 x 2 ) f (x1 ) f (x 2 ). %% Линейные функции одновременно являются и выпуклыми, и вогнутыми, но не являются ни строго выпуклыми, ни строго вогнутыми. Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 5/11 7.2 Классификация задач нелинейного программирования Задачи нелинейного программирования Экстремальные задачи без ограничений Задачи дробнолинейного программирования Задачи выпуклого программирования Задачи квадратичного программирования Задачи невыпуклого программирования Прочие Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 6/11 7.3 Понятие о функции Лагранжа Решение любой задачи математического программирования (в том числе нелинейного) можно свести к решению задачи нелинейного программирования без ограничений. Для этого необходимо на основе исходной ЗМП построить функцию Лагранжа: max z ( x1 , x2 , , xn ) max z ( x1 , x2 , , xn ) q1 ( x1 , x2 , , xn ) „ b1 q1 ( x1 , x2 , , xn ) b1 „ 0 q ( x , x , , x ) „ b q ( x , x , , x ) b „ 0 2 1 2 n 2 n 2 2 1 2 q ( x , x , , x ) „ b m 1 2 n m qm ( x1 , x2 , , xn ) bm „ 0 x1 …0; x2 …0; ; xn …0 x1 …0; x2 …0; ; xn …0 ( x1 , x2 , , xn , 1 , 2 , , m n ) z ( x1 , x2 , z ( x1 , x2 , , xn ) 1 (q1 ( x1 , x2 , , xn ) b1 ) 2 (q2 ( x1 , x2 , , xn ) b2 ) m (qm ( x1 , x2 , , xn ) bm ) m 1 x1 m 2 x2 m n xn m , xn ) i qi ( x1 , x2 , i 1 В отсутствие условий неотрицательности: n , xn ) m j x j j 1 (x, λ ) z ( x) λq( x) Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 7/11 7.4 Если исходная задача строго выпукла и все ограничения – равенства 7.4 • её единственный оптимум x1*,x2*,…,xn* (если имеется) соответствует единственной седловой точке функции Лагранжа max min x1 , x2 , , xn 1 ,2 , ,mn Если исходная задача выпукла и все ограничения – равенства В остальных случаях ( x1 , x2 , • любой из существующих оптимумов соответствует седловой точке функции Лагранжа • любой из существующих оптимумов соответствует точке Куна-Таккера функции Лагранжа • любая седловая точка обязательно является точкой К.Т.; обратное не всегда верно • точка К.Т. не обязательно соответствуют оптимумам исходной задачи Теорема КунаТаккера , xn , 1, 2 , , mn ) см. следующий слайд Это утверждение называется теоремой Куна-Таккера Если задача строго выпукла, точек Куна-Таккера не более одной. Если т. К.-Т. имеется, то в ней находится оптимум. Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 8/11 Переменные λi называются множителями Лагранжа. 7.4 Экономическая интерпретация множителей Лагранжа, соответствующих оптимальному решению, аналогична интерпретации двойственных оценок ограничений ЗЛП Они показывают величину изменения целевой функции в расчёте на единицу изменения свободного члена ограничения, которому соответствует множитель Лагранжа, в очень малой окрестности оптимума Если ограничение можно рассматривать в качестве баланса ресурса и максимизируется прибыль, то множитель Лагранжа в точке оптимума равен оптимальной цене • Если найдётся рынок, где ресурс дешевле, то его покупка увеличит прибыль • Если найдётся рынок, где ресурс дороже, то для увеличения прибыли его следует продать В отличие от случая ЗЛП, множители Лагранжа (кроме частных случаев) не обладают свойством устойчивости Они меняют свои значения даже при сколь угодно малом изменении свободных членов ограничений Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 10/11 7.4 Теорема Куна-Таккера используется для аналитического отыскания оптимума задачи нелинейного программирования Впрочем, этот приём приводит к успешным результатам отнюдь не для любой задачи Главное, чем полезна теорема КунаТаккера: выяснение роли множителей Лагранжа в формулировании условий оптимальности экономическая интерпретация множителей Лагранжа Постановка задачи нелинейного программирования. Теорема Куна-Таккера (с) Н.М. Светлов, 2007 11/11