412 413

412 413



412 Programowanie dynamiczne

9. Konstruujemy optymalną realizację procesu. Korzystając z optymalnego stanu początkowego i strategii optymalnej, znajdujemy decyzję optymalną dla stanu yf, czyli jtf (yf), którą oznaczamy jako xf. Funkcja przejścia daje nam optymalny stan początkowy drugiego etapu:

y* = 02(yf, xf).

Kontynuując to postępowanie, otrzymujemy optymalny ciąg stanów

i decyzji. Możemy więc zapisać:

yf optymalny stan początkowy

xf =xf(yf)

yf = Q,(yf, xf)

x$=xf (yf)

yf = &T-t(y?-t, xf~i)

yhi=&r(yh xf)

xf- = xf(yf)

Ciąg (yf, jef, y$, jcJ, ..., yf, xf, y-f+,} tworzy optymalną realizację procesu. Jeżeli istnieje dokładnie jeden optymalny stan początkowy i dokładnie jedna strategia optymalna, to mamy wówczas dokładnie jedną optymalną realizację procesu. Jeżeli optymalnych stanów lub strategii jest więcej, możemy wyznaczyć wszystkie optymalne realizacje procesu, rozpatrując kolejne optymalne stany i strategie optymalne.

9.3. Przykłady wykorzystania

programowania dynamicznego

9.3.1. Zagadnienie rozdziału środka

Pokażemy teraz sposób wykorzystania metody programowania dynamicznego w przypadku, gdy zbiory stanów i decyzji nie są skończone. Nie istnieje więc wykorzystana uprzednio możliwość jawnego wypisania wszystkich stanów i decyzji.

Przykład 9.2

Rozdzielamy pewien środek na realizację dwóch projektów w odcinku czasu podzielonym na trzy okresy nazywane dalej etapami. Ilość a środka przydzielona na realizację projektu I, przynosi w ciągu jednego etapu dochód 2a2 i zmniejsza się do ilości 0,7a. Ilość b środka, przydzielona na realizację projektu II, przynosi w ciągu jednego etapu dochód 3b2 i zmniejsza się do ilości 0,3b. Początkowa ilość środka, jaką dysponujemy, wynosi 100 jednostek. Należy dokonać takiego rozdziału środka w poszczególnych etapach dla obydwu projektów, aby zmaksymalizować łączny dochód z realizacji projektów I i II.

Zadanie można przedstawić jako trzyetapowy proces decyzyjny. Stanem procesu na początku danego etapu jest ilość środka, jaka pozostała do dyspozycji na początku tego etapu (po uprzednim wykorzystaniu w etapach poprzednich). Decyzją x, jest ilość środków przydzielona na początku etapu t na realizację projektu I. Pozostałe środki w ilości y,—x, zostają przydzielone na realizację drugiego projektu.

Funkcja przejścia ma postać:

y,t i = 0,71, + 0,3 (y, - x,) = Q,4x< + 0,3y,.

Wyznaczymy zbiory stanów dopuszczalnych dla poszczególnych stanów. Stan początkowy jest zadany — mamy do dyspozycji 100 jednostek środka, stąd >>, = = 100. Przydzielając w etapie pierwszym cały zasób środka na realizację projektu 1, na początku etapu drugiego będziemy dysponowali ilością y2 = 70 jednostek. Przydzielając cały zasób środka na realizację projektu II, na początku etapu 2 będziemy dysponowali ilością 30 jednostek.

Łatwo się przekonać, że dla każdego podziału środków, w którym zarówno projektowi I, jak i projektowi II przydzielimy dodatnią ilość środka, na początku etapu 2 będziemy dysponowali ilością środka z przedziału (30, 70). Prowadząc dalej analogiczne rachunki, stwierdzimy, że ilość środka, jaką dysponujemy na początku trzeciego etapu, mieści się w przedziale [9, 49], a ilość środka, jaką dysponujemy na końcu procesu, w przedziale [2,7; 34,3].

Jeżeli na początku dowolnego etapu znajdziemy się w stanie y„ to możemy podjąć jedną z następujących decyzji:

1

przydzielić cały zasób środka na realizację projektu I (czyli x, = y,),

przydzielić cały zasób środka na realizację projektu II (czyli jc, = 0),

•    dokonać takiego podziału środka między projekty, przy którym ilości środka przydzielone poszczególnym projektom są różne od zera (czyli x, e (0, y,)).

Zbiór decyzji dopuszczalnych przy zadanym stanie y, ma więc postać:

X,0’,) = [0,y,].

Dla stanu y,e Y, i decyzji x, e X,(y,) funkcja korzyści dla etapu t ma postać: f 0’p x,) = 2x2, + 3 (y,-x,)7.

Zapiszemy równania optymalności. Przypuśćmy, że na początku trzeciego etapu dysponujemy ilością środka y3. Określamy funkcję:

g?(y3) = max [f3(y3, x3):x3e X,(y3)} = max (2xy + 3(y3—^r3)2: t3eXj(y,)).

Wykresem funkcji h3(x3) = 2x\ + 3 (y3 -x})2 jest parabola skierowana ramionami do góry.

Oznacza to, że funkcja h3(x}) może osiągać maksimum tylko na końcach przedziału [0, y3]. Podstawiając wartość x3=y3, otrzymujemy h3(y3) = 2y\. Przydzielając cały zasób środka na realizację projektu II, mamy hi(0) = 3yj. Widać


Wyszukiwarka

Podobne podstrony:
406 407 406 Programowanie dynamiczne9.2.4. Zasada optymalności Bellmana i równania optymalności Rozw
416 417 416 Programowanie dynamiczne dzielamy na realizację projektu o numerze t (7=1, 2, 3). Stanem
3b138c6b90bcd17amed Korzystając z algorytmu programowania dynamieznego znajdź optymalne upakowanie p
PROGRAMOWANIE DYNAMICZNE 1.    Metoda optymalizacyjna do rozwiązywania pewnej klasy
egzamin2009 2 .1 • Korzystając z algorytmu programowania dynamicznego znajdź optymalne upakowanie pl
Programowanie dynamiczne (6 godz) 1.    Zasada optymalności Bellmana 2.
410 411 410 Programowanie dynamiczne Przedstawione powyżej równania optymalności oraz ich rozwiązani
414 415 414 Programowanie dynamiczne więc, że korzystniej jest przekazać cały zasób środka na realiz
Programowanie strukturalne Konstrukcja strukturalne (sekwencje, selekcje, cykle) są realizowane w ję
Od wydawcy Metody programowania dynamicznego (czy też szerzej - dynamicznej optymalizacji") i
ZASTOSOWANIE PROGRAMOWANIA LINIOWO-DYNAMICZNEGO DO OPTYMALIZACJI STANÓW MAGAZYNOWYCH JOANNA
16 Joanna Banaś Zastosowanie programowania liniowo-dynamicznego do optymalizacji stanów
8 Joanna Banaś Zastosowanie programowania liniowo-dynamicznego do optymalizacji stanów
10 Joanna Banaś Zastosowanie programowania liniowo-dynamicznego do optymalizacji stanów magazynowych
12 Joanna Banaś Zastosowanie programowania liniowo-dynamicznego do optymalizacji stanów
14 Joanna Banaś Zastosowanie programowania liniowo-dynamicznego do optymalizacji stanów

więcej podobnych podstron