Przykład rozwiązywania zagadnienia optymalizacji rozproszonego
Transkrypt
Przykład rozwiązywania zagadnienia optymalizacji rozproszonego
Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji DantzigaWolfe’a dr hab. inż. Kazimierz Duzinkiewicz dr inż. Robert Piotrowski mgr inż. Tomasz Karol Nowak mgr inż. Mariusz Czapliński Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Jest to materiał pomocniczy do laboratorium z Komputerowych Systemów Sterowania i Wspomagania Decyzji z tematu „Rozproszone programowanie produkcji z wykorzystaniem metody Dantziga-Wolfe’a”. Ma on na celu pokazać jak, krok po kroku, rozwiązywane jest przykładowe zagadnienie z wykorzystaniem metody dekompozycji Dantziga-Wolfe’a (D-W). Materiał został opracowany głównie na podstawie pozycji „Programowanie liniowe” autorstwa Saul I. Gaasa. 1. Sformułowanie problemu i dokonanie dekompozycji zagadnienia programowania liniowego Należy zminimalizować funkcję celu : przy ograniczeniach Zagadnienie główne zostało podzielone na dwa podsystemy. Można wyodrębnić macierze: , , , Przepisując ograniczenia ze zmiennymi osłabiającymi układ z ograniczeniami równościowymi: . , , , , , otrzymuje się Można je zapisać pomocniczo w formie tabeli (w miejscu pustych pól znajdują się zera): . 1 2 3 4 5 6 Z 1 1 1 3 –1 -1 -3 1 2 3 1 1 0 -2 3 1 -1 3 1 -3 1 2 -2 0 1 Taka forma zapisu ograniczeń pojawia się na ćwiczeniu laboratoryjnym. 1 0 0 1 6 4 12 6 12 8 – Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a W związku z dodanymi zmiennymi osłabiającymi zmieniły się rozmiary macierzy. Przyjęły one następujące postacie: , , , , , , , , , , . Oprócz powyższych ograniczeń należy mieć na uwadze, iż każda ze zmiennych musi być większa lub równa . Jest to warunek stosowalności metody dekompozycji D-W. Dotyczy to również zmiennych osłabiających. Znajdowanie optimum funkcji celu wykorzystując metodę D-W jest procesem iteracyjnym. Mając ograniczenia oraz funkcję celu należy znaleźć optimum dla każdego podzagadnienia. 2. Pierwsza iteracja Pierwszym etapem jest znalezienie pierwszego rozwiązania dopuszczalnego ze zmiennymi osłabiającymi. Ponieważ wszystkie ograniczenia przed wprowadzeniem zmiennych osłabiających były postaci , można przyjąć, iż pierwszym rozwiązaniem dopuszczalnym dla każdego podzagadnienia będzie wektor ( dla pierwszego podzagadnienia i dla drugiego, gdzie jest numerem rozwiązania) o wszystkich elementach równych poza tymi, które są mnożone przez zmienne osłabiające. Te ostatnie przyjmą wartość ograniczeń. Gdyby ograniczenia były postaci należałoby, oprócz dodania zmiennych osłabiających ze znakiem minus, zastosować sztuczny wektor. Wyznaczenie pierwszego rozwiązania dopuszczalnego dla tego przypadku zostało opisane w załączniku . W związku powyższym rozwiązanie w punkcie wierzchołkowym pierwszego podzagadnienia będzie wynosić oraz drugiego podzagadnienia W pierwszej iteracji tworzy się zagadnienie ekstremalne ze zmiennych tworzących macierz oraz zmienne utworzone dzięki pierwszym rozwiązaniom dopuszczalnym dla każdego podzagadnienia. W kolejnych iteracjach jedna z kolumn zagadnienia ekstremalnego będzie usuwana, zaś inna (nowa) dodawana. Zostanie to opisane w dalszej części przykładu. Kolumny wchodzące do zagadnienia ekstremalnego są postaci , gdzie (gdzie – nr podzagadnienia, – nr rozwiązania danego podzagadnienia) jest tworzone za pomocą wzoru gdzie jest -tym rozwiązaniem -tego podzagadnienia. Wektor jest wektorem kolumnowym o liczbie kolumn równej liczbie podzagadnień. Posiada on jeden element równy , zaś pozostałe równe . Element równy jest w tym samym numeru wiersza co numer podzagadnienia, którego rozwiązanie wchodzi do zagadnienia ekstremalnego. Przykładowo, jeśli jest 5 podzagadnień, a spośród nich -te podzagadnienie jest wybierane jako te, które wchodzi do zagadnienia ekstremalnego, to wówczas . Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Jak zostało wcześniej wspomniane, w pierwszej iteracji do zagadnienia ekstremalnego wchodzą kolumny utworzone z każdego podzagadnienia, dlatego: Oprócz obliczenia wektorów należy jeszcze obliczyć skalary ze wzoru: Dla każdego z podzagadnień będą one wynosić: Można w tym momencie utworzyć zagadnienie ekstremalne. Składać się ono będzie z wektorów wchodzących w skład macierzy , wektorów , kosztów oraz i . Dodatkowo w skład zagadnienia ekstremalnego wejdzie wektor ograniczeń , a także wektor składający się z jedynek (uzasadnienie jego użycia nastąpi później). Zagadnienie ekstremalne przyjmuje postać: 1 0 0 0 1 1 0 1 0 0 Dla podzagadnienia pierwszego , zaś dla drugiego . Nowoutworzone kolumny zostały wprowadzone do komórek mnożonych przez zmienne oraz . Ich wartości pozwolą na wyznaczenie wartości zmiennych decyzyjnych dla zagadnienia głównego na podstawie zależności: gdzie – liczba punktów ekstremalnych –tego zagadnienia. Dla rozważanego przykładu postać zagadnienia ekstremalnego jest następująca: 6 4 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Można stwierdzić, że , Ponieważ wszystkie zgodnie ze wzorem: oraz , , są równe zero, wartość funkcji celu również wynosi zero Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Da się zauważyć, iż wartości każdego podzagadnienia : oraz są równe . Spełniony jest zatem warunek dla Z tego powodu w miejsce wierszy macierzy pod macierzą wstawiono jedynki – by zachować powyższy warunek. Warunek ten będzie spełniony dla każdej iteracji. W dalszych etapach dla każdego podzagadnienia będzie znajdowało się optimum z ograniczeniami danego podzagadnienia i obliczoną funkcją celu. Funkcje celu dla każdego podzagadnienia przyjmują postać ze wzoru: ( ) Wektor jest jednym z elementów wektora mnożników simpleksowych określonych wzorem: składa się tylu elementów, ile jest podzagadnień, zaś składa się z tylu elementów, ile wynosi liczba wierszy macierzy . Dla rozważanego przypadku wektor będzie dwuelementowy (są dwa podzagadnienia), a wektor również będzie dwuelementowy (liczba wierszy macierzy wynosi 2). Wektor składa się ze zmiennych , , , a także , , , , , , , , , , (gdzie: – liczba podzagadnień, ( , , , ) – liczba wchodzących kolumn z -tego podzagadnienia) wchodzących jednocześnie do zagadnienia ekstremalnego. W przykładzie jest on równy Do wyznaczenia wektora mnożników simpleksowych, a potem nowych funkcji celu dla podzagadnień, brakuje jeszcze określenia kwadratowej macierzy bazowej (nie mylić z macierzami , , , ). W pierwszej iteracji macierz bazową tworzą elementy wektora , , , . Innymi słowy: Zatem: Można stwierdzić, że: , Dla obliczonych wartości zmiennych w pierwszej iteracji można stwierdzić, iż funkcja celu równa , ponieważ: jest Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a W kolejnych iteracjach należy obliczyć optimum dla każdego podzagadnienia. Mając ograniczenia dla podzagadnień brakuje jeszcze funkcji celu dla każdego podzagadnienia. Po ich obliczeniu ze wzoru podanego wcześniej, można zauważyć, że: Należy zatem zminimalizować dla pierwszego podzagadnienia przy ograniczeniach oraz zminimalizować dla drugiego podzagadnienia przy ograniczeniach 3. Druga iteracja Dla pierwszego podzagadnienia Dla drugiego podzagadnienia 5 5 5 Następnym krokiem jest sprawdzenie czy nowoutworzone kolumny oraz koszty mogą wejść do zagadnienia ekstremalnego. Spośród tych, które mogą wybiera się ten spełniający warunek: min min , min gdzie przebiega zbiór podzagadnień, a niebazowe kolumny naturalne. Jeśli powyższy warunek jest nieujemny, to aktualne rozwiązanie daje optimum. Dla zagadnienia maksymalizacji warunek ma ma , ma musi być niedodatni w celu uzyskania optimum. Dla rozważanego przypadku: min min( , min ) , min( , 5 , , min ) , 5 Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a wybieramy zatem , aby weszło do bazy zagadnienia ekstremalnego. Jego wektor przerzutu oraz koszt przerzutu wynoszą 5 5 5 5 5 5 Zagadnienie nadrzędne, po wstawieniu nowej kolumny ) wraz z , tworząc zmienną (dla przypomnienia: wektor prezentuje się następująco: 6 1 0 0 0 –4 4 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 5 5 Ponieważ została dodana nowa kolumna, inna kolumna musi opuścić bazę. Żeby stwierdzić, która kolumna opuści bazę, trzeba wpierw obliczyć iloczyn każdego elementu z elementem w tym samym wierszu. Otrzymuje się: 6 1 0 0 0 –4 4 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 5 5 5 5 Po ich obliczeniu wybiera się ten o największej dodatniej wartości. Jest nim drugi wiersz z wartością równą . Dlatego wektor z elementem niezerowym w drugim wierszu, poza nowododaną kolumną, zostanie wyrzucony z bazy. Jest nią wektor z bazy otrzymuje się: . Po wyrzuceniu kolumny Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a 6 1 0 0 –4 4 0 0 0 1 0 1 0 0 1 0 0 1 1 5 5 Operacja wyboru wyrzucanej kolumny z bazy nie będzie rozpisywana w dalszych rozważaniach. Na podstawie otrzymanego wektora oraz bazy można obliczyć wektor mnożników simpleksowych. Jest on równy: 5 5 Zatem: , By móc wyliczyć wartości poszczególnych zmiennych oraz funkcji celu, można posłużyć się mnożeniem odwrotności macierzy bazowej przez wektor . Oznaczając wektor zmiennych zagadnienia ekstremalnego jako otrzyma się: 5 5 Należy zauważyć, że wektor Wartość funkcji celu wynosi: zamiast składać się m.in. ze zmiennej składa się teraz z . można zapisać: 5 5 Odpowiednim rozwiązaniem zagadnienia oryginalnego jest 5 5 5 Wartość zmiennej w pierwszej iteracji wynosiła , w drugiej zaś . Wynika to z faktu, iż została ona wyrzucona z zagadnienia ekstremalnego. Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Uwzględniając wzór następujące funkcje celu: , gdzie , można stwierdzić, że występują W związku z tym nowe funkcje celu to: przy ograniczeniach oraz przy ograniczeniach 4. Trzecia iteracja Ograniczenia są takie same jak poprzednio. Nie zmieniają się one w trakcie wykonywania algorytmu iteracyjnego w metodzie dekompozycji D-W. Dla podzagadnienia pierwszego, daje optimum z , a dla drugiego z . Ponieważ: min min( , min( wybiera się ) , min( , , ) , min ) , jako wektor ofertowy z wektorem przerzutu i kosztem przerzutu Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Zagadnienie ekstremalne jest teraz następujące: 6 1 0 0 –4 4 4 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 –4 5 –8 5 Zgodnie z kryterium podanym wcześniej, wyrzuca się kolumnę . W związku z tym: 6 1 0 –4 4 4 0 0 1 0 1 0 0 1 0 0 1 1 –4 5 0 –8 5 Zmienne w zagadnieniu ekstremalnym przyjmują wartości: 5 5 , , , Funkcja celu jest równa: 5 5 5 Odpowiednim rozwiązaniem zagadnienia oryginalnego jest 5 5 5 Wektor mnożników simpleksowych: 5 5 Zatem: , 5 Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Nowymi funkcjami celu dla podzagadnień ze wzorów: są: przy ograniczeniach oraz przy ograniczeniach 5. Czwarta iteracja Dla pierwszego podzagadnienia: Dla drugiego podzagadnienia: 5 , 5 Z warunku: min min( , min wybierany jest ) , min( , , , jako wektor ofertowy. Można zapisać, że , , min ) , Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Dodając nową kolumnę: 6 1 0 4 0 0 1 0 1 1 0 0 –4 4 –4 0 0 0 1 1 1 0 –8 –4 5 0 Eliminując 4 5 otrzymuje się nowe zagadnienie ekstremalne: 6 1 4 0 1 0 1 0 –4 4 4 –4 0 0 0 1 1 1 0 –8 –4 5 0 5 Wartości zmiennych wchodzących w skład zagadnienia ekstremalnego są następujące: 5 , , , Funkcja celu zagadnienia ekstremalnego jest równa: 5 5 Wektor mnożników simpleksowych jest równy: 5 5 , Nowe funkcje celu ze wzorów: Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a przyjmują postać: przy ograniczeniach oraz przy ograniczeniach Funkcje celu w tej iteracji są takie same jak w poprzedniej. W związku z powyższym, nie można już uzyskać poprawy. Otrzymana wartość funkcji celu dla zagadnienia nadrzędnego jest wartością minimalną. Rozwiązaniem optymalnym zagadnienia oryginalnego jest 5 5 5 a wartość minimalnej funkcji celu wynosi . Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Załącznik : Wyznaczanie pierwszego rozwiązania dopuszczalnego dla Metoda wymaga wyznaczenia ma ( ) i dodania -tego wiersza do każdego pozostałego wiersza wziętego ze znakiem minus. Układ ma o mniejszą liczbę dodatnich wektorów jednostkowych wymagając przy tym jednego sztucznego wektora. Przykładowo: Po dodaniu nowych zmiennych: Ponieważ ma ( ) dla zatem -te (trzecie) równanie należy wprowadzić do pierwszego i drugiego ograniczenia. W wyniku dokonania tej operacji otrzymuje się: Ponieważ nie ma wektora jednostkowego (zmienna jest ze znakiem minus), który pozwalałby na znalezienie pierwszego rozwiązania dopuszczalnego, konieczne jest dodanie sztucznego wektora . Ograniczenia przyjmują postać: Należy pamiętać, iż sztuczna zmienna nie może przyjmować wartości różnych od zera. Żeby to zagwarantować dodaje się ją do funkcji celu pomnożoną przez stosunkowo dużą wartość (dla rozważanych przypadków na zajęciach laboratoryjnych może to być wartość rzędu ). Dla szukania maksimum funkcji celu będzie ona określona jako , zaś dla minimum (gdzie ).