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.

Podobne dokumenty