Pobierz - Wydział Elektrotechniki i Automatyki
Transkrypt
Pobierz - Wydział Elektrotechniki i Automatyki
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem metody dekompozycji Dantziga-Wolfe’a Materiał pomocniczy 1 – część 2: Metoda dekompozycji Dantziga-Wolfe’a Opracowanie: Piotr Hirsch, mgr inż. Sławomir Dorawa, mgr inż. Gdańsk, styczeń 2016 1. Algorytm dekompozycji Dantziga-Wolfe’a Podzielmy algorytm dekompozycyjny na dwie fazy, podobnie jak to ma miejsce w zrewidowanej metodzie simpleksowej. W fazie I sprawdzamy czy istnieje rozwiązanie dopuszczalne zagadnienia ekstremalnego, a następnie szukamy bazy wyjściowej B. W fazie II szukamy rozwiązania optymalnego zagadnienia oryginalnego. Wprowadźmy dodatkowe oznaczenia, które zostaną użyte w opisie poszczególnych faz algorytmu: – wektor ofertowy uzyskany przez rozwiązanie - tym kroku algorytmu, w -tej fazie ( -tego podzagadnienia, w ; ; odpowiednio wektor i koszt przerzutu uzyskany z wektora – ); przez transformację (1); – optymalna wartość funkcji celu p –tego podzagadnienia odpowiadająca wektorowi . (1) 1.1. Faza I algorytmu dekompozycyjnego Obliczenia rozpoczynamy od poszukiwania początkowej bazy dowolnego rozwiązania dopuszczalnego zagadnienia ekstremalnego metodą sztucznej bazy. – dowolne rozwiązania podzagadnień Niech ( we wstępnym kroku algorytmu ). Rozwiązujemy następujące zagadnienie: wyznaczyć ) oraz ( ( maksymalizujące funkcję celu (2) przy ograniczeniach (3) – sztuczne zmienne; gdzie: – wektor przerzutu odpowiadający wektorowi wektor jednostkowy o wymiarze wektora ; – z jedynką w -tym wierszu. Znaki przed elementami są dobrane tak, aby sztuczne zmienne były nieujemne w rozwiązaniu bazowym, tzn. sumuje się elementy wszystkich kolumn ekstremalnych w wierszu -tym, jeśli suma ta jest większa od odpowiedniego elementu wektora , to element wektora przyjmuję się jako ujemny. Analogicznie, gdy suma jest mniejsza, element wektora są równe zero. przyjmuje się dodatni. Dla uproszczenia zmienne Funkcję celu maksymalizujemy z ujemnymi wartościami sztucznych zmiennych. Można ją też oczywiście minimalizować sumując wartości ze znakiem dodatnim. Tak czy inaczej, dążymy do tego, aby sztuczne zmienne wynosiły 0. Po uzyskaniu początkowej bazy z rozwiązania (3) ze wstępnego kroku fazy I, możemy przejść do sformalizowania opisu działań w algorytmie dekompozycyjnym (w fazie I ceny kolumn naturalnych i koszty przerzutu kolumn ekstremalnych przyjmuje się, że są równe zero): 1) po uzyskaniu z rozwiązania ograniczonego zagadnienia głównego wektora mnożników simpleksowych , centrum systemu oblicza formy celu je do każdego z podsystemów ( i przesyła ) 2) podsystemy rozwiązują swoje podzagadnienia przy wykorzystaniu form celu 3) dokonuje się oceny kolumn ekstremalnych wg kryterium (4), a kolumn naturalnych wg (5) do wyboru wektorów ofertowych (wraz z odpowiadającym ) lub kolumn h h h kandydujących do wejścia do bazy 4) centrum systemu wybiera kolumny lub , które będą proponowane do wejścia do bazy, tworząc odpowiadające im odpowiednio kolumny ekstremalne lub kolumny naturalne, w zależności od wariantu algorytmu 5) po wprowadzeniu utworzonych kolumn, formułuje się ograniczone zagadnienie główne dla fazy I. 𝑍𝑝𝑗 − 𝜋2,𝑝 > 0 (4) 𝑐0𝑗 − 𝝅𝑨𝟎𝒋 > 0 (5) Nowe zagadnienie fazy I: wyznaczyć ) maksymalizujące funkcję celu ( ) oraz ( ; (6) przy ograniczeniach (7) gdzie teraz rozpatrujemy wszystkie kolumny (naturalne oraz ekstremalne) stare i nowe kandydujące do wejścia do bazy zagadnienia ekstremalnego. Jak już wspomniano wcześniej, w fazie I dążymy do uzyskania funkcji celu . Jeśli się to udaje, przechodzimy do fazy II, jeśli nie, to układ ograniczeń jest sprzeczny. 1.2. Faza II algorytmu dekompozycyjnego Przejście z fazy I do fazy II dokonuje się poprzez sprowadzenie wszystkich sztucznych zmiennych do zera oraz wprowadzenie rzeczywistych wartości cen kolumn naturalnych i kosztów przerzutu kolumn ekstremalnych (w fazie I ich wartości przyjęte było jako równe zero). Algorytm przedstawiony w opisie fazy I, różni się nieznacznie od tego stosowanego w fazie II: obliczamy formy celu z rzeczywistymi wartościami z rzeczywistą wartością , wyceniamy kolumny , przypisujemy kolumnom naturalnym rzeczywiste ceny a kolumnom ekstremalnym rzeczywiste koszty przerzutu . Po tych modyfikacjach dla fazy II jest formułowane ograniczone zagadnienie główne: wyznaczyć ) oraz ( ; ( ) maksymalizujące funkcję celu (8) przy ograniczeniach , (9) 1.3. Zakończenie algorytmu dekompozycji Dantziga-Wolfe’a Proces obliczeń kończy się gdy nie zostanie spełniony warunek (4) dla żadnego z podzagadnień oraz (5) dla żadnej kolumny podczas wykonywania algorytmu. Otrzymane rozwiązanie optymalne uzyskuję się z aktualnego bazowego rozwiązania dopuszczalnego. Po przekształceniu wg (10) - (11) mamy postać rozwiązania oryginalnego zagadnienia zdekomponowanego określającego optymalny program produkcji. (10) (11) 2. Warianty metody dekompozycji Dantziga-Wolfe’a Możemy wyróżnić kilka wariantów metody dekompozycji. Określają one ilość kolumn dołączanych do ograniczonego zagadnienia głównego, które spełniły odpowiadające im kryteria, a także ilość kolumn wykluczanych z bazy w każdym kroku algorytmu. Wyróżnić można wiele wariantów metody dekompozycji. Przedstawmy klasyfikację z podziałem na dwie grupy: 1) warianty z grupy A – do ograniczonego zagadnienia głównego wprowadzana jest jedna kolumna a) wariant AA – kolumny opuszczające bazę pozostają jako kolumny uzupełniające b) wariant AB – kolumna usuwana z bazy, jest również usuwana z zagadnienia c) wariant AC – kolumny wypadające z bazy pozostają uzupełniającymi dopóki, dopóty pozwala na to pamięć komputera 2) warianty z grupy B – do ograniczonego zagadnienia głównego wprowadzane są wszystkie kolumny spełniające (4) i (5); warianty BA, BB i BC są analogiczne do odpowiednich z grupy A. W zaprezentowanym przykładzie zastosowano wariant BA, tj. w punkcie 4) rozdziału 1.1 wybieramy wszystkie kolumny spełniające określone kryterium oraz że nie usuwamy kolumn, które nie weszły do bazy.