Algorytm smpleks adaa operacyje Wykład adaa operacyje dr hab. ż. Joaa Józefowska, prof.pp Istytut Iformatyk Orgazacja zajęć 5 godz wykładów dr hab. ż. J. Józefowska, prof. PP Obecość a laboratorach jest www.cs.put.poza.pl/jjozefowska obowązkowa! dyżur: poedzałek 9.-., ul. Weawskego /9, pok. 5 godz laboratorum dr ż. Marek Mka dr ż. Rafal Różyck mgr ż. Łukasz Józefowsk Ok. 6 godz pracy poza zajęcam Zalczee Zalczee laboratorum jest warukem dopuszczea do egzamu Egzam odbędze sę zgode z harmoogramem sesj Program zajęć Programowae lowe Sformułowae problemu przykłady zastosowań Algorytm smpleks Zagadee duale Programowae elowe Metoda Lagrage a Metoda KKT Optymalzacja dyskreta Algorytmy metaheurystycze Algorytmy dokłade Lteratura. adaa operacyje, red. E. Igasak, PWE, Warszawa 99.. łażewcz J., Cellary W., Słowńsk R., Węglarz J., adaa operacyje dla formatyków, skrypt Poltechk Pozańskej, Wydawctwo Poltechk Pozańskej, Pozań 9.. Chapma C.., Cooper D. F., Page M. J., Maagemet for Egers, Joh Wley & Sos, Chchester, 9.. Ecker J. G., Kupferschmdt M., Itroducto to Operatos Research, Joh Wley & Sos, New York 9. 5. Faure R., oss J., adaa operacyje, PWN, W-wa 9. 6. Fdese W., Szymaowsk J., Werzbck A., Teora metody oblczeowe optymalzacj, PWN, Warszawa 9.. Jędrzejczyk Z., Kukuła K., Skrzypek J., Walkosz A., adaa operacyje w przykładach zadaach, red. K. Kukuła, Pracowa Polgrafcza Akadem Ekoomczej w Krakowe, Kraków 99.. Neal F., Share R., Proces budowy model ekoomczych, PWN, W-wa 9. 9. Sudak M., adaa operacyje, Ofcya Wydawcza Poltechk Warszawskej, Warszawa 99.. Trzaskalk T., Wprowadzee do badań operacyjych z komputerem, Polske Wydawctwo Ekoomcze, W-wa.. Wager H., adaa operacyje, PWE, W-wa 99.
Lteratura. adaa operacyje, red. E. Igasak, PWE, Warszawa 99.. łażewcz J., Cellary W., Słowńsk R., Węglarz J., adaa operacyje dla formatyków, skrypt Poltechk Pozańskej, Wydawctwo Poltechk Pozańskej, Pozań 9.. Chapma C.., Cooper D. F., Page M. J., Maagemet for Egers, Joh Wley & Sos, Chchester, 9.. Ecker J. G., Kupferschmdt M., Itroducto to Operatos Research, Joh Wley & Sos, New York 9. 5. Faure R., oss J., adaa operacyje, PWN, W-wa 9. 6. Fdese W., Szymaowsk J., Werzbck A., Teora metody oblczeowe optymalzacj, PWN, Warszawa 9.. Jędrzejczyk Z., Kukuła K., Skrzypek J., Walkosz A., adaa operacyje w przykładach zadaach, red. K. Kukuła, Pracowa Polgrafcza Akadem Ekoomczej w Krakowe, Kraków 99.. Neal F., Share R., Proces budowy model ekoomczych, PWN, W-wa 9. 9. Sudak M., adaa operacyje, Ofcya Wydawcza Poltechk Warszawskej, Warszawa 99.. Trzaskalk T., Wprowadzee do badań operacyjych z komputerem, Polske Wydawctwo Ekoomcze, W-wa.. Wager H., adaa operacyje, PWE, W-wa 99. Programowae lowe Algorytm smpleks Pla wykładu Problem programowaa lowego Postać kaocza Postać stadardowa Algorytm smple Początkowa baza dopuszczala Tablca smpleks Waruek optymalośc rozwązaa Zmaa bazy Trasformacja tablcy Metoda sztuczej bazy Metoda grafcza Przykład zastosowaa PL Mały warsztat aprawa trzy rodzaje urządzeń,,. Każde urządzee zawera trzy podstawowe elemety: E, E, E. Naprawa polega a demotażu /lub motażu elemetów E, E, E według określoej techolog. Tabela przedstawa przebeg każdej aprawy, zysk z aprawy urządzea określoego typu oraz zapas elemetów E, E, E w frme. Przykład zastosowaa PL Sformułowae problemu Urządzee Zapas [szt.] E - Elemet E - E - zysk [$/szt] - Aby określć optymaly z puktu wdzea maksymalzacj zysku zakres apraw budujemy model lowy problemu. - Nech ozacza plaowaą lczbę sztuk urządzea ozacza plaowaą lczbę sztuk urządzea ozacza plaowaą lczbę sztuk urządzea Całkowty zysk z aprawy urządzeń: + Zakład ma zapas sztuk elemetu E Lczba sztuk elemetu A potrzeba do realzacj produkcj: Podobe dla elemetów C: + + + +
Sformułowae problemu Zmaksymalzować + () Przy ograczeach + () + () + + (),, (5) zmaksymalzować Model lowy c j j fukcja celu (kryterum) przy ograczeach aj j b,, K,m ograczea j, j, K, zmaksymalzować parametry Model lowy c j j zmea decyzyja przy ograczeach aj j b,, K,m () j, j, K, () () Model lowy postać kaocza zmaksymalzować c j j () przy ograczeach aj j b,, K,m () j, j, K, () Model lowy Model lowy postać stadardowa zmmalzować c j j (v) przy ograczeach aj j b,, K,m (v) j, j, K, (v) c zmaksymalzować przy ograczeach [ c,c, K,c ] K c A b a K a A K K K am K am b b b K bm
Podstawowe defcje Rozwązaem dopuszczalym zagadea programowaa lowego jest wektor (,,..., ), spełający waruk () oraz (). Rozwązaem bazowym układu rówań () azywamy rozwązae układu powstałego przez przyrówae do zera m zmeych przy założeu, że wyzaczk współczyków pozostałych m zmeych jest ezerowy. Te m zmeych azywamy zmeym bazowym. Nezdegeerowaym rozwązaem bazowym dopuszczalym azywamy bazowe rozwązae dopuszczale, w którym wszystke zmee bazowe są dodate. Maksymalym (mmalym) rozwązaem dopuszczalym jest rozwązae dopuszczale, które maksymalzuje (mmalzuje)fukcję celu (). Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. wyzaczyć elemet lk o ajmejszym loraze b k / k dla k >, ; b. przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. Postać kaocza problemu PL Zmaksymalzować: + Przy ograczeach: + + + +,, Postać stadardowa problemu PL Wszystke ograczea mają postać rówań Jak to zrobć? dodajemy zmee osłabające (s ), z zerowym współczykam w fukcj celu Wektor prawych stro ograczeń jest eujemy (b ) Jak to zrobć? możymy obustroe rówae przez ( ) Fukcja celu jest maksymalzowaa możymy fukcję celu przez ( ) Jak to zrobć? Sprowadzee ograczeń do postac rówań Zmaksymalzować: + + s + s + s Przy ograczeach: + + s Wektor prawych stro ograczeń jest dodat Fukcja celu jest maksymalzowaa + + s + + + s,,, s, s, s
Problem w postac stadardowej Zmaksymalzować: + + s + s + s Przy ograczeach: + + s + + s + + + s,,, s, s, s Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. Dopuszczale rozwązae bazowe Rozwązaem bazowym jest rozwązae, które powstaje przez przyrówae do zera m zmeych rozwązae powstałego układu rówań. Uwaga: w postac stadardowej zawsze >m Jeżel w rozwązau bazowym wartośc wszystkch zmeych są eujeme, to jest oo rozwązaem bazowym dopuszczalym. Zalezee bazy początkowej Zmaksymalzować: + Przy ograczeach: + + s + + s + + + s Nech,,, s, s, s Zalezee bazy początkowej Nech + + s + + s + + + s Jest to rozwązae bazowe dopuszczale Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. 5
Początkowa tablca smpleks Początkowa tablca smpleks Numer wersza tablcy. Lczba werszy: m+. Początkowa tablca smpleks Początkowa tablca smpleks s Nazwy wektorów tworzących bazę. s c Współczyk przy zmeych bazowych w fukcj celu. s s s s Początkowa tablca smpleks Początkowa tablca smpleks c Wartośc zmeych bazowych w beżącym rozwązau. c s s s s s s s s s Nazwy wszystkch zmeych. 6
Początkowa tablca smpleks Współczyk przy zmeych w fukcj c celu. Początkowa tablca smpleks Współczyk przy zmeych w ograczeach. c s s s s s s s s s s s s Początkowa tablca z j smpleks c j Początkowa tablca z j smpleks c j c c s s s s s s s s s s s s Wersz wskaźkowy. Wartośc c j - z j Wersz wskaźkowy. Wartośc c j - z j Początkowa tablca smpleks Początkowa tablca smpleks c c s s s s s s s s s s s s Wartość fukcj celu w beżącym rozwązau.
Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. Początkowa tablca smpleks s s s c s s s Początkowa tablca smpleks s s s c s s s Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k >, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: Jeżel wszystke k j j k,, to fukcja celu może lk przyjmować dowole duże c. wrócć wartośc do kroku (rozwązae. eograczoe). Początkowa tablca smpleks c koluma k Początkowa tablca smpleks c koluma k s s s s s s s s s s s s / < /
Początkowa tablca smpleks c koluma k Początkowa tablca smpleks c koluma k s s s s s s s s wersz l s wersz l s s elemet cetraly przekształcea zmea (z kolumy k) zastępuje w baze zmeą s (z wersza l) Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. wersz wersz l Początkowa tablca smpleks s s c koluma j koluma k s s s Początkowa tablca smpleks c koluma j koluma k Początkowa tablca smpleks c koluma k s s s s s s wersz wersz l s s wersz l s s 5/ 5/ / / *,5 / / 9 9
wersz l Początkowa tablca smpleks s s c koluma k s s s 5/ / / / 5/ / / / 9 Algorytm smpleks. sprowadzć problem do postac stadardowej;. zaleźć dopuszczale rozwązae bazowe;. zbudować początkową tablcę smpleks;. wybrać ajwększy elemet wersza wskaźkowego ( m+,k ); 5. jeżel jego wartość jest dodata, to a. Wyzaczyć elemet lk o ajmejszym loraze b k / k dla k, ; b. Przekształcć tablcę smple przyjmując elemet lk za elemet cetraly przekształcea stosując astępujące wzory: k j j c. wrócć do kroku. Tablca smpleks Tablca smpleks c c s s s s s s s 5/ / s 5/ / / / / / s 5/ / s 5/ / / / 9 / / 9 Tablca smpleks Tablca smpleks c c s s s s s s s 5/ / s 5/ / / / / / s 5/ / s 5/ / / / 9 / / 9
Końcowa tablca smpleks c s s s /5 /5 / 5 z s s s Rozwązae optymale c s s s /5 /5 / /5 /5 / 5 /5 /5 / 5 s -/ s -/ -/5 -/5 -/5 - -/5 -/5 -/5 - Iterpretacja rozwązaa Przykład Maksymaly zysk to $. Należy aprawć szt. urządzea 5 szt. urządzea, atomast e ależy przyjmować zleceń a aprawę urządzea. Wartośc zmeych uzupełających ozaczają zapas częśc, który pozostae w magazye po zakończeu produkcj. Elemety E E zostaą zużyte, atomast pozostae szt. Elemetu E. Zmmalzować: + + Przy ograczeach: + + + + 5 + +,, Postać stadardowa Zmaksymalzować: + + Przy ograczeach: + + s Metoda sztuczej bazy + + + s 5 aza dopuszczala? + + s,,
Metoda sztuczej bazy I. Wprowadzamy k m zmeych sztuczych. Zmee te są eujeme, a ch współczyk w fukcj celu przyjmują wartość ( M), gdze M jest dużą lczbą dodatą. II. Tablcę smpleks ze sztuczym wektoram przekształcamy jak zwykłą tablcę, dopók:. wszystke sztucze wektory zostaą wyelmowae z bazy, tj. mamy bazę dopuszczalą perwotego zagadea;. brak dodatch współczyków przy M a. jeżel sztucza część fukcj celu jest dodata, to zagadee e ma rozwązaa dopuszczalego; b. jeśl sztucza część fukcj celu jest rówa zero, to mamy zdegeerowae rozwązae dopuszczale perwotego zagadea, które zawera co ajwyżej jede sztuczy wektor. Przekształcamy tablcę smpleks wprowadzając do bazy wektor, który odpowada ajwększemu dodatemu elemetow wersza wskaźkowego przy zerowej wartośc współczyka przy M. III. Kolumy odpowadające zmeym sztuczym, które opuścły bazę moża elmować z oblczeń. IV. Po otrzymau bazy dopuszczalej zagadea perwotego kotyuujemy realzację algorytmu smpleks aż do otrzymaa rozwązaa problemu perwotego. Sztucza baza Zmaksymalzować: + + Ma Ma Przy ograczeach: + + s + a + + s 5 + s + a,,, s, s, s, a, a s s Sztucza baza Początkowa tablca smpleks c -M -M s s s a a Zmaksymalzować: + + Ma Ma a -M - Przy ograczeach: a s 5 s 5 a a -M +M +5M +M -M - -M -5M s s Rozwązae Przykład Zmmalzować: + Przy ograczeach: + 5 EploreLP.ee + 5 +,,
Rozwązae Podsumowae EploreLP.ee Sformułowae problemu PL w postac stadardowej Algorytm smpleks Metoda sztuczej bazy Metoda grafcza