Wprowadzenie do progr. liniowego
Transkrypt
Wprowadzenie do progr. liniowego
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem metody dekompozycji Dantziga-Wolfe’a Materiał pomocniczy 2 – część 1: Przykładowe liniowe modele programowania produkcji Opracowanie: Kazimierz Duzinkiewicz, dr hab. inż. Robert Piotrowski, dr inż. Tomasz Karol Nowak, mgr inż. Mariusz Czapliński, mgr Inż. Gdańsk, styczeń 2013 1. Przykład z zakresu planowania produkcji, zaczerpnięty z przemysłu rafineryjnego. Na rysunku 1.5 przedstawiony jest schemat powiazań materiałowych pewnego fragmentu działalności przykładowego zakładu rafineryjnego. Na schemacie tym zaznaczono już graficznie podział na możliwe do wyróżnienia działalności. Wyróżniono cztery rodzaje działalności: (1) działalność zakupu surowców - zilustrowana prostokątami z numerem kolejnym surowca i strzałkami skierowanymi do systemu; 01 System numer kolejny surowca Rys. 1.1. Symbol działalności zakupu surowca (2) działalność przerobu surowców i półproduktów - zilustrowana prostokątami z wpisanymi wsadami i uzyskami; skrót nazwy dzia³alnoœci numer kolejny dzia³alnoœci RF 01 BCDRW numer kolejny wsadu 02 GSRF 01 GPRF 02 REF 03 numer kolejny uzysku skrót nazwy wsadu skrót nazwy uzysku Rys. 1.2. Symbol działalności przerobu surowców i półproduktów (3) działalność magazynowania - zilustrowana trójkątami z wpisanym numerem kolejnym magazynu; numer kolejny magazynu 02 Rys.1.3. Symbol działalności magazynowania 2 (4) działalność sprzedaży produktów - zilustrowana prostokątami z wpisanym numerem kolejnym produktu, ze strzałkami od systemu; numer kolejny produktu System 02 Rys. 1.4. Symbol działalności sprzedaży produktów Dokonany podział na działalności wiąże się z tym, do jakich celów będzie służył model użyty w sformułowaniu zadania programowania liniowego. W rozważanym przykładzie budujemy model z pomocą którego chcemy określić optymalny plan produkcji dla pewnego okresu T. Problem optymalnego planowania produkcji w przykładowym zakładzie rafineryjnym sformułujemy następująco: W oparciu o: (1) schemat produkcyjny (powiązań materiałowych) zakładu; (2) wymagania dotyczące jakości produkcji (produktów); (3) charakterystyki techniczno-technologiczne poszczególnych jednostek produkcyjnych; (4) ewentualne narzucone zadania produkcyjne (ilości i asortyment produktów); (5) przyjęty wskaźnik efektywności działania z - zysk zakładu, należy wyznaczyć takie zadania produkcyjne dla poszczególnych jednostek produkcyjnych, aby zapewniło to uzyskanie maksymalnej wartości wskaźnika z za cały okres planowania. DRW 01 01 01 RN 01 GSDRW 01 GPDRW 02 BLDRW 03 BCDRW 04 ONDRW 05 OSDRW 06 PDDRW 07 02 03 RF 01 BCDRW KB1 01 01 BLDRW 01 02 BCDRW 02 03 REF KB2 3 01 01 BLDRW 01 02 BCDRW 02 03 REF 03 04 03 04 03 04 02 GSRF 01 GPRF 02 REF 03 04 03 BB1 01 05 01 04 BB2 01 06 02 Rys. 1.5. Przykładowy fragment zakładu rafineryjnego Wykonamy teraz kolejne etapy budowy modelu programowania liniowego, które zostały przedstawione powyżej. Podział zakładu na działalności został już dokonany. Przed przystąpieniem do budowy modelu musimy określić zbiór zmiennych decyzyjnych. Jako zmienne decyzyjne w rozważanym przykładzie przyjmiemy wielkości, które będą określały wielkość zadań produkcyjnych dla poszczególnych działalności w okresie planowania. Rozmiary działalności zakupu surowców są określone jednoznacznie przez ilości zakupionych surowców. Przyjmijmy dla tych wielkości następujące oznaczenie: Sj np. S 01 gdzie: j - dwucyfrowy numer kolejny surowca. Rozmiary działalności przerobu surowców i półproduktów mogą być scharakteryzowane przez wartości wsadów lub uzysków. Ustalmy, że rozmiary tej działalności będą charakteryzowane przez wartości wsadów. Przyjmijmy dla tych wielkości następujące oznaczenie: Xjk np. X 0201 gdzie: j - dwucyfrowy numer kolejny działalności danego typu, k - dwucyfrowy numer kolejny wsadu. Rozmiary działalności magazynowania charakteryzują jednoznacznie ilości zmagazynowanych mediów na koniec okresu planowania. Przyjmijmy dla tych wielkości następujące oznaczenie: Zj np. Z 05 gdzie: j - dwucyfrowy numer magazynu. W końcu działalność sprzedaży produktów określona jest przez ilości sprzedanych produktów. Przyjmijmy dla tych wielkości następujące oznaczenie: Pj np. P01 gdzie: j - dwucyfrowy numer kolejny produktu. Odpowiednio do podanego sformułowania zagadnienia planowania produkcji, w modelu powinny wystąpić: (1) zależności reprezentujące powiązania pomiędzy poszczególnymi jednostkami produkcyjnymi (działalnościami) oraz powiązania zakładu z otoczeniem - tzw. zależności bilansowe; (2) zależności reprezentujące jakościowe wymagania nakładane na produkty; (3) zależności reprezentujące warunki technologiczne pracy jednostek produkcyjnych; (4) zależności reprezentujące ograniczenia zdolności przerobowych jednostek (warunki techniczne); (5) zależności reprezentujące narzucone ilościowe zadania produkcyjne; (6) funkcja celu. Przyjmijmy, że dla zbudowania modelu zebrano następujące dane: Optymalny plan działalności zakładu należy określić dla jednego kwartału, T = 90 dni. Dane o jednostkach produkcyjnych: DRW 4 a) wskaźniki uzysków: BLDRW 0.040 BCDRW 0.131 b) ilość dnia pracy w okresie planowania: 90 c) maksymalna zdolność przerobowa: 27100 t/d RN d) technologiczne warunki pracy: nie ma. RF a) wskaźniki uzysków: REF 0.774 b) ilość dnia pracy w okresie planowania: 90 c) maksymalna zdolność przerobowa: 3640 t/d BCDRW d) technologiczne warunki pracy: nie ma. KB1 a) wskaźniki uzysków: BB1 1.0 b) ilość dnia pracy w okresie planowania: 90 c) maksymalna zdolność przerobowa: nie ma ograniczeń. Zakład jest w stanie wyekspediować maksymalnie około 3870 t/d BB1 i BB2. KB2 a) wskaźniki uzysków: BB2 1.0 b) ilość dnia pracy w okresie planowania: 90 c) maksymalna zdolność przerobowa: nie ma ograniczeń. Zakład jest w stanie wyekspediować maksymalnie około 3870 t/d BB1 i BB2. Wymagania jakościowe dla benzyn: Benzyna BB1 BB2 Prężność par dolna 0.5 0.5 [kG/cm2] górna 0.8 0.8 Liczba oktanowa Prężność par [kG/cm2] 0.798 0.062 0.448 Liczba oktanowa 75.0 64.0 Wskaźniki jakościowe komponentów benzyn: Komponent BLDRW BCDRW REF Gęstość [t/m3] 0.644 0.764 0.770 Ograniczenia ilościowe na dostawy surowców z zewnątrz: RN nie więcej niż 2520000 t Wymagania produkcyjne: BB1 BB2 nie więcej niż 60000 t nie mniej niż 225000 t Ceny surowców: 5 67.6 45.0 82.8 RN 0.640 jp/t Ceny produktów: BB1 BB2 6.00 jp/t 4.70 jp/t Można przyjąć, że zbiorniki praktycznie mogą pomieścić każdą ilość odpowiedniego medium. Na przykładach pokażemy w jaki sposób można formułować poszczególne z typów zależności wymienionych wyżej jako zależności liniowe. Każdej z tych zależności będziemy nadawali nazwę w postaci pewnego symbolu. (1) Zależności bilansowe - wyrażają powiązania między jednostkami produkcyjnymi zakładu oraz powiązania zakładu z otoczeniem. Przykład warunku powiązania z otoczeniem przez zakup surowca: BS 01 S 01 X 0101 Z 01 0 Przykład warunku powiązania pomiędzy jednostkami zakładu: BZ 03 0.131 X 0101 X 0201 X 0302 X 0402 Z 03 0 Przykład warunku powiązania z otoczeniem przez sprzedaż produktu: BP 01 X 0301 X 0302 X 0303 Z 05 P01 0 (2) Zależności jakościowe - powinny zapewnić wytwarzanie produktów o wymaganej jakości. Jakość produktu jest określona przez jego wskaźniki jakościowe. W modelu możemy uwzględnić wskaźniki na które mają wpływ zmienne decyzyjne. Przyjmijmy, że w modelu uwzględnimy warunki dotyczące benzyn: (a) liczby oktanowej; (b) prężności par dolnej; (c) prężności par górnej. Warunki jakie muszą spełniać wartości wymienionych wskaźników jakości można zapisać w formie odpowiednich nierówności: (a) liczba oktanowa Żąda się, aby liczba oktanowa Lj, j-tego produktu była nie mniejsza niż LjD Lj LjD (1.1) gdzie: LjD - żądana wartość liczby oktanowej j-tego produktu. Przyjmiemy, że liczba oktanowa mieszanimy jest średnią ważoną z wartości liczb oktanowych komponentów. m Xi Li Gi Lj i 1m (1.2) Xi i 1 Gi gdzie: j, i - odpowiednio numer produktu i numer komponentu, Lj, Li - odpowiednio liczba oktanowa j-tego produktu i i-tego komponentu, Gi - gęstość i-tego komponentu, 6 Xi - ilość i-tego komponentu w mieszaninie. Po podstawieniu (2.2) do (2.1) otrzymamy: m Li LjD Xi 0 Gi i 1 Przykład warunku jakościowego na liczbę oktanową dla produktu P01: LOP01 (1.3) 11. 49 X 0301 39. 27 X 0302 10.13 X 0303 0 (b) prężność par Żąda się, aby prężność par PRj j-tego produktu była nie mniejsza niż PRjD i nie większa niż PRjG PRjD PRj PRjG (1.4) Przyjmiemy, że prężność par mieszanimy jest średnią ważoną z wartości prężności par komponentów. Otrzymamy wówczas podobnie jak dla liczby oktanowej warunki: m PRi PRjD Xi 0 (1.5) Gi i 1 m PRi PRjG Xi 0 (1.6) Gi i 1 gdzie: j, i - odpowiednio numer produktu i numer komponentu, PRj, PRi - odpowiednio prężność par j-tego produktu i i-tego komponentu, Gi - gęstość i-tego komponentu, Xi - ilość i-tego komponentu w mieszaninie. Przykład warunków jakościowych dla prężności par dla produktu P01: PPDP01 0. 463 X 0301 0. 573 X 0302 0.068 X 0303 0 PPGP01 0.003 X 0301 0. 966 X 0302 0. 457 X 0303 0 (3) Ograniczenia zdolności przerobowych instalacji Przykłady: MP 01 X 0101 2439000 .0 MPP 0102 P01 P02 348300 (4) Ograniczenia na ilości surowców i produktów Przykłady: WPS 01 S 01 2520000 WPP 01 P01 60000 (5) Funkcja celu ZYSK 1 0.640 S 01 6 .0 P01 4.7 P02 z 7 Na rys. 2.6 przedstawiona jest tablica modelu liniowego dla rozważanego przykładu. W tablicy tej symbole i oznaczają współczynniki liczbowe odpowiednio ujemne i dodatnie, różne od -1 i 1. 2. Postać matematyczna zadań programowania liniowego Na podstawie przedstawionego przykładu widać, że w ogólnej postaci sformułowania zadania programowania liniowego wystąpią następujące składniki: (1) funkcja celu postaci: Zmaksymalizować (lub zminimalizować) z c1 x1 ... c j x j ... cn xn (2.1) (2) zasadnicze warunki ograniczające o jednej z następujących postaci: ai1 x1 ... aij x j ... ain xn bi , i 1, k1 , i N ai1 x1 ... aij x j ... ain xn bi , i k1 1, k2 , i N ai1 x1 ... aij x j ... ain xn bi , i k2 1, m, i N (2.2) (2.3) (2.4) (3) warunki nieujemności postaci: x j 0, j 1, s, s n (2.5) Warunki nieujemności nie muszą dotyczyć wszystkich zmiennych. Jeżeli s = n, to warunki nieujemności nazywamy pełnymi. Na rysunku 2.1 przedstawiono macierz ograniczeń zagadnienia programowania liniowego rozpatrywanego zakładu rafineryjnego. 8 Zmienne O g r a n. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 S 0 1 2 X 0 1 0 1 3 X 0 2 0 1 4 X 0 3 0 1 5 X 0 3 0 2 6 X 0 3 0 3 7 8 9 X X X 0 0 0 4 4 4 0 0 0 2 3 1 10 Z 0 1 11 Z 0 2 12 Z 0 3 13 Z 0 4 14 Z 0 5 15 Z 0 6 16 P 0 1 17 P 0 2 BS01 1 -1 -1 BZ02 + -1 -1 -1 BZ03 + -1 -1 -1 -1 BZ04 + -1 -1 -1 BP01 1 1 1 -1 -1 BP02 1 1 1 -1 -1 LOP01 + PPDP01 PPGP01 LOP02 PPDP02 PPGP02 MP01 1 MP02 1 MPP01P02 1 1 WPS01 1 WPP01 1 WPP02 1 ZYSK1 R e l a c j a = = = = = = Rys. 2.1. Tablica przykładowego zadania programowania liniowego 9 P r. s t r. 0 0 0 0 0 0 0 0 0 0 0 0 2439000 327600 348300 2520000 60000 225000 z