bb23ec34c125d9c39dcac83a60ca2bff.ppt
- Количество слайдов: 14
Аналитический метод решения задач математического программирования
Аналитическое решение задач математического программирования 1. Метод неопределенных множителей Лагранжа. Пусть задача имеет вид: Z = F(X) ═> min φ(X) ≥ 0 (3. 1) X={x 1, x 2, …, xn} Определение. Функция (3. 2) L(x 1, x 2, …, xn, λ 1, λ 2, …, λn) =F(x 1, x 2, …, xn) + Σλi φ i(X), где λ 1, λ 2, …, λn множители Лагранжа называется функцией Лагранжа задачи (3. 1). Определение. Седловой точкой функции Лагранжа задачи математического программирования называется точка (X*, λ*) в пространстве переменных размерностью (N*M), в которой для функции Лагранжа выполняются условия: L (X, λ*)≤ L (X*, λ) для всех X≥ 0 и λ ≥ 0
Аналитические методы решения задач математического программирования 2. Необходимое условие экстремума функции Лагранжа есть: Дифференцируя (3. 2) по всем переменным получим соотношения: (3. 3) Соотношения (3. 3) удобно представить в виде системы уравнений дополняющих нежесткостей: (3. 4)
Аналитические методы решения задач математического программирования Теорема. Если функция Лагранжа задачи (3. 1) имеет седловую точку (X*, λ*), в неотрицательном ортанте xi≥ 0, λi ≥ 0, то вектор Х* является решением этой задачи.
Аналитические методы решения задач математического программирования 5. Примеры решения задач. Задача 1. Я собираюсь разместить 100 ден. ед. в банк. Банк предлагает два вида срочных вкладов: - сроком на 1 год под 20% годовых - сроком на 2 года под 25% годовых Мои предпочтения в использовании денег описываются функцией полезности: Z = F(x) = (3/5)tln(x) где: t – период времени использования денег; х – сумма денег. Вопрос. Как мне с большей пользой распорядиться деньгами?
Аналитические методы решения задач математического программирования Задача 1. (Решение) 1. 1. Формализация задачи. Пусть х1 и х2 суммы денег, которые я предполагаю разместить по вкладам 1 и 2. Размеры вкладов ограничены моим ресурсом: х1 + х2 ≤ 100 Как я могу воспользоваться деньгами: при t =0, (100 - х1 - х2) с пользой z 0 =(3/5)0 ln (100 - х1 - х2); при t =1, (1+0. 2)*х1 с пользой z 1 =(3/5)1 ln(1. 2 x 1); при t =2, (1+0. 25)2*x 2 с пользой z 2 =(3/5)2 ln(1. 5625 x 2) В результате задача принимает вид:
Аналитические методы решения задач математического программирования Задача 1. (Решение, продолжение) Функция Лагранжа имеет вид: Составляются уравнения дополняющих нежесткостей в виде: (3. 3) Из вида функции следуют следующие ограничения: x 1>0; x 2>0; (x 1+х2 -100) >0 откуда – λ=0 Решение системы уравнений (3. 3) есть: X 1 =30. 61; x 2 =18. 37; x 0=51. 02; λ=0
Аналитические методы решения задач математического программирования Задача 2. (Ограничения равенства) Предприятию на двух участках необходимо изготовить 20 изделий. Затраты на изготовление Х 1 изделий на участке 1 есть 5*Х 12(руб), а на изготовление Х 2 изделий на участке 2 – 10 Х 2+5 Х 22(руб). Найти план выпуска изделий с минимальными затратами.
Аналитические методы решения задач математического программирования Задача 2. (Решение) 1. Формализация задачи. Z=F(x 1, x 2) = 5*Х 12 + 10 Х 2+5 Х 22 ═> min х1+x 2 = 20 (ограничение 1) x 1≥ 0; x 2 ≥ 0; Ограничение 1 заменяется на два: х1+x 2 – 20 ≥ 0 -х1 -x 2 + 20 ≥ 0
Аналитические методы решения задачи математического программирования Задача 2. (Продолжение решения) Функция Лагранжа задачи имеет вид: L(x 1, x 2, λ 1, λ 2) = 5*Х 12 +10 Х 2+5 Х 22 + λ 1(х1+x 2 – 20) + λ 2(х1 -x 2+20) Уравнения дополняющих нежесткостей: х1(10 x 1 + λ 1 – λ 2) = 0 х2(10 x 2 + 10 + λ 1 – λ 2) =0 λ 1(х1+x 2 – 20) = 0 -λ 2(х1+x 2 – 20) = 0 λ 1>0 и λ 2>0, т. к по условию (х1+x 2 – 20) = 0
Аналитические методы решения задач математического программирования Задача 2. (Продолжение решения) Складывая последние два уравнения, получим: (λ 1 - λ 2) (х1+x 2 – 20) = 0 Рассматриваем два случая: Случай 1. (λ 1 - λ 2) = 0. Тогда х1(10 x 1 ) = 0 х2(10 x 2 + 10) =0 10 x 1 = 0 10 x 2 + 10 = 0, или x 1 = 0 x 2 = -10 (Не удовлетворяет смыслу задачи) Случай 2. (λ 1 - λ 2) ≠ 0. Тогда х1(10 x 1 + λ 1 – λ 2) = 0 х2(10 x 2 + 10 + λ 1 – λ 2) =0 (х1+x 2 – 20) = 0 Если х1>0; x 2>0, то имеем (10 x 1 + λ 1 – λ 2) = 0 (10 x 2 + 10 + λ 1 – λ 2)=0 (х1+x 2 – 20) = 0 Вычитая из первого уравнения второе, получим: 10 х1 -10 х2 = 10 х1 = 10. 5 x 1 + х2 = 20 х2 = 9. 5
Аналитические методы решения задач математического программирования 4. Теорема Куна-Таккера. Теорема формулирует необходимые условия существования решения задачи МП. Теорема. Точка Х* может являться решением задачи математического программирования F(X) min/max gi(X)≤ 0 при i=1, 2, …, m hj(X)=0 при j=1, 2, …, k если в ней выполняются следующие условия: 1. Условие стационарности: grad(gi(X*, λ, μ)=0 2. Условие дополняющих нежесткостей: λigi(X*)=0 4. Условия принадлежности решения границе: hj(X) = 0 4. Условие нетривиальности: все λi и μj ≠ 0 При этом: λi ≥ 0 соответствует минимуму целевой функции; λi ≤ 0 соответствует максимуму целевой функции.
Аналитические методы решения задач математического программирования 3. Экономический смысл множителей Лагранжа. 3. 1. Качественная интерпретация множителя Лагранжа. λi*φi(x 1, x 2, …, xn)=0 -условие дополняющей нежесткостей. λ i ≠ 0 - оптимальное решение лежит на границе φi(x 1, x 2, …, xn)=0 Экономический смысл – i-ый ресурс расходуется полностью. Его увеличение приведет к повышению эффективности системы. λ i = 0 – оптимальное решение не принадлежит границе φi(x 1, x 2, …, xn)=0 Экономический смысл – запас i-го ресурса избыточен. Его уменьшение не приведет к снижению эффективности системы.
Аналитические методы решения задач математического программирования 3. 2. Количественная интерпретация множителя Лагранжа . Зависит от контекста экономической задачи. Пример. Задача об оптимизации выпуска продукции. λ i > 0 означает, что данный ресурс F(X) ═> max будет израсходован полностью и это ограφi(x)≤ bi ничивает повышение производства. xi ≥ 0, i=1, 2, …, n Вопрос. Как изменится оптимальное решение при небольшом изменении запаса этого ресурса? Тогда: Х={x 1(b), x(b), …, xn(b)}; F(X)=F(X(b)=F(b); φ(X(b))=φ(b) d. F/dbi =Σ(d. F/dxi)(dxi/dbi); dφ/dbi=Σ(dφ/dxi)(dxi/dbi) В седловой точке: L(X(b), λ) =F(X(b)); d. F(X*)/dbi = λi* Прирост производства за счет увеличения ресурса bi пропорционален λi. d. F = λi*dbi одновременно d. F = сi*dbi Если сi цена ресурса i, то увеличение его запаса выгодно, если λidbi>cidbi λi – предельная цена ресурса, при которой производство остается прибыльным.


