Аналитические методы решения задач математического

Download Report

Transcript Аналитические методы решения задач математического

Аналитический метод решения
задач математического
программирования
Аналитическое решение задач
математического программирования
1. Метод неопределенных множителей
Лагранжа.
Пусть задача имеет вид:
Z = F(X) ═> min
φ(X) ≥0
(3.1)
X={x1, x2,…,xn}
Определение. Функция
L(x1, x2,…,xn, λ1,λ2,…,λn) =F(x1, x2,…,xn) + Σλi φ i(X), (3.2)
где λ1,λ2,…,λn множители Лагранжа
называется функцией Лагранжа задачи (3.1).
Определение. Седловой точкой функции Лагранжа задачи
математического программирования называется точка
(X*,λ*) в пространстве переменных размерностью (N*M), в
которой для функции Лагранжа выполняются условия:
L (X,λ*)≤ L (X*,λ*)≤ L (X*,λ)
для всех X≥0 и λ ≥0
Аналитические методы решения задач
математического программирования
2. Необходимое условие экстремума функции Лагранжа есть:
dL
0
и
d xi
dL
d λi
0
для всех
x
i
и
λ
i
Дифференцируя (3.2) по всем переменным получим соотношения:
L
x , λ   0
при
x
j
x , λ   0
при
x
j
i


 xj
L


 xj
L
x , λ   0
при
λ
x , λ   0
при
λ

 λi
L

 λi
0
0
(3.3)

0

i
Соотношения (3.3) удобно
представить в виде системы
уравнений дополняющих
нежесткостей:
0
x
L
j
λ
x , λ   0

 xj
L
i

x , λ   0

 λi

(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) с пользой z0 =(3/5)0ln (100 - х1 - х2);
при t =1, (1+0.2)*х1 с пользой
z1 =(3/5)1ln(1.2x1);
при t =2, (1+0.25)2*x2 с пользой z2 =(3/5)2ln(1.5625x2)
В результате задача принимает вид:
1
2
3
3
Z  ln100  x1  x2     ln1.2 x1    ln1.56 x2   max
5
5
x
x
x
1
1
2

x
0
0
2
 100
Аналитические методы решения задач
математического программирования
Задача 1.(Решение, продолжение)
Функция Лагранжа имеет вид:

Z  ln 100  x1  x2

1
2
3
3
   ln 1.2 x1    ln 1.56 x2  λ 100  x1  x2
5
5






Составляются уравнения дополняющих нежесткостей в виде:


x1
x2
100 
100 
1
x1 
x

2
1

x1 
3
5 x1
x
λ100  x  x   0
1
2
2
λ
9
25 x2

λ
 0

(3.3)
 0
Из вида функции следуют следующие ограничения:
x1>0; x2>0; (x1+х2-100) >0 откуда – λ=0
Решение системы уравнений (3.3) есть:
X1 =30.61; x2 =18.37; x0=51.02; λ=0
Аналитические методы решения задач
математического программирования
Задача 2. (Ограничения равенства)
Предприятию на двух участках необходимо
изготовить 20 изделий. Затраты на
изготовление Х1 изделий на участке 1 есть
5*Х12(руб), а на изготовление Х2 изделий на
участке 2 – 10Х2+5Х22(руб).
Найти план выпуска изделий с минимальными
затратами.
Аналитические методы решения задач
математического программирования
Задача 2. (Решение)
1.
Формализация задачи.
Z=F(x1,x2) = 5*Х12 + 10Х2+5Х22 ═> min
х1+x2 = 20 (ограничение 1)
x1≥0; x2 ≥0;
Ограничение 1 заменяется на два:
х1+x2 – 20 ≥ 0
-х1 -x2 + 20 ≥ 0
Аналитические методы решения задачи
математического программирования
Задача 2.(Продолжение решения)
Функция Лагранжа задачи имеет вид:
L(x1,x2,λ1,λ2) = 5*Х12 +10Х2+5Х22 + λ1(х1+x2 –20) + λ2(х1-x2+20)
Уравнения дополняющих нежесткостей:
х1(10x1 + λ1 – λ2) = 0
х2(10x2 + 10 + λ1 – λ2) =0
λ1(х1+x2 – 20) = 0
-λ2(х1+x2 – 20) = 0
λ 1>0 и λ2>0, т.к по условию (х1+x2 – 20) = 0
Аналитические методы решения задач
математического программирования
Задача 2. (Продолжение решения)
Складывая последние два уравнения, получим:
(λ1 - λ2) (х1+x2 – 20) = 0
Рассматриваем два случая:
Случай 1. (λ1 - λ2) = 0. Тогда
х1(10x1 ) = 0
х2(10x2 + 10) =0
10x1 = 0
10x2 + 10 = 0, или
x1 = 0
x2 = -10 (Не удовлетворяет
смыслу задачи)
Случай 2. (λ1 - λ2) ≠ 0. Тогда
х1(10x1 + λ1 – λ2) = 0
х2(10x2 + 10 + λ1 – λ2) =0
(х1+x2 – 20) = 0
Если х1>0; x2>0, то имеем
(10x1 + λ1 – λ2) = 0
(10x2 + 10 + λ1 – λ2)=0
(х1+x2 – 20) = 0
Вычитая из первого уравнения второе,
получим:
10х1 -10х2 = 10
х1 = 10.5
x1 + х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(x1,x2,…,xn)=0 -условие дополняющей нежесткостей.
λ i ≠ 0 - оптимальное решение лежит на границе φi(x1,x2,…,xn)=0
Экономический смысл – i-ый ресурс расходуется полностью. Его
увеличение приведет к повышению эффективности системы.
λ i = 0 – оптимальное решение не принадлежит границе
φi(x1,x2,…,xn)=0
Экономический смысл – запас i-го ресурса избыточен. Его
уменьшение не приведет к снижению эффективности системы.
Аналитические методы решения задач
математического программирования
3.2. Количественная интерпретация множителя Лагранжа
.
Зависит от контекста экономической задачи.
Пример. Задача об оптимизации выпуска продукции.
λ i > 0 означает, что данный ресурс
F(X) ═> max
будет израсходован полностью и это ограφi(x)≤ bi
ничивает повышение производства.
xi ≥ 0, i=1,2,…,n
Вопрос. Как изменится оптимальное решение при небольшом
изменении запаса этого ресурса?
Тогда: Х={x1(b),x(b),…,xn(b)}; F(X)=F(X(b)=F(b); φ(X(b))=φ(b)
dF/dbi =Σ(dF/dxi)(dxi/dbi); dφ/dbi=Σ(dφ/dxi)(dxi/dbi)
В седловой точке: L(X(b), λ) =F(X(b));
dF(X*)/dbi = λi*
Прирост производства за счет увеличения ресурса bi пропорционален λi.
dF = λi*dbi одновременно dF = сi*dbi
Если сi цена ресурса i, то увеличение его запаса выгодно, если λidbi>cidbi
λi – предельная цена ресурса, при которой производство
остается прибыльным.