Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 1 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE Zadanie programowania liniowego w którym zmienne decyzyjne musz a przyjmować wartości całkowite nazywamy zadaniem programowania liniowego całkowitoliczbowego(krótko PLC). max(min)z = c 1 x 1 +c 2 x 2 + +c n x n a 11 x 1 +a 12 x 2 + +a 1n x n (,=)b 1... [Funkcjacelu] [Ograniczenie1] a m1 x 1 +a m2 x 2 + +a mn x n (,=)b m [Ograniczenie m] x 1 0,...,x r 0, r n x i całkowite, i = 1,...,n 1 (n 1 n). [Ograniczenianaznak] Jeśli n 1 = n,zagadnienienazywamyczystymzagadnieniem programowanialiniowego(pcl)natomiast,gdy n 1 < nzagadnienie nazywamy mieszanym(mcl).
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 2 P1-Zagadnienie rozkroju. Klient zamówił w tartaku 100 desek o szerokości2cm,150desekoszerokości3cmi80desekoszerokości 4 cm. Wszystkie zamawiane przez klientów deski są tej samej długości l. Deski wycinane s a ze standardowych desek o długości l i szerokości 10 cm. W jaki sposób zrealizować zamówienie aby ilość ciȩtych desek standardowych była minimalna? Poniższa tabela pokazuje wszystkie możliwe sposoby pociȩcia standardowej deski:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 3 Sposób Ilość4cm Ilość3cm Ilość2cm 1 2 0 1 2 1 2 0 3 1 1 1 4 1 0 3 5 0 3 0 6 0 2 2 7 0 1 3 8 0 0 5 Zmienne decyzyjne: x i -ilośćdesekciȩta i-tymsposobem i = 1,...,8.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 4 Model: 8 i=1 x i min 2x 1 +x 2 +x 3 +x 4 80 2x 2 +x 3 +3x 5 +2x 6 +x 7 150 [Deski4cm] [Deski3cm] x 1 +x 3 +3x 4 +2x 6 +3x 7 +5x 8 100 [Deski2cm] x i 0, x i całkowite, i = 1,...,8
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 5 Zadanie w którym wszystkie zmienne decyzyjne musz a przyjmować wartość 0 lub 1 nazywamy zadaniem programowania 0-1. max(min)z = c 1 x 1 +c 2 x 2 + +c n x n [Funkcjacelu] a 11 x 1 +a 12 x 2 + +a 1n x n (,=)b 1 [Ograniczenie1]... a m1 x 1 +a m2 x 2 + +a mn x n (,=)b m [Ograniczenie m] x i {0,1}, i = 1,...,n
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 6 P2- Zagadnienie plecakowe. W magazynie znajduje siȩ 7 paczek. Każda paczka ma określon a wagȩ i wartość podan a w poniższej tabeli: Paczka Waga Wartość 1 5 8 2 2 3 3 7 10 4 1 1 5 6 9 6 8 11 7 2 2 Samochód ma ładowność 15(czyli może zabrać ładunek o ł acznej wadze nie wiȩkszej niż 15). Które paczki ma zabrać samochód aby zmaksymalizować wartość ładunku?
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 7 Zmienne decyzyjne: x i {0,1}, x i = 1jeżelisamochódzabiera i-t apaczkȩi0w przeciwnymwypadku, i = 1,...,7. Model: maxz = 8x 1 +3x 2 +10x 3 +x 4 +9x 5 +11x 6 +2x 7 5x 1 +2x 2 +7x 3 +x 4 +6x 5 +8x 6 +2x 7 15 x i {0,1}, i = 1,...,7 [Ładownośćsamochodu]
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 8 Rozpatrzmy dodatkowe ograniczenia: Należy zabrać paczkȩ 2 lub 5. Należy zamodelować alternatywȩ x 2 = 1 x 5 = 1.Dodajemyograniczenie: x 2 +x 5 1 Nie wolno przewozić razem paczek 1 i 6. Należy zamodelować warunek (x 1 = 1 x 6 = 1) (x 1 = 0 x 6 = 0).Dodajemy ograniczenie: x 1 +x 6 1 Jeżeli zabieramy paczkȩ 3 to musimy zabrać również paczkȩ 4. Należyzamodelowaćimplikacjȩ x 3 = 1 x 4 = 1.Dodajemy ograniczenie: x 4 x 3
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 9 P3- Zagadnienie stałych kosztów. Firma tekstylna SZYK zamierzaprodukowaćtrzyprodukty: W 1,W 2 i W 3.Doprodukcji tych wyrobów potrzebne są trzy rodzaje maszyn, które firma zamierza wynająć. Wynajęcie maszyn do produkcji wyrobów W 1,W 2 i W 3 kosztujetygodniowoodpowiednio200,150i100zł. Zmiennekosztyprodukcjiszacujesięodpowiedniona6,4i8zł.za sztukęacenazbytuwynosiodpowiednio12,8i15zł.zaszt. Wyroby te produkuje się z materiału, którego tygodniowa dostawa nieprzekracza160 m 2 ajednostkowezużyciewynosiodpowiednio 4,3i4m 2.Ponadtozdolnościprodukcyjnefirmyogranicza zatrudnienie- dysponuje 150 roboczogodzinami tygodniowo. Pracochłonność wytwarzania jednej sztuki każdego wyrobu wynosi odpowiednio 3, 2 i 6 roboczogodzin. Firma chce opracować plan produkcji maksymalizujący zysk. Zmienne decyzyjne: x i -ilośćprodukowanegowyrobu W i i = 1,2,3. y i {0,1}, y i = 1jeżeliprodukujesięwyrób W i i = 1,2,3a0
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 10 w przeciwnym wypadku. Model: Funkcją celu jest zysk(dochód- koszt zmienny- koszt wynajmu maszyn) maxz = 12x 1 +8x 2 +15x 3 (6x 1 +4x 2 +8x 3 ) (200y 1 +150y 2 +100y 3 ) = 6x 1 +4x 2 +7x 3 200y 1 150y 2 100y 3 3x 1 +4x 2 +7x 3 150 4x 1 +3x 2 +4x 3 160 x 1 M 1 y 1 (jeśli x 1 > 0to y 1 = 1) x 2 M 2 y 2 (jeśli x 2 > 0to y 2 = 1) x 3 M 3 y 3 (jeśli x 3 > 0to y 3 = 1) x 1,x 2,x 3 0całkowite; y 1,y 2,y 3 {0,1} Zograniczeńmamy,że M 1 = 40,M 2 = 53iM 3 = 25.Rozwiązanie optymalneto: z opt = 75,x 3 = 25,y 3 = 1.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 11 P4- Zagadnienie pokrycia. W pewnym regionie znajduje siȩ sześć miast. Czasy przejazdu miȩdzy miastami(w minutach) podane s a w poniższej tabeli: Miasto1 Miasto2 Miasto3 Miasto4 Miasto5 Miasto6 Miasto 1 0 10 20 30 30 20 Miasto 2 0 25 35 20 10 Miasto 3 0 15 30 20 Miasto 4 0 15 25 Miasto 5 0 14 W których miastach należy ulokować posterunki policji aby czas dojazdu do każdego miasta był nie dłuższy niż 15 minut? Chcemy zminimalizować liczbȩ wybudowanych posterunków.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 12 Zmienne decyzyjne: Posterunek w mieście obsługuje miasta 1 1,2 2 1,2,6 3 3,4 4 3,4,5 5 4,5,6 6 2,5,6 x i {0,1}, x i = 1jeżelibudujemyposterunekwi-tymmieście i0wprzeciwnymprzypadku, i = 1,...,6.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 13 Model: x 1 +x 2 +x 3 +x 4 +x 5 +x 6 min x 1 +x 2 1 x 1 +x 2 +x 6 1 x 3 +x 4 1 x 3 +x 4 +x 5 1 x 4 +x 5 +x 6 1 x 2 +x 5 +x 6 1 x i {0,1}, i = 1,...,6 [Należyobsłużyćmiasto1] [Należyobsłużyćmiasto2] [Należyobsłużyćmiasto3] [Należyobsłużyćmiasto4] [Należyobsłużyćmiasto5] [Należyobsłużyćmiasto6]
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 14 P4(cd P3)- zaawansowane modelowanie. Firma wytwarza 3 typy samochodów. Dane s a nastȩpuj ace: TYP1 TYP2 TYP3 Zużycie stali(t/szt) 1.5 3 5 Wymagana praca(h/szt) 30 25 40 Zysk($/szt.) 2000 3000 4000 Zapasstaliwynosi6000tadostȩpnapracawynosi60000godzin. Chcemy zmaksymalizować zysk. Zmienne decyzyjne: x i -liczbaprodukowanychsamochodów i-tegotypu, i = 1,...,3.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 15 Model: 2000x 1 +3000x 2 +4000x 3 max 1.5x 1 +3x 2 +5x 3 6000 [Zużyciestali] 30x 1 +25x 2 +40x 3 60000 x 1,x 2,x 2 0icałkowite Rozpatrzmy nastȩpuj ace dodatkowe wymagania: [Zużyciepracy] 1. Produkcja mniej niż 1000 sztuk typu 1 jest nieopłacalna(należy produkować albo 0 albo co najmniej 1000 sztuk). Należy zamodelowaćalternatywȩ x 1 0 x 1 1000.Wprowadzamy zmienn abinarn a y 1 {0,1}idodajemydwaograniczenia: x 1 My 1 1000 x 1 M(1 y 1 ) gdzie Mjestduż aliczb a.jeżeli y 1 = 0to x 1 0.Jeżeli y 1 = 1
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 16 to 1000 x 1 0czyli x 1 1000.Wtensposóbjedenzdwóch warunków musi być spełniony. Uwaga: W ogólnym przypadku, jeśli chcemy zamodelować alternatywȩ: f(x 1,...,x n ) 0 g(x 1,...,x n ) 0 tj. chcemy aby przynajmniej jedno z dwóch ograniczeń było spełnione, to wymaganie to modelujemy wprowadzaj ac zmienn abinarn a δ {0,1}idodającdozbioruograniczeń modelu następujące dwa ograniczenia: f(x 1,...,x n ) Mδ g(x 1,...,x n ) M(1 δ), (1) gdzie M jest bardzo duż a liczb a dodatnią.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 17 2.Jeżeliprodukcjatypu3przekroczy500szt.toprodukcjatypu2 nie może przekroczyć 100 szt. Chcemy zamodelować implikacjȩ (x 3 > 500) (x 2 100).Korzystamyzprawalogicznego (p q) ( p q).st ad (x 3 > 500) (x 2 100) (x 3 500) (x 2 100) Wprowadzamyzmienn abinarn a y 2 {0,1}idodajemy ograniczenia(zgodnie z(1)): x 3 500 My 2 x 2 100 M(1 y 2 ) gdzie Mjestjak aśbardzoduż aliczb a.jeżeli x 3 > 500toaby spełnićpierwszeograniczenimusizajść y 2 = 1.Wówczasz drugiegoograniczenieotrzymujemy x 2 100.Jeżeli x 3 500 to y 2 = 0iwartość x 2 możebyćdowolna.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 18 Uwaga: W ogólnym przypadku, jeśli chcemy zamodelować implikacjȩ f(x 1,...,x n ) > 0 g(x 1,...,x n ) 0. to korzystamy z równoważnego warunku: f(x 1,...,x n ) 0 g(x 1,...,x n ) 0. i dodajemy ograniczenia zgodnie z(1). Jeżeli chcemy zamodelować implikacjȩ f(x 1,...,x n ) > 0 g(x 1,...,x n ) 0 to korzystamy z równoważnego warunku: f(x 1,...,x n ) 0 g(x 1,...,x n ) 0. i dodajemy do ograniczeń modelu następujące ograniczenia (zgodniez(1)):
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 19 f(x 1,...,x n ) Mδ g(x 1,...,x n ) M(1 δ) δ {0,1}.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 20 Uwaga: Nieliniowe problemy binarne można sprowadzić do liniowych: Jeśli x j jestzmiennąbinarnąto x n j = x jdladowolnego n. Jeśliwmodeluwystępujenieliniowewyrażenie x i x j będące iloczynemdwóchzmiennychbinarnych x i oraz x j,to zastępujemy ten iloczyn nową zmienną binarną δ spełniającą następujący warunek: δ = 1 (x i = 1) (x j = 1). Spełnienie tego warunku wymusza dodanie do warunków modelu następującego układu nierówności: x i +δ 0 x j +δ 0 x i +x j δ 1.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 21 Na przykład, jeśli w modelu wystąpi nieliniowe ograniczenie x 5 1 +x 3 x 5 0towprowadzamynowązmiennąbinarną y(= x 3 x 5 ) {0,1},ograniczenienieliniowezastępujemyliniowym x 1 +y 0idodajemydoograniczeńmodelutrzydodatkowe liniowe ograniczenia: x 3 +y 0 x 5 +y 0 x 3 +x 5 y 1.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 22 P5- Zagadnienie komiwojażera TSP. Komiwojażer wyrusza z miasta, gdzie mieszka, ma odwiedzić klientów mieszkających w innych miastach i powrócic do domu. Problem polega na tym, aby wyznaczyć kolejność odwiedzania(dokładnie jeden raz) tych miast tak, aby łączna ilość przejechanych przez komiwojażera kilometrów była jak najmniejsza. Problem ten może być sformułowany jako zagadnienie programowania całkowitego następująco: Założymy,że miasta które ma odwiedzić komiwojażer są ponumerowane 1,2,...,n(miasto1jestmiejscemzamieszkaniakomiwojażera). Dowolne rozwiązanie problemu będziemy nazywać trasą. Zdefiniujemy 0 1zmiennedecyzyjne x ij następująco: 1 jeśli trasa przebiega od miasta i bezpośrednio do miasta j. x ij = 0 w przeciwnym przypadku. orazwprowadzimydodakowozmienneciągłe u i for i = 2,...,n. Zmienne u i mająnastępującąinterpretację: u i jestkolejnym
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 23 numerem miasta odwiedzanego przez komiwojażera na trasie zdefiniowanejprzezzmienne x ij.model: MinimizeZ = n j=1, j i n i=1, i j n c ij x ij (2) i j x ij = 1for i = 1,...,n. (3) x ij = 1for j = 1,...,n. (4) x ij {0,1} i,j = 1,...,n;i j. (5) u i u j +(n 1)x ij n 2for i,j = 2,...,n;i j. (6) 1 u i n 1fori=2,...,n. (7) Warunki(3) formułują wymaganie aby dokładnie jedno miasto było wizytowane bezposrednio po mieście i. Warunki(4), że przed miastem j musi być odwiedzone też dokładnie jedno miasto. Dodatkowe ograniczenia(6) eliminują możliwość występowania podcykli w
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 24 rozwiązaniu. Do rozwiązywania tego problemu opracowane wiele dokładnych i heurystycznych algorytmów. Metoda dokładna rozwiązywania zagadnienia komiwojażera( rozwiązywanie ciągu zadań PCL) Podamy teraz inną niż oszacowań i podziału metodę rozwiązywania zagadnienia komiwojażera. Polega ona na rozwiązaniu ciągu zagadnień PCL, w którym każde następne zagadnienie otrzymyjemy z poprzedniego dopisując dodatkowe ograniczenia eliminujące podcykle poprzednio uzyskanego rozwiązania. Zaczynamy od rozwiązania następującego zagadnienie PCL
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 25 (zagadnienie optymalnego przydziału): n c ij x ij = z max (8) i=1 n x ij = 1,dla i = 1,...,n, (9) j=1 n x ij = 1,dla j = 1,...,n, (10) i=1 x ij {0,1} dla i = 1,...,n, j = 1,...,n, i j. (11) Jeśli rozwiązanie optymalne tego zagadnienia nie zawiera podcykli, to jest ono również rozwiązaniem optymalnym zagadnienia komiwojażera. Jeśli natomiast zawiera podcykle(tj. cykle przechodzace przez mniej niż n wierzchołków) to dopisujemy ograniczenia- dla każdego podcyklu jedno- eliminujące te podcykle. Stosujemy następującą metodę eliminacji podcykli:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 26 dodajemy ograniczenie, że suma zmiennych, które tworzą dany podcykl musi być nie większa niż liczba łuków tego podcyklu minus 1. Ponownie rozwiązujemy tak zmodyfikowane całkowitoliczbowe zagadnienie(ma teraz tyle dodatkowych ograniczeń ile było podcykli). Powyższe postępowanie kontynuujemy aż do otrzymania rozwiązanie nie zawierającego podcykli, które jest rozwiązaniem optymalnym. Działanie tej metody zilustrujemy na przykładzie zagadanienia komiwojażera o następującej macierzy odległości:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 27 1 2 3 4 5 6 1 0 42 62 53 96 105 2 52 0 49 29 54 84 3 70 42 0 77 65 129 4 42 35 56 0 57 56 5 105 63 81 41 0 80 6 101 93 111 72 75 0 Tabela 1: Macierz odległości dla zagadnienia komiwojażera Rozwiązanie optymalne zagadnienia optymalnego przydziału jest następujace: x 13 = x 21 = x 32 = x 46 = x 54 = x 65 = 1 Zawiera ono dwa podcykle utworzone przez łuki (ij), dla których
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 28 x ij = 1:jedento (1 3 2 1)adrugi (4 6 5 4). Eliminujemy je dodając dwa następujace ograniczenia: x 13 +x 32 +x 21 2 (12) x 46 +x 65 +x 54 2 (13) Rozwiązujemy teraz wyjściowy problem z dwoma dodatkowymi ograniczeniami(12 i 13). Rozwiązanie optymalne jest następujące: x 13 = x 24 = x 32 = x 41 = x 56 = x 65 = 1 Rozwiązanietozawieraznowudwapodcykle: (1 3 2 4 1) oraz (5 6 5).Eliminujemyjedopisującdoograniczeń wyjściowego problemu oprócz(12, 13) dwa nowe: x 13 +x 32 +x 24 +x 41 3 (14) x 56 +x 65 1 (15)
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 29 Rozwiązaniem optymalnym tego zagadnienia jest: x 13 = x 26 = x 32 = x 41 = x 54 = x 65 = 1 co daje już optymalną trasę komiwojażera: (1 3 2 6 5 4 1) o długości 346.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 30 Metody heurystyczne rozwiązywania zagadnienia komiwojażera Konstrukcjitrasy Heurystyka najbliższego sasiada. Heurystyka najbliższego(najdalszego) wstawienia. Heurystyka najtańszego wstawienia Heurystyka CCAO Poprawianie trasy- Algorytm 2-optymalny.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 31 Naiwne metody rozwi azywania zadania PLC. 1. Pomiń warunki całkowitoliczbowości, rozwi aż problem algorytmem sympleks i zaokr aglij wynik. Rozpatrzmy przykład: maxz = 21x 1 +11x 2 7x 1 +4x 2 13 x 1,x 2 0, x 1,x 2 całkowite
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 32 x 2 3.5 3 2.5 2 1.5 1 0.5 0 0.5 1.0 1.5 2.0 x 1 Problem posiada 6 rozwi azań dopuszczalnych. S a to punkty (0,0),(0,1),(0,2),(0,3),(1,0)i(1,1).Funkcjaceluosi aga najwiȩksz a wartość w punkcie(0,3). Pomijaj ac warunki
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 33 całkowitoliczbowości otrzymujemy optymalny punkt(13/7,0). Zaokr aglaj ac wynik w górȩ otrzymujemy punkt(2,0), który jest niedopuszczalny. Zaokr aglaj ac wynik w dół otrzymujemy punkt (1, 0), który jest nieoptymalny. 2. Wygeneruj wszystkie rozwi azania dopuszczalne i wybierz najlepsze. Rozpatrzmy problem plecakowy: maxz = n i=1 c ix i n i=1 w ix i W x i {0,1}, i = 1...n Wproblemietymnależywygenerowaćisprawdzić 2 n rozwi azań. Załóżmy, że jedno rozwi azanie można sprawdzić w czasie 10 6 s.wówczasdla n = 50czasobliczeńwyniesieok. 35latadla n = 60czastenwyniesieok.36558lat.Algorytmy pełnego przegl adu s a wiȩc bardzo nieefektywne.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 34 Uwaga: Dla ogólnego zadania PLC nie jest znany efektywny algorytm(wszystkie znane algorytmy mog a działać bardzo długo dla pewnych niedużych problemów) ALGORYTM PODZIAŁU I OGRANICZEŃ Zadanie PL otrzymane z PLC przez usuniȩcie warunków całkowitoliczbowości nazywamy relaksacj a PLC. Przykładowy problem i jego relaksacja: maxz = 21x 1 +11x 2 7x 1 +4x 2 13 x 1,x 2 0 x 1,x 2 całkowite maxz R = 21x 1 +11x 2 7x 1 +4x 2 13 x 1,x 2 0 Wprowadzamy oznaczenia: z -maksymalnawartośćfunkcjiceluplc
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 35 z R -maksymalnawartośćfunkcjiceluodpowiedniejrelaksacji PLC. Własność:Zachodzizawszewarunek z R z,czylirelaksacja określa górne ograniczenie na wartość funkcji celu w PLC. Relaksacjȩ można rozwi azać algorytmem sympleks. Na pojȩciu relaksacji opiera siȩ algorytm podziału i ograniczeń. Przykład. Rozwi azać problem: maxz = 8x 1 +5x 2 6x 1 +10x 2 45 9x 1 +5x 2 45 x 1,x 2 0, x 1,x 2 całkowite Zaczynamy od rozwi azania relaksacji(np. algorytmem sympleks
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 36 albometod agraficzn a).otrzymujemy x 1 = 3.75, x 2 = 2.25, z R = 41.25. x 2 5 4 3 2 (3.75,2.25) 1 0 1 2 3 4 5 x 1 Otrzymane rozwi azanie jest niedopuszczalne ponieważ zmienne s a niecałkowite. Wybieramy zmienn a niecałkowit a z wiȩkszym współczynnikiemfunkcjiceluczyli x 1.Dokonujemypodziału
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 37 zmiennej x 1 irozpatrujemydwapodproblemy:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 38 0 x 1 = 3.75,x 2 = 2.25 x 1 3 z R = 41.25 x 1 4 x 1 = 3,x 2 = 2.7 1 2 z R = 37.5 x 1 = 4,x 2 = 1.8 z R = 41 5 4 3 (3,2.7) 2 1 1 2 (4,1.8) 0 1 2 3 4 5
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 39 Rozwi azania obu podproblemów s a niedopuszczalne(tzn. nie są całkowite). Wybieramy podproblem, dla którego relaksacja daje wiȩkszegórneoszacowaniemczylipodproblem2.zmienna x 2 jest niecałkowita.dokonujemywiȩcpodziału x 2 itworzymydwa podproblemy 3 i 4. Podproblem 4 jest sprzeczny- odpowiadaj acy mu wierzchołek zamykamy(nie dzielimy dalej).
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 40 0 x 1 = 3.75,x 2 = 2.25 x 1 3 z R = 41.25 x 1 4 x 1 = 3,x 2 = 2.7 1 2 x 1 = 4,x 2 = 1.8 z zr R = 37.5 = 41 x 2 1 x 2 2 x 1 = 4.44,x 2 = 1 3 4 z R = 40.55 model sprzeczny Wybieramy otwarty podproblem z najwiȩkszym górnym oszacowaniem,czylipodproblem3.zmienna x 1 jestniecałkowita. Dokonujemywiȩcpodziału x 1 itworzymypodproblemy5i6. Rozwi azuj ac oba podproblemy otrzymujemy optymalne rozwi azania całkowite. Odpowiadaj ace im wierzchołki zamykamy. Wtymmomencieznamydopuszczalnerozwi azanie x 1 = 5, x 2 = 0
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 41 o wartości funkcji celu równej 40. Musimy jeszcze zbadać otwarty podproblem 1. Ponieważ górne ograniczenie w tym podproblemie jestrówne 37.5 < 40,topodproblem1niemożezawierać rozwi azanialepszegoniżrozwi azanie x 1 = 5, x 2 = 0.Wierzchołek odpowiadaj acy podproblemowi 1 zamykamy. W tym momencie wszystkie wierzchołki s a zamlniȩte i optymalnym rozwi azaniem jest x 1 = 5, x 2 = 0.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 42 0 x 1 = 3.75,x 2 = 2.25 x 1 3 z R = 41.25 x 1 4 x 1 = 3,x 2 = 2.7 1 2 x 1 = 4,x 2 = 1.8 z zr R = 37.5 = 41 x 2 1 x 2 2 x 1 = 4.44,x 2 = 1 3 4 z R = 40.55 x 1 4 x 1 5 model sprzeczny x 1 = 4,x 2 = 1 x 1 = 5,x 2 = 0 zr = 37 zr = 40 5 6 Przykład. Rozwi azać problem:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 43 maxz = 2x 1 +x 2 5x 1 +2x 2 8 x 1 +x 2 3 x 1,x 2 0, x 1 całkowite Powyższy problem jest tzw. problemem mieszanym(tylko niektóre zmiennemusz abyćcałkowite.należydzielićtylkozmienn a x 1. Drzewo podziału i ograniczeń wygl ada nastȩpuj aco: 0 x 1 = 2/3,x 2 = 7/3 x 1 0 z R = 11 x 1 1 x 1 = 0,x 2 = 3 x 1 = 1,x 2 = 3/2 1 2 zr = 3 zr = 7/2 Optymalne rozwi azanie znajduje siȩ w wierzchołku 2. Jest to
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 44 rozwi azanie x 1 = 1, x 2 = 3/2owartościfunkcjicelu z = 7/2. Wierzchołek(podproblem) k zamykamy jeżeli: 1. Rozwi azenie relaksacji w k jest dopuszczalne(odpowiednie zmienne s a całkowite). 2. Relaksacja w k jest sprzeczna. 3. Znaleziono wcześniej rozwi azanie dopuszczalne dla którego wartośćfukcjicelujestniemniejszaod z R w k.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 45 Algorytm podziału i ograniczeń dla problemu plecakowego Rozpatrujemy nastȩpuj acy problem: maxz = n i=1 c ix i n i=1 w ix i W x i {0,1}, i = 1...n gdzie c i -cena i-tegoprzedmiotu, w i -waga i-tegoprzedmiotu, W- pojemność plecaka. Przykład. Rozwi azać problem: maxz = 5x 1 +3x 2 +6x 3 +6x 4 +2x 5 5x 1 +4x 2 +7x 3 +6x 4 +2x 5 15, x 1,..,x 5 {0,1}
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 46 Relaksacj a powyższego problemu jest nastȩpuj acy problem: maxz R = 5x 1 +3x 2 +6x 3 +6x 4 +2x 5 5x 1 +4x 2 +7x 3 +6x 4 +2x 5 15, 0 x i 1, i = 1,...,5 Relaksacjȩ rozwi azujemy za pomoc a nastȩpuj acego algorytmu zachłannego: i c i w i c i /w i 1 5 5 1 2 3 4 3/4 3 6 7 6/7 4 6 6 1 5 2 2 1 Ładujemyprzedmiotywkolejnościilorazów c i /w i zaczynaj acod
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 47 najwiȩkszego. Pocz atkowa wolna pojemność plecaka W = 15. Dodajemy cały przedmiot 1(W = 10), dodajemy cały przedmiot 4 (W = 4),dodajemycałyprzedmiot5(W = 2),dodajemy 2/7 przedmiotu3(w = 0).Otrzymujemyrozwi azanie x 1 = 1, x 2 = 0, x 3 = 2/7, x 4 = 1, x 5 = 1iz R = 145 7.Rozwi azanietojest niedopuszczalne.wybieramyzmienn aniecałkowit a x 3 i rozpatrujemy dwa podproblemy(dokonujemy podziału): 1.Ustawiamy x 3 = 0czylirozpatrujemyrelaksacjȩbez przedmiotu 3. maxz R = 5x 1 +3x 2 +6x 4 +2x 5 5x 1 +4x 2 +6x 4 +2x 5 15, 0 x i 1, i = 1,2,4,5 Otrzymujemyrozwi azanie: x 1 = 1, x 2 = 1 2, x 3 = 0, x 4 = 1, x 5 = 1iz R = 141 2.
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 48 2.Ustawiamy x 3 = 1czyliwkładamyprzedmiot3doplecakai pozostałe przedmioty dodajemy zachłannie. maxz R = 5x 1 +3x 2 +6+6x 4 +2x 5 5x 1 +4x 2 +6x 4 +2x 5 8, 0 x i 1, i = 1,2,4,5 Otrzymujemyrozwi azanie: x 1 = 1, x 2 = 0, x 3 = 1, x 4 = 1 2, x 5 = 0iz R = 14. Oba podproblemy s a niedopuszczalne. Wybieramy podproblem o lepszym oszacowaniu(relaksacji) czyli podproblem 1 i dzielimy dalej. Pełne drzewo podziału i ograniczeń pokazane jest na poniższym rysunku:
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 49 0 z R = 145 7 (1,0, 2 7,1,1) x 3 = 0 x 3 = 1 1 zr = 141 z 2 R 2 = 14 (1, 1 2,0,1,1) (1,0,1, 1 2,0,) x 2 = 0 x 2 = 1 x 4 = 0 x 4 = zr 3 = 13 zr 4 = 14 zr 5 = 133 z 4 R 6 = 14 (1,0,0,1,1) (1,1,0,1,0) (1, 1 4,1,0,1) ( 2 5,0,1,1 Wierzchołki 5 i 6 zamykamy ponieważ w wierzchołku 4 znaleziono dopuszczalne rozwi azanie o wartości niemniejszej niż górne
Adam Kasperski, Michał Kulej Badania Operacyjne Wykład 3 50 oszacowanie w 5 i 6. Optymalne rozwi azanie odczytujemy w wierzchołku 4, czyli zabieramy przedmioty 1, 2 i 4. Rozwiązywanie zagadnienia komiwojażera- metoda eliminacji podcykli dla modelu PLC