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: X (f) pj wektor ofertowy uzyskany przez rozwiązanie p-tego podzagadnienia (punkt wierzchołkowy), w j - tym kroku algorytmu, w f -tej fazie (p = 1,2,, k; j = 1,2,, N p ; f = I, II); P (f) pj, f (f) pj odpowiednio wektor i koszt przerzutu uzyskany z wektora X (f) pj przez transformację (1); Z (f) pj optymalna wartość funkcji celu p-tego podzagadnienia, odpowiadająca wektorowi X (f) pj. (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 X (I) p0 dowolne rozwiązania podzagadnień L p we wstępnym kroku algorytmu. (I) Rozwiązujemy następujące zagadnienie: wyznaczyć x 0i 0 (i = 1,2,, N 0 ) oraz λ p0 maksymalizujące funkcję celu: (2) przy ograniczeniach (3)
gdzie: ε S sztuczne zmienne; P (I) p0 wektor przerzutu odpowiadający wektorowi X (I) p0 ; U S wektor jednostkowy o wymiarze m 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 b 0, to element wektora U S przyjmuję się jako ujemny. Analogicznie, gdy suma jest mniejsza, element wektora U S przyjmuje się dodatni. Dla uproszczenia zmienne x 0i 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) π (2) ), centrum systemu oblicza formy celu γ p = C p π (1) A p i przesyła je do każdego z podsystemów (w tej fazie C p = 0, dla p = 0,1,, k) 2) podsystemy rozwiązują swoje podzagadnienia przy wykorzystaniu form celu γ p 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 X (f) pj (wraz z odpowiadającym Z (f) pj ) lub kolumn A 0i kandydujących do wejścia do bazy Z pj π p (2) > 0 (4) c 0j πa 0j > 0 (5) 4) centrum systemu wybiera kolumny X (f) pj lub A 0i, 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ć x 0i 0 (i = 1,2,, N 0 ) oraz λ (I) pj maksymalizujące funkcję celu: (6) przy ograniczeniach A 0i x 0i + i k p=1 N p (I) P pj j=0 (I) λ pj + (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, wyceniamy kolumny z rzeczywistą wartością, 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.