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

advertisement
Аналитический метод решения
задач математического
программирования
Аналитическое решение задач
математического программирования
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
dL
0 и
 0 для всех xi и λi
d xi
d λi
Дифференцируя (3.2) по всем переменным получим соотношения:
L
x , λ   0
при
j
0
x , λ   0
x
при
x
j
0
i
0
i
0

 xj
L

 xj
L
L


x , λ   0
при
x , λ   0
λ
при
λ

 λi

 λi
(3.3)


Соотношения (3.3) удобно
представить в виде системы
уравнений дополняющих
нежесткостей:
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
x1  x2  100
1
0
2
0
x
x
Аналитические методы решения задач
математического программирования
Задача 1.(Решение, продолжение)
Функция Лагранжа имеет вид:

Z  ln 100  x1  x2

1

2


 
3
3
   ln 1.2 x1    ln 1.56 x2  λ 100  x1  x2
5
5

Составляются уравнения дополняющих нежесткостей в виде:


x1
100 
x2
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 – предельная цена ресурса, при которой производство
остается прибыльным.
Download