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ęść 2:
Metoda dekompozycji Dantziga-Wolfe’a
Opracowanie:
Piotr Hirsch, mgr inż.
Gdańsk, listopad 2016
Materiał pomocniczy pokazujący krok po korku przykład rozwiązywania zagadnienia z
wykorzystaniem metody dekompozycyjnej Dantzig’a-Wolfe’a.
1. Sformułowanie problemu zagadnienia programowania liniowego i dokonanie
dekompozycji
Należy zminimalizować funkcję celu Z:
𝑍 = −𝑥11 + 𝑥12 − 3𝑥21 − 2𝑥22
Przy ograniczeniach:
Zagadnienie główne zostało podzielone na dwa podsystemy. Przepisując ograniczenia ze
zmiennymi osłabiającymi (kolor niebieski) wyodrębniamy macierze:
2. Przygotowanie
Przed rozpoczęciem właściwego algorytmu należy wykonać kilka czynności:

Dostosować postaci zadania do standardowej wykorzystywanej w MATLAB –
dostosowanie znaku funkcji celu: min 𝑥 = −max −𝑥

Sprawdzić, czy w zagadnieniu występuje macierz A0

Przygotować parametry optymalizacji (dla linproga i DW)

Znaleźć pierwsze rozwiązanie dopuszczalne kolejnych podzagadnień (z wykorzystaniem
linproga):
𝑋01=

𝑋02=
Utworzyć pierwsze zagadnienie ekstremalne (kolumny naturalne, ekstremalne, koszty):
𝐴
Tworzymy 2 kolumny naturalne (tyle ile jest kolumn macierzy A0), wg schematu: ( 0𝑗 )
0
𝐾𝑛1 =
𝐾𝑛2 =
𝑃𝑝𝑗
Tworzymy 2 kolumny ekstremalne (tyle ile jest podzagadnień), wg schematu ( 𝑒 ), gdzie
𝑝
𝑒𝑝 to wektor jednostkowy odpowiedni dla danego zagadnienia
𝐾𝑒1 =
𝐾𝑒2 =
W fazie I wektory cen i kosztów są równe 0. Jednak i tak wyznaczamy rzeczywiste ceny i
(𝐼)
(𝐼)
koszty𝑓10 = −4; 𝑓20 = −14,4 . Wykorzystamy je jeśli dojdzie do zmiany fazy na II.

W oparciu o metodę sztucznej bazy rozszerzamy zagadnienie ekstremalne o m0
sztucznych zmiennych, dzięki czemu gwarantujemy dopuszczalność początkowego
rozwiązania ekstremalnego w każdej sytuacji, kolumny sztuczne tworzymy wg schematu
(
𝐾𝑈𝑗
):
0
𝐾𝑈1 =
𝐾𝑈2 =
3. Iteracja 1, faza I
W tym momencie posiadamy ograniczone zagadnienie ekstremalne postaci:
𝑊=
𝐵=
𝑏=
gdzie: W – funkcja celu; B – baza; b – prawa strona ograniczeń. Dwa pierwsze wiersze bazy to
wiersze przerzutów, dwa kolejne to wiersze wypukłości. Dwie pierwsze kolumny to kolumny
naturalne (zmienne x01 i x02), dwie kolejne to kolumny ekstremalne (zmienne 𝜆10 i 𝜆20 ), a
ostatnie dwie to kolumny sztuczne (zmienne 𝜖1 i 𝜖2 ).
Ograniczone zagadnienie ekstremalne rozwiązujemy korzystając z linproga, otrzymując
następujące wyniki:
𝑍𝑊1 = −3,2
𝑋𝐸1 =
Π=
Obliczamy wartości form celu, pamietając o zerowej wartości wektra kosztów w fazie I:
𝜸𝟏 =
𝜸𝟐 =
Przy pomocy linproga rozwiązujemy kolejne podzagadnienia:
min 𝜸𝒑 𝑿𝒑
𝑋𝑝
𝐵𝑝 𝑋𝑝 = 𝑏𝑝
𝑋𝑝 ≥ 0
Otrzymując:
(1)
(1)
𝑿11 =
𝑿21 =
𝑤11 = 𝑍11 − 𝜋 (2)1 = 0
𝑤21 = 𝑍21 − 𝜋 (2) 2 = −11,2
Wybieramy wszystkie kolumny, których w jest mniejsze od zera (z zakładaną dokładnością).
W tym wypadku do bazy proponować będziemy wektor ofertowy 2.
Jeśli żaden wektor ofertowy nie będzie poprawiał aktualnego wyniku i wszystkie sztuczne
zmienne wynoszą zero (z założoną dokładnością), to oznacza to, że faza I algorytmu się
zakończyła. Jeśli któraś ze sztucznych zmiennych wciąż jest niezerowa, to rozpatrywane
zagadnienie nie posiada rozwiązań (jest sprzeczne).
W naszym wypadku faza I wciąż trwa. Tworzymy nowe kolumny ekstremalne (analogicznie
do poprzedniego razu, również teraz obliczamy koszty przerzutu)
𝐾𝑒3 =
(𝐼)
𝑓31 = −8
4. Iteracja 2, faza I
Tak jak w wcześniejszej iteracji, formułujemy ograniczone zagadnienie ekstremalne. Od
poprzedniego razu zmieniła się tylko jedna kolumna – kandydatka do nowej bazy:
𝑊=
𝐵=
𝑏=
Rozwiązujemy otrzymane zadanie:
𝑍𝑊2 = 0
𝑋𝐸2 =
Π=
Obliczamy wartości form celu, pamietając o zerowej wartości wektra kosztów w fazie I:
𝜸𝟏 =
𝜸𝟐 =
Rozwiązując podzagadnienia otrzymujemy:
(1)
𝑿12 =
𝑤12 = 0
(1)
𝑿22 =
𝑤22 = 0
Obserwuemy, że żaden wektor ofertowy nie spełnia warunku, by stać się kandydatem do bazy.
Sprawdzamy wartości sztucznych zmiennych w wektorze 𝑋𝐸2 . Obie są równe zero, więc
rozwiązanie bazowe dopuszczalne zostało odnalezione - przechodzimy do fazy II.
5. Iteracja 3, faza II
W fazie II nie występują już zmienne sztuczne, za to uwzględniamy docelową postać funkcji
celu. Aktualizujemy więc ograniczone zagadnienie ekstremalne, przypisując kolumnom
naturalnym rzeczywiste ceny (C0), a kolumnom ekstremalnym rzeczywiste koszty przerzutów
(𝑓)
𝑓𝑝𝑗 :
𝑍=
𝐵=
𝑏=
Rozwiązujemy otrzymane zadanie:
𝑍𝑍3 = −16,57
𝑋𝐸3 =
Π=
Obliczamy wartości form celu, tym razem korzystając z rzeczywistej wartości kosztów:
𝜸𝟏 =
𝜸𝟐 =
Rozwiązując podzagadnienia otrzymujemy:
(𝐼𝐼)
(𝐼𝐼)
𝑿13 =
𝑿23 =
𝑤13 = 0
𝑤23 = 0
Ponownie żaden z uzyskanych wierzchołków nie poprawi funkcji celu. Tym razem oznacza to,
zakończenie optymalizacji i znalezienie optimum.
Wartość funkcji celu dla pierwszego podzagadnienia wyniosła: 𝑍1 = −4, a wektor rozwiązań:
[𝑥11 𝑥12 ] = [4 0
Wartość funkcji celu dla drugiego podzagadnienia wyniosła: 𝑍2 = −12,57, a wektor
16 20
rozwiązań: [𝑥21 𝑥22 ] = [ 7
7
].
Przebieg procesu optymalizacji metodą D-W
20
Wartość funkcji celu [tys. zł]
15
10
5
0
Funkcja celu W fazy I
Funkcja celu Z fazy II
-5
1
2
Iteracja
3

Podobne dokumenty