Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra
Transkrypt
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra
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 2 – część 1: Metoda dekompozycji Dantziga-Wolfe’a Opracowanie: Piotr Hirsch, mgr inż. Sławomir Dorawa, mgr inż. Gdańsk, listopad 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 𝑝-tego podzagadnienia (punkt wierzchołkowy), w 𝑗 - tym kroku algorytmu, w 𝑓 -tej fazie (𝑝 = 1,2, … , 𝑘; 𝑗 = (𝑓) (𝑓) 1,2, … , 𝑁𝑝 ; 𝑓 = 𝐼, 𝐼𝐼); 𝑷𝑝𝑗 , 𝑓𝑝𝑗 – 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 B dowolnego rozwiązania dopuszczalnego zagadnienia ekstremalnego metodą sztucznej bazy. (𝐼) Niech 𝑿𝑝0 – dowolne rozwiązania podzagadnień 𝐿𝑝 we wstępnym kroku algorytmu. (𝐼) Rozwiązujemy następujące zagadnienie: wyznaczyć 𝑥0𝑖 ≥ 0 (𝑖 = 1,2, … , 𝑁0 ) oraz 𝜆𝑝0 maksymalizujące funkcję celu: (2) przy ograniczeniach (3) (𝐼) (𝐼) gdzie: 𝜖𝑆 – sztuczne zmienne; 𝑷𝑝0 – wektor przerzutu odpowiadający wektorowi 𝑿𝑝0 ; 𝑼𝑆 – wektor jednostkowy o wymiarze 𝑚0 z jedynką w s-tym wierszu. Znaki przed elementami wektora są dobrane tak, aby sztuczne zmienne były nieujemne w rozwiązaniu bazowym, tzn. sumuje się elementy wszystkich kolumn ekstremalnych w wierszu s-tym, jeśli suma ta jest większa od odpowiedniego elementu wektora 𝑏0 , to element wektora 𝑼𝑆 przyjmuję się jako ujemny. Analogicznie, gdy suma jest mniejsza, element wektora 𝑼𝑆 przyjmuje się dodatni. Dla uproszczenia zmienne 𝑥0𝑖 są równe zero. Funkcję celu W 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 B 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 𝚷 = (𝝅(1) 𝝅(𝟐) ), centrum systemu oblicza formy celu 𝜸𝒑 = 𝑪𝒑 − 𝝅(𝟏) 𝑨𝒑 i przesyła je do każdego z podsystemów (w tej fazie 𝑪𝒑 = 𝟎, 𝑑𝑙𝑎 𝑝 = 0,1, … , 𝑘) 2) podsystemy rozwiązują swoje podzagadnienia przy wykorzystaniu form celu 𝜸𝒑 3) dokonuje się oceny kolumn ekstremalnych wg kryterium (4), a kolumn naturalnych wg (5) (w rozważanym wariancie do bazy początkowej należą już wszystkie kolumny naturalne, dodatkowo nie wyrzucamy kolumn, które nie wchodzą do bazy) do wyboru wektorów (𝑓) (𝑓) ofertowych 𝑿𝑝𝑗 (wraz z odpowiadającym 𝑍𝑝𝑗 ) lub kolumn 𝑨0𝑖 kandydujących do wejścia do bazy 𝑍𝑝𝑗 − 𝜋𝑝 (2) > 0 (4) 𝑐0𝑗 − 𝝅𝑨𝟎𝒋 > 0 (5) (𝑓) 4) centrum systemu wybiera kolumny 𝑿𝑝𝑗 lub 𝑨0𝑖 , 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 (w rozważanym wariancie do bazy trafiają wszystkie kolumny ekstremalne) 5) po wprowadzeniu utworzonych kolumn, formułuje się ograniczone zagadnienie główne (𝐼) dla fazy I: wyznaczyć 𝑥0𝑖 ≥ 0 (𝑖 = 1,2, … , 𝑁0 ) oraz 𝜆𝑝𝑗 maksymalizujące funkcję celu: (6) przy ograniczeniach 𝑘 ∑ 𝑨0𝑖 𝑥0𝑖 + ∑ ∑ 𝑖 𝑝=1 𝑁𝑝 𝑗=0 (𝐼) (𝐼) 𝑷𝑝𝑗 𝜆𝑝𝑗 + (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.