BADANIA OPERACYJNE Tomasz Łukaszewski
|
|
- Henryk Wójtowicz
- 8 lat temu
- Przeglądów:
Transkrypt
1 BADANIA OPERACYJNE Tomasz Łukaszewski
2 Tomasz Łukaszewski - Badania Operacjne Spis Treści WSTĘP 3 PROGRAMOWANIE LINIOWE 7. WPROWADZENIE 7.. INTERPRETACJA GEOMETRYCZNA ZADANIA PROGRAMOWANIA LINIOWEGO 8.. WŁASNOŚCI ZADANIA PROGRAMOWANIA LINIOWEGO 9..3 PRZYKŁADY ZADAŃ PROGRAMOWANIA LINIOWEGO.3 METODA SYMPLEKS 5. METODA SZTUCZNEJ BAZY 9.. METODA DWU-FAZOWA 0.. METODA WSPÓŁCZYNNIKA M.5 DUALIZM W PROGRAMOWANIU LINIOWYM 3.6 ANALIZA WRAŻLIWOŚCI 7.6. ZMIANA WSPÓŁCZYNNIKÓW W FUNKCJI CELU 7.6. ZMIANA WYRAZÓW WOLNYCH W WARUNKACH OGRANICZAJĄCYCH 8 3 PROGRAMOWANIE DYSKRETNE WPROWADZENIE METODY PŁASZCZYZN TNĄCYCH ALGORYTM GOMORY EGO (ZADANIE PLC) METODY DRZEW DECYZYJNYCH B&B (PROBLEM PRZYDZIAŁU) B&B ALGORYTM LITTLE A (PROBLEM KOMIWOJAŻERA) B&B ALGORYTM LAND-DOIGA (ZADANIE PLC) 0 3. METODY HEURYSTYCZNE 3.. PRZESZUKIWANIE LOSOWE 3.. PRZESZUKIWANIE LOKALNE - ALGORYTM ITERACYJNEJ POPRAWY 3..3 PRZESZUKIWANIE LOKALNE - ALGORYTM SYMULOWANEGO WYŻARZANIA PRZESZUKIWANIE LOKALNE - ALGORYTM PRZESZUKIWANIA TABU 3..5 ALGORYTMY EWOLUCYJNE INNE METODA WĘGIERSKA (PROBLEM PRZYDZIAŁU) PROGRAMOWANIE 0-50 PROGRAMOWANIE NIELINIOWE 5. WPROWADZENIE 5.. PODSTAWY MATEMATYCZNE 53.. FUNKCJE WYPUKŁE, ZADANIE PROGRAMOWANIA WYPUKŁEGO 53. WARUNKI ISTNIENIA EKSTREMUM 55.3 OPTYMALIZACJA Z OGRANICZENIAMI RÓWNOŚCIOWYMI 57. OPTYMALIZACJA Z OGRANICZENIAMI NIERÓWNOŚCIOWYMI 58.5 PROGRAMOWANIE WYPUKŁE PRZYPADKI SZCZEGÓLNE PROGRAMOWANIE KWADRATOWE METODY LINEARYZACJA ZADAŃ PN 60.6 METODY BEZGRADIENTOWE METODA HOOKA-JEEVESA METODA ROSENBROCKA METODA SIMPLEXU NELDERA I MEADA 6.6. METODA SPADKU WZGLĘDEM WSPÓŁRZĘDNYCH METODA GAUSSA-SEIDELA 65.7 METODY GRADIENTOWE METODA BISEKCJI (BISECTION LINE SEARCHING) METODA GRADIENTU PROSTEGO METODA NAJSZYBSZEGO SPADKU (STEEPEST DESCENT) METODA GRADIENTU ZREDUKOWANEGO METODA GRADIENTÓW SPRZĘŻONYCH 68.8 INNE METODA NEWTONA 68 5 INNE METODY METODA PROGRAMOWANIA DYNAMICZNEGO PROGRAMOWANIE SIECIOWE 73
3 Tomasz Łukaszewski - Badania Operacjne 3 6 LITERATURA 7 7 SŁOWNICZEK 75 WSTĘP PROCES PODEJMOWANIA DECYZJI Każd sstem działania rodzi tzw. stuacje deczjne. Następstwem prawie każdej stuacji deczjnej jest pewien problem deczjn, któr można zdefiniować następująco: istnieje cel lub zbiór celi które należ osiągnąć, istnieją alternatwne sposob dojścia do celu (deczje), istnieją warunki określające, jakie deczje są dopuszczalne (ograniczenia), optmalna deczja dopuszczalna lub optmalna kombinacja deczji dopuszczalnch nie jest oczwista. Optmalność oznacza, że musi bć określone pewne krterium rozstrzgające, która z deczji dopuszczalnch jest deczją optmalną. Krterium takim może bć koszt, któr należ minimalizować, lub zsk (maksmalizowan). Tak więc na zbiorze deczji dopuszczalnch musi bć określona pewna funkcja, którą należ minimalizować lub maksmalizować w tm zbiorze funkcja celu [Grabowski]. BADANIA OPERACYJNE A PROGRAMOWANIE MATEMATYCZNE Badania operacjne (ang. operational research) należą do tch dziedzin wiedz, które zajmują się metodami rozwiązwania problemów deczjnch. Rozwiązanie problemu deczjnego za pomocą badań operacjnch jest procedurą składającą się z następującch etapów [Grabowski]: rozpoznanie stuacji deczjnej i wnikającego z niej problemu deczjnego, budowa modelu matematcznego, rozwiązanie modelu matematcznego, ocena poprawności i realności uzskanch rozwiązań oraz ewentualna werfikacja modelu, podjęcie deczji i opracowanie sstemu kontroli. Programowanie matematczne, początkowo utożsamiane z badaniami operacjnmi jest traktowane obecnie jako samodzielna nauka. Zajmuje się włącznie trzecim etapem procesu rozwiązania problemu deczjnego rozwiązwaniem modeli matematcznch czli poszukiwaniem punktu minimalizującego lub maksmalizującego wartość funkcji rzeczwistej w podzbiorze przestrzeni R n [Grabowski]. Budowa modelu matematcznego jest także istotnm problemem. BUDOWA MODELU MATEMATYCZNEGO Budowa modelu matematcznego danego problemu deczjnego jest jednm z trudniejszch etapów w procedurze podejmowania deczji. W praktce najwięcej problemów sprawia: wróżnienie istotnch cech stuacji deczjnej i ujęcie ich w modelu, modelowanie tę samą stuację często można odwzorować za pomocą kilku modeli. Od postaci sformułowanego modelu zależą szanse jego efektwnego rozwiązania stąd prz formułowaniu modelu należ mieć rozeznanie co do metod, którmi można go rozwiązać. Należ jasno wskazać, że nie każd problem deczjn może bć rozwiązan za pomocą badań operacjnch. Rozwiązać można jednie problem dobrze ustrukturalizowane, dające się przedstawić w postaci modelu matematcznego. Nie da się rozwiązać metodami badań operacjnch problemów nieustrukturalizowanch i słabo ustrukturalizowanch. ROZWIĄZYWANIE MODELI MATEMATYCZNYCH Jednm z podejść do rozwiązwania modeli jest zastosowanie metod dokładnch, tj. pozwalającch na wznaczenie rozwiązania optmalnego w skończonej liczbie iteracji lub zbieżne do tego rozwiązania. Istnieją także inne podejścia [Grabowski]: podejście smulacjne polegające na badaniu wpłwu różnch deczji smulując przebieg badanego procesu metod te są często jednm sposobem rozwiązwania bardziej skomplikowanch modeli matematcznch (przede wszstkim probabilistcznch),
4 Tomasz Łukaszewski - Badania Operacjne podejście heurstczne polegające na stosowaniu prostch sposobów pozwalającch na uzskanie rozsądnch rozwiązań modelu, które nie muszą i na ogół nie są rozwiązaniami optmalnmi metod te stosuje się bardzo często prz rozwiązwaniu problemów programowania dskretnego. ZADANIE PROGRAMOWANIA MATEMATYCZNEGO Formułując model matematczn danego problemu deczjnego rozpoczna się od zdefiniowania celu: (min lub ma) z = f(,,..., n ) (.) gdzie: zmienne,,..., n (zapiswane też jako, gdzie R n ) noszą nazwę zmiennch deczjnch; określają one alternatwne sposob działania, z jest miarą ocen podjętej deczji, f jest funkcją rzeczwistą odwzorowującą zależność międz zmiennmi deczjnmi a miarą ocen z; funkcja f nazwana jest funkcją celu lub funkcją krterium. Na ogół zbiór alternatwnch sposobów działania nie jest dowoln i wted podejmowanie deczji przebiega w warunkach pewnch ograniczeń. Uwzględnienie tch warunków w modelu deczjnm polega na określeniu zbioru deczji dopuszczalnch (rozwiązań dopuszczalnch) dla konkretnej stuacji deczjnej. Ogólnie warunki ograniczające można przedstawić następująco: Podsumowując: g i () 0 (i =,,...,m) (.) Ogólna postać zadania programowania matematcznego jest następująca : funkcja celu: (min lub ma) z = f() (.3) ograniczenia: g i () 0 (i =,,...,m) (.) gdzie: f : R n R (.5) g i : R n R (.6) DEFINICJA: Dowolne rozwiązanie R n spełniające układ równań i nierówności (.) nosi nazwę rozwiązania dopuszczalnego. Zbiór wszstkich rozwiązań dopuszczalnch, będziem oznaczać przez D. Jeżeli zbiór rozwiązań dopuszczalnch jest zbiorem pustm, to zadanie (.) jest zadaniem sprzecznm. W przeciwnm wpadku zadanie (.) jest zadaniem niesprzecznm, rozwiązań jest nieskończenie wiele i można pokusić się o wznaczenie rozwiązania dopuszczalnego optmalizującego wartość funkcji celu (.3). DEFINICJA: Rozwiązanie * D nazwam rozwiązaniem optmalnm zadania programowania matematcznego (.3 ), jeżeli dla dowolnego D spełnion jest następując warunek: (minimalizacja f. celu) f( * ) f() (.7) (maksmalizacja f. celu) f( * ) f() (.8) Niesprzeczne zadanie (.3 ). może mieć więcej niż jedno skończone rozwiązanie optmalne, jeżeli warunek (.7 lub.8) spełnion jest dla więcej niż jednego * D. Mówim wted, że zadanie ma nieskończenie wiele skończonch rozwiązań optmalnch. W przpadku gd zadanie (.3 ) nie jest sprzeczne i prz tm nie istnieje * spełniające warunek (.7 lub.8), to mówim że zadanie nie ma skończonego rozwiązania optmalnego. TWIERDZENIE: Dla dowolnej funkcji z = f() spełnione są równości: zadanie [Siudak], zagadnienie [Gass], problem [Grabowski] jest to jedna z wielu możliwch notacji (min) f() = (ma) [ f()] (.9)
5 Tomasz Łukaszewski - Badania Operacjne 5 OZNACZENIA (ma) f() = (min) [ f()] (.0) Małą pochłą czcionką (), czasami wprowadzając dodatkowo dolne indeks ( i ) oznaczać będziem zmienne przjmujące wartości w zbiorze liczb rzeczwistch. Małą pogrubioną czcionką () oznaczać będziem wektor kolumnowe o wartościach w zbiorze liczb rzeczwistch. Małą pogrubioną czcionką z indeksem T (c T ) oznaczać będziem wektor wierszowe o wartościach w zbiorze liczb rzeczwistch. Dużą pogrubioną czcionką (A) oznaczać będziem macierze o wartościach w zbiorze liczb rzeczwistch. Smbol 0 oznacza wektor kolumnow, którego wszstkie element mają wartość równą zeru. W dalszej części zamiast terminów wektor kolumnow i wektor wierszow użwać będziem terminu wektor. PODZIAŁ ROZWAŻANEJ PROBLEMATYKI Problem deczjne można podzielić według różnch krteriów: Postać funkcji celu: funkcja celu i ograniczenia są funkcjami liniowmi (programowanie liniowe), funkcja celu lub ograniczenia są funkcjami nieliniowmi (programowanie nieliniowe). Postać zmiennch deczjnch: zmienne ciągłe, zmienne dskretne. Liczba etapów procesu deczjnego: jeden etap (programowanie statczne), wiele etapów (programowanie dnamiczne). Liczba krteriów funkcji celu: model jednokrterialn, model wielokrterialn. W ramach zajęć zajmować będziem się metodami optmalizacji, służącmi do rozwiązwania wbranch problemów deczjnch: Problem ciągłe Problem dskretne Problem statczne Zadania programowania nieliniowego (PN) zadania programowania liniowego (PL) - metoda smpleks - metoda sztucznej baz - zagadnienie dualne zadania programowania wpukłego (PW) - warunki optmalności rozwiązań - Twierdzenie Lagrange a - Twierdzenie Karusha-Kuhna-Tuckera zadania programowania kwadratowego (PK) zadania programowania niewpukłego (PNW) - metod bezgradientowe/gradientowe Zadania programowania dskretnego (PD) - metod płaszczzn tnącch - algortm Gomor ego (PLC) - metod drzew deczjnch - B&B (problem przdziału) - B&B algortm Little a (problem komiwojażera) - B&B algortm Land-Doiga (PLC) - metod heurstczne - Algortm przeszukiwania losowego - Algortm lokalnego przeszukiwania - Algortm deterministczne Problem dnamiczne Wieloetapowe proces deczjne metoda programowania dnamicznego
6 Tomasz Łukaszewski - Badania Operacjne 6 - Algortm ewolucjne
7 Tomasz Łukaszewski - Badania Operacjne 7 PROGRAMOWANIE LINIOWE. WPROWADZENIE Jeżeli w zadaniu programowania matematcznego (.3 ) funkcja celu oraz warunki ograniczające są liniowe, to zadanie takie nazwam zadaniem programowania liniowego. Ogólna postać zadania programowania liniowego jest następująca: funkcja celu 3 : (min lub ma) z = c T (.) ograniczenia A b (.) z R wartość funkcji celu, c R n współcznniki kosztu (lub zsku dla przpadku maksmalizacji), R n zmienne deczjne, b R m wektor wrazów wolnch, A jest macierzą posiadającą m wiersz i n kolumn współcznniki technologiczne. Każd liniow model deczjn odwzorowując określoną stuację deczjną zawiera się w ogólnej postaci zadania programowania liniowego. Postać ta nie jest wgodna do określenia różnch własności zadań. Z tego powodu sformułowana zostanie inna postać zadania programowania liniowego. Postać standardowa zadania programowania liniowego jest następująca: funkcja celu: 5 (min) z = c T (.3) ograniczenia: A = b (b 0) (.) 0 (.5) Zakładam ponadto, że liczba niewiadomch n jest większa od liczb równań m. Układ w którch liczba niewiadomch jest większa niż liczba równań (n > m) nazwa się układami nieoznaczonmi. Układ nieoznaczone równań liniowch albo nie mają rozwiązania albo mają ich nieskończenie wiele. Programowanie liniowe zajmuje się minimalizacją nieujemnch rozwiązań nieoznaczonch układów równań [Gass]. Zadanie o postaci ogólnej można przekształcić do zadania o postaci standardowej w następując sposób: Zamiana rodzaju ekstremum maksimum funkcji liniowej jest równe minimum ujemnej funkcji liniowej z przeciwnm znakiem [Gass]. Zamiana zmiennch deczjnch dowolnch co do znaku na zmienne nieujemne. Jeżeli jest zmienną dowolną co do znaku, to podstawiając: =, gdzie = ma{0, }, = ma{0, }, otrzmujem przedstawienie tej zmiennej za pomocą nieujemnch zmiennch i, Zamiana nierówności na równość: a T b lub a T b można zastąpić odpowiednio: a T d = b lub a T d = b (nowo wprowadzona zmienna d nosi nazwę zmiennej dodatkowej 6 ). Zamiana wartości wrazów wolnch w ograniczeniach Zauważm, że zmienne dodatkowe nie wstępują w funkcji celu. TWIERDZENIE: Dowolna postać wjściowa problemu oraz postać otrzmana z niej w wniku zastosowania zdefiniowanch powżej operacji są sobie równoważne. 3 [Gass] stosuje zapis c, wskazując że c jest wektorem wierszowm. [Grabowski] również stosuje zapis postaci c [Siudak] podaje jeszcze jedną postać postać kanoniczną 5 min [Gass], ma [Siudak] 6 [Gass] podaje także termin zmienna osłabiająca
8 Tomasz Łukaszewski - Badania Operacjne 8 PRZYKŁAD: Postać wjściowa: funkcja celu: (ma) z = 5 3 ograniczenia: Postać standardowa: =, 3, 0, dowolne funkcja celu: (min) z = ( ) 5 3 ograniczenia: ( ) = 0 ( ) 6 = 5 3( ) 3 =,,, 3,, 5, INTERPRETACJA GEOMETRYCZNA ZADANIA PROGRAMOWANIA LINIOWEGO Zadanie programowania liniowego ma prostą interpretację geometrczną. Ponadto, gd w zadaniu wstępują dwie zmienne deczjne, możem zadanie rozwiązać metoda geometrczną.. PRZYKŁAD: funkcja celu: (ma) z = ograniczenia: 6 (równanie prostej: = 6 ) 6 (równanie prostej: = 6), 0 Zadanie to możem rozwiązać w sposób graficzn:. Znajdujem obszar rozwiązań dopuszczalnch D a. rsujem proste w oparciu o nierówności b. zaznaczam rozwiązania spełniające nierówności c. część wspólna jest obszarem rozwiązań dopuszczalnch. Znajdujem rozwiązanie optmalne * a. rsujem prostą przechodzącą przez rozwiązania o tej samej wartości funkcji celu 7 b. przesuwam równolegle tę prostą w kierunku polepszania wartości funkcji celu (rzujem izolinie) c. skrajne rozwiązanie jest rozwiązaniem optmalnm Dla naszego zadania: * = 6, * = 6, z * = * * = 6 = 6 = 6 z * = 6 z = z = 7 prosta ta nazwana jest warstwicą funkcji celu [Grabowski]
9 Tomasz Łukaszewski - Badania Operacjne 9.. WŁASNOŚCI ZADANIA PROGRAMOWANIA LINIOWEGO Poniżej definiujem pojęcie baz przestrzeni liniowej R n. Następnie podajem związki PODSTAWY MATEMATYCZNE Rozpoczniem od zwkłej i wpukłej kombinacji liniowej wektorów: DEFINICJA: Wektor R n nazwam kombinacją liniową wektorów,,..., k R n jeżeli 8 : k = λ ( λ R) (.6) i= i i i Przkład: wektor 5 jest kombinacją liniową wektorów 6 0, ponieważ: 5 6 = 0 DEFINICJA: Wektor R n nazwam wpukłą kombinacją liniową wektorów,,..., k R n jeżeli: k = λii ( λ i R, λi 0, λi = ) (.7) i= k i= Następnie zdefiniujem układ wektorów liniowo niezależnch: DEFINICJA: Układ wektorów,,..., k jest liniowo niezależn, jeżeli równość: k i= λ = 0 ( λ R) (.8) i i zachodzi tlko wted, gd wszstkie λ i = 0. W przeciwnm razie układ jest liniowo zależn [Gass]. i Przpomnijm, że układ wektorów jest liniowo niezależn, wtw. gd wznacznik układu wektorów jest różn od 0 WŁASNOŚĆ: W n wmiarowej przestrzeni euklidesowej istnieje układ n liniowo niezależnch wektorów, ale każd układ n wektorów w tej przestrzeni jest układem liniowo zależnm [Gass]. Ostatecznie podajem definicję baz: DEFINICJA: Bazą w przestrzeni R n jest liniowo niezależn układ n wektorów takich, że każd wektor w R n może bć jednoznacznie wznaczon jako kombinacja liniowa wektorów baz [Gass]. Zbiór n wektorów jednostkowch [,0,...,0] T, [0,,...,0] T,...,[0,0,...,] T jest bazą (tzw. bazą kanoniczną) w R n. WŁASNOŚCI ROZWIĄZANIA ZADANIA PROGRAMOWANIA LINIOWEGO Skoncentrujem się teraz na ograniczeniach (.-5), podając definicje charakterstcznch rozwiązań układu: DEFINICJA: Rozwiązaniem bazowm układu równań (.) nazwam rozwiązanie układu powstałe z (.) przez przrównanie do zera n m zmiennch prz założeniu, że wznacznik współcznników pozostałch m zmiennch jest niezerow. Te m zmiennch nazwam zmiennmi bazowmi [Gass]. DEFINICJA: Rozwiązaniem bazowm dopuszczalnm nazwam rozwiązanie bazowe, które spełnia warunek (.5), czli wszstkie zmienne bazowe są nieujemne [Gass]. DEFINICJA: Niezdegenerowanm rozwiązaniem bazowm dopuszczalnm nazwam bazowe rozwiązanie dopuszczalne, w którm wszstkie zmienne bazowe są dodatnie [Gass]. 8 Mam przpadek mnożenia wektora przez skalar. Zgodnie z [Gass] skalar będzie poprzedzać smbol wektora.
10 Tomasz Łukaszewski - Badania Operacjne 0. Relacje międz rozwiązaniem optmalnm (o skończonej wartości) a punktem wierzchołkowm TWIERDZENIE: Zbiór wszstkich rozwiązań dopuszczalnch zadania programowania liniowego jest zbiorem wpukłm 9 [Gass]. TWIERDZENIE: Funkcja celu zadania programowania liniowego przjmuje skończoną wartość optmalną w punkcie wierzchołkowm zbioru rozwiązań dopuszczalnch. Jeśli przjmuje wartość optmalną w więcej niż jednm punkcie wierzchołkowm, to tę samą wartość przjmuje dla każdej kombinacji wpukłej tch punktów [Gass].. Relacje międz punktem wierzchołkowm a rozwiązaniem bazowm Zauważm, że warunek ograniczając (.) można przedstawić także w następującej postaci: P P... n P n = P 0 (.9) TWIERDZENIE: Jeżeli można znaleźć układ k m wektorów P,..., P k liniowo niezależnch taki że: P P... k P k = P 0 ( i 0) (.0) to = [,..., k, 0,..., 0] T jest punktem wierzchołkowm zbioru wpukłego rozwiązań dopuszczalnch [Gass]. TWIERDZENIE: Jeśli = [,..., n ] T jest punktem wierzchołkowm zbioru D, to wektor P j odpowiadające dodatnim j tworzą układ liniowo niezależn. Wnika z tego, że dodatnich j jest co najwżej m [Gass]. TWIERDZENIE (uogólnienie powższch twierdzeń): Punkt jest punktem wierzchołkowm zbioru D wted i tlko wted, gd w kombinacji liniowej wektorów liniowo niezależnch P j : współcznniki j są dodatnie [Gass]. n j j= P = (.) j P 0 Innmi słow: punkt wierzchołkow jest rozwiązaniem bazowm dopuszczalnm zadania PL o postaci standardowej (.-5). 3. Podsumowanie Jeżeli funkcja celu posiada skończoną wartość optmalną to jest to punkt wierzchołkow zbioru D Punktowi wierzchołkowemu zbioru D odpowiada tzw. bazowe rozwiązanie dopuszczalne układ m wektorów liniowo niezależn z danego zbioru n wektorów, taki że współcznniki j wektorów baz są nieujemne, pozostałe zaś współcznniki są równe zeru Z dskusji wnika, że należ jednie badać rozwiązania w punktach wierzchołkowch, a więc tlko te rozwiązania dopuszczalne, które wrażają się przez układ m liniowo niezależnch wektorów. Ponieważ istnieje co n zbiorów wektorów liniowo niezależnch z danego zbioru n wektorów, tak więc liczba ta jest górną najwżej ( ) m granicą liczb możliwch rozwiązań. Dla dużch m i n błob niemożliwe obliczenie wszstkich rozwiązań i wznaczenie rozwiązania optmalnego. Potrzebna jest metoda, pozwalająca utworzć nieznaczn ciąg rozwiązań dopuszczalnch, zbieżn do rozwiązania optmalnego. Taką metodą jest metoda smpleks podana przez G. B. Dantziga w 97r. Dla znalezienie rozwiązania optmalnego wstarcz zwkle.5m do m kroków [Gass]. DEFINICJA: Smpleks jest n-wmiarowm wielościanem wpukłm mającm dokładnie n wierzchołków. Brzeg smpleksu składa się z smpleks niższch wmiarów zwanch powierzchniami smpleksu. Ilość takich n płaszczzn o wmiarze i wnosi ( i ). Smpleksem w przestrzeni zerowmiarowej jest punkt, jednowmiarowej odcinek, dwuwmiarowej trójkąt, trójwmiarowej czworościan [Gass]. 9 Jeśli zbiór wpukł jest ograniczon, to jest on wpukłm wielościanem [Gass]
11 Tomasz Łukaszewski - Badania Operacjne..3 PRZYKŁADY ZADAŃ PROGRAMOWANIA LINIOWEGO Optmaln wbór asortmentu produkcji [Jędrz00] Zakład może produkować n wrobów. Do produkcji wrobów potrzebne są zasob r w ograniczonch ilościach. Dane są norm zużcia zasobów na jednostkę produkcji każdego wrobu. Podane są również zski jednostkowe ze sprzedaż wrobów. Mogą bć podane dodatkowe informacje o popcie na wrob: minimalną ilość jaką trzeba wprodukować lub maksmalną ilość jaką trzeba sprzedać. Należ określić które wrob i w jakich ilościach należ produkować ab nie przekroczć ilości dostępnch zasobów. Parametr: c j zsk ze sprzedaż j-tego wrobu a ij zużcie i tego zasobu w celu wtworzenia j tego wrobu b i posiadana ilość i-tego zasobu d j minimalna ilość j-tego wrobu którą należ wprodukować g j maksmalna ilość j-tego wrobu którą można sprzedać (ma) z = c c... c n n a a a n n b a a a n n b a r a r a rn n b r d j j g j (dla wbranch j),, n 0 Zadanie Zakład produkuje dwa wrob W i W. Zski ze sprzedaż wrobów woszą odpowiednio i 8. Dwa zasob mają ograniczoną ilość. Limit dla zasobów wnoszą odpowiednio 300 i 00. Zużcie i tego zasobu w celu wtworzenia j tego wrobu podano w tabeli: Zużcie zasobu dla produkcji wrobu W Zużcie zasobu dla produkcji wrobu W Zasób (limit 300) 6 9 (limit 00) Ponadto analiza rnku wkazała optmalne proporcje produkcji, które kształtują się jak 3:. Dodatkowo wiadomo, że zdolności produkcjne jednego z wdziałów, stanowiącego wąskie gardło procesu produkcjnego, są ograniczone i nie pozwalają produkować więcej niż 50 sztuk wrobu W i 60 sztuk wrobu W. Sformułowanie problemu (ma) z = = 50 60, 0 Zadanie Zakład krawiecki szje spodnie i marnarki. Do dziennej produkcji wkorzstuje zasob: płótno i siłę roboczą. Na wkonanie par spodni potrzeba m płótna oraz roboczogodzin. Na uszcie marnarki potrzeba m płótna i roboczogodzin. Do produkcji można wkorzstać m płótna i 8 roboczogodzin. Zsk ze sprzedaż spodni to Euro, zaś ze sprzedaż marnarki to 0 Euro. Ułożc dzienn plan produkcji w celu maksmalizacji zsku.
12 Tomasz Łukaszewski - Badania Operacjne Problem mieszanek [Jędrz00] W problemie optmalnego składu mieszanek należ określić, jakie ilości surowców należ kupić (zmieszać) ab otrzmać produkt o pożądanm składzie chemicznm prz jak najniższm koszcie zakupu surowców. Szczególnm wariantem problemu mieszanek jest zagadnienie diet. Ab zaspokoić potrzeb organizmu, trzeba mu dostarczć w różnch ilościach rozmaitch składników odżwczch (np. białka, tłuszcze, sole mineralne itp.). Składniki te sa zawarte w różnch produktach żwnościowch. Załóżm, że mam do dspozcji n produktów żwnościowch, w którch powinno bć zawarte r składników odżwczch. Parametr: c j cena j-tego produktu żwnościowego a ij zawartość i tego składnika odżwczego w jednostce j tego produktu b i minimalna ilość i-tego składnika, którą należ dostarczć organizmowi d j minimalna ilość j-tego produktu, którą powinno się spożwać g j maksmalna ilość j-tego produktu, którą powinno się spożwać (min) z = c c... c n n a a a n n b a a a n n b a r a r a rn n b r d j j g j (dla wbranch j),, n 0 Zadanie Spółdzielnia produkcjna sporządza mieszankę paszową dla trzod chlewnej z dwóch produktów P i P. Mieszanka paszowa ma dostarczć trzodzie chlewnej pewnch składników odżwczch S, S i S3 w ilościach nie mniejszch niż określone minima. Zawartość składników odżwczch w jednostce poszczególnch produktów a także minimalne ilości składników podano w tabeli Zawartość składników w P Zawartość składników w P Składnik 3 9 (minimum 7) 8 (minimum 3) 3 3 (minimum 36) Koszt jednostkowe produktów P i P to odpowiednio 6 i 9 zł. (min) z = , 0 Zadanie Dziecko w pewnm wieku potrzebuje tgodniowo co najmniej 0 jedn. witamin A, 60 jedn. witamin D, 36 jedn. witamin C oraz 80 jedn. witamin E. witamin te są zawarte w dwóch produktach P i P. Ze względu na uboczne działanie witamin A należ dostarczać jej co najwżej 0 jedn. Zawartośc witamin w produktach podano w tabeli Zawartość witamin w P Zawartość witamin w P Witamina 6 3 A (minimum 0) 6 3 A (maksimum 0) 3 D (minimum 60) 9 C (minimum 36) 6 6 E (minimum 80) Koszt produktów P i P to odpowiednio, i,8 zł.
13 Tomasz Łukaszewski - Badania Operacjne 3 Wbór procesu technologicznego [Jędrz00] Zagadnienie wboru procesu technologicznego ma wiele różnorodnch wariantów. Jeden z nich można opisać następująco: Zakład ma produkować r wrobów w ilościach b, b,,b r. Do wtwarzania tch wrobów można stosować n procesów technologicznch. Stosując j-t proces z jednostkową intenswnością, uzskuje się poszczególne produkt w ilościach a ij i ponosi koszt c j. Należ tak dobrać proces technologiczne, b wtworzć potrzebne ilości wrobów prz najmniejszch kosztach. Zmienne deczjne i oznaczają intenswność, z jaka powinno się stosować poszczególne proces technologiczne (min) z = c c c n n p.o. a a a n n b a a a n n b.. a r a r a rn n b r,, n 0 Przkład: Tartak otrzmał zamówienie na wkonanie co najmniej 300 kompletów belek. Każd komplet składa się z 7 belek o długości 0,7 m i belek o długości,5 m. W jaki sposób powinno bć zrealizowane zamówienie, b odpad powstał w procesie cięcia dłużc o długości 5, m bł minimaln. Ile wniesie wielkość odpadu prz optmalnm cięciu. Rozwiazanie: Dłużce o długości 5, m można ciąć trzema sposobami, prz czm prz każdm sposobie cięcia zostają kawałki drewna mniejsze niż 0,7m, które stanowią odpad. Belki Sposob cięcia dłużc I II III 0,7, Odpad 0,3 0,6 0, Zamówienie co najmniej 300 kompletów oznacza co najmniej 00 belek 0,7m i co najmniej 00 belek,5m (min) z = 0,3 0,6 0, 3 p.o >= >= 00,, 3 >= 0 Zadanie Spółdzielnia produkująca przbor szkolne otrzmuje z fabrki papieru bele o szerokości, m i, m. W swojej produkcji wkorzstuje arkusze o szerokości 0,5m i, m. Wkonanie miesięcznego planu wmaga zużcia 000m papieru o szerokości 0,5m oraz 8000m papieru o szerokości,m. Jak należ pociąć otrzmane z fabrki papieru bele ab odpad powstał prz cięciu bł jak najmniejsz. Jaka będzie wielkość odpadu prz zastosowaniu optmalnego sposobu cięcia.
14 Tomasz Łukaszewski - Badania Operacjne Zadanie W dwóch magaznach znajduje się pewien towar w ilościach 0 i 7 jednostek. Towar ten należ dostarczć do 3 sklepów, które zamówił go w ilościach, 5 i 8 jednostek. Koszt przewozu jednostki towaru z magaznu do sklepu zawiera tabela: Sklep Sklep Sklep 3 Ilość Magazn 3 0 Magazn 3 7 zapotrzebowanie 5 8 Ile towaru należ przewieźć z magaznów do sklepów, ab łączn koszt przewozu bł jak najmniejsz Rozwiązanie Niech ab oznacza ilość przewiezionego towaru z magaznu a do sklepu b (min) z = p.o. 3 0 (dostępność towaru w magaznie ) 3 7 (dostępność towaru w magaznie = (zapotrzebowanie na towar w sklepie ) = 5 (zapotrzebowanie na towar w sklepie ) 3 3 = 8 (zapotrzebowanie na towar w sklepie ) ab 0 ab całkowitoliczbowe
15 Tomasz Łukaszewski - Badania Operacjne 5.3 METODA SYMPLEKS Z wcześniejszch rozważań wiem, że jeżeli zadanie programowania liniowego ma skończone rozwiązanie optmalne to jest nim punkt wierzchołkow tego obszaru. Idea metod smpleks polega na przechodzeniu pomiędz sąsiednimi punktami wierzchołkowmi obszaru rozwiązań dopuszczalnch w celu polepszenia wartości funkcji celu. W przpadku niemożności polepszenia wartości funkcji celu, dane rozwiązanie jest rozwiązaniem optmalnm. Z matematcznego punktu widzenia każdemu punktowi wierzchołkowemu odpowiada bazowe rozwiązanie dopuszczalne. Przejściu pomiędz sąsiednimi wierzchołkami odpowiada zamiana danej baz (danego dopuszczalnego rozwiązania bazowego) na sąsiednią (sąsiednie dopuszczalne rozwiązanie bazowe). Sąsiednia baza jest konstruowana przez zastąpienie jednego wektora bazowego innm, niebazowm. Wektor te są tak dobierane, b polepszć wartość bazowego rozwiązania dopuszczalnego. Problemem pozostaje jednie dobór początkowego (startowego) bazowego rozwiązania dopuszczalnego. POCZĄTKOWE BAZOWE ROZWIĄZANIE DOPUSZCZALNE Metoda smpleks startuje od początkowego bazowego rozwiązania dopuszczalnego. Dla pewnej klas problemów, rozwiązanie to można znaleźć natchmiast. Spójrzm na zadanie programowania liniowego: funkcja celu: (min) z = c T ograniczenia: A b (b 0) 0 Sprowadzając zadanie do postaci standardowej dodajem zmienne dodatkowe, które powinn utworzć bazę. PRZYKŁAD: funkcja celu: (min) z = ograniczenia: 3, 0 Po dodaniu zmiennch osłabiającch otrzmam następujące zadanie (zadanie PL. o postaci standardowej): funkcja celu: (min) z = ograniczenia: 3 = = 3,, 3, 0 Współcznniki prz zmiennch dodatkowch (wektor jednostkowe) tworzą bazę. Zmienne te są więc zmiennmi bazowmi. Wartości tch zmiennch są równe wartościom elementów wektora b. Pozostałe zmienne (zmienne deczjne) są zmiennmi niebazowmi i ich wartości są równe 0. Funkcja celu ma zatem wartość równą 0. TABLICA SYMPLEKS Dla ułatwienia obliczeń, metoda smpleks bazuje na tablic smpleks. Oto jej wgląd: i\j... n 0 c c... c n Baza c B P P... P n P 0 B P B c,,...,n B M B P m B c m m, m,... m,n B m z c z c... z n c n z 0 numer wektorów bazowch współcznniki prz zmiennch bazowch w funkcji celu wskaźniki optmalności wartość funkcji celu wartości zmiennch bazowch
16 Tomasz Łukaszewski - Badania Operacjne 6 Właściwości tablic smpleks: w tablic smpleks wskaźniki optmalności (z j c j ) odpowiadają polepszeniu (zmniejszeniu prz krterium minimalizacji) wartości funkcji celu przez zwiększenie wartości zmiennej j o jednostkę. Zmienne bazowe mają zawsze wskaźnik optmalności równ 0. Wartość z j wznaczam następująco: z j = m i= c B i i, j (.) w kolumnie P 0 znajdują się wartości zmiennch bazowch jest to własność tego układu równań w komórce z 0 znajduje się aktualna wartość funkcji celu. Można ją obliczć ze wzoru (.). Ponieważ zmienne niebazowe mają wartość równą 0, zaś wartości zmiennch bazowch znajdują się w kolumnie P 0 wartość z 0 można obliczć z prostszego wzoru: m B z 0 = c i Przkład cd.: 0 0 Baza c B P P P 3 P P 0 P B = b = P 0 0 B = b = z 0 = 0 i= KRYTERIUM WEJŚCIA I OPTYMALNOŚCI B i (.3) TWIERDZENIE: Jeżeli dla ustalonego i spełnion jest warunek z i c i > 0, to można skonstruować zbiór rozwiązań dopuszczalnch taki, że dla każdego elementu tego zbioru spełniona jest nierówność z < z 0, gdzie dolna granica z jest albo skończona albo nieskończona [Gass]. Komentarz: Jeśli dolna granica jest skończona, nowe rozwiązanie ma dokładnie m dodatnich zmiennch. Jeśli dolna granica jest nieskończona, nowe rozwiązanie dopuszczalne ma m dodatnich zmiennch a wartość funkcji celu może bć dowolnie mała [Gass]. TWIERDZENIE: Jeśli dla danego rozwiązania dopuszczalnego wszstkie wskaźniki optmalności są mniejsze lub równe zeru dane rozwiązanie jest optmalne (minimalne) [Gass]. WNIOSKI: Powższe twierdzenia pozwalają po przjęciu początkowego bazowego rozwiązania dopuszczalnego rozpocząć obliczenia i otrzmać zbiór bazowch rozwiązań dopuszczalnch zbieżn do rozwiązania minimalnego lub stwierdzić, że nie istnieje rozwiązanie skończone [Gass]. Krterium wejścia: Do baz wchodzi wektor P we (zmienna niebazowa we ) dla którego (dla której): z we c we = ma j:( z c ) > 0 j j { z j c j } (.) Ogólnie wbiera się ten wektor, którego wskaźnik optmalności jest największ. Wprowadzenie do baz wektora (niebazowego) o dodatnim wskaźniku optmalności także doprowadzi do rozwiązania optmalnego, ale może to zająć więcej czasu. Wprowadzenie do baz wektora o ujemnm wskaźniku optmalności pogorsz wartość funkcji celu. Wprowadzenie do baz wektora o zerowm wskaźniku optmalności nie zmieni wartości funkcji celu. Przkład cd.: W naszm przkładzie wektor P i P mogą bć wprowadzone do baz i polepszą wartość funkcji celu. Wbieram wektor niebazow P jako wchodząc do baz. KRYTERIUM WYJŚCIA Do baz wchodzi zmienna we. Będzie ona zwiększana tak bardzo, jak jest to możliwe, b zmniejszć wartość funkcji celu. Nowe rozwiązanie bazowe musi bć jednak rozwiązaniem dopuszczalnm, musi bć punktem wierzchołkowm obszaru rozwiązań dopuszczalnch. Należ więc znaleźć punkt przecięcia prostej (w ogólności hiperpłaszczzn) ograniczającej obszar rozwiązań z osią 0 we, najbliższ punktowi 0 na tej osi.
17 Tomasz Łukaszewski - Badania Operacjne 7 Przkład cd.: Interpretacja graficzna zadania a) aktualne rozwiązanie bazowe: = 0, = 0 b) do baz wchodzi P (zwiększam ) c) możliwe dwa nowe rozwiązania bazowe (tlko jedno dopuszczalne): dopuszczalne = 0, = niedopuszczalne = 0, = 3/ wzrost Współrzędną punktu przecięcia osi 0 we przez prostą (hiperpłaszczznę) można obliczć z tablic smpleks w sposób następując: Krterium wjścia: Z baz jest usuwan wektor P w dla którego : Nowa wartość funkcji celu będzie równa: B i Θ = (.5) i,we B B w i Θ = = min i,we > 0 w, we i, we (.6) z new = z Θ(z j c j ) (.7) Θ oznacza nową wartość zmiennej bazowej we i musi bć ona dodatnia. Licznik ułamka jest zawsze dodatni lub równ zeru (wartość dotchczasowej zmiennej bazowej). Mianownik musi bć też dodatni. Jeżeli wszstkie i,we będą równe zeru, to nie ma skończonego rozwiązania minimalnego. Θ nie jest ograniczone z gór i funkcja celu ma dolną granicę równą. Jest to drugi przpadek twierdzenia Gass a. Rozwiązanie dopuszczalne zawiera dokładnie m dodatnich zmiennch. Minimalne Θ = 0 oznacza, że wartość funkcji celu pozostaje bez zmian. Przkład cd.: Wartość Θ dla P 3 = Wartość Θ dla P = 3/ Z baz usuwan jest wektor P 3. OBLICZANIE NOWEGO BAZOWEGO ROZWIĄZANIA DOPUSZCZALNEGO Tablicę smpleksów należ przekształcić w sposób następując: element w, we zostaje elementem centralnm. kolumna P we staje się wektorem bazowm (jeden element równ w wierszu w, a reszta = 0) wartości wiersza zawierającego element centraln należ podzielić przez tę wartość (element centraln) wartości w pozostałch wierszach należ przekształcić w sposób następując: ręcznie uaktualnić kolumnę Baza i c B Przkład cd.: w, j i, we = (.8) new i, j i, j w, we Tablica smpleks: 0 0 Baza c B P P P 3 P P 0 P P >= 0
18 Tomasz Łukaszewski - Badania Operacjne 8 Zostaje przekształcona w nową tablicę smpleks: 0 0 Baza c B P P P 3 P P 0 P 0 P W wniku stosowania metod smpleks uzskam zbiór bazowch rozwiązań dopuszczalnch zbieżn do rozwiązania minimalnego lub stwierdzim że nie istnieje rozwiązanie skończone. PRZYKŁAD: funkcja celu: (ma) z = ograniczenia Postać standardowa: 3 3 / 8/0, 0 funkcja celu: (min) z = ograniczenia: 3 3 = 3 = / 8/0 5 =,, 3,, Baza c B P P P 3 P P 5 P 0 P P P 5 0 / 8/ we = (do baz wchodzi wektor P ) Θ = min {/3, //} = w = (z baz usuwam wektor P ) Baza c B P P P 3 P P 5 P 0 P ( * 3)/3 = (0* 3)/3 = 0 (* 3)/3 = 0 (0* 3)/3 = 0 ( 3*)/3 = P /3 = /3 0/3 = 0 /3 = /3 0/3 = 0 /3 = P /0 ( */)/3 = 7/5 0 (* )/3 = 7/3 0 (0*/)/3 = 0 0 (0*)/3 = 0 0 (*/)/3 = /6 0 (*)/3 = /3 (0*/)/3 = 0 (0*)/3 = 0 (*/)/3 = = 0 */3 = 8 we = (do baz wchodzi wektor P ) Θ = min {/, /(7/5)} = /(7/5) w = 5 (z baz usuwam wektor P 5 ) Baza c B P P P 3 P P 5 P 0 P /7 30/7 38/7 P 0 0 /7 0/7 88/7 P 0 0 5/3 5/7 30/ /3 35/7 06/7 Rozwiązanie: z * = 06/7 => z * = 06/7, * = 88/7, * = 30/7, 3 * = 38/7, * = 5 * = 0
19 Tomasz Łukaszewski - Badania Operacjne 9 ROZWIĄZYWANIE PROBLEMU MAKSYMALIZACJI Metoda smpleks dla problemu maksmalizacji różni się od wersji dla problemu minimalizacji włącznie krterium wejścia i optmalności: do baz wchodzi wektor o minimalnej (i ujemnej) wartości wskaźnika optmalności jeżeli wszstke wskażniki optmalności są wieksze lub równe zeru, rozwiazanie jest optmalne ZADANIE: funkcja celu: (ma) z = ograniczenia: ,, 3 0 Rozwiązanie: * = 0, * =, 3 * = * = 5 * = 0, z * = BRAK POCZĄTKOWEGO ROZWIĄZANIA DOPUSZCZALNEGO Nie zawsze przrównanie do zera zmiennch deczjnch jest rozwiązaniem dopuszczalnm patrz Metoda Sztucznej Baz BRAK NIEUJEMNEJ TETY Stuacja ta wskazuje, że wartość funkcji celu jest nieograniczona od dołu. BRAK POPRAWY ROZWIAZANIA - DEGENERACJA Zdegenerowane rozwiązanie dopuszczalne posiada pewne rozwiązania bazowe równe zeru. Dla rozwiązania dopuszczalnego zdegenerowanego istnieje możliwość obliczenia tet równej zeru: Θ = w w, we i = min i, B we i,we > 0 = 0 ( dla B i = 0) (.9) Założenie, że rozwiązanie nie jest rozwiązaniem zdegenerowanm przjęto, ab zapewnić zbieżność do rozwiązania minimalnego. Nie przjęcie takiego założenia powoduje, że teta mogłab bć równa zeru, czli nowe rozwiązanie nie wprowadziłob zmian wartości funkcji celu. Teoretcznie można wejść w ckl rozwiązań dopuszczalnch [Gass]. Jest to jednak możliwe gd dopuszczalne rozwiązanie bazowe posiada co najmniej jedną zmienną bazową o wartości równej zeru. Ponieważ w praktce nie spotkano żadnch cklicznch rozwiązań, pominiem ten problem, wspominając jednie że idea rozwiązania (metoda peturbacji) jest opisana w książce [Gass]. INNE METODY ROZWIĄZYWANIA ZADAŃ PROGRAMOWANIA LINIOWEGO Dotchczas omawiana metoda smpleks (nazwana też prostą metodą smpleksów) posiada liczne odmian (ulepszenia). Można tu wspomnieć o zrewidowanej metodzie smpleks, cz też o metodzie Chaczijana. W ogólności metoda smpleks jest wkładnicza ( n ) i do znalezienia rozwiązania potrzebuje średnio od.5m do m iteracji. Chaczijan podał wielomianow algortm rozwiązwania problemu programowania liniowego wkorzstując ideę malejącch elipsoid, jednak jego średnia złożoność jest gorsza od algortmu simpleksów.. METODA SZTUCZNEJ BAZY Do tej por zakładaliśm, że zagadnienie programowania liniowego ma początkowe bazowe rozwiązanie dopuszczalne. Istnieje jednak wiele zagadnień, które nie mają początkowego bazowego rozwiązania dopuszczalnego. B je uzskać należ dodać do wjściowego problemu zmienne sztuczne (ang. artificial variables), które pozwolą utworzć sztuczną bazę, zawierającą tzw. sztuczne wektor. Ponieważ zmienne sztuczne nie należą do problemu wjściowego, należ weliminować je z baz (sprowadzając ich wartość do zera), b otrzmać rozwiązanie bazowe dopuszczalne zadania pierwotnego (przekształcanego dalej metodą smpleks). Zmienne sztuczne można weliminować z baz stosując metodę dwu-fazową lub metodę współcznnika M.
20 Tomasz Łukaszewski - Badania Operacjne 0.. METODA DWU-FAZOWA () Tworzm nową funkcję celu z' równą sumie zmiennch sztucznch, która będzie MINIMALIZOWANA. Sprowadzam do zera (metodą smpleks) zmienne sztuczne otrzmujem bazowe rozwiązanie dopuszczalne zadania pierwotnego. () Wracam do pierwotnej funkcji celu i kontnuujem przekształcanie tablic, pamiętając o niezbędnch zmianach spowodowanch zmianą współcznników c prz powrocie do pierwotnego zagadnienia. PRZYKŁAD: funkcja celu: (min) z = ograniczenia: Postać standardowa:, 0 funkcja celu: (min) z = ograniczenia: 3 = = 5 =,, 3,, 5 0 Do trzeciego równania trzeba wprowadzić zmienną sztuczną 6, która w końcowm rozwiązaniu zadania wjściowego musi bć równa zeru, b otrzmać rozwiązanie dopuszczalne. Nowe zadanie: funkcja celu: (min) z = 6 ograniczenia: 3 = = 5 6 =,, 3,, 5, Baza c B P P P 3 P P 5 P 6 P 0 P P P we = (do baz wchodzi wektor P, choć możliwe jest wbranie wektora P ) Θ = min {/, /} = (z baz usuwam wektor P 3 ) Baza c B P P P 3 P P 5 P 6 P 0 P P P we = (do baz wchodzi wektor P ) Θ = min {/, /} = (z baz usuwam wektor P 6 ) Baza c B P P P 3 P P 5 P 6 P 0 P P P
21 Tomasz Łukaszewski - Badania Operacjne Rozwiązaliśm zadanie rozszerzone, zmienne sztuczne mają wartość równą zeru, sztuczna funkcja celu też jest równa zeru. Mam więc dopuszczalne rozwiązanie bazowe zadania wjściowego i minimalizujem je. z poprzedniej tablic smpleks wkreślam kolumn związane ze zmiennmi sztucznmi zmieniam wartości wektora c B i uaktualniam wskaźniki optmalności (powrót do orginalnej f. celu) postępujem zgodnie z metodą smpleks Baza c B P P P 3 P P 5 P 0 P P P we = 3 (do baz wchodzi wektor P 3 ) Θ = min {/, /} = (z baz usuwam wektor P, można też usunąć P ) Baza c B P P P 3 P P 5 P 0 P P P Rozwiązanie: * = 0, * =, 3 * =, * = 0, 5 * = 0, z * = (rozwiązanie zdegenerowane)... METODA WSPÓŁCZYNNIKA M Zmienne sztuczne wprowadzam do funkcji celu z dużm dodatnim współcznnikiem M (współcznnik kar). Ponieważ minimalizujem funkcję celu, metoda smpleks usunie zmienne sztuczne z baz. Jeśli wektor odpowiadając sztucznej zmiennej zostanie usunięt z baz, nigd powtórnie nie jest do niej wprowadzan [Gass]. W większości wpadków uda się usunąć z baz sztuczne wektor otrzmujem wówczas rozwiązanie bazowe dopuszczalne dla problemu wjściowego i stosujem metodę smpleks w celu uzskania optmalnego rozwiązania dopuszczalnego. Jeżeli istnieje co najmniej jedno rozwiązanie dopuszczalne pierwotnego zadania, to rozwiązanie to jest również rozwiązaniem dopuszczalnm zadania rozszerzonego. Jeśli pierwotne zadanie nie ma rozwiązań dopuszczalnch, to co najmniej jedna zmienna sztuczna będzie dodatnia [Gass]. Orden wkazał, że jeśli zadanie pierwotne posiada rozwiązanie dopuszczalne, ale jednocześnie ma nieograniczone optimum, metoda współcznnika M wskaże najpierw istnienie rozwiązań dopuszczalnch a potem nieograniczoność [Gass]. PRZYKŁAD: Rozważm zadanie z.3.. Po wprowadzeniu zmiennch sztucznch do f.celu otrzmujem: funkcja celu: (min) z = M 6 ograniczenia: 3 = = 5 6 =,, 3,, 5, M Baza c B P P P 3 P P 5 P 6 P 0 P P P 6 M 0 0 M M M we = (do baz wchodzi wektor P, można też wbrać P ) Θ = min {/, /} = (z baz usuwam wektor P 3 ) 0 0 M
22 Tomasz Łukaszewski - Badania Operacjne M Baza c B P P P 3 P P 5 P 6 P 0 P P P 6 M M M we = (do baz wchodzi wektor P ) Θ = min {/, /} = (z baz usuwam wektor P 6 ) 0 0 M 0 M M Baza c B P P P 3 P P 5 P 6 P 0 P P P M 3 we = 3 (do baz wchodzi wektor P 3 ) Θ = min {/, /} = (z baz usuwam wektor P, można też usunąć P ) M Baza c B P P P 3 P P 5 P 6 P 0 P P P M Rozwiązanie: * = 0, * =, 3 * =, * = 0, 5 * = 0, z * = (rozwiązanie zdegenerowane). PRZYKŁAD: funkcja celu: (min) z = ograniczenia: Postać standardowa:, 0 funkcja celu: (min) z = ograniczenia: 3 = Po dokonaniu zmian w funkcji celu: = 5 =,, 3,, 5 0 funkcja celu: (min) z = M 6 ograniczenia: 3 = = 5 6 =,, 3,, 5, 6 0
23 Tomasz Łukaszewski - Badania Operacjne M Baza c B P P P 3 P P 5 P 6 P 0 P P P 6 M 0 0 M M M 0 0 M we = (do baz wchodzi wektor P, można też wbrać P ) Θ = min {/, /} = (z baz usuwam wektor P 3 ) M Baza c B P P P 3 P P 5 P 6 P 0 P P P 6 M M M 0 0 M 0 M we = (do baz wchodzi wektor P ) Θ = min {/, /} = (z baz usuwam wektor P 6, choć można też usunąć P ) M Baza c B P P P 3 P P 5 P 6 P 0 P P P M 3 we = 3 (do baz wchodzi wektor P 3 ) Θ =min {/, 0/} = 0 (z baz usuwam wektor P ) M Baza c B P P P 3 P P 5 P 6 P 0 P 0 0 ½ P ½ 0 P 0 0 ½ ½ 3 3 Rozwiązanie: z * = 3, * =, * =, 3 * = 0, * = 0, 5 * = 0 (rozwiązanie zdegenerowane)..5 DUALIZM W PROGRAMOWANIU LINIOWYM Dla każdego zadania programowania liniowego (dalej nazwanm zadaniem pierwotnm) można zbudować tzw. zadanie dualne, które też jest zadaniem programowania liniowego. Pomiędz tmi zadaniami wstępują interesujące zależności. M.in. optmalne rozwiązanie jednego z nich zawiera informację o optmalnm rozwiązaniu drugiego. Twierdzenia związane z zagadnieniami dualnmi został podane przez Dantziga i Ordena. NIESYMETRYCZNE ZADANIE DUALNE Zadanie pierwotne 0 : (min) z p = c T (.0) A = b (.) 0 (.) To sformułowanie wmaga, ab ilość wiersz macierz A bła mniejsza od ilości kolumn (m < n). Zadanie dualne: (ma) z d = b T (.3) A T c (.) Jak widać nie wmagam, b zmienne w zadaniu dualnm bł nieujemne. 0 zadaniem pierwotnm może bć także zagadnienie maksmalizacji funkcji celu [Gass]
24 Tomasz Łukaszewski - Badania Operacjne TWIERDZENIE: Jeżeli jedno z zadań dualnch ma skończone rozwiązanie optmalne, to drugie z tch zadań ma także skończone rozwiązanie optmalne oraz zachodzi równość (min) z ( ) = (ma) z ( ). Jeżeli w jednm z zadań dualnch rozwiązanie optmalne jest nieograniczone, to drugie z tch zadań jest sprzeczne (nie ma rozwiązań dopuszczalnch) [Gass]. SYMETRYCZNE ZADANIE DUALNE W tm wariancie ograniczenia są nierównościami a wartości zmiennch są liczbami nieujemnmi. Twierdzenie o zadaniach dualnch jest także prawdziwe dla tego wariantu [Gass]. Ponadto [Gass] wmienia trzecią możliwość oba zadania mogą bć sprzeczne. p d Zadanie pierwotne (P): (ma) z p = c T A b 0 R n Zadanie dualne (D): (min) z d = b T A T c 0 R m TWIERDZENIE: Zadanie pierwotne jest zadaniem dualnm do swojego zadania dualnego. WNIOSEK: Zadania (P) i (D) są dualne względem siebie. Przejście międz zadaniami jest w dwie stron i jest sprawą umowną, które z zadań jest zadaniem pierwotnm. Dozwolone są następujące przejścia (i tlko te!): (ma)... (min) Nie ma ograniczenia b 0. Ponadto w przpadku, gd ograniczenia są dane w postaci równań, należ je zastąpić przez odpowiednie par nierówności: PRZYKŁAD: ograniczenie: zamieniam na ograniczenia: a i = b i a i b i oraz a i b i (ma) z p = przekształcam do wmaganej postaci: 3 6 = 5 3 7, 0 zadanie dualne: (ma) z p = , 0 (min) z d = 6 5( 3 ) 7 3 ( 3 ) ( 3 ) 3,, 3, 0
25 Tomasz Łukaszewski - Badania Operacjne 5 Z przkładu widać, że każdemu warunkowi ograniczającemu jednego z problemów odpowiada nieujemna zmienna deczjna drugiego z problemów (w sensie współcznników, które wstępują w ograniczeniu i prz tej zmiennej) [Grabowski]. Dla zadania smetrcznego można podać twierdzenia ustalające warunki konieczne i dostateczne optmalności rozwiązań dopuszczalnch zadań pierwotnego i dualnego: TWIERDZENIE Dantziga i Ordena (o komplementarności): Jeżeli dla optmalnch rozwiązań dopuszczalnch zadania pierwotnego i dualnego k-te ograniczenie dowolnego zadania jest spełnione jako nierówność ostra (odpowiednia zmienna osłabiająca jest dodatnia) to k-ta zmienna w zadaniu dualnm jest równa 0. Jeśli k-ta zmienna jest dodatnia w dowolnm zadaniu, to k-te ograniczenie w jego zadaniu dualnm jest równością (odpowiednia zmienna osłabiająca jest równa 0) [Gass]. Z powższego twierdzenia wnika związek międz k-tą zmienną w jednm zadaniu a k-tm ograniczeniem w drugim zadaniu. Ponadto można wskazać inn związek: zmienne pierwotne i dualne grupują się we wzajemnie sprzężone par: j oraz mj i nj oraz j W każdej z par jeżeli jedna ze zmiennch jest zmienną deczjną, to druga jest zmienną osłabiającą (dodatkową) i na odwrót. Oprócz tego, jeśli jedna ze zmiennch jest zmienną bazową, to druga jest zmienną niebazową i na odwrót. TWIERDZENIE: Jeżeli para zadań dualnch ma skończone rozwiązania optmalne to w rozwiązaniu optmalnm zadania dualnego zmienna deczjna j jest równa wskaźnikowi optmalności z nj c nj zmiennej dodatkowej (osłabiającej) nj w rozwiązaniu optmalnm zadania pierwotnego. Natomiast zmienna dodatkowa mj jest równa wskaźnikowi optmalności z j c j zmiennej deczjnej j w rozwiązaniu optmalnm zadania pierwotnego. Wskaźniki optmalności zadania pierwotnego maksmalizacja (rozwiązanie optmalne; m < n): zmienne deczjne zmienne osłabiające m z c... z n c n z n c n... z nm c nm mj = m, j (czli z j c j ) j = m, nj (czli z nj c nj ) Wskaźniki optmalności zadania dualnego minimalizacja (rozwiązanie optmalne; m > n): zmienne deczjne zmienne osłabiające n z c... z m c m z m c m... z mn c mn nj = n, j (czli z j c j ) j = n,mj (czli z mj c mj ) Znak minus wnika stąd, że w zadaniu pierwotnm odejmuje się zmienne osłabiające i ab rozpocząć obliczenia z dodatnią macierzą jednostkową, należ pomnożć układ ograniczeń przez. PRZYKŁAD: funkcja celu: (min) z = ograniczenia:, 0 Zadania tego nie da się rozwiązać nie znając idei zmiennch sztucznch. Można je natomiast rozwiązać przekształcając zadanie pierwotne do dualnego. (które można wkonać na dwa sposob):
26 Tomasz Łukaszewski - Badania Operacjne 6 Sposób : do postaci standardowej (min) z p =, 0 Sposób : (ma) z p =, 0 (min) z d = 3 3 3,, 3 0 (min) z d = 3 3 = 3 5 =,, 3,, 5 0 do postaci standardowej (min) z p =, 0 (min) z p =, 0 (ma) z d = 3 3 3,, 3 0 tak jak wżej Teraz możem rozwiązać zadanie dualne stosując metodę smpleks: 0 0 Baza c B P P P 3 P P 5 P 0 P P Baza c B P P P 3 P P 5 P 0 P 0 0 P Jest to rozwiązanie optmalne: Zadanie dualne: (min) z d = zmienne deczjne: * = 0, * = 0, 3 * = zmienne osłabiające: * =, 5 * = 0 Zadanie pierwotne: (min) z p = z d = z d = zmienne deczjne: * = n, * = 0, * = n, 5 * = zmienne osłabiające: 3 * = n, * =, * = n, * = 0, 5 * = n, 3 * = 0 INTERPRETACJA EKONOMICZNA ZADANIA DUALNEGO W jakich ilościach produkować wrob b maksmalizować zsk? Jakie są minimalne cen sprzedaż zasobów, b zsk bł większ lub równ niż prz wkorzstaniu tch zasobów do produkcji i sprzedaż wrobów? Ograniczenia zużcie zasobu i musi bć mniejsze lub równe dostępnej ilości tego zasobu. (ma) z p =c T ogr.: A b 0 R n z p dochód ze sprzedaż wszstkich wrobów (ma) j produkcja wrobu j c j - cena jednostki wrobu j a ij - zużcie zasobu i do produkcji jednostki wrobu j b i - dostępna ilość jednostek zasobu i Ograniczenia cen ilości zasobów potrzebne na wprodukowanie jednostki wrobu j muszą bć większe lub równe cenie jednostki tego wrobu (min) z d =b T ogr.: A T c 0 R m z d dochód ze sprzedaż wszstkich surowców (min) i cena sprzedaż zasobu i b i - dostępna ilość jednostek zasobu i a ji zużcie zasobu i do produkcji jednostki wrobu j c j - cena jednostki wrobu j
27 Tomasz Łukaszewski - Badania Operacjne 7.6 ANALIZA WRAŻLIWOŚCI Rozwiązane zadania programowania liniowego to dopiero początek analiz problemu. Jest bowiem istotne, b podejmując deczje i znając rozwiązanie optmalne wiedzieć, jak wrażliwe jest ono na zmian parametrów modelu. Odpowiedź na to ptanie udziela analiza wrażliwości (ang. sensitivit analsis). Rozważa się analizę wrażliwości na: - zmianę współcznników w funkcji celu, - zmianę wrazów wolnch w warunkach ograniczającch - zmianę współcznników wstępującch po lewej stronie układu warunków ograniczającch - dodanie nowch warunków ograniczającch. W praktce ograniczam się do badania wrażliwości rozwiązania optmalnego w dwóch pierwszch przpadkach..6. ZMIANA WSPÓŁCZYNNIKÓW W FUNKCJI CELU Przedsiębiorstwo produkuje dwa wrob W i W, Ograniczeniem są zapas trzech surowców S, S i S3. Ustalić rozmiar produkcji gwaruntując maksmaln przchód. funkcja celu: (ma) z = 30 0 ograniczenia: 000 Rozwiązanie optmalne: ,5 600, Baza c B P P P 3 P P 5 P 0 P / P / ½ 300 P / / Wrażliwość rozwiązania optmalnego na zmian współcznników funkcji celu określa się zastępując dotchczasowe cen c j wrażeniem c j c j, gdzie c j jest dopuszczalną zmiana cen c j prz której dotchczasowe rozwiaznie optmalne nie ulegnie zmianie. Wielkość tą wznaczm, pamiętając, że prz maksmalizacji wszstkie elemet wiersza wskaźników optmalności muszą bć dodatnie lub równe zeru (prz minimimalizacji ujemne lub równe zeru). Zatem otrzmujem (analizujem c): c Baza c B P P P 3 P P 5 P 0 P / P / ½ 300 P / c j c j 0/3- /3 c j otrzmujem: 0 c j 0 oraz 0/3-/3 c j 0 co daje: c j - 0 oraz c j 0. Ostatecznie mam 0 c j 0. Zatem cena sprzedaż wrobu W może zmieniac się w tm przedziale i rozwiązanie pozostanie optmalne. Zadanie Dokonaj analiz dla c.
28 Tomasz Łukaszewski - Badania Operacjne 8 Zadanie Ogrodnictwo pragnie założć sad jabłoni na obszarze ha (0 000 m ) i przeznacza na ten cel 300 ts. zł. Istnieje możliwość zakupu gat. sadzonek A: 00 zł /sztukę oraz B: 00 zł/sztukę. Gatunki te wmagają różnch powierzchni upraw A: 5m/sztukę, B: 0m/sztukę. Oblicz jaką ilość sadzonek należ kupić jeżeli zsk roczn wnosi A: 50 zł/sztukę B: 70zł/sztukę. Dokonaj analiz wrażliwości dla c i c. Rozwiązanie optmalne podane jest poniżej..6. ZMIANA WYRAZÓW WOLNYCH W WARUNKACH OGRANICZAJĄCYCH Wrażliwość rozwiązania optmalnego na zmian wrazów wolnch w warunkach ograniczającch określa się zastępując dotchczasową wartość b j wrażeniem b j b j, gdzie b j jest dopuszczalną zmianą wrazu wolnego b j prz której dotchczasowe rozwiaznie optmalne nie ulegnie zmianie. Wielkość tą wznaczm wkorzstując fakt, że macierzowa postać tablic simpleskowej dla dowolnej iteracji wgląda następująco: Baza c B c Rozwiązanie B B - A B - B - b wskaźniki optmalności f. celu Zmienne bazowe muszą bć 0, stąd otrzmujem warunek postaci B - b 0. Jeżeli w wektorze b zastąpim wartość b j wrażeniem b j b j otrzmam now wektor b i now warunek postaci B - b 0 Rozpatrzm zadanie z punktu.6. (produkcja wrobów W i W). Z ostatniej tabeli smpleks odcztujem macierz B - : - /3 0 3/ ½ -/3 0 wektor b ma postać (analizujem wrażliwość rozwiązania na zmianę surowca S): 000 b Warunek postaci B - b 0 jest następując (mnożm poszczególne wiersze macierz B - przez wektor b ) 000 b / b b 800 0
29 Tomasz Łukaszewski - Badania Operacjne 9 Otrzmujem układ nierówności: 600 b / b 0 00 b 0 Po przekształceniu: b 600 b 00 b -00 Ostatecznie otrzmujem -00 b 00. W tm zakresie może zmieniać się zasób surowca S. UWAGA: zmieniając zasób surowca w tm zakresie nie zmieni się baza, ale zmienią się wartości optmalne zmiennch deczjnch.
30 Tomasz Łukaszewski - Badania Operacjne 30 3 PROGRAMOWANIE DYSKRETNE 3. WPROWADZENIE Z dskretnm modelem deczjnm mam do cznienia wówczas, gd zbiór wszstkich rozwiązań D jest zbiorem skończonm [Grabowski]. Modele dskretne mogą bć zarówno modelami liniowmi jak i nieliniowmi. Zadania tego tpu zaliczam do zadań programowania dskretnego (zadań optmalizacji dskretnej). Podklasą zadań programowania dskretnego są zadania optmalizacji kombinatorcznej, które definiujem następująco: dan jest zbiór numerów obiektów N, oraz funkcja Π taka, że Π(i) N dla i =,..., n (określa ona numer obiektu na pozcji i-tej). Należ znaleźć permutację Π = (Π(), Π(),..., Π(n)) optmalizującą wartość funkcji celu. Zauważm, że zbiór rozwiązań dopuszczalnch nie musi zawierać wszstkich możliwch permutacji. Poniżej prezentujem przkład dskretności zbioru rozwiązań dopuszczalnch pewnego zadania programowania liniowego całkowitoliczbowego. Warunek całkowitoliczbowości sprawia, że do zbioru rozwiązań dopuszczalnch należą punkt o współrzędnch całkowitch. Źródła dskretności: Rozpatrwanie w modelu obiektów fizcznie niepodzielnch. Przkładem tego rodzaju obiektów są wszelkiego rodzaju środki transportowe. Kombinatorczna struktura modelowanej stuacji deczjnej. W problemach tego tpu poszczególne rozwiązania dopuszczalne są reprezentowane w postaci permutacji lub kombinacji pewnego zbioru obiektów. Metod rozwiązania zadań optmalizacji dskretnej można podzielić na trz grup: - metod płaszczzn tnącch (metod dokładne), - metod drzew deczjnch (metod dokładne), - metod heurstczne (metod przbliżone). Poniżej prezentujem przkład zadań programowania dskretnego ZADANIE PROGRAMOWANIA LINIOWEGO CAŁKOWITOLICZBOWEGO funkcja celu: (min lub ma) z = c T (3.) ograniczenia: A b (3.) 0 (3.3) j liczba całkowita dla j J N gdzie N = {,,...,n} (3.) Jeśli J = N (gd wszstkie zmienne są całkowitoliczbowe), to zadanie powższe nazwam zadaniem kompletnm. Natomiast gd nie wszstkie zmienne są całkowitoliczbowe, to mam do cznienia z zadaniem mieszanm.
31 Tomasz Łukaszewski - Badania Operacjne 3 ZAGADNIENIE TRANSPORTOWE Z m punktów odpraw ma bć wsłan jednorodn produkt odpowiednio w ilościach a, a,..., a m i dostarczon do n punktów odbioru odpowiednio w ilościach b, b,..., b n. Koszt transportu jednostki z i-tego punktu odpraw do j- tego punktu odbioru wnosi c ij i jest znan dla wszstkich kombinacji (i,j). Należ wznaczć ilości ij produktu, które należ przewieźć dla wszstkich (i,j) tak b zminimalizować całkowit koszt transportu: funkcja celu: (min) z = c ij ij m n i= j= (3.5) ograniczenia: n j= ij = a i ( i =,,..., m ) (3.6) m i= = ( j =,,..., n ) (3.7) ij b j 0 (3.8) ij Zauważm, że całkowita ilość wsłana ma bć równa całkowitej ilości dostarczonej. Zadanie to jest zadaniem programowania liniowego o m n równaniach i mn zmiennch [Gass]. Poniżej podajem wariant zagadnienia transportowego. PROBLEM PRZYDZIAŁU Dan jest zbiór m różnch wrobów, z którch każd może bć produkowan na jednm z m stanowisk produkcjnch. Każde ze stanowisk ma różn koszt prz produkcji każdego z wrobów. Koszt i-tego stanowiska prz produkcji j-tego wrobu jest równ c ij, a ponadto każde ze stanowisk ma produkować dokładnie jeden wrób i każd z wrobów ma bć produkowan na dokładnie jednm stanowisku. Należ przdzielić wrob do stanowisk, b łączn koszt bł minimaln: funkcja celu: (min) z = c ij ij m m i= j= (3.9) ograniczenia: m ij j= = ( i =,,..., m ) (3.0) m i= = ( j =,,..., m ) (3.) ij zadaniei wkonwane na j - tmstanowisku ij = (3.) 0 w przeciwnmrazie Problem przdziału jest szczególnm przpadkiem problemu transportowego.
32 Tomasz Łukaszewski - Badania Operacjne 3 PROBLEM KOMIWOJAŻERA funkcja celu: (min) z = c ij ij n n i= j= (3.3) ograniczenia: n ij j= = ( i =,,..., n ) (3.) n ij i= = ( j =,,..., n ) (3.5) - gd droga zawieraodcinek < i, j > ij = (3.6) 0 - gd droga nie zawiera odcinka< i, j > zbiór {( i, j) = } można ustawić w ciąg {( i, i),( i, i3),...,( in, i ) (3.7) ij Problem ( ) jest problemem przdziału [Grabowski]. Kłopotliw jest natomiast ostatni warunek. Można go zastąpić innmi warunkami, co zaproponowali Miller, Tucker i Zemlin, ale liczba tch warunków jest znaczna nawet prz niezbt dużej liczbie n [Grabowski]. Inne znane algortm dla problemu komiwojażera opracowali Eastman (968), Shapiro (966), Held, Karp (977), Lin, Kernighan (97), Christofides i Eilan (97). KWADRATOWY PROBLEM PRZYDZIAŁU Dan jest zbiór N = {,...,n} i dwie n n wmiarowe macierze A = [a ij ] oraz B = [b kl ]. Należ znaleźć permutację Π = (Π(), Π(),..., Π(n)), która minimalizuje wartość funkcji celu: n n funkcja celu: (min) f ( Π) = a ij bπ( i) Π( j) ( 3.8) i= j= Interpretacja ekonomiczna takiego zadania jest następująca: a ij macierz przepłwów pomiędz obiektami i oraz j b kl macierz odległości pomiędz lokalizacjami obiektów k oraz l PROBLEM PLECAKOWY Dan jest skończon zbiór elementów A = {a,...,a n }. Każd element ma określon rozmiar s(a i ) i wartość w(a i ). Znaleźć A A, któr maksmalizuje wartość wbranch elementów: n funkcja celu (ma) f () = w( a i ) i (3.9) i= ograniczenia: n i= s( a ) b (3.0) i i {0,} (3.) i
33 Tomasz Łukaszewski - Badania Operacjne METODY PŁASZCZYZN TNĄCYCH Omawiając metodę płaszczzn tnącch ograniczm się do całkowitoliczbowch modeli liniowch. Oznaczm przez X c zbiór rozwiązań zadania programowania liniowego z warunkiem całkowitoliczbowości, a przez X zbiór rozwiązań podobnego zadania ale bez warunku całkowitoliczbowości. Wted oczwista jest następująca zależność: X c X (3.) Jeśli zadanie ogólne (bez warunku całkowitoliczbowości) ma skończone rozwiązanie optmalne, to z powższej zależności wnika następująca nierówność: min z( ) min z( ) (3.3) X c X TWIERDZENIE: Jeżeli * jest rozwiązaniem optmalnm zadania ogólnego, takim że * X c to * jest również rozwiązaniem optmaln zadania całkowitoliczbowego. Oznaczm przez P(X c ) wpukłą powłokę zbioru X c, tzn. najmniejsz zbiór wpukł zawierając w sobie zbiór X c. Zbiór X Zbiór P(Xc) Ogólna idea metod płaszczzn odcinającch (płaszczzn tnącch) jest następująca: jeżeli w wniku rozwiązania zadania wjściowego (programowania liniowego całkowitoliczbowego) otrzmano rozwiązanie niecałkowitoliczbowe, to do ograniczeń tego zadania należ dołączć nowe ograniczenie liniowe spełniające nastepujące warunki: otrzmane rozwiązanie niecałkowitoliczbowe nie spełnia tego ograniczenia, spełnia je dowolne rozwiązanie całkowitoliczbowe. Następnie rozwiązuje się tak zmodfikowane zadanie i jeśli jest to konieczne dodaje się kolejne ograniczenia. Geometrcznie dołączenie nowego ograniczenia liniowego odpowiada odcięciu od wielościanu rozwiązań punktu optmalnego `o współrzędnch ułamkowch, bez odcinania punktów o współrzędnch całkowitch. Pierwsz realizowaln numercznie algortm dla tej metod podał R.E.Gomor. 3.. ALGORYTM GOMORY EGO (ZADANIE PLC). Znaleźć rozwiązanie optmalne zadania programowania liniowego (bez warunku całkowitoliczbowości).. Jeżeli rozwiązanie jest całkowitoliczbowe, to koniec algortmu, w przeciwnm wpadku idź do kroku 3. Konstruujem dodatkowe ograniczenie (odcięcie): 3. Wbierz zmienną k która ma wartość niecałkowitoliczbową w ostatnim rozwiązaniu.. W l-tm równaniu współcznnik prz tej zmiennej wnosi. Zastąp współcznniki i stałą w l-tm równaniu ich częściami ułamkowmi, np.: zamień na 0, /7 na /7, /3 na /3, 3 /6 na /6. 5. Dodaj do każdego ujemnego ułamka wnikającego z kroku i zapisz otrzmane równanie jako ograniczenie nierównościowe ze znakiem 6. Zamień ograniczenie nierównościowe na równość (wprowadź zmienną osłabiającą i sztuczną). Dołącz równanie na koniec układu równań z ostatniej tablic smpleks i przdziel nowej zmiennej dowolnie duż dodatni współcznnik kosztu M (czli wprowadź ją do funkcji celu ze współcznnikiem M).Wkonaj dodatkowe iteracje metod smpleks dla nowej tablic i wróć do kroku.
34 Tomasz Łukaszewski - Badania Operacjne 3 PRZYKŁAD funkcja celu: (min) z = ograniczenia: 6 5 0, 0 i całkowitoliczbowe Postać standardowa: funkcja celu: (min) z = ograniczenia: 3 = 6 5 = 0, 0 i całkowitoliczbowe 3, 0 Baza 0 0 c B P P P 3 P P 0 P P Baza 0 0 c B P P P 3 P P 0 P / ½ 0 3 P / / 0-3 Baza 0 0 c B P P P 3 P P 0 P 0 5/6 /6 5/3 P 0 /3 /3 8/3 0 0 /6 /6 3/3 Otrzmaliśm rozwiązanie optmane ale nie całkowitoliczbowe. Niech k = ; l =. Modfikujem więc równanie : 0* * /3* 3 /3* = 8/3 Po przekształceniu mam ograniczenie nierównościowe: /3* 3 /3* /3 które przekształcam do postaci równości: /3* 3 /3* 5 6 = /3 Dodajem to ograniczenie to ostatniej tablic smpleks i przekształcam ją zgodnie ze znaną metodą: Baza M c B P P P 3 P P 5 P 6 P 0 P 0 5/6 / /3 P 0 /3 / /3 P 6 M 0 0 /3 /3 /3 0 0 /6 /3M /6 /3M -M 0 3/3 /3M
35 Tomasz Łukaszewski - Badania Operacjne 35 Baza M c B P P P 3 P P 5 P 6 P 0 P 0 0 5/ 5/ 0 P 0 0 P / / M Koniec algortmu po dodaniu jednego odcięcia wszstkie rozwiązania są całkowitoliczbowe. Jedna ze zmiennch bazowch jest równa zeru otrzmaliśm więc rozwiązanie zdegenerowane. Interpretacja geometrczna odcięcia: odcięcie /3* 3 /3* /3 możem przedstawić jako 3 ; zmienne osłabiające 3 i możem wrazić w funkcji i (na podstawie ograniczeń); otrzmujem nowe ograniczenie. =6 Rozwiązania optmalne niecałkowitoliczbowe całkowitoliczbowe 5=0 całkowitoliczbowe niewierzchołkowe = 3.3 METODY DRZEW DECYZYJNYCH Omawiając metodę drzew deczjnch ograniczm się do metod podziału i ograniczeń zastosowanej dla problemu minimalizacji. Idea metod podziału i ograniczeń polega na uporządkowanm przeszukiwaniu zbioru rozwiązań zadania optmalizacji (minimalizacja wartości funkcji celu), o którm zakładam że jest skończon. Rozwiązania przeszukujem (badam) bezpośrednio lub pośrednio [Grabowski]. W najgorszm przpadku należ zbadać w sposób bezpośredni wszstkie rozwiązania, co przesądza o wkładniczej złożoności obliczeniowej tej metod. W praktce zastosowanie funkcji ograniczającej (funkcji rzeczwistej określonej na rodzinie podzbiorów zbioru rozwiązań dopuszczalnch) pozwala na badanie większości rozwiązań w sposób pośredni co zwiększa efektwnośc metod [Grabowski]. Przeszukiwanie zbioru rozwiązań (D) polega na sukceswnm jego podziale na mniejsze podzbior. Dla każdego uzskanego podzbioru wznaczana jest wartość funkcji ograniczającej. Wartość ta jest ograniczeniem od dołu dla wartości jaką funkcja celu f przjmuje dla dowolnego elementu tego podzbioru. Oznaczając funkcję ograniczającą przez w musi ona spełniać następujące warunki [Grabowski]: D' D D'' D' D w( D' ') w( D') { } D w({ }) = f ( ) w( D') f ( ) (3.) Powższe warunki nie określają w sposób jednoznaczn funkcji ograniczającej. Prz wborze konkretnej postaci funkcji ograniczającej, należ brać pod uwagę dwa następujące krteria [Grabowski]: łatwość wznaczania jej wartości dokładność, z jaką wartości funkcji ograniczającej szacują wartość funkcji f. Idealna funkcja ograniczająca ( krterium) powinna bć zdefiniowana następująco [Grabowski]: w D ) = min{ f ( ), D } (3.5) ( i i Niestet, na ogół oba powzsze krteria są przeciwstawne i należ wbrać kompromisową ze względu na te krteria postać funkcji ograniczającej.
36 Tomasz Łukaszewski - Badania Operacjne 36 Od momentu gd wznaczm wartość funkcji celu dowolnego rozwiązania można zrezgnować z dalszego, dokładnego badania tch podzbiorów, którch wartość funkcji ograniczającej jest większa lub równa od wartości funkcji f dowolnego (w praktce najlepszego) rozwiązania jest to wspomniane ograniczenie przeszukiwania zbioru rozwiązań (badanie pewnch rozwiązań w sposób pośredni). Metodę podziału i ograniczeń wkorzstuje się z powodzeniem do rozwiązwania szerokiej klas zadań: programowanie liniowe całkowitoliczbowe, szeregowanie zadań niepodzielnch, problem komiwojażera, problem lokalizacji, problem plecakow, problem przdziału i inne. ALGORYTM Niech D będzie skończonm zbiorem rozwiązań dopuszczalnch. Niech k oznacza numer kroku podziałowego, r k k k liczbę podzbiorów na k-tm etapie, D i=,...,r ) podzbiór rozwiązań analizowan na k-tm etapie, w ( ) i ( k wartość funkcji ograniczającej określonej na pewnm podzbiorze k D i = D). D i k D i zbioru rozwiązań D (w szczególności Krok. Wznacz w(d). Jeśli uda się znaleźć takie rozwiązanie, że f() = w(d), to jest rozwiązaniem optmalnm. W przeciwnm razie podziel zbiór D na skończoną liczbę (zwkle rozłącznch) podzbiorów: Przpisz k wartość i przejdź do kroku. D = D D... Dr (3.6) k k Krok. Wznacz w D ) ( i=,..., r ) dla nowo utworzonch podzbiorów D i=,...,r ) Jeśli prz tm uda się ( i k k D r i ( k k k znaleźć takie rozwiązanie, że dla danego r, gdzie r r k oraz f ( ) = w( Dr ) w( Di ) i =,...,r k, to jest rozwiązaniem optmalnm (ogranicz proces przeszukiwania rozwiązań). W przeciwnm razie wbierz k podzbiór D v ( k ) według zasad: w( D k v( k) k ) = min{ w( D )} (3.7) i=,..., r i podziel go na skończoną liczbę (zwkle rozłącznch) podzbiorów: Przejdź do kroku 3. Krok 3. Wszstkie podzbior: k k k k i k Dv( k) = Dv( k), Dv( k),... Dv( k), s( k) (3.8) oznacz przez Podstaw k := k i wróć do kroku. k k k k k k k D, D,..., Dv( k), Dv( k),..., Drk, Dv( k),, Dv( k),,..., Dv( k), s( k) (3.9) k k k D, D,..., r (3.30) D k k Do realizacji opisanego schematu metod podziału i ograniczeń jest konieczne skonkretzowanie: zasad podziału funkcji ograniczającej w sposobu znajdowania rozwiązania Należ zwrócić uwagę na sposób realizacji zasad wboru podzbioru do podziału (krok ). Zamiast analizowania wartości funkcji ograniczającej wszstkich nie podzielonch podzbiorów, można ograniczć się do podzbiorów wnikającch z ostatniego podziału. Zaletą pierwszego sposobu (na ogół) jest mniejsza liczba podziałów, potrzebn jest jednak większ obszar pamięci do przechowwania informacji o wszstkich nie podzielonch podzbiorach. Drugi sposób to na ogół większa liczba podziałów lecz mniejsza zajętość pamięci.
37 Tomasz Łukaszewski - Badania Operacjne B&B (PROBLEM PRZYDZIAŁU) Dan jest zbiór m różnch wrobów, z którch każd może bć produkowan na jednm z m stanowisk produkcjnch. Każde ze stanowisk ma różn koszt prz produkcji każdego z wrobów. Koszt i-tego stanowiska prz produkcji j-tego wrobu jest równ c ij, a ponadto każde ze stanowisk ma produkować dokładnie jeden wrób i każd z wrobów ma bć produkowan na dokładnie jednm stanowisku. Należ przdzielić wrob do stanowisk, b łączn koszt bł minimaln. WYRÓB / STANOWISKO 3 A B 5 8 C 3 6 D Rozwiązując to zadanie prz kontrukcji funkcji ograniczającej będącej równej sumie kosztów określonch przdziałów, należ przejrzeć wszstkie rozwiązania. Zauważm jednakże, że prz zmienie treści zadania, podczas jego rozwiązwania pojawią się możliwości zastosowania odcięć i rozwiązanie będzie uzskane dość szbko: WYRÓB / STANOWISKO 3 A B 5 8 C 3 6 D B&B ALGORYTM LITTLE A (PROBLEM KOMIWOJAŻERA) Wiele problemów programowania matematcznego można sprowadzić do problemu komiwojażera, któr można sformułować następująco: Dane jest n miast. Dana jest macierz kwadratowa C = [c ij ] stopnia n, gdzie c ij oznacza koszt przejazdu komiwojażera od i-tego miasta do j-tego miasta. Wjeżdzając z miasta wjściowego komiwojażer powinien dokładnie jeden raz odwiedzić wszstkie pozostałe miasta i wróćić do miasta wjściowego. Spośród wszstkich możliwch tras należ wbrać trasę o minimalnm koszcie. Droga nie może zawierać odcinków (i,i) (i =,,...,n). Dlatego przjmuje się c ii = (i =,,...,n). Liczba rozwiązań dla problemu z n miastami wnosi (n )! Liczba ta jest na tle duża, że wklucza poszukiwanie drogi otmalnej na drodze przelądu wszstkich rozwiązań nawet dla małej wartości n (powżej 0). Bardzo efektwn sposób rozwiązwania problemu komiwojażera, korzstając z metod podziału i ograniczeń zaproponował Little. W metodzie tej korzsta się z tzw. macierz zredukowanej (macierz nieujemna, mającą w każdm wierszu i w każdej kolumnie prznajmniej jeden element zerow). Wielkość redukcji może bć traktowana jako funkcja ograniczająca. Zbiór rozwiązań (wierzchołek w drzewie poszukiwań) będziem rozbijać na dwa podzbior: zawierając wróżnion łuk <i,j> nie zawierając łuku <i,j> PRZYKŁAD Dana jest macierz kosztów przejść C ( oznacza koszt o nieskończonej wartości): macierz C Niech G 0 oznacza początkow zbiór rozwiązań. W celu wznaczenia wartości funkcji ograniczającej dla G 0 dokonujem redukcji macierz C: w każdm wierszu znajdujem element minimaln i odejmujem go od wszstkich elementów danego wiersza ten sam proces wkonujem dla kolumn.
38 Tomasz Łukaszewski - Badania Operacjne 38 Po wkonaniu redukcji macierz, w każdm wierszu i każdej kolumnie powinien znaleźć się element zerow. Suma wielkości, które odjęliśm jest wielkością redukcji R. Łączna wielkość redukcji (liczona od korzenia drzewa) jest wartością funkcji ograniczającej danego podzbioru (wartość funkcji ograniczającej podajem w nawiasach prz każdm wierzchołku G i drzewa obliczeń). macierz C R=6 Po redukcji: R = 6. Kanddatami do wkonania podziału są następujące odcinki (mające w tej zredukowanej macierz koszt równ 0): <,>,<,>,<3,>,<,>,<,3>. Zastanówm się jakie konsekwencje ma włączenie z drogi każdego z tch odcinków (idea podziału). Jeżeli włączm odcinek <i,j>, to z miasta i musim wruszć do miasta innego niż j, a do miasta j musim przbć z miasta różnego od i. Rozważm dla przkładu odcinek <,> Jeżeli włączm ten odcinek, to z miasta musim wruszć do miasta różnego od, a minimaln koszt z tm związan jest równ (minimalna wartość w wierszu różna od tej na pozcji,). Z kolei do miasta trzeba dotrzeć z miasta różnego od i minimaln koszt z tm związan jest równ (minimalna wartość w kolumnie różna od tej na pozcji,). Suma tch wartości () nazwana jest optmistcznm kosztem włączenia odcinka, któr na pewno musim ponieść włączając odcinek <,>. Wartości tch kosztów podane są w postaci indeksów prz elementach zerowch: macierz C R=6 G 0 (6) Wbieram ten odcinek, któr ma największ optmistczn koszt włączenia. W naszm wpadku aż trz odcinki mają optmistczn koszt włączenia równ. Arbitralnie wbieram odcinek <,> tworząc zbior marszrut G i G zawierające lub nie zawierające tego odcinka. Weźm pod uwagę zbiór G. Tworzm macierz C usuwając z macierz C 0 wiersz i kolumnę oraz przjmując c = (blokujem drogę przeciwną). Zmodfikowana i zredukowana macierz C znajduje się poniżej: macierz C R=0 Weźm pod uwagę zbiór G. Tworzm macierz C z macierz C 0 przjmując c =. Zmodfikowana i zredukowana macierz C znajduje się poniżej: macierz C R= G 0 (6) G (6) <,> G (8) ~<,>
39 Tomasz Łukaszewski - Badania Operacjne 39 Do dalszego podziału wbieram wierzchołek o najmniejszej wartości funkcji ograniczającej czli G. Z tablic C wnika, że tlko odcinki <3,> oraz <,> mogą bć rozpatrwane (zerow koszt, maksmalna optmistczna wartość kosztu włączenia 5). Arbitralnie wbieram <3,> tworząc zbior G 3 i G. Weźm pod uwagę zbiór G 3. Tworzm macierz C 3 usuwając z macierz C wiersz 3 i kolumnę. Nie dokonujem podstawienia c 3 =, gdż ten element został już weliminowan. Zmodfikowana i zredukowana macierz C 3 znajduje się poniżej: macierz C R=3 Weźm pod uwagę zbiór G. Tworzm macierz C z macierz C przjmując c 3 =. Zmodfikowana i zredukowana macierz C znajduje się poniżej: macierz C R=5 G 0 (6) G (6) <,> G (8) ~<,> G 3 (9) <3,> G () ~<3,> Do dalszego podziału wbieram wierzchołek o najmniejszej wartości funkcji ograniczającej czli G. Z tablic C wnika, że tlko odcinki <,> <,3> oraz <3,> mogą bć rozpatrwane (zerow koszt, maksmalna optmistczna wartość kosztu włączenia ). Arbitralnie wbieram <,> tworząc zbior G 5 i G 6. Weźm pod uwagę zbiór G 5. Tworzm macierz C 5 usuwając z macierz C wiersz i kolumnę. Ponadto dokonujem podstawienia c =. Zmodfikowana i zredukowana macierz C 5 znajduje się poniżej: macierz C R= Weźm pod uwagę zbiór G 6. Tworzm macierz C 6 z macierz C przjmując c =. Zmodfikowana i zredukowana macierz C 6 znajduje się poniżej: macierz C R= G 0 (6) G (6) <,> G (8) ~<,> G 3 (9) <3,> G () ~<3,> G 5 (9) <,> G 6 (9) ~<,>
40 Tomasz Łukaszewski - Badania Operacjne 0 Do dalszego podziału wbieram wierzchołek o najmniejszej wartości funkcji ograniczającej czli G 3. Z tablic C 3 wnika, że tlko odcinki <,3> oraz <,> mogą bć rozpatrwane (zerow koszt, maksmalna optmistczna wartość kosztu włączenia ). Arbitralnie wbieram <,3> tworząc zbior G 7 i G 8. Weźm pod uwagę zbiór G 7. Tworzm macierz C 7 usuwając z macierz C 3 wiersz i kolumnę 3. Macierz redukuje się do jednego elementu. Zmodfikowana i zredukowana macierz C 7 znajduje się poniżej: macierz C 7 0 R=0 UWAGA z tej macierz wnika, że dołączając do wierzchołka G 7 jedną możliwą marszrutę <,> otrzmujem rozwiązanie końcowe, dla którego wartość funkcji kosztu równa się kresowi dolnemu równemu 9. Oznaczm to rozwiązanie przez wierzchołek G 9. Weźm pod uwagę zbiór G 8. Tworzm macierz C 8 z macierz C 3. Podstawiam za c 3 =. Zmodfikowana macierz C 8 znajduje się poniżej: UWAGA koszt redukcji wnosi (patrz wiersz ). Kres doln błb równ także. Oznacza to, że wierzchołek ten nie będzie dalej dzielon można dowieść, że nie odpowiada mu żadna marszruta. Pomijam więc w dalszch rozważaniach ten wierzchołek. macierz C R = (!) G 0 (6) G (6) <,> G (8) ~<,> G 3 (9) <3,> G () ~<3,> G 5 (9) <,> G 6 (9) ~<,> G 7 (9) <,3> G 8 (*) ~<,3> G 9 (9) <,> Podział pozostałch zbiorów nie może dać rozwiązania lepszego. Otrzmane rozwiązanie jest optmalne, choć niekoniecznie jedne. W celu stwierdzenia cz istnieją inne rozwiązania, należałob dokonać podziału zbiorów G5 i G B&B ALGORYTM LAND-DOIGA (ZADANIE PLC) Dla zadania programowania liniowego całkowitoliczbowego, oprócz metod płaszczzn tnącch można zastosować metodę podziału i ograniczeń. Dowód zbieżności (w skończonej iteracji) metod podziału i ograniczeń Land-Doiga istnieje jednie dla przpadków, gd wszstkie zmienne całkowitoliczbowe są dwustronnie ograniczone (0 h). W przpadku ogólnm metoda ta nie gwarantuje zbieżności [Grabowski]. Metodę można zastosować dla problemu mieszanego lub kompletnego PLC (patrz rozdział 3.). Podzbior rozpatrwane w każdej iteracji definiujem następująco: G(d,g) = { A b; d g; całkowite} (3.3) gdzie d i g są wektorami o całkowitch współrzędnch, spełniającch nierówność 0 d g h. Jeżeli { A b; d g; całkowite) =, to przjmujem w(g(d,g)) =.
41 Tomasz Łukaszewski - Badania Operacjne Postępowanie jest następujące: jeżeli wektor rozwiązań jest wektorem całkowitm, to jest on rozwiązaniem optmalnm. W przeciwnm razie wbieram zmienną niecałkowitą i i dzielim dan podzbiór G(d,g ) na dwa podzbior G(d,g ) i G(d,g ), przjmując: d g " j " j [ i ], = ' d j, [ i ], = ' g j, gdzie [ i ] oznacza największą liczbę całkowitą mniejszą od i. dla dla dla dla j = i j i j = i j i (3.3) Metodę można stosować dla zadania programowania 0-. Podział polega odpowiednio na przpisaniu danej zmiennej wartości 0 lub, co zmniejsza wmiar problemu [Grabowski]. 3. METODY HEURYSTYCZNE Algortmem nazwam procedurę, która w skończonej liczbie dobrze zdefiniowanch operacji znajduje rozwiązanie danego problemu (dla każdej poprawnej instancji). Algortm jest algortmem dokładnm jeśli gwarantuje uzskanie rozwiązania optmalnego. Przkładem algortmu dokładnego dla optmalizacjnch problemów kombinatorcznch jest algortm pełnego przeglądu. Algortm przbliżon (aproksmacjn, heurstczn) nie gwarantuje uzskania rozwiązania optmalnego (dla każdej poprawnej instancji), lecz znajduje wstarczająco dobre rozwiązania (suboptmalne) w rozsądnm czasie. Ze względu na fakt, że dla znacznej grup problemów istnieją algortm dokładne jednie o złozoności wkładniczej, zainteresowanie badacz skierowane jest w kierunku poszukiwania algortmów przbliżonch. Algortm te mogą dokonwać przeszukiwania przestrzeni rozwiązań lub posiadać pewną wiedzę o problemie i konstruować rozwiązanie. Zasad tworzenia metod heurstcznch nie poddają się jakiejkolwiek formalizacji. Oparciem do tworzenia takich metod są intuicjne metod poszukiwania twórczch rozwiązań. Warto wspomnieć, że każda metoda podziału i ograniczeń, której postępowanie nie zostanie doprowadzone do końca, jest metodą heurstczną. PODZIAŁ METOD HEURYSTYCZNYCH W ogólności algortm heurstczne dzielim na: algortm przeszukiwania losowego algortm przeszukiwania lokalnego (lokalnej optmalizacji) - algortm iteracjnej popraw - algortm smulowanego wżarzania (metaheurstka) - algortm przeszukiwania tabu (metaheurstka) algortm deterministczne (mają pewną wiedzę o problemie) algortm ewolucjne (metaheurstka) Przeszukiwanie losowe polega na zastosowaniu pewnego mechanizmu przpadkowego błądzenia, np. losowania w dowoln sposób kolejnch rozwiązań w celu ich analiz. Przeszukiwanie lokalne (lokalna optmalizacja) polega na przeszukiwaniu najbliższego otoczenia danego rozwiązania i realizacji przejścia do jednego z tch rozwiązań sąsiednich, co stosowane iteracjnie prowadzi proces przeszukiwania w kierunku lokalnego ekstremum funkcji celu. Wadą przeszukiwania lokalnego jest zatrzmwanie procesu przeszukiwania w lokalnm ekstremum. Żeb usprawnić proces lokalnego przeszukiwania (żeb wjść poza ekstremum lokalne) stosuje się takie techniki jak: - powtarzanie przeszukiwania dla wielu losowo wbranch punktów startowch - wchodzenie poza lokalne ekstremum.
42 Tomasz Łukaszewski - Badania Operacjne Kolejna grupa heurstk to metod przeszukiwania deterministcznego odnoszą się do specjalnch tpów zadań. Wkorzstują one strukturę i właściwości modelu, co pozwala określić pewne zasad przeszukiwania przestrzeni rozwiązań. Dają one lepsze rozwiązania niż metod losowe. Ostatni omawiana grup metod to algortm ewolucjne. Generalnie metod heurstczne tworzone są dla ściśle określonej klas problemów. Im węższ zakres tej klas, tm więcej można znaleźć deterministcznch reguł poszukiwania lepszch rozwiązań i tworzone heurstki dostarczają lepszch rezultatów. Istnieje jednak grupa metod heurstcznch, które można zastosować dla wielu klas problemów. Dopasowanie do poszczególnego problemu można dokonać przez zmianę cechującch je parametrów. Tę grupę metod heurstcznch nazwa się często metaheurstkami. Najważniejsze metaheurstki to: metoda smulowanego wżarzania (ang. Simulated Annealing) metoda przeszukiwania tabu (ang. Tabu Search) algortm genetczne (ang. Genetic Algorithms) 3.. PRZESZUKIWANIE LOSOWE Algortm przeszukiwania losowego wbiera w kolejnch iteracjach rozwiązania problemu i analizuje je. Wbór rozwiązań do analiz może bć zrealizowan na wiele sposobów, w zależności od problemu i implementacji algortmu. Begin (minimalizacja) best Generuj_Losowo Repeat Generuj_Losowo if f() < f( best ) then best Until Warunek_Stopu End 3.. PRZESZUKIWANIE LOKALNE - ALGORYTM ITERACYJNEJ POPRAWY Przeszukiwanie lokalne bazuje na idei sąsiedztwa danego rozwiązania. Niech (S,f) będzie instancją problemu optmalizacji kombinatorcznej. Wted struktura sąsiedztwa (neighborhood structure) jest odwzorowaniem: N S : S (3.33) które definiuje dla każdego rozwiązania i S zbiór S i S rozwiązań, które leżą blisko rozwiązania s w jakimś sensie. Zbiór S i nazwam sąsiedztwem rozwiązania s. Każde rozwiązanie j S i nazwane jest rozwiązaniem sąsiednim lub po prostu sąsiadem s. Sąsiedztwo S i podzbiór rozwiązań dopuszczalnch posiadające następujące własności: Dla każdego i jego S i zawiera co najmniej jedno rozwiązanie j różne od i. Rozwiązanie j należace do S i różni się od i tak, b przejście (elementarn ruch) od i do j nie wmagało konstruowania nowego rozwiązania od podstaw Niezależnie od wboru rozwiązania początkowego, osiągalne powinno bć każde rozwiązanie należace do S w skończonej liczbie przejść. Przkładem sąsiedztwa w smetrcznm problemie komiwojażera może bć zamiana dwóch miast miejscami, wstawienie miasta w inne miejsce Algortm iteracjnej popraw jest przkładem połączenia przeszukiwania losowego z przeszukiwaniem lokalnch (lokalną optmalizacją). Wstępuje on w dwóch odmianach: Najszbszego spadku dla danego rozwiązania znajdujem wszstkich sąsiadów. W przpadku natrafienia na lepsze rozwiązanie, staje się ono nowm rozwiązaniem, dla którego powtarzam powższą cznność. Zachłann generowanie sąsiadów jest przerwane w momencie natrafienia na lepsze rozwiązanie od aktualnie rozważanego staje się ono nowm rozwiązaniem, dla którego powtarzam powższą cznność W obu wersjach zatrzmanie algortmu następuje w momencie, gd spośród wszstkich wgenerowanch sąsiadów nie znaleziono nowego lepszego rozwiązania. Poniżej prezentujem wersję najszbszego spadku.
43 Tomasz Łukaszewski - Badania Operacjne 3 Begin (minimalizacja) t 0 (numer iteracji) Inicjuj() Repeat Generuj_Konfigurację_Sąsiednia () if f( ) < f() then t t Until (wgenerowano całe sąsiedztwo dla ) End Zalet: łatwość implementacji, szbkość (pojednczej iteracji), możliwość zastosowania do szerokiej klas problemów. Wad: zatrzmuje się w pierwszm napotkanm optimum lokalnm i na ogół brak informacji o odległości od optimum globalnego, otrzmane optimum lokalne zależ od konfiguracji początkowej, co do wboru której na ogół brak konkretnch reguł, w ogólności trudne jest podanie górnej granic czasu obliczeń. Unikanie wad: wkonanie algortmu dla dużej liczb rozwiązań startowch wprowadzenie bardziej złożonej definicji funkcji sąsiedztwa w celu przeszukania większej części przestrzeni rozwiązań ograniczone akceptowanie pogorszeń funkcji celu PRZESZUKIWANIE LOKALNE - ALGORYTM SYMULOWANEGO WYŻARZANIA Jednm z procesów opiswanm przez fizkę statczną jest proces krstalizacji. Z doświadczenia wiadomo, że wbran materiał w pewnej temperaturze może znajdować się w różnch stanach stabilnch, w zależności od jego historii. Przkładem może bć wżarzanie krzemu do postaci ciała stałego. Gwałtowne obniżanie temperatur płnnego krzemu prowadzi do otrzmania substancji amorficznej o wsokim nieuporządkowaniu atomów. Z kolei mniej radkalne schłodzenie może prowadzić do struktur polikrstalicznej, tzn. zlepka mikrokrształków. Dopiero prz bardzo powolnm wżarzaniu, gwarantującm utrzmanie w dowolnm przedziale temperatur stanu równowagi, istnieje możliwość otrzmania doskonale uporządkowanego krształu krzemu. Wraz ze wzrostem uporządkowania układu maleje jego energia. Z powższego przkładu wnika, że zależnie od procesu schładzania możem doprowadzić układ, jaki stanowi rozważan płnn krzem, do różnch stanów odpowiadającch różnm minimom lokalnm energii. Jednie powolne obniżanie temperatur (wżarzanie, odprężanie), zapewniające utrzmanie stanu równowagi, zapobiegające powstawaniu wewnętrznch naprężeń, pozwala na osiągnięcie globalnego minimum energii, odpowiadające idealnemu krształowi. Wznaczenie stanu najniższej energii jest problemem optmalizacji, a zatem fizczn proces wżarzania może stanowić inspirację do budow nowej metaheurstki. ALGORYTM METROPOLIS Pierwsz algortm podano dla smulacji ruchów termicznch atomów ciała stałego w ustalonej temperaturze T (Metropolis 953). Algortm bazuje na technice Monte Carlo. W każdm kroku dokonuje się próbnego, losowego przesunięcia jednej z cząstek i wlicza wnikającą z przesunięcia zmianę energii całego sstemu E. Jeżeli energia ulega zmniejszeniu to przesunięcie jest akceptowane. Zwiększenie energii także jest akceptowane z pewnm prawdopodobieństwem: E P( E) = ep( ) (3.3) k T gdzie k B jest stałą Boltzmanna, zaś T oznacza temperaturę. Jak widać, prawdopodobieństwo akceptacji gorszch rozwiązań maleje wraz ze spadkiem temperatur. B
44 Tomasz Łukaszewski - Badania Operacjne ALGORYTM SYMULOWANEGO WYŻARZANIA Algortm ten jest zastosowaniem algortmu Metropolis do optmalizacji kombinatorcznej. BEGIN (minimalizacja) S S 0 T T 0 REPEAT S nowe rozwiązanie sąsiednie E E(S')-E(S) P( E) ep(- E/T) IF ( E 0) or (P( E) > RANDOM) THEN S S' Aktualizacja T UNTIL Warunek_Stopu END Prz obniżaniu temperatur nie zaleca się stosowania stałego kroku. Dokładne badania wkazał, że najlepszm rozwiązaniem jest powiązanie temperatur T z numerem iteracji n: T0 T ( n) = (3.35) ln( n) W algortmie smulowanego wżarzania istotną rolę pełnią tzw. łańcuch Markowa. Łańcuch Markowa jest sekwencją prób (rozwiązań), w której prawdopodobieństwo wniku danej prób zależ tlko od wniku poprzedniej prób. Łańcuch Markowa jest niehomogeniczn, jeżeli prawdopodobieństwo przejścia zależ od numeru prób. Jeśli nie zależ, łańcuch jest homogeniczn. Dobre przbliżenie procedur smulowanego wżarzania może zostać zrealizowane poprzez generowanie homogenicznch łańcuchów Markowa skończonej długości dla skończonej sekwencji malejącch wartości parametru kontrolnego. Krterium zatrzmania: - osiągnięcie wartości optmalnej (gd jest znana) - wkonanie określonej liczb iteracji - wkonanie określonej liczb iteracji od ostatniego polepszenia rozwiązania 3.. PRZESZUKIWANIE LOKALNE - ALGORYTM PRZESZUKIWANIA TABU Algortm przeszukiwania tabu zaproponowan przez Glovera w 986 roku jest naturalną próbą ulepszenia algortmu iteracjnej popraw (najszbszego spadku), któr nie bł zdoln wjść z lokalnego optimum. Ulepszon algortm, zezwalając na akceptację ruchów niepolepszającch wartości funkcji celu miał tendencję do wpadania w ckle. W celu uniknięcia ckli wprowadzono listę tabu zakazującą powrotu do niedawno odwiedzonch rozwiązań (zakazującą niedawno wkonanch ruchów). Jeżeli następuje przejście z rozwiązania do, to wprowadza się na koniec list tabu i przebwa ono tam przez k iteracji, gdzie k jest długością list. Dowolne rozwiązanie z nie zostanie wbrane ponownie tak długo, jak długo przebwa ono na liście tabu. Lista tabu zmusza algortm do przeszukiwania nowch regionów rozwiązań. Ze zwględu na fakt, że na liście tej mogło wstąpić zbt dużo zakazanch ruchów, wprowadzono możliwość akceptacji atrakcjnch ruchów zakazanch. Związane jest to z istnieniem funkcji aspiracji, która jest modfikowana w trakcie obliczeń. Nie wkazano zbieżności algortmu. Krterium zatrzmania: - osiągnięcie wartości optmalnej (gd jest znana) - wkonanie określonej liczb iteracji - wkonanie określonej liczb iteracji od ostatniego polepszenia rozwiązania Efektwność metod zależ od - długości list tabu - definicji funkcji aspiracji
45 Tomasz Łukaszewski - Badania Operacjne ALGORYTMY EWOLUCYJNE Wkorzstanie zjawiska cklu ewolucji do rozwiązwania problemów kombinatorcznch. Algortm ewolucjn (ang. evolution algorithm) to: algortm probabilistczn w którm wstępuje populacja osobników P(t) = { t,..., n t } gdzie t numer iteracji każd osobnik (chromosom, genotp) reprezentuje potencjalne rozwiązanie istnieje funkcja szacująca dostosowanie, dopasowanie, przstosowanie osobników (nieujemna, maksmalizowana) (ang. fitness function). Funkcja ta nie musi bć równa funkcji celu. w każdm kroku wbiera się najlepsze osobniki (selekcja rodziców) o największej wartości funkcji przstosowania a następnie dokonuje się transformacji na wbranch osobnikach: krzżowanie - dotcz dwóch osobników mutacja - dotcz jednego osobnika Algortm genetczn jest specjalnm przpadkiem algortmu ewolucjnego: reprezentacja danch to BINARNE łańcuch o stałej długości (chromosom) transformacja składa się tlko z BINARNEJ mutacji i krzżowania Schemat algortmu ewolucjnego: begin t 0 inicjalizuj P(t) // jak największa różnorodność osobników oszacuj P(t) // szacujem przstosowanie, doskonałość Repeat t t wbierz P(t) z P(t ) // faza selekcji transformuj P(t) // faza rekombinacji oszacuj P(t) Until koniec // ocena najlepszego osobnika, iteracje, czas End Krterium zatrzmania: - osiągnięcie wartości optmalnej (gd jest znana) - wkonanie określonej liczb iteracji - wkonanie określonej liczb iteracji od ostatniego polepszenia rozwiązania Efektwność metod zależ od - rozmiaru populacji - rodzaju selekcji - zdefiniowania operatorów genetcznch - sposobu kodowania rozwiazania - definicji funkcji przstosowania PROBLEMY Stosując algortm ewolucjn do rozwiązania danego problemu, należ wskazać o najważniejszch problemach które mogą się pojawić: przedwczesna zbieżność kłopot z lokalnm dostrajaniem niemożnośc uwzględnienia nietrwialnch ograniczeń Ad. Przedwczesna zbieżność polega na wczesnej utracie różnorodności w populacji, co powoduje, że AG zbiega do lokalnego optimum. Przcznami są zazwczaj skończon rozmiar populacji siln napór selekcjn osobników lepiej przstosowanch
46 Tomasz Łukaszewski - Badania Operacjne 6 Rozwiązaniem może bć: udoskonalenie mechanizmu selekcji skalowanie funkcji przstosowania powodujące obniżanie przstosowania ponad przeciętnch osobników Ad. Algortm ewolucjne mają trudności z lokalnm przeszukiwaniem przestrzeni rozwiązania w końcowej fazie procesu iteracjnego. Proponowane rozwiązanie to zastosowanie dnamicznch operatorów, które w początkowej fazie prowadzą do globalnego przeszukiwania przestrzeni rozwiązań, przechodząc do lokalnego przeszukiwania w końcowej fazie. Ad.3 Nie istnieje dobra metodologia uwzględniania skomplikowanch ograniczeń. Pewnmi rozwiązaniami są: metoda kar polegająca na obniżaniu przstosowania rozwiązań niedopuszczalnch usuwanie z populacji rozwiązań niedopuszczalnch użcie algortmów napraw rozwiązań niedopuszczalnch użcie przekształceń gwarantującch generowanie rozwiązań dopuszczalnch IMPLEMENTACJA Poniżej omawiam poszczególne zagadnienia związane z zastosowaniem algortmu ewolucjnego do danego problemu: genetczna reprezentacja rozwiązań inicjalizacja początkowej populacji postać funkcji dopasowania postać operatora selekcji operator genetczne (mutacja i krzżowanie) wartości parametrów (rozmiar populacji, prawdopodobieństwa zastosowania operatorów) Do reprezentacji osobników (chromosomów) algortm genetczn użwa łańcuchów binarnch o skończonej długości. Pojedncza wartość tego łańcucha nazwana jest genem. Inicjalizacja początkowa populacja osobników jest generowana losowo lub za pomocą pewnej metod heurstcznej. Zbt dobra definicja funkcji dopasowania może prowadzić do zbt szbkiej dominacji dobrch chromosomów i zmniejszenia znaczenia operatorów genetcznch (szbkie zakończenie algortmu w otoczeniu najlepszego aktualnie chromosomu ekstremum lokalne). Zbt słaba definicja może skutkować brakiem zbieżności do rozwiązania optmalnego. Poprawna definicja operatora selekcji pozwala uniknąć przedwczesnej zbieżności. Bajbardziej znaną metodą selekcji jest metoda koła ruletki, w której prawdopodobieństwo selekcji osobnika k jest następujące: p = f ( ) i k f ( ) Prawdopodobieństwo to może bć funkcją czasu (liczb iteracji): i (3.36) t q f ( k ) p = (3.37) T f ( ) gdzie: T spodziewana liczba iteracji, q mała liczba naturalna. Ma to na celu zmniejszenie prawdopodobieństwa selekcji dobrch osobników w początkowej fazie i dopuszczenie do krzżowania gorszch osobników, które mogą jednak prowadzić do lepszch rozwiązań. Inną znaną metodą selekcji jest metoda turniejowa. Krzżowanie w trakcie upłwu czasu staje się coraz mniej efektwne, gdż chromosom są coraz bardziej podobne do siebie. Można ulepszć proces krzżowania: wbierając miejsce do krzżowania w miejscu, gdzie chromosom się różnią międz sobą zmieniając prawdopodobieństwo krzżowania w zależności od urozmaicenia populacji i
47 Tomasz Łukaszewski - Badania Operacjne 7 Problem generowania rozwiązań dopuszczalnch można rozwiązać na dwa sposob: generować tlko rozwiązania dopuszczalne (czasochłonne) dodawać dużą karę za brak dopuszczalności ZASTOSOWANIA ALGORYTMU EWOLUCYJNEGO Problem komiwojażera. Załóżm że mam miasta oznaczone cframi,,3,,5. Komiwojażer startuje z miasta i musi do niego wrócić. genetczna reprezentacja rozwiązań - wjątkowo miasta będą kodowane nie binarnie ale liczbami całkowitoliczbowmi: (,3,,5). Miasto od którego zacznam i kończm nie musi bć kodowane inicjacja początkowej populacji - trzeba wgenerować możliwe permutacje postać funkcji dopasowania - określam koszt odwiedzin miast w zadanej kolejności (nie zapominając o mieście będącm początkiem i końcem) operator genetczne (mutacja i krzżowanie) - omijam mutację i stosować będziem jednie krzżowanie w zmienionej postaci: dane są przkładowo dwa chromosom: (,3,,5,6,7,8,9,0) oraz (3,5,6,,9,0,,8,7) losujem z pierwszego chromosomu fragment, któr nie będzie zmienian (,3,,5,6,7,8,9,0) now chromosom będzie miał postać: ( a, b,,5,6,7, c, d, e ) analizując drugi chromosom wpełnim brakujące miejsca: a :3, (5 nie - bo wstępuje w kopiowanm fragmencie), (6 nie - patrz 5) b :, c :9, d :0, ( nie - patrz 5) e :8, (7 nie - patrz 5) wartości parametrów: rozmiar populacji im większ rozmiar, tm lepsze wniki (kosztem czasu) prawdopodobieństwa krzżowania dopasować samodzielnie Poszukiwanie ekstremum funkcji. Dana jest funkcja np. f()=*sin(0*pi*). Znaleźć ekstremum w przedziale [-,] genetczna reprezentacja rozwiązań - wartości liczbowe będziem kodować binarnie. Załóżm, że oczekujem preczji z dokładnością do 6 miejsc po przecinku (odcinek o długości podzielon na milion przedziałów) w sumie mam 3 odcinki jednostkowe * = Przpomnijm, że na n- bitach można zakodować liczb z zakresu od 0 do n -. Żeb zakodować tę liczbę potrzebujem bit: =0975, =930. Zamiana liczb binarnej na dziesiętną będzie następująca: =- *3/( -). Trzeba pamiętać, że możem wjść poza zakres inicjacja początkowej populacji trzeba wgenerować możliwe permutacje postać funkcji dopasowania wartość funkcji dla danego operator genetczne klasczna mutacja i krzżowanie wartości parametrów: rozmiar populacji im większ rozmiar, tm lepsze wniki (kosztem czasu) prawdopodobieństwa krzżowania dopasować samodzielnie 3.5 INNE 3.5. METODA WĘGIERSKA (PROBLEM PRZYDZIAŁU) Znajduje rozwiązanie dla problemu przdziału w czasie wielomianowm (minimalizacja dla wartości dodatnich).. W każdm wierszu znajdź element minimaln i odejmij go od wszstkich elementów z danego wiersza. Min Task a Task b Task c Task d Worker Worker Worker Worker Min a b c d
48 Tomasz Łukaszewski - Badania Operacjne 8. W każdej kolumnie znajdź element minimaln i odejmij go od wszstkich elementów z danej kolumn. Min a b c d Min a b c d W wierszu zawierającm dokładnie jedno nienaznaczone zero ( 0 ) naznacz je ( 0 ). Skreśl ( 0 ) pozostałe zera w kolumnie z naznaczonm zerem b nie powtórzć przdziału innego pracownika do tego samego zadania. Powtarzaj do chwili gd w wierszu będą same naznaczone 0 lub co najmniej nienaznaczone. Min a b c d Wkonaj punkt 3 dla kolumn Min a b c d Powtarzaj 3 i aż do momentu gd zajdzie jeden z 3 przpadków: każd wiersz ma naznaczone 0 w co najmniej wierszach i kolumnach są co najmniej nienaznaczone 0 nie ma nienaznaczonch zer a kompletnego przdziału nie otrzmano 6. Jeśli 5a to przdział jest kompletn i optmaln Jeśli 5b naznacz dowolne zero, skreśl pozostałe zera w wierszu i kolumnie, go to 3 Jeśli 5c go to 7 7. Oznacz wiersze dla którch nie dokonano przdziału ( v ) Min a b c d v 8. Oznacz nieoznaczone kolumn, które mają 0 w oznaczonm wierszu Min a b c d v v
49 Tomasz Łukaszewski - Badania Operacjne 9 9. Oznacz nieoznaczone wiersze, które mają przdział w oznaczonch kolumnach Min a b c d v v v 0. Powtarzaj 8 i 9 do zakończenia procesu oznaczania.. Pokrj wszstkie nieoznaczone wiersze i wszstkie oznaczone kolumn Min a b c d v v v Znajdź minimaln element niepokrt i odejmij go od każdego elementu w niepokrtch wierszach. Min a b c d Dodaj ten sam element do każdego elementu w pokrtch kolumnach. Min a b c d Go to 3 Min a b c d Naznaczam i skreślam Min a b c d Przdział optmaln: c, b, 3d, a
50 Tomasz Łukaszewski - Badania Operacjne PROGRAMOWANIE 0- Algortm rozwiązwania problemów 0- opart na algebrze BOOLE'A f.celu: min ogr.: (wszstkie zmienne tpu 0-) Należ zadanie przeformułować tak, b ograniczenia bł tpu, współcznniki tlko dodatnie oraz ustawione w porządku malejącm. W tm celu będzie zwkle konieczne wprowadzenie, obok zmiennch już istniejącch, zmiennch pomocniczch i i = min (wszstkie zmienne tpu 0-) Dla każdego z ograniczeń formułujem zdanie, które dla rozwiązania spełniającego to ograniczenie musi bć fałszwe. Robim to rozpatrując najpierw wrażenia pojedncze, potem par itd. Dla pierwszego ograniczenia powższe wrażenie musi bć fałszwe ( ) ( ) ( ) ( ) ( ) ( ) ( ) Dla pozostałch ograniczeń następujące wrażenie muszą bć fałszwe: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Zatem alternatwa tch trzech wrażeń też musi bć fałszwa. Alternatwę dla całego układu ograniczeń upraszczam, stosując następujące reguł: ( ) ( ) ( ) c b c a b a zastępujem ( ) ( ) ( ) b a c b a b a zastępujem Po redukcji otrzmujem w przkładzie wrażenie dla układu ograniczeń, które musi bć fałszwe: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
51 Tomasz Łukaszewski - Badania Operacjne 5 Następnie dołączm kolejne ograniczenie, powstałe z przjęcia jakiejś wartości docelowej dla funkcji celu. Na przkład Konstruując analogiczne wrażenie dla powższego ograniczenia, dołączając je do wrażenia dla układu ograniczeń i redukując, otrzmujem wrażenie ( ), co którego po kolejnch redukcjach można stwierdzić, że jest zawsze prawdziwe - czli nie ma wartości funkcji celu 8. Zatem próbujem 9: W podobn sposób dochodzim teraz do wrażenia 3 5 6, które jest fałszwe tlko dla następującch wartości pierwotnch zmiennch: = = 3 =, =, 5 = 6 =
52 Tomasz Łukaszewski - Badania Operacjne 5 PROGRAMOWANIE NIELINIOWE. WPROWADZENIE Większości praktcznch problemów optmalizacjnch nie można odwzorować za pomocą modeli liniowch ze względu na wstępujące silne nieliniowości. Ponadto nie jest znana ogólna metoda rozwiązwania problemów nieliniowch (istnieją metod dla ściśle określonch postaci f i g i ). Dodatkowo w zadaniu programowania nieliniowego optimum może leżeć na brzegu obszaru rozwiązań dopuszczalnch, lub w jego wnętrzu. Ponadto, w odróżnieniu od programowania liniowego, w którm wróżniliśm 3 rodzaje problemów: zadanie sprzeczne zadanie niesprzeczne z ograniczoną wartością rozwiązania optmalnego (w optmalnm punkcie) zadanie niesprzeczne z nieograniczoną wartością rozwiązania optmalnego (brak optmalnego punktu) w programowaniu nieliniowm zajść może czwart przpadek: zadanie niesprzeczne z ograniczoną wartością rozwiązania optmalnego (brak optmalnego punktu) Przkładem takiego zadania jest minimalizacja z = / dla 0 Zadaniem programowania nieliniowego nazwam zadanie : funkcja celu: (min) z = f() ( R n ) (.) p.o.: g i () 0 (i =,,...,m) (.) KLASYFIKACJA PROBLEMÓW PN Podział zadań programowania nieliniowego: zadania programowania wpukłego minimalizujem wpukłą funkcję celu lub maksmalizujem wklęsłą funkcję celu; zbiór rozwiązań dopuszczalnch jest wpukł. zadania programowania liniowego szczególn przpadek zadania programowania wpukłego zadania programowania kwadratowego szczególn przpadek zadania programowania wpukłego (funkcja celu funkcją kwadratową; zbiór rozwiązań dopuszczalnch jest wielościanem wpukłm) zadania programowania niewpukłego zadania nie będące zadaniami programowania wpukłego zadania programowania wklęsłego szególn przpadek zadania programowania niewpukłego (minimalizowana wklęsła lub maksmalizowana wpukła funkcja celu; zbiór rozwiązań dopuszczalnch jest wielościanem wpukłm ograniczenia są liniowe) Tlko dla nielicznej grup zadań (głównie w.w. przpadki szczególne) istnieją metod poszukiwania optimum. Ponadto następującą grupę zadań można przekształcić do zadań programowania liniowego (ograniczenia muszą bć funkcjami liniowmi): funkcją hiperboliczną (liniowo-ułamkową) min. sum odchleń bezwzględnch funkcją ma min funkcją odcinkami liniową Dla pozostałch zadań można spróbować zastosować następujące metod: metod bezgradientowe, w przpadku którch w procesie poszukiwania optimum potrzebne jest wznaczanie jednie wartości f() (Hooka-Jevesa, Rosenbrocka, Gaussa-Seidela, Powella) metod gradientowe, dla którch w procesie poszukiwania optimum korzstam z wznaczanch wartości f() oraz jego gradientu. Metod bezgradientowe, w porównaniu z metodami gradientowmi są łatwiejsze w implementacji ale wolniejsze. W metodach gradientowch wznaczan jest kierunek poszukiwania optimum. Jednakże metod postępujące ścieżką największego spadku zawodzą w pobliżu optimum f(). Mają one tendencję do błądzenia. Z powższego wnika zasadność stosowania algortmów kombinowanch: dla punktów przestrzeni parametrów relatwnie dalekich od optimum f() stosuje się metodę największego spadku, a w pobliżu optimum zastępuje się ją metodą linearzacji funkcji regresji, np. metodą Gaussa-Newtona. [Grabowski] podaje inną postać zaznaczając jednak, że kierunek optmalizacji oraz postać nierówności są nieistotne. Wbraliśm tę postać z powodu kompatbilności z zadaniem PL przedstawionm w materiałach.
53 Tomasz Łukaszewski - Badania Operacjne 53.. PODSTAWY MATEMATYCZNE Niech f : R n R będzie funkcją różniczkowalną wstarczająco wiele raz. Ilekroć będziem mówić o pochodnch cząstowch rzędu k funkcji f, będziem zakładać dla uproszczenia, że f C k. DEFINICJA gradientu. Dla każdej różniczkowalnej funkcji f gradientem w punkcie nazwam wektor pochodnch cząstkowch w punkcie. = n f f f ) ( ) ( ) ( M (.3) DEFINICJA Hesjanu: macierz H() jest zdefiniowana następująco: = ) ( ) ( ) ( ) ( ) ( ) ( ) ( n n n n f f f f f f H L M O O M L (.) Jeśli funkcja f ma ciągłe drugie pochodne to Hesjan jest macierzą smetrczną czli: ) ( ) ( i j j i f f = i =,,...,n, j =,,...,n (.5) Sprawdzenie znaku drugiej pochodnej dla funkcji jednej zmiennej w celu ustalenia rodzaju ekstremum odpowiada sprawdzeniu określoności (ang. definitness) Hesjanu dla funkcji wielu zmiennch. Badanie określoności macierz M, dla danego niezerowego wektora z, polega na wznaczeniu wartości własnej z T Mz: M jest dodatnio określona z T Mz > 0 M jest dodatnio półokreślona z T Mz >= 0. ujemnie półokreślona z T Mz <= 0. ujemnie określona z T Mz < 0.. FUNKCJE WYPUKŁE, ZADANIE PROGRAMOWANIA WYPUKŁEGO DEFINICJA funkcji wpukłej, ściśle wpukłej. Funkcję rzeczwistą f określoną na zbiorze wpukłm D nazwam funkcją wpukłą w tm zbiorze, jeżeli dla każdego, D zachodzi: ) ( ) ( ) ( ] ) ( [ 0 f f f λ λ λ λ λ (.6) Jeżeli prz tm dla każdego, D, takich że zachodzi: ) ( ) ( ) ( ] ) ( [ 0 f f f λ λ λ λ λ < (.7) to funkcję f nazwam ściśle wpukłą w zbiorze wpukłm D [Grabowski]. DEFINICJA funkcji wklęsłej, ściśle wklęsłej. Funkcję f nazwam wklęsłą (ściśle wklęsłą) w zbiorze wpukłm D, jeżeli funkcja f jest wpukła (ściśle wpukła) w zbiorze D [Grabowski]. Powższa definicja jest uogólnieniem przpadku funkcji jednej zmiennej: f określona w pewnm przedziale [A,B] jest wpukła (ściśle wpukła, wklęsła, ściśle wklęsła) w tm przedziale, jeżeli dla dowolnch punktów, tego
54 Tomasz Łukaszewski - Badania Operacjne 5 przedziału część wkresu funkcji f leżąca międz punktami A [, f( )] i B [,f( ))] leż nie wżej (niżej, nie niżej, wżej) niż odcinek AB [Grabowski]. Stuację dla funkcji wpukłej prezentuje poniższ rsunek. f() f( ) A Należ podkreślić, że wprowadzanie pojęcia funkcji wpukłej (wklęsłej) w zbiorze D któr nie jest wpukł nie ma sensu, gdż moglibśm otrzmać wartość nieokreśloną po lewej stronie nierówności (.6) [Grabowski]. Funkcja liniowa określona w R n jest zarówno wklęsła jak i wpukła. Z definicji funkcji wpukłej wnika następując wniosek i twierdzenia [Grabowski]: WNIOSEK: Jeżeli f jest funkcją wpukłą (wklęsłą) w zbiorze wpukłm D, to dla każdego a R zbiór { D; f() a} ({ D; f() a}) jest zbiorem wpukłm. TWIERDZENIE Każda nieujemna kombinacja liniowa funkcji wpukłch w zbiorze wpukłm D jest funkcją wpukłą w zbiorze D [Grabowski]. TWIERDZENIE Jeżeli f,...,f m są funkcjami wpukłmi (wklęsłmi) w zbiorze wpukłm D, to funkcja f = ma fi ( f = min fi ) jest funkcją wpukłą (wklęsłą) w zbiorze D [Grabowski]. i,..., m i,..., m Rozpocznijm od podania formalnej postaci zadania programowania wpukłego. Z definicji wiem, że zadanie programowania wpukłego polega na minimalizacji wpukłej funkcji celu lub maksmalizacji wklęsłej funkcji celu; zbiór rozwiązań dopuszczalnch jest wpukł. Dla tak podanej definicji istnieje kilka możliwch sposobów zapisania formalnej postaci zadania programowania wpukłego. Poniżej podajem wersję zgodną z postaciami wcześniej omawianch zadań. Zadaniem programowania wpukłego nazwam zadanie: funkcja celu: (min) z = f() ( R n ) (.8) ograniczenia: g i () 0 (i =,,...,m) (.9) gdzie: f( ) f, g,...,g m są funkcjami wpukłmi. B [Grabowski] podaje także inną możliwą postać: Zadaniem programowania wpukłego nazwam zadanie: funkcja celu: (ma) z = f() ( R n ) (.0) ograniczenia: g i () 0 (i =,,...,m) (.) gdzie: f, g,...,g m są funkcjami wklęsłmi.
55 Tomasz Łukaszewski - Badania Operacjne 55 Zauważm, że zadanie programowania wpukłego można zapisać jeszcze na dwa inne sposob (funkcja f może bć wpukła zaś g i mogą bć wklęsłe i odwrotnie). Skoncentrujm się jeszcze na ograniczeniach. Powinn one tworzć wpukł obszar rozwiązań dopuszczalnch. Z własności funkcji wpukłch wiem (podane w postaci wniosku na poprzedniej stronie), że poszczególne funkcje g i zarówno w.9 jak i. tworzą zbior wpukłe. Na moc zaś twierdzenia, koniunkcja zaś zbiorów wpukłch jest zbiorem wpukłm c.b.d.o. [Grabowski].. WARUNKI ISTNIENIA EKSTREMUM W punkcie tm omówim podstawowe metod poszukiwania ekstremum (lokalnm lub globalnm) dla funkcji jednej i wielu zmiennch. Istotną rolę pełni punkt stacjonarn funkcji. DEFINICJA punktu stacjonarnego funkcji. Punktem stacjonarnm funkcji nazwam taki punkt, w którm pochodna funkcji jednej zmiennej (gradient funkcji wielu zmiennch) równa się 0 (równa się 0). Przpomnijm, że punkt stacjonarn może bć ekstremum (lokalnm lub globalnm) lub punktem przegięcia. FUNKCJA JEDNEJ ZMIENNEJ Wjątkowo rozważm problem maksmalizacji w pewnm przedziale wartości zmiennej. Na poniższm rsunku mam trz stuacje, z zaznaczonmi punktami stacjonarnmi. Punkt stacjonarn może bć ekstremum globalnm (* na rsunku pierwszm i drugim), ekstremum lokalnm ( i na rsunku drugim, na rsunku trzecim) lub punktem przegięcia ( na rsunku trzecim). Uwaga: ekstremum globalne nie musi bć punktem stacjonarnm (może bć końcem przedziału). Z tego powodu możem jednie podać związek pomiędz punktem stacjonarnm a ekstremum wewnątrz przedziału I. TWIERDZENIE (warunek konieczn istnienia ekstremum wewnątrz przedziału): Jeżeli funkcja f jest różniczkowalna w przedziale I i w punkcie leżącm wewnątrz tego przedziału funkcja f przjmuje wartość ekstremalną, to jest punktem stacjonarnm. WNIOSEK: Należ sprawdzić wszstkie punkt stacjonarne i końce przedziału w celu znalezienia ekstremum globalnego. Przkład: (ma) p.o : [,] FUNKCJA JEDNEJ ZMIENNEJ - PROGRAMOWANIE WYPUKŁE TWIERDZENIE (warunek dostateczn istnienia ekstremum globalnego): Jeżeli funkcja f jest różniczkowalna w przedziale I i punkt leż wewnątrz tego przedziału, to: ( f jest wpukła): jest ekstremum (minimum) globalnm jest punktem stacjonarnm funkcji f ( f jest wklęsła): jest ekstremum (maimum) globalnm jest punktem stacjonarnm funkcji f Przkład (funkcja jednej zmiennej) (min) f() = 3 Wartość pierwszej pochodnej równej zero otrzmać można dla rozwiązania równego. Ponieważ funkcja f jest funkcją wpukłą a kierunkiem optmalizacji jest minimalizacja, warunek przez nas rozpatrwan jest także warunkiem dostatecznm w tm punkcie funkcja osiąga ekstremum globalne. Twierdzenie to podał Pierre de Fermat ( )
56 Tomasz Łukaszewski - Badania Operacjne 56 FUNKCJA JEDNEJ ZMIENNEJ POCHODNA DRUGIEGO RZĘDU Dla danego punktu stacjonarnego jesteśm w stanie określić, cz jest on lokalnm minimum, maksimum cz też innm punktem korzstając z pochodnej drugiego rzędu: TWIERDZENIE: Jeżeli funkcja f jest różniczkowalna w przedziale I i punkt leżąc wewnątrz tego przedziału jest punktem stacjonarnm, to: Jeżeli f () < 0 to jest lokalnm maksimum Jeżeli f () > 0 to jest lokalnm minimum Jeżeli f () = 0 to nie wiem cz w ogóle jest lokalnm ekstremum (np. funkcja 3 w punkcie 0) FUNKCJA WIELU ZMIENNYCH W przpadku funkcji wielu zmiennch rozważać będziem pochodne cząstkowe. TWIERDZENIE (warunek konieczn istnienia ekstremum wewnątrz przedziału): Jeżeli funkcja f jest funkcją n zmiennch określoną w zbiorze D i posiada ciągłe pochodne cząstkowe i w punkcie leżącm wewnątrz tego zbioru funkcja f przjmuje wartość ekstremalną, to jest punktem stacjonarnm WNIOSEK: Należ sprawdzić wszstkie punkt stacjonarne i brzeg obszaru D w celu znalezienia ekstremum. Metoda ta jest mniej użteczna niż dla funkcji jednej zmiennej problemem jest sprawdzenie brzegu obszaru D. (ma) z = [( -) ( -) ] Przkład: p.o.: 0 3 Punktem stacjonarnm jest punkt (,) = (,) któr spełnia ograniczenia. Rozważm teraz punkt leżące na brzegu obszaru. Jeżeli = 0 to funkcja ma ekstremum w punkcie = - oraz = 3. Podobną analizę przeprowadzam dla = i otrzmujem ekstremum w punkcie = - oraz = 3. Teraz przeprowadzam analizę dla = - i otrzmujem = 0 oraz =. Dla = 3 i otrzmujem ponownie = 0 oraz =. Ostateczne rozwiązanie to punkt brzegowe (wierzchołkowe) tego obszaru (0,-), (0,3), (,-), (,3). Uwaga: w przpadku funkcji jednej zmiennej, punkt stacjonarn nie będąc ekstremum jest punktem przegięcia. Dla funkcji wielu zmiennch istnieją inne możliwości: np. punkt siodłow. FUNKCJA WIELU ZMIENNYCH - PROGRAMOWANIE WYPUKŁE TWIERDZENIE (warunek dostateczn istnienia ekstremum globalnego): Jeżeli funkcja f jest funkcją n zmiennch określoną w wpukłm zbiorze D i posiada ciągłe pochodne cząstkowe, punkt należ do wnętrza obszaru D, to: (f jest wpukła): jest ekstremum (minimum) globalnm jest punktem stacjonarnm funkcji f ( f jest wklęsła): jest ekstremum (maimum) globalnm jest punktem stacjonarnm funkcji f
Programowanie nieliniowe optymalizacja funkcji wielu zmiennych
Ekonomia matematczna II Ekonomia matematczna II Prowadząc ćwiczenia Programowanie nieliniowe optmalizacja unkcji wielu zmiennch Modele programowania liniowego często okazują się niewstarczające w modelowaniu
ZAGADNIENIA PROGRAMOWANIA LINIOWEGO
ZAGADNIENIA PROGRAMOWANIA LINIOWEGO Maciej Patan Uniwersytet Zielonogórski WSTĘP często spotykane w życiu codziennym wybór asortymentu produkcji jakie wyroby i w jakich ilościach powinno produkować przedsiębiorstwo
Podejmowanie decyzji w warunkach niepełnej informacji. Tadeusz Trzaskalik
Podejmowanie deczji w warunkach niepełnej informacji Tadeusz Trzaskalik 5.. Wprowadzenie Słowa kluczowe Niepełna informacja Stan natur Macierz wpłat Podejmowanie deczji w warunkach rzka Podejmowanie deczji
Programowanie liniowe
Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10
Wektory. P. F. Góra. rok akademicki
Wektor P. F. Góra rok akademicki 009-0 Wektor zwiazan. Wektorem zwiazanm nazwam parę punktów. Jeżeli parę tę stanowią punkt,, wektor przez nie utworzon oznaczm. Graficznie koniec wektora oznaczam strzałką.
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Teoretyczne podstawy programowania liniowego
Teoretyczne podstawy programowania liniowego Elementy algebry liniowej Plan Kombinacja liniowa Definicja Kombinacja liniowa wektorów (punktów) x 1, x 2,, x k R n to wektor x R n k taki, że x = i=1 λ i
Układy równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Pierwiastki kwadratowe z liczby zespolonej
Pierwiastki kwadratowe z liczb zespolonej Pierwiastkiem kwadratowm z liczb w C nazwam każdą liczbę zespoloną z C, dla której z = w. Zbiór wszstkich pierwiastków oznaczam smbolem w. Innmi słow w = {z C
Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w
Metoda Simpleks Jak wiadomo, problem PL z dowolną liczbą zmiennych można rozwiązać wyznaczając wszystkie wierzchołkowe punkty wielościanu wypukłego, a następnie porównując wartości funkcji celu w tych
Programowanie liniowe. Tadeusz Trzaskalik
Programowanie liniowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Model matematyczny Cel, środki, ograniczenia Funkcja celu funkcja kryterium Zmienne decyzyjne Model optymalizacyjny Układ warunków
METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski
METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,
25. RÓWNANIA RÓŻNICZKOWE PIERWSZEGO RZĘDU. y +y tgx=sinx
5. RÓWNANIA RÓŻNICZKOWE PIERWSZEGO RZĘDU 5.1. Pojęcia wstępne. Klasfikacja równań i rozwiązań Rozróżniam dwa zasadnicze tp równań różniczkowch: równania różniczkowe zwczajne i równania różniczkowe cząstkowe.
Macierze normalne. D : Dowolną macierz kwadratową można zapisać w postaci A = B + ic gdzie ( ) B = A + A B = A + A = ( A + A)
Macierze normalne Twierdzenie: Macierz można zdiagonalizować za pomocą unitarnej transformacji podobieństwa wted i tlko wted gd jest normalna (AA A A). ( ) D : Dowolną macierz kwadratową można zapisać
12. FUNKCJE WIELU ZMIENNYCH. z = x + y jest R 2, natomiast jej
1. FUNKCJE WIELU ZMIENNYCH 1.1. FUNKCJE DWÓCH ZMIENNYCH Funkcją dwóch zmiennch określoną w zbiorze D R nazwam przporządkowanie każdej parze liczb () D dokładnie jednej liczb rzeczwistej z. Piszem prz tm
Wartości i wektory własne
Rozdział 7 Wartości i wektor własne Niech X będzie skończenie wmiarową przestrzenią liniową nad ciałem F = R lub F = C. Niech f : X X będzie endomorfizmem, tj. odwzorowaniem liniowm przekształającm przestrzeń
Całkowanie przez podstawianie i dwa zadania
Całkowanie przez podstawianie i dwa zadania Antoni Kościelski Funkcje dwóch zmiennch i podstawianie Dla funkcji dwóch zmiennch zachodzi następując wzór na całkowanie przez podstawianie: f(x(a, b), (a,
Równania różniczkowe cząstkowe
Równania różniczkowe cząstkowe Definicja: Równaniem różniczkowm cząstkowm nazwam takie równanie różniczkowe w którm wstępuje co najmniej jedna pochodna cząstkowa niewiadomej funkcji dwóch lub więcej zmiennch
Programowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Metoda simpleks. Gliwice
Sprowadzenie modelu do postaci bazowej Sprowadzenie modelu do postaci bazowej Przykład 4 Model matematyczny z Przykładu 1 sprowadzić do postaci bazowej. FC: ( ) Z x, x = 6x + 5x MAX 1 2 1 2 O: WB: 1 2
doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.
doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl
Ekstrema funkcji dwóch zmiennych
Wkład z matematki inżnierskiej Ekstrema funkcji dwóch zmiennch JJ, IMiF UTP 18 JJ (JJ, IMiF UTP) EKSTREMA 18 1 / 47 Ekstrema lokalne DEFINICJA. Załóżm, że funkcja f (, ) jest określona w pewnm otoczeniu
Równania różniczkowe cząstkowe
Równania różniczkowe cząstkowe Definicja Równaniem różniczkowm cząstkowm nazwam takie równanie różniczkowe w którm wstępuje co najmniej jedna pochodna cząstkowa niewiadomej funkcji dwóch lub więcej zmiennch
RÓWNANIA RÓŻNICZKOWE WYKŁAD 3
RÓWNANIA RÓŻNICZKOWE WYKŁAD 3 Równania różniczkowe liniowe Metoda przewidwań Metoda przewidwań całkowania równania niejednorodnego ' p( x) opiera się na następującm twierdzeniu. Twierdzenie f ( x) Suma
Elementy Modelowania Matematycznego
Elementy Modelowania Matematycznego Wykład 8 Programowanie nieliniowe Spis treści Programowanie nieliniowe Zadanie programowania nieliniowego Zadanie programowania nieliniowego jest identyczne jak dla
3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Rozwiązanie Ad 1. Model zadania jest następujący:
Przykład. Hodowca drobiu musi uzupełnić zawartość dwóch składników odżywczych (A i B) w produktach, które kupuje. Rozważa cztery mieszanki: M : M, M i M. Zawartość składników odżywczych w poszczególnych
PODSTAWOWE POJĘCIA OPTYMALIZACJI [M. Ostwald: Podstawy optymalizacji konstrukcji, Wyd. Politechniki Poznańskiej, 2005]
PODSTAWOWE POJĘCIA OPTYMALIZACJI [M. Ostwald: Podstaw optmalizacji konstrukcji, Wd. Politechniki Poznańskiej, 2005] POW Problem optmalnego wboru PWOW Problem wielokrterialnego wboru OW Optmalizacja wielokrterialna
Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Rozwiązywanie układu równań metodą przeciwnych współczynników
Rozwiązwanie układu równań metodą przeciwnch współcznników Sposob postępowania krok po kroku: I. przgotowanie równań. pozbwam się ułamków mnoŝąc kaŝd jednomian równania równań przez najmniejszą wspólną
Elementy Modelowania Matematycznego
Elementy Modelowania Matematycznego Wykład 6 Metoda simpleks Spis treści Wstęp Zadanie programowania liniowego Wstęp Omówimy algorytm simpleksowy, inaczej metodę simpleks(ów). Jest to stosowana w matematyce
1 Przykładowe klasy zagadnień liniowych
& " 1 PRZYKŁADOWE KLASY ZAGADNIEŃ LINIOWYCH 1 1 Przykładowe klasy zagadnień liniowych Liniowy model produkcji Zakład może prowadzić rodzajów działalności np. produkować różnych wyrobów). Do prowadzenia
Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
ZAGADNIENIE TRANSPORTOWE
ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,
Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Materiał ddaktczne na zajęcia wrównawcze z matematki dla studentów pierwszego roku kierunku zamawianego Inżnieria Środowiska w ramach projektu Era inżniera pewna lokata na przszłość Projekt Era inżniera
Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Materiał ddaktczne na zajęcia wrównawcze z matematki dla studentów pierwszego roku kierunku zamawianego Inżnieria i Gospodarka Wodna w ramach projektu Era inżniera pewna lokata na przszłość Projekt Era
Ekonometria - ćwiczenia 10
Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012 Wprowadzenie Optymalizacja liniowa Na
Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe
Spis treści Elementy Modelowania Matematycznego Wykład 7 i całkowitoliczbowe Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Spis treści Spis treści 1 Wstęp 2 3 Spis treści Spis treści 1 Wstęp
f x f y f, jest 4, mianowicie f = f xx f xy f yx
Zestaw 14 Pochodne wŝszch rzędów Niech będzie dana funkcja x f określona w pewnm obszarze D Przpuśćm Ŝe f x istnieją pochodne cząstkowe tej funkcji x x Pochodne cząstkowe tch pochodnch jeŝeli istnieją
Programowanie wypukłe i kwadratowe. Tadeusz Trzaskalik
Proramowanie wpukłe i kwaratowe Taeusz Trzaskalik 6.. Wprowazenie Słowa kluczowe Zaanie proramowania nielinioweo Ekstrema lobalne i lokalne Zbior wpukłe Funkcje wklęsłe i wpukłe Zaanie proramowania wpukłeo
Funkcje wielu zmiennych
Funkcje wielu zmiennch Wkres i warstwice funkcji wielu zmiennch. Przeglad powierzchni stopnia drugiego. Granice i ciagłość funkcji wielu zmiennch. Małgorzata Wrwas Katedra Matematki Wdział Informatki Politechnika
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.1 Opis programów Do rozwiązania zadań programowania
Minimalizacja kosztów
Minimalizacja kosztów 1. (na wkładzie) Firma genealogiczna Korzenie produkuje dobro korzstając z jednego nakładu x użwając funkcji produkcji f(x) = x. (a) Ile jednostek x jest potrzebnch do wprodukowania
Definicja problemu programowania matematycznego
Definicja problemu programowania matematycznego minimalizacja lub maksymalizacja funkcji min (max) f(x) gdzie: x 1 x R n x 2, czyli: x = [ ] x n przy ograniczeniach (w skrócie: p.o.) p.o. g i (x) = b i
PROGRAMOWANIE KWADRATOWE
PROGRAMOWANIE KWADRATOWE Programowanie kwadratowe Zadanie programowania kwadratowego: Funkcja celu lub/i co najmniej jedno z ograniczeń jest funkcją kwadratową. 2 Programowanie kwadratowe Nie ma uniwersalnej
Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego
Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego część III Analiza rozwiązania uzyskanego metodą simpleksową
Wykład 4 Testy zgodności. dystrybuanta rozkładu populacji dystrybuanty rozkładów dwóch populacji rodzaj rozkładu wartości parametrów.
Wkład Test zgodności. Test zgodności służą do werikacji hipotez mówiącch, że a dstrbuanta rozkładu populacji ma określoną z gór postać unkcjną b dstrbuant rozkładów dwóch populacji nie różnią się w sposób
Wykład z modelowania matematycznego. Zagadnienie transportowe.
Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana
Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik
Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda
1 Metody rozwiązywania równań nieliniowych. Postawienie problemu
1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie
Równania różniczkowe
Równania różniczkowe I rzędu Andrzej Musielak Równania różniczkowe Równania różniczkowe I rzędu Równanie różniczkowe pierwszego rzędu to równanie w którm pojawia się zmienna x, funkcja tej zmiennej oraz
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki
Algorytm simplex i dualność
Algorytm simplex i dualność Łukasz Kowalik Instytut Informatyki, Uniwersytet Warszawski April 15, 2016 Łukasz Kowalik (UW) LP April 15, 2016 1 / 35 Przypomnienie 1 Wierzchołkiem wielościanu P nazywamy
dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;
Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem
Zagadnienie transportowe
9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne
Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Piotr Kaczyński Badania Operacyjne Notatki do ćwiczeń wersja 0. Warszawa, 7 stycznia 007 Spis treści Programowanie
TOZ -Techniki optymalizacji w zarządzaniu
TOZ -Techniki optymalizacji w zarządzaniu Wykład dla studentów II roku studiów II stopnia na kierunku Zarządzanie Semestr zimowy 2009/2010 Wykładowca: prof. dr hab. inż. Michał Inkielman Wykład 2 Optymalizacja
Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE 6. Ćwiczenia komputerowe Ćwiczenie 6.1
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2012 Mirosław Sobolewski (UW) Warszawa, 2012 1 / 12
Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie
L.Kowalski zadania z rachunku prawdopodobieństwa-zestaw 4 ZADANIA - ZESTAW 4
ZADANIA - ZESTAW 4 Zadanie 4. 0-0,4 c 0 0, 0, Wznacz c. Wznacz rozkład brzegowe. Cz, są niezależne? (odp. c = 0,3 Zadanie 4.- 0-0,4 0,3 0 0, 0, Wznaczć macierz kowariancji i korelacji. Cz, są skorelowane?
Rozwiązywanie układów równań liniowych
Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy
Programowanie liniowe
Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2010 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 15 Homo oeconomicus=
Wykład Analiza jakościowa równań różniczkowych
Na podstawie książki J. Rusinka, Równania różniczkowe i różnicowe w zarządzaniu, Oficna Wdawnicza WSM, Warszawa 2005. 21 maja 2012 Definicja Stabilność Niech = F (x, ) będzie równaniem różniczkowm. Rozwiązanie
1 Układy równań liniowych
II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie
Metody numeryczne I Równania nieliniowe
Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2009 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 13
Ćwiczenie 361 Badanie układu dwóch soczewek
Nazwisko... Data... Wdział... Imię... Dzień tg.... Godzina... Ćwiczenie 36 Badanie układu dwóch soczewek Wznaczenie ogniskowch soczewek metodą Bessela Odległość przedmiotu od ekranu (60 cm 0 cm) l Soczewka
ROZWIĄZANIA I ODPOWIEDZI
Zastosowania matematki w analitce medcznej zestaw do kol. semestr. - rozwiązania i odpowiedzi (część I). ROZWIĄZANIA I ODPOWIEDZI Zadanie A1. a) Rozważając dwa przpadki ze względu na moduł mam: skąd ostatecznie,3>.
O MACIERZACH I UKŁADACH RÓWNAŃ
O MACIERZACH I UKŁADACH RÓWNAŃ Problem Jak rozwiązać podany układ równań? 2x + 5y 8z = 8 4x + 3y z = 2x + 3y 5z = 7 x + 8y 7z = Definicja Równanie postaci a x + a 2 x 2 + + a n x n = b gdzie a, a 2, a
Układy równań liniowych. Krzysztof Patan
Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych
Algebra liniowa. Macierze i układy równań liniowych
Algebra liniowa Macierze i układy równań liniowych Własności wyznaczników det I = 1, det(ab) = det A det B, det(a T ) = det A. Macierz nieosobliwa Niech A będzie macierzą kwadratową wymiaru n n. Mówimy,
Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]
Spis treści 1 Metoda geometryczna... 2 1.1 Wstęp... 2 1.2 Przykładowe zadanie... 2 2 Metoda simpleks... 6 2.1 Wstęp... 6 2.2 Przykładowe zadanie... 6 1 Metoda geometryczna Anna Tomkowska 1 Metoda geometryczna
Programowanie liniowe
Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2015 Mirosław Sobolewski (UW) Warszawa, 2015 1 / 16 Homo oeconomicus=
Zmienne losowe typu ciągłego. Parametry zmiennych losowych. Izolda Gorgol wyciąg z prezentacji (wykład III)
Zmienne losowe tpu ciągłego. Parametr zmiennch losowch. Izolda Gorgol wciąg z prezentacji (wkład III) Zmienna losowa tpu ciągłego Zmienna losowa X o ciągłej dstrbuancie F nazwa się zmienną losową tpu ciągłego,
Układy równań liniowych
Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
Wielokryteriowa optymalizacja liniowa
Wielokryteriowa optymalizacja liniowa 1. Przy decyzjach złożonych kierujemy się zwykle więcej niż jednym kryterium. Postępowanie w takich sytuacjach nie jest jednoznaczne. Pojawiło się wiele sposobów dochodzenia
Rozwiązywanie równań nieliniowych
Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej
Standardowe zadanie programowania liniowego. Gliwice 1
Standardowe zadanie programowania liniowego 1 Standardowe zadanie programowania liniowego Rozważamy proces, w którym zmiennymi są x 1, x 2,, x n. Proces poddany jest m ograniczeniom, zapisanymi w postaci
SKRYPT Z MATEMATYKI. Wstęp do matematyki. Rafał Filipów Piotr Szuca
Publikacja współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego SKRYPT Z MATEMATYKI Wstęp do matematki Rafał Filipów Piotr Szuca Publikacja współfinansowana przez Unię Europejską
Programowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
Programowanie liniowe
Badania operacyjne Ćwiczenia 4 Programowanie liniowe Dualizm w programowaniu liniowym Plan zajęć Dualizm w programowaniu liniowym Projektowanie programu dualnego Postać programu dualnego Przykład 1 Rozwiązania
Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1
Normy wektorów i macierzy (5.3.1) Niech 1 X =[x x Y y =[y1 x n], oznaczają wektory przestrzeni R n, a yn] niech oznacza liczbę rzeczywistą. Wyrażenie x i p 5.3.1.a X p = p n i =1 nosi nazwę p-tej normy
Badania Operacyjne Ćwiczenia nr 4 (Materiały)
Analiza wrażliwości Rozwiązanie programu liniowego jest dopiero początkiem analizy. Z punktu widzenia decydenta (menadżera) jest istotne, żeby wiedzieć jak na rozwiązanie optymalne wpływają zmiany parametrów
Analiza Matematyczna II.1, kolokwium rozwiazania 9 stycznia 2015, godz. 16:15 19:15
Analiza Matematczna II., kolokwium rozwiazania 9 stcznia 05, godz. 6:5 9:5 0. Podać definicj e zbioru miar 0. Udowodnić, że jeśli A = {(x,, z) : (x )(x + + z ) = 0}, to l (A) = 0. Zbiorem miar zero jest
3. FUNKCJA LINIOWA. gdzie ; ół,.
1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta
Wykład z modelowania matematycznego. Algorytm sympleks.
Wykład z modelowania matematycznego. Algorytm sympleks. 1 Programowanie matematyczne jest to zbiór metod poszukiwania punktu optymalizującego (minimalizującego lub maksymalizującego) wartość funkcji rzeczywistej
Rachunek różniczkowy funkcji jednej zmiennej
Rachunek różniczkow funkcji jednej zmiennej wkład z MATEMATYKI Budownictwo, studia niestacjonarne sem. I, rok ak. 2008/2009 Katedra Matematki Wdział Informatki Politechnika Białostocka 1 Iloraz różnicow
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW 13. wykład z algebry liniowej Warszawa, styczeń 2018 Mirosław Sobolewski (UW) Warszawa, 2018 1 /
BADANIA OPERACYJNE Zagadnienie transportowe
BADANIA OPERACYJNE Zagadnienie transportowe Zadanie zbilansowane Zadanie zbilansowane Przykład 1 Firma posiada zakłady wytwórcze w miastach A, B i C, oraz centra dystrybucyjne w miastach D, E, F i G. Możliwości
SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa
SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę
A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1
A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a,a 2,...,a p i qodbiorców, którychpopytwynosi b,b 2,...,b
BADANIA OPERACYJNE pytania kontrolne
DUALNOŚĆ 1. Podać twierdzenie o dualności 2. Jaka jest zależność pomiędzy funkcjami celu w zadaniu pierwotnym i dualnym? 3. Prawe strony ograniczeń zadania pierwotnego, w zadaniu dualnym są 4. Współczynniki
3.2. Podstawowe własności funkcji. Funkcje cyklometryczne, hiperboliczne. Definicję funkcji f o dziedzinie X i przeciwdziedzinie Y mamy w 3A5.
WYKŁAD 7 3 Podstawowe własności unkcji Funkcje cklometrczne, hiperboliczne Deinicję unkcji o dziedzinie X i przeciwdziedzinie Y mam w 3A5 3A37 (Uwaga: dziedzina naturalna) Często się zdarza, że unkcja
Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik
Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania
3.3. UKŁADY RÓWNAŃ LINIOWYCH. Równanie liniowe z dwiema niewiadomymi. Równaniem liniowym z dwiema niewiadomymi x i y nazywamy równanie postaci
.. UKŁADY RÓWNAŃ LINIOWYCH Równanie liniowe z dwiema niewiadommi Równaniem liniowm z dwiema niewiadommi i nazwam równanie postaci A B C 0, gdzie A, B, C R i A B 0 m równania z dwiema niewiadommi nazwam