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
).