Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości...

14
Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga- Wolfe’a dr hab. inż. Kazimierz Duzinkiewicz dr inż. Robert Piotrowski mgr inż. Tomasz Karol Nowak mgr inż. Mariusz Czapliński

Transcript of Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości...

Page 1: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a dr hab. inż. Kazimierz Duzinkiewicz dr inż. Robert Piotrowski mgr inż. Tomasz Karol Nowak mgr inż. Mariusz Czapliński

Page 2: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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 zagadnienia programowania liniowego

i dokonanie dekompozycji

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 , , , , , otrzymuje się

układ z ograniczeniami równościowymi:

Można je zapisać pomocniczo w formie tabeli (w miejscu pustych pól znajdują się zera):

.

1 1 1 -3 -2 1 6 2 1 1 3 -1 4 3 3 2 1 0 12 4 –1 3 0 1 6 5 3 1 1 0 12 6 1 2 0 1 8

Z -1 1 -3 -2 –

Taka forma zapisu ograniczeń pojawia się na ćwiczeniu laboratoryjnym.

Page 3: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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 .

Page 4: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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 1

1 0 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 1 0 0 0 4 0 1 0 0 1 0 0 1 0 1 0 0 0 1

Można stwierdzić, że

, , ,

Ponieważ wszystkie oraz są równe zero, wartość funkcji celu również wynosi zero

zgodnie ze wzorem:

Page 5: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Da się zauważyć, iż wartości oraz są równe . Spełniony jest zatem warunek dla

każdego podzagadnienia :

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 jest

równa , ponieważ:

Page 6: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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

Page 7: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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

(dla przypomnienia: wektor

) wraz z , tworząc zmienną prezentuje się następująco:

6 1 0 0 0 –4

4 0 1 0 0

5

1 0 0 1 0 0

1 0 0 0 1 1

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

5

5

5

1 0 0 1 0 0

1 0 0 0 1 1

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 . Po wyrzuceniu kolumny

z bazy otrzymuje się:

Page 8: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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

5

1 0 1 0 0

1 0 0 1 1

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 zamiast składać się m.in. ze zmiennej składa się teraz z .

Wartość funkcji celu wynosi:

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.

Page 9: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a

Uwzględniając wzór , gdzie , można stwierdzić, że występują

następujące funkcje celu:

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( , )

min( , ) ,min ,

wybiera się jako wektor ofertowy z wektorem przerzutu i kosztem przerzutu

Page 10: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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

5 –4

1 0 1 0 0 0

1 0 0 1 1 1

5 –8

Zgodnie z kryterium podanym wcześniej, wyrzuca się kolumnę . W związku z tym:

6 1 0 –4 4

4 0 0

5 –4

1 0 1 0 0

1 0 0 1 1

0

5 –8

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

5

Wektor mnożników simpleksowych:

5

5

Zatem:

,

Page 11: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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( , )

min ,

,

,min

,

wybierany jest jako wektor ofertowy. Można zapisać, że

Page 12: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

Przykład rozwiązywania zagadnienia optymalizacji rozproszonego systemu liniowego za pomocą metody dekompozycji Dantziga-Wolfe’a Dodając nową kolumnę:

6 1 0 –4 4 4

4 0 0

5 –4 0

1 0 1 0 0 1

1 0 0 1 1 0

0

5 –8 –4

Eliminując otrzymuje się nowe zagadnienie ekstremalne:

6 1 –4 4 4

4 0

5 –4 0

1 0 0 0 1

1 0 1 1 0

0

5 –8 –4

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:

Page 13: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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

.

Page 14: Przykład rozwiązywania zagadnienia optymalizacji ... · PDF fileDla oblicon ch wartości mienn ch w pierwsej iteracji można stwierdić, iż funkcja celu jest równa , ponieważ:

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