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