Liniowy model decyzyjny

Transkrypt

Liniowy model decyzyjny
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[1]
Liniowy model decyzyjny
Sytuacja decyzyjna:
Firma produkuje dwa
wyroby A i B, które wymagają obróbki na dwóch maszynach: M1 i
M2 („wąskie gardła” procesu produkcyjnego).
Limity czasu pracy maszyn wynoszą: maszyna M1 – 200 godz.,
maszyna M2 – 150 godz.
Czas pracy maszyny M1 potrzebny do wytworzenia jednej
sztuki wyrobu A wynosi 2 minuty, a wyrobu B – 3 minuty.
Analogiczne normy dla maszyny M2 wynoszą: 2 minuty –
wyrób A oraz 1 minuta – wyrób B.
Ceny zbytu wyrobów kształtują się następująco: wyrób A –
4 $/szt. oraz wyrób B – 5 $/szt.
NaleŜy ustalić plan produkcji wyrobów A i B maksymalizujący
utarg ze sprzedaŜy wyprodukowanych wyrobów (zakładamy, Ŝe
cała produkcja znajdzie zbyt).
Oznaczmy:
x1 – rozmiar produkcji wyrobu A [szt.]
x2 – rozmiar produkcji wyrobu B [szt.]
Matematycznie problem moŜna sformułować
następująco:
Znajdź wartość największą funkcji liniowej dwóch zmiennych
z( x1 , x2 ) = 4 x1 + 5x2 w zbiorze dopuszczalnych wartości x1 i
x2
określonym następującymi nierównościami: 2 x1 + 3 x 2 ≤ 12000 ,
2 x1 + x2 ≤ 9000 , x1 ≥ 0 oraz x2 ≥ 0 .
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
Rozwiązywanie problemu za pomocą metody GRAFICZNEJ
Postać wyjściowa problemu
x1o =
x2o =
zmax =
[2]
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
Proces rozwiązywania problemu za pomocą metody SIMPLEKS
Postać wyjściowa problemu
Postać kanoniczna problemu
Metoda SIMPLEKS
[c ]
cj
B
i
0
0
zmienne
bazowe
s1
s2
zj − cj
5
0
x2
s2
z j − cj
5
4
x2
x1
z j − cj
wartości
zmiennych
bazowych
4
5
0
0
x1
x2
s1
s2
[x ]
2
3
1
0
12000
4000
x1 =0
x2 =0
2
1
0
1
9000
9000
s1 =12000
s2 =9000
−4
−5
0
0
0
2/3
1
1/3
0
4/3
0
−1/3
-2/3
0
0
B
i
Aktualne
rozwiązanie
Ilorazy
wyjścia
×
z=0
4000
6000
x1 =0
x2 = 4000
1
5000
3750
s1 = 0
s2 = 5000
5/3
0
20000
1
1/2
−1/2
1500
x1 = 1500
x2 = 3750
1
0
−1/4
3/4
3750
s1 = 0
s2 =0
0
0
3/2
1/2
22500
×
×
z = 20000
z = 22500
Rozwiązanie najlepsze (optymalne) problemu:
x1o =
x2o =
s1o =
s2o =
zmax =
[3]
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[4]
Liniowy model decyzyjny 2
Sytuacja decyzyjna:
Firma produkuje trzy wyroby
A, B i C, które wymagają obróbki na dwóch maszynach M1 i M2
(wąskie gardła procesu produkcyjnego). Limity czasu pracy maszyn
wynoszą: maszyna M1 - 200 godz., maszyna M2 - 150 godz. Czas
pracy maszyny maszyny M1 potrzebny do wytworzenia jednej
sztuki wyrobu A wynosi 2 minuty, wyrobu B - 2 minuty, a wyrobu
C - 3 minuty. Analogiczne normy dla maszyny M2 wynoszą: 2
minuty - wyrób A oraz po 1 minucie - wyroby B i C. Ceny zbytu
wyrobów kształtują się następująco: wyrób A - 4$, B - 3$ oraz C 5$. NaleŜy ustalić plan produkcji maksymalizujący utarg ze
sprzedaŜy wyprodukowanych wyrobów (zakładamy, Ŝe cała
produkcja znajdzie zbyt).
Lista zmiennych decyzyjnych
x1 – rozmiar producji wyrobu A [szt.]
x2 – rozmiar producji wyrobu B [szt.]
x3 – rozmiar producji wyrobu C [szt.]
Model decyzyjny:
Znajdź wartość największą funkcji liniowej 3 zmiennych
z (x1 , x2 , x3 ) = 4 x1 + 3x2 + 5 x3 → max
w zbiorze dopuszczalnych wartości x1 , x 2 i
określonym następującymi nierównościami:
2 x1 + 2 x 2 + 3 x3 ≤ 12000
2 x1 + x 2 + x3 ≤ 9000
x1 ≥ 0 , x2 ≥ 0 ,
x3 ≥ 0 .
x3
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[5]
Metoda SIMPLEKS
Model decyzyjny (postać kanoniczna):
z = 4 x1 + 3x2
+ 5 x3
+ 0s1 + 0s2
2 x1 + 2 x2
2 x1 +
x2
+ 3x3
+ x3
+
+
→
max
= 12000
= 9000
s1
s2
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, s1 ≥ 0, s2 ≥ 0
cj
4
3
5
0
0
Wartości
zmien- Ilorazy
nych wyjścia
bazowych
Aktualne
rozwiązanie
c iB
zmienne
bazowe
x1
x2
x3
s1
s2
0
0
s1
s2
2
2
3
1
0
12000
4000
x1=0 x2=0 x3=0
2
1
1
0
1
9000
9000
s1=12000 s2=9000
zj – cj
−4
−3
−5
0
0
0
×
x3
s2
2/3
2/3
1
1/3
0
4000
6000
x1=0 x2=0 x3=4000
4/3
1/3
0
−1/3
1
5000
3750
s1=0 s2=5000
zj – cj
−2/3
1/3
0
5/3
0
20000
×
x3
x1
0
1/2
1
1/2 −1/2 1500
x1=3750 x2=0 x3=1500
1
1/4
0
−1/4 3/4
s 1= 0 s 2= 0
zj – cj
0
1/2
0
5
0
5
4
3/2
1/2
3750
22500
×
z=0
z=20000
z=22500
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
Rozwiązanie najlepsze (optymalne) problemu:
Plan produkcji
x1o = 3750 (rozmiar producji wyrobu A [szt.])
x2o = 0
(rozmiar producji wyrobu B [szt.])
x3o = 1500 (rozmiar producji wyrobu C [szt.])
Wykorzystanie maszyn
s1o = 0
s2o = 0
(niewykorzystany czas pracy maszyny M1 [minuta])
(niewykorzystany czas pracy maszyny M2 [minuta])
Najlepszy utarg
zmax = 22500 (maksymalny utarg [$])
[6]
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[7]
Ogólne sformułowanie problemu:
Liniowy model decyzyjny
tzw. zadanie programowania liniowego (zadanie PL)
DEFINICJA:
wyznacz wartość największą (najmniejszą) funkcji
f ( x1 , x2 ,..., xn ) = c1 x1 + c2 x2 +...+ cn xn
(1)
przy warunkach:
a11 x1 + a12 x2 +...+a1n xn ≤ b1
.....................................
a k 1 x1 + ak 2 x2 +...+akn xn ≥ bk
......................................
am1 x1 + am2 x2 +...+amn xn = bm
x1 ≥ 0, x2 ≥ 0,..., xn ≥ 0
Nazewnictwo:
(1) funkcja
f (x1 , x2 , ... ,xn ) - funkcja celu
- zmienne decyzyjne (j=1,2, ... ,n)
cj , aij , bi - parametry modelu (zadania)
xj
(i=1,2, ... ,m
(2)
(3)
j=1,2, ... ,n)
- warunki, ograniczenia
- warunki brzegowe
DEFINICJA:
Układ liczb rzeczywistych
{x1 , x2 ,..., xn } spełniających
warunki (2) i (3) nazywamy rozwiązaniem
dopuszczalnym.
(2)
(3)
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
DEFINICJA:
Zbiór wszystkich układów liczb rzeczywistych
spełniających warunki (2) i (3) nazywamy zbiorem
dopuszczalnych
DEFINICJA:
{
i oznaczamy
{x1 , x2 ,..., xn }
[8]
rozwiązań
X.
Rozwiązaniem optymalnym nazywamy te układy liczb
}
rzeczywistych x1 , x2 ,..., xn spełniających warunki (2) i (3), tj. rozwiązania
dopuszczalne, dla których funkcja celu (1) osiąga swoją wartość najmniejszą
(największą).
TWIERDZENIE:
Zbiór rozwiązań dopuszczalnych X zadania PL (1)-(3) jest
zbiorem domkniętym,
wierzchołków . Zbiór
wypukłym, o skończonej liczbie
X nie zawsze jest zbiorem ograniczonym.
Funkcja liniowa określona na
domkniętym zbiorze wypukłym o skończonej liczbie wierzchołków
osiąga swoją wartość największą (najmniejszą) w wierzchołku tego
zbioru.
TWIERDZENIE (Weierstrassa):
Rozwiązywanie zadań PL
(znajdowanie rozwiązania optymalnego)
metoda graficzna - dla dwóch zmiennych decyzyjnych
metoda (algorytm) simpleks - dla dowolnej liczby zmiennych
decyzyjnych
Metoda graficzna
Wyznacz graficznie w płaszczyźnie x10x2 zbiór rozwiązań dopuszczalnych X.
Wierzchołek optymalny moŜna określić na dwa sposoby:
1. Wyznacz współrzędne wszystkich punktów wierzchołkowych zbioru X .
Podstaw je do funkcji celu (1). Wierzchołkiem optymalnym jest ten, dla
którego wartość funkcji celu (1) jest największa (najmniejsza).
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[9]
2. Nanieś na płaszcyznę x10x2 gradient funkcji celu (1) zaczepiony w punkcie
(0,0). Narysuj prostą na której leŜy ten gradient. Narysuj prostą prostopadłą
do prostej na której leŜy gradient tak, aby przechodziła ona przez "środek"
zbioru X . Przesuwaj taką prostą równolegle w kierunku wskazanym przez
gradient (poszukiwanie wartości największej funkcji celu) lub w kierunku
przeciwnym (poszukiwanie wartości najmniejszej). "Ostatni" wierzchołek
zbioru X z jakim będzie miała kontakt przesuwana prosta jest wierzchołkiem
optymalnym.
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[10]
Budowa liniowego modelu decyzyjnego
(budowa zadania PL)
Przykład
Firma produkująca wyroby metalowe negocjuje szybką dostawę pewnych
ilości dwóch unikalnych wyrobów: ALFA i BETA. Do ich wytwarzania
potrzebnych jest 5 środków produkcji. W danym momencie firma dysponuje
ograniczonymi ilościami tych środków. Firma jest zainteresowana osiągnięciem
maksymalnego zysku z takiej produkcji. Dane dotyczące limitów środków,
jednostkowych zysków i norm zuŜycia środków na poszczególne wyroby podaje
tabela.
Zbuduj odpowiedni model decyzyjny i wyznacz program produkcyjny
charakteryzujący się maksymalnym zyskiem.
Normy zuŜycia na jednostkę wyrobu
drewno
tworzywo
sztuczne
praca
energia
[kg/szt]
[m2/szt]
[kg/szt]
[rg/szt]
[kWh/szt]
1
2
3
2
2
300
2
800
[kg]
1
600
[m2]
2
1200
[kg]
2
1000
[rg]
3
1200
[kWh]
200
x
Wyroby
ALFA
Zyski
jednostkowe
[zł/szt]
stal
[szt]
[szt]
Limity
środków
produkcji
BETA
Zmienne decyzyjne:
x1 - liczba sztuk wyrobu ALFA
x2 - liczba sztuk wyrobu BETA
Funkcja celu:
f(x1 ,x1 ) = 300x1 + 200x2 → max
Ograniczenia:
x1
2x1
3x1
2x1
2x1
x1
+ 2x2
+ x2
+ 2x2
+ 2x2
+ 3x2
≤
≤
≤
≤
≤
800
600
1200
1000
1200
≥ 0
x2 ≥ 0
(1)
(2)
(3)
(4)
(5)
stal
drewno
tworzywa sztuczne
praca
energia
(6) ograniczenie brzegowe
(7) ograniczenie brzegowe
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[11]
Metoda (algorytm) simpleks
Metoda simpleks jest uporządkowanym przeglądem rozwiązań
bazowych (wierzchołków zbioru X . )
Metoda simpleks wymaga, aby ograniczenia (2) dane były w postaci równań.
Jest to postać kanoniczna zadania PL.
Będziemy rozwaŜać następujące zadanie PL :
(najmniejszą) funkcji
f(x) = cTx
Ax = b
x≥0
przy warunkach:
wyznacz wartość największą
(1)
(2)
(3)
gdzie
 y11
y
A =  21
 M

 y m1
y12
y 22
M
y m2
y1n 
 c1 
c 
L y 2n 
 c =  2 x =
O M 
M

 
L y mn 
cn 
L
 x1 
 b1 
x 
b 
2
  b=  2
M
M
 
 
x
 n
bm 
 θ1 
θ 
Θ= 2
 M 
 
θ m 
Schemat postępowania w metodzie SIMPLEKS
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
WSKAŹNIKI OPTYMALNOŚCI i WARTOŚĆ FUNKCJI CELU
∆ j = z j − c j = ∑i =1 ciB yij − c j
m
(j=1,2,...n)
f ( x ) = f ( x1 , x2 ,..., xn ) = ∑i =1 ciBθ i
m
KRYTERIUM OPTYMALNOŚCI
Dla kaŜdej zmiennej (decyzyjna, swobodna, sztuczna) musi zachodzić
∆ j ≥ 0

∆ j ≤ 0
( j = 12, ,..., n)
( j = 12, ,..., n)
gdy poszukujemy f (x ) → max 

gdy poszukujemy f (x ) → min 
KRYTERIUM WEJŚCIA
Wprowadzamy zmienną o numerze k-tym
{ }
{ }
k : ∆ k = min ∆ j
∆ j <0


∆j
k : ∆ k = max
∆ j >0

gdy poszukujemy f (x ) → max 


gdy poszukujemy f (x ) → min 

KRYTERIUM WYJŚCIA
Usuwamy zmienną stojącą na miejscu l-tym
l:
θ 
= min i 
ylk yik >0  yik 
θl
[12]
D.Miszczyńska, WSEH, Podstawy MATEMATYKI dla ekonomistów, funkcja liniowa wielu zmiennych - znajdowanie wartości największej
[13]
Przykład c.d. (postać kanoniczna zadania PL)
f(x1 , ... ,s5 ) = 300x1 + 200x2 + 0s1 + 0s2 + 0s3 + 0s4 + 0s5 → max
x1 +
2x1 +
3x1 +
2x1 +
2x1 +
2x2 + s1
= 800
x2
+ s2
= 600
2x2
+ s3
= 1200
2x2
+ s4
= 1000
3x2
+ s5 = 1200
x1≥ 0, x2≥ 0, s1≥ 0, s2≥ 0, s3≥ 0, s4≥ 0, s5≥ 0
Przykład c.d. (Rozwiązywanie zadania PL metodą simpleks)
300
200
0
0
0
0
0
cB
B
Θ
x1
x2
s1
s2
s3
s4
s5
θi/yik
0
s1
800
1
2
1
0
0
0
0
800:1=800
0
s2
600
2
1
0
1
0
0
0
600:2=300
0
s3
1200
3
2
0
0
1
0
0
1200:3=400
0
s4
1000
2
2
0
0
0
1
0
1000:2=500
0
s5
1200
2
3
0
0
0
0
1
1200:2=600
0
−300
−200
0
0
0
0
0
0
s1
500
0
3/2
1
−1/2
0
0
0
500:3/2=333 1/3
300
x1
300
1
1/2
0
1/2
0
0
0
300:1/2=600
0
s3
300
0
1/2
0
−3/2
1
0
0
300:1/2=600
0
s4
400
0
1
0
−1
0
1
0
400:1=400
0
s5
600
0
2
0
−1
0
0
1
600:2=300
90000
0
−50
0
150
0
0
0
0
s1
50
0
0
1
1/4
0
0
−3/4
300
x1
150
1
0
0
3/4
0
0
−1/4
0
s3
150
0
0
0
−5/4
1
0
−1/4
0
s4
100
0
0
0
−1/2
0
1
−1/2
200
x2
300
0
1
0
−1/2
0
0
1/2
105000
0
0
0
125
0
0
25