Programowanie dynamiczne. Tadeusz Trzaskalik

Podobne dokumenty
Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Programowanie sieciowe. Tadeusz Trzaskalik

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Programowanie liniowe. Tadeusz Trzaskalik

Schemat programowania dynamicznego (ang. dynamic programming)

Metody ilościowe w badaniach ekonomicznych

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Zarządzanie projektami. Tadeusz Trzaskalik

Optymalizacja. Algorytmy dokładne

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe

Metody wielokryterialne. Tadeusz Trzaskalik

Rozdział 1 PROGRAMOWANIE LINIOWE

Programowanie nieliniowe

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Iwona Konarzewska Programowanie celowe - wprowadzenie. Katedra Badań Operacyjnych UŁ

Badania operacyjne. Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 Materiały do zajęć dostępne na stronie:

ZAGADNIENIE TRANSPORTOWE

Metoda simpleks. Gliwice

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Algorytmy i Struktury Danych.

Definicja problemu programowania matematycznego

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Rozdział 1 PROGRAMOWANIE LINIOWE

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

( 1) ( ) 16 Warunki brzegowe [WB] Funkcja celu [FC] Ograniczenia [O] b i ( 2) ( ) ( ) 14. FC max. Kompletna postać bazowa

Programowanie dynamiczne Zarządzanie produkcją i zapasami

OPTYMALIZACJA W LOGISTYCE

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Sterowanie optymalne

Opis przedmiotu: Badania operacyjne

PROGRAMOWANIE KWADRATOWE

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

BADANIA OPERACYJNE Zagadnienie transportowe

Rozwiązanie Ad 1. Model zadania jest następujący:

Metody systemowe i decyzyjne w informatyce

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

=B8*E8 ( F9:F11 F12 =SUMA(F8:F11)

OPTYMALIZACJA W LOGISTYCE

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Optymalizacja. Algorytmy dokładne

Badania operacyjne Operation research. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

PROGRAMOWANIE NIELINIOWE

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Elementy modelowania matematycznego

ZAGADNIENIA TRANSPORTOWE

Ekonometria - ćwiczenia 10

TOZ -Techniki optymalizacji w zarządzaniu

Teoretyczne podstawy programowania liniowego

Wielokryteriowa optymalizacja liniowa cz.2

Zagadnienie transportowe

Poszukiwanie optymalnego wyrównania harmonogramu zatrudnienia metodą analityczną

ZAGADNIENIE TRANSPORTOWE (część 1)

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Problem zarządzania produkcją i zapasami

Dualność w programowaniu liniowym

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Elementy Modelowania Matematycznego

Ćwiczenia laboratoryjne - Dobór optymalnego asortymentu produkcji programowanie liniowe. Logistyka w Hutnictwie Ćw. L.

Badania operacyjne. Dr Michał Kulej. Pokój 509, budynek B4 Forma zaliczenia wykładu: egzamin pisemny.

ZAGADNIENIE TRANSPORTOWE(ZT)

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Elementy Modelowania Matematycznego

Agenda. Politechnika Poznańska WMRiT ZST. Piotr Sawicki Optymalizacja w transporcie 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

Agenda. Optymalizacja w transporcie. Piotr Sawicki WIT PP, ZST 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

Wstęp do programowania

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

Zaawansowane metody numeryczne

Optymalizacja programu produkcji

Programowanie liniowe metoda sympleks

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

ZASTOSOWANIE ZASADY MAKSIMUM PONTRIAGINA DO ZAGADNIENIA

Ekonomia matematyczna i dynamiczna optymalizacja

Wykład 6. Programowanie liniowe

Równania różniczkowe liniowe rzędu pierwszego

Rozwiązanie Powyższe zadanie możemy przedstawić jako następujące zagadnienie programowania liniowego:

Metody Ilościowe w Socjologii

ECONOMIC ORDER QUANTITY (EOQ)

Programowanie dynamiczne i algorytmy zachłanne

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

Metody systemowe i decyzyjne w informatyce

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

Podejmowanie decyzji w warunkach niepełnej informacji. Tadeusz Trzaskalik

Sterowanie napędów maszyn i robotów

Sieć (graf skierowany)

Analityczna postać równowagi Nasha w postaci sprzężenia zwrotnego w modelu Lanchestera

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

OPTYMALIZACJA DYSKRETNA

Zbudować model matematyczny do poniższych zagadnień (ułożyć program matematyczny ).

Wprowadzenie do badań operacyjnych - wykład 2 i 3

5. Rozwiązywanie układów równań liniowych

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

Systemy. Krzysztof Patan

Standardowe zadanie programowania liniowego. Gliwice 1

Algorytm simplex i dualność

Matematyka w ekonomii

Transkrypt:

Programowanie dynamiczne Tadeusz Trzaskalik

9.. Wprowadzenie Słowa kluczowe Wieloetapowe procesy decyzyjne Zmienne stanu Zmienne decyzyjne Funkcje przejścia Korzyści (straty etapowe) Funkcja kryterium Strategia Strategia optymalna Optymalna realizacja procesu Dekompozycja Zasada optymalności Bellmana Wektorowa wersja zasady optymalności Bellmana T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego Przykład 9. Zadanie sterowania zapasami Liczba etapów T = Stan magazynu na początku pierwszego etapu y = Maksymalna możliwość uzupełniania zapasu w jednym etapie p t = 4 Maksymalne możliwości magazynowania h t = 4 Popyt (taki sam w każdym etapie) d t = Koszty stałe uzupełniania zapasu k t = 8 Jednostkowe koszty zmienne uzupełniania zapasu c t = Jednostkowe koszty magazynowania m t = Pożądany stan magazynu na koniec ostatniego etapu y T+ = 0 Zminimalizować koszty zakupu i koszty magazynowania. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9... Składowe wieloetapowego procesu decyzyjnego (/) Opis procesu y t - stan procesu na początku etapu t, (stan magazynu na początku etapu t) x t - decyzja dla etapu t, (wielkość zamówienia, związana z uzupełnieniem zapasu) y t+ = y t + x t d t Y t = {y t : 0 y t h t } - funkcja przejścia, - zbiory stanów dopuszczalnych dla etapu t. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Metoda programowania dynamicznego 9... Składowe wieloetapowego procesu decyzyjnego (/) Zbiory decyzji dopuszczalnych. Popyt w każdym etapie musi być zaspokojony y t + x t d t. Zapasy na końcu etapu nie mogą przekraczać pojemności magazynu y t + x t d t h t. Nie mogą zostać przekroczone możliwości uzupełniania zapasu x t p t 4. Wielkość, o którą uzupełniamy zapasy jest nieujemna x t 0 X t (y t ) = { x t : 0 y t + x t d t h t, 0 x t p t } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Metoda programowania dynamicznego 9... Składowe wieloetapowego procesu decyzyjnego (/) Funkcje kosztów etapowych ξ t (x t ) - koszty uzupełniania zapasu w etapie t, µ t (y t+ ) - koszty magazynowania w etapie t, gdy r > 0 λ(r) = 0 gdy r 0 ξ t (x t ) = k t λ(x t ) + c t x t µ t (y t+ ) = m t y t+ = m t (y t + x t d t ) f t (y t,x t ) = k t λ(x t ) + c t x t + m t (y t + x t d t ) T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (/9) Etap Y = { } dla czyli X () = { x : 0 + x 4, 0 x 4 } x = 0 0 + 0 4 czyli 0 X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 4 0 + 4 4 czyli 4 X () X () = {,, 4 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 7

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (/9) Etap (c.d.) dla czyli y = y + x x = y = + = 0 x = y = + = x = 4 y = + 4 = Y = { 0,, } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 8

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (/9) Etap Y = { 0,, } dla czyli X (0) = { x : 0 0 + x 4, 0 x 4 } x = 0 0 0 + 0 4 czyli 0 X (0) x = 0 0 + 4 czyli X (0) x = 0 0 + 4 czyli X (0) x = 0 0 + 4 czyli X (0) x = 4 0 0 + 4 4 czyli 4 X (0) X (0) = {, 4 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 9

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (4/9) Etap (c.d.) Y = { 0,, } dla czyli X () = { x : 0 + x 4, 0 x 4 } x = 0 0 + 0 4 czyli 0 X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 4 0 + 4 4 czyli 4 X () X () = {,, 4 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 0

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (5/9) Etap Y = { 0,, } dla czyli X () = { x : 0 + x 4, 0 x 4 } x = 0 0 + 0 4 czyli 0 X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 0 + 4 czyli X () x = 4 0 + 4 4 czyli 4 X () X () = {,,, 4 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (6/9) Etap (c.d.) y = y + x czyli y = 0 y = y = x = y = 0 + = 0 x = 4 y = 0 + 4 = x = y = + = 0 x = y = + = x = 4 y = + 4 = x = y = + = 0 x = y = + = x = y = + = x = 4 y = + 4 = Y = { 0,,, } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (7/9) Etap (c.d.) Stan końcowy procesu jest ustalony i wynosi 0, stąd: X (0) = X () = X () = X () = { x : 0 0 + x = 0 } x = 0 ; x = { x : 0 + x = 0 } x = 0 ; x = { x : 0 + x = 0 } x = 0 ; x = { x : 0 + x = 0 } x = 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (8/9) Zestawienie Y = { } X () = {,, 4 } Y = { 0,, } X (0) = {, 4 } X () = {,, 4 } X () = {,,, 4 } Y = { 0,,, } X (0) = { } X () = { } X () = { } X () = { 0 } Y 4 = { 0 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Metoda programowania dynamicznego 9... Zbiory stanów i decyzji dopuszczalnych (9/9) Graf procesu (4) () (0) (4) (4) () () () () () () (4) () () 0 () 0 () 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Metoda programowania dynamicznego 9... Wartości funkcji kosztów etapowych (/) Wartości liczbowe f t (y t,x t ) = k t λ(x t ) + c t x t + m t (y t + x t d t ) f t (0,) = 8 + + (0 + ) = 4 f t (0,4) = 8 + 4 + (0 + 4 ) = 9 f t (,) = 8 + + ( + ) = f t (,) = 8 + + ( + ) = 7 f t (,4) = 8 + 4 + ( + 4 ) = f t (,) = 8 + + ( + ) = 0 f t (,) = 8 + + ( + ) = 5 f t (,) = 8 + + ( + ) = 0 f t (,4) = 8 + 4 + ( + 4 ) = 5 f t (,0) = 8 + 0 + ( + 0 ) = 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Metoda programowania dynamicznego 9... Wartości funkcji kosztów etapowych (/) Graf procesu z kosztami etapowymi (4) 7 () () 5 (4) 0 () (4) 0 9 (4) 7 () () 4 () 5 () 0 () 0 (0) 0 () () 4 () 0 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 7

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (/) Zasada optymalności Strategia optymalna ma tę własność, że niezależnie od początkowego stanu i początkowej decyzji, pozostałe decyzje muszą stanowić ciąg optymalny ze względu na stan wynikający z pierwszej decyzji. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 8

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (/) Etap 5 (4) (4) 7 () () 0 0 () (4) 5 () 7 () () 9 (4) 0 () 4 () 0 0 (0) 0() () 4 () 0 g (0) = min { 4 } g (0) = 4 x (0) = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 9

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (/) Etap (c.d.) 5 (4) (4) 7 () () 0 0 (0) 0 () (4) 0() 5 () 7 () () () 9 (4) 0 () 4 () 4 () 0 0 g () = min { } x () = g () = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 0

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (4/) Etap (c.d.) 5 (4) 0 (0) 0 () 0() (4) (4) 5 () 7 () () 0 7 () () () 9 (4) 0 () 4 () 4 () 0 0 g () = min { 0 } x () = g () = 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (5/) Etap (c.d.) 5 (4) (4) 7 () () 0 0 (0) 0 () (4) 0() 5 () 7 () () () 9 (4) 0 () 4 () 4 () 0 0 g () = min { 0 } x () = 0 g () = 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (6/) Etap 5 (4) g () = 0 0 () (4) (4) 5 () 0 (0) g () = 0 0() 7 () 7 () () () () 9 (4) 0 4 () 0 () g () = 4 () 0 0 g (0) = 4 g (0) = min { 4 +4, 9 + } x (0) = g (0) = 8 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (7/) Etap (c.d.) 5 (4) g () = 0 (4) 7 () () 0 0 () (4) 5 () 0 (0) g () = 0 0() 7 () () () 9 (4) 0 () 4 () g () = 4 () 0 0 g (0) = 4 g () = min { +4, 7 +, + 0 } x () = g () = 6 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (8/) Etap (c.d.) 5 (4) g () = 0 (4) 7 () () 0 0 () (4) 5 () 0 (0) g () = 0 0() 7 () () () 9 (4) 0 () 4 () g () = 4 () 0 0 g (0) = 4 g () = min { 0 + 4, 5 +, 0 + 0, 5 + 0 } x () = g () = 4 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (9/) Etap 5 (4) g () = 0 g () = 4 0 () (4) (4) g () = 6 7 () 7 () () () 9 (4) 0 4 () g (0) = 8 5 () 0 (0) g () = 0 0() g () = () 0 () 4 () 0 0 g (0) = 4 g () = min { + 8, 7 + 6, + 4 } x () = g () = 40 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (0/) Stan początkowy y = y = x () = y = + = 0 x (0) = y = 0 + = 0 x (0) = y 4 = 0 + = 0 x () = x () = (4) x () = () () () x (0) = (4) (4) () (4) () () x () = 0 x () = x () = () x (0) = (0) () () 0 () 0 () 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 7

9.. Metoda programowania dynamicznego 9..4. Zasada optymalności Bellmana i równania optymalności (/) Zestawienie dla t = g { f ( y, x ) : x X ( )} ( y) = min y dla t = g { f ( y, x ) + g ( y + x d ) : x X ( )} ( y) = min y dla t = g { f ( y, x ) + g ( y + x d ) : x X ( )} ( y) = min y T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 8

9.. Metoda programowania dynamicznego 9..5. Reguły postępowania przy rozwiązywaniu zadań programowania dynamicznego (/) Algorytm. Ustalamy liczbę etapów T rozpatrywanego procesu.. Definiujemy zmienne stanu y t (dla t =,..., T+) i zmienne decyzyjne x t (dla t =,..., T).. Określamy postać funkcji przejścia y t+ = Ω 4. Identyfikujemy zbiór stanów początkowych Y i zbiór stanów końcowych Y T+. 5. Dla etapu t (t =,..., T): t (y t, x a) określamy zbiór stanów dopuszczalnych Y t, b) dla każdego stanu y t Y t określamy zbiór decyzji dopuszczalnych X t (y t ). t ). T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 9

9.. Metoda programowania dynamicznego 9..5. Reguły postępowania przy rozwiązywaniu zadań programowania dynamicznego (/) Algorytm (c.d.) 6. Korzystając z zasady optymalności Bellmana konstruujemy równania optymalności i rozwiązujemy je. a) Etap T: 7. Ciąg: g T ( y T ) = min b) Etap t (t = T,..., ): g t ( y t { f ( y, x ) : x X ( y )} x ( y ) T T T T T { f ( y, x ) + g ( y ) : x X ( y )} x ( y ) ) = min t t t t+ t+ przy czym y t+ = Ω t (y t,x t ). { x ( y ) : y Y, t = T} t t t t,..., T t t T t T t t decyzji optymalnych, wyznaczonych w kroku 6 stanowi strategię optymalną. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 0

9.. Metoda programowania dynamicznego 9..5. Reguły postępowania przy rozwiązywaniu zadań programowania dynamicznego (/) Algorytm (c.d.) 8. Znajdujemy optymalny stan początkowy porównując ze sobą wartości g ( y ) następująco: (y ) = max{ g (y ) : y Y }. y g 9. Konstruujemy optymalną realizację procesu: y optymalny stan początkowy x ( = x y ) y = ) x = x ) Ω( y, x ( y... T = T T T ( T T T y Ω ( y, x ) x = x y ) y T + = ΩT ( yt, xt ( y x, y, x,..., y T x ),, T ) - optymalna realizacja procesu. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (/8) Przykład 9. Projekt I Projekt II Przydzielona ilość środka a b Dochód a b Do wykorzystania w następnym okresie Początkowa ilość środka 0,7a 0,b 00 jednostek Liczba okresów Dokonać takiego rozdziału środka, by zmaksymalizować łączny dochód z realizacji projektów I i II T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (/8) Opis wieloetapowego procesu decyzyjnego Stan procesu y t - Decyzja x t - Funkcja przejścia - ilość środka, jaka pozostała do dyspozycji na początku tego okresu ilość środka przydzielona na początku okresu t na realizację projektu I y 0, y t + = 0,7 xt + 0,( yt xt ) = 0,4xt + t T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (/8) Zbiory stanów dopuszczalnych Y = { 00 } Y = [ 0; 70 ] Y = [ 9; 49 ] Y 4 = [,7; 4, ] y 0, y t + = 0,4xt + t T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (4/8) Decyzje dopuszczalne X t (y t ) = [0; y t ] - przydzielić cały zasóbśrodka na realizację projektu I (czyli x t = y t ), - przydzielić cały zasób środka na realizację projektu II (czyli x t = 0), - dokonać takiego rozdziału środka pomiędzy projekty, przy którym ilości środka przydzielone poszczególnym projektom są różne od zera (czyli x t (0; y t )). Funkcja korzyści f t ( yt, xt ) = xt + ( yt xt ) T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (5/8) Etap h ( x ) g ) = max{ f ( y, x : x X ( )}= ( y y { x + ( y x ) : x X ( )} = max y h ( x ) jest parabolą o ramionach skierowanych do góry h (x ) x Mamy: h ( y ) = y czyli: y) h ( = y 0) g ( = y x ( y ) 0 = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (6/8) Etap g = max{ f( y, x) + g(0,4x + 0,y ) : x X ( )} { x + ( y x ) + (0,4x + 0,y ) : x X ( )} ( y) y = max y h ( x ) h ( x ) jest parabolą o ramionach skierowanych do góry h (x ) x Mamy: h ( y ) =, 47 y czyli: y), 47 h ( 0) =, 7 y g ( = y x ( y) = y T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 7

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (7/8) Etap g { x + ( y x ) +,47(0,4 x + 0,y ) : x X ( )} = max y h ( x ) ) = max{ f ( y, x ) + g (0,4x + 0,y ) : x X ( )}= ( y y h ( x ) jest parabolą o ramionach skierowanych do góry h (x ) x Mamy: czyli: h ( = y y), 70 h ( 0) =, y g ( y) =, 70y x ( y) = y T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 8

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie rozdziału środka (8/8) Optymalne realizacje procesu dla y = 00 dla y = 80 y = 00 y = 70 y = 49 x = x (00) = 00 x = x (70) = 70 x = x (49) = 0 y 4 = 4,7 Dochód = 7 00 y = 80 y = 56 y = 9, y 4 =,76 x = x (80) = 80 x = x (56) = 56 x = x (9,) = 0 Dochód = 68,9 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 9

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Przykład 9. Wielkość przydzielonej kwoty 0 4 5 6 Projekt I II III 0 0 0,5,5,8,5 4, 4,5 4,0 5,5 6,5 5,0 6,5 7,8 6, 7,5 9,0 7, 8 0, Rozdzielić fundusz pomiędzy projekty tak, by zmaksymalizować łączną wartość zysku T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 40

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Opis wieloetapowego procesu decyzyjnego Stan procesu y t - Decyzja x t - Funkcja przejścia kwota do dyspozycji na początku etapu t, wielkość funduszu przekazana na realizację projektu y t+ = y t x t T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Zbiory stanów i decyzji dopuszczalnych Y = { 6 } X (6) = { 0,,,, 4, 5, 6 } y = y x Y = { 0,,,, 4, 5, 6 } X (0) = { 0 } X () = { 0, } X () = { 0,, } X () = { 0,,, } X (4) = { 0,,,, 4 } X (5) = { 0,,,, 4, 5 } X (6) = { 0,,,, 4, 5, 6 } y = y x Y = { 0,,,, 4, 5, 6 } X (0) = { 0 } X () = { } X () = { } X () = { } X (4) = { 4 } X (5) = { 5 } X (6) = { 6 } y 4 = y x Y 4 = { 0 } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (4/) Graf procesu 6 6 6 5 4 5 4 0 0 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 4

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (5/) Wartość funkcji korzyści etapowych f (6; 0) = 0 f (6; ) =,5 f (6; ) =,5 f (6; ) = 4 f (6; 4) = 5 f (6; 5) = 6, f (6; 6) = 7, f (y ; 0) = 0 f (y ; ) =,5 f (y ; ) = 4, f (y ; ) = 5,5 f (y ; 4) = 6,5 f (y ; 5) = 5,5 f (y ; 6) = 8 f (0; 0) = 0 f (; ) =,8 f (; ) = 4,5 f (; ) = 6,5 f (4; 4) = 7,8 f (5; 5) = 9 f (6; 6) = 0, T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 44

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (6/) Równania optymalności etap g { f ( y, x ) : x X ( )} y ( y) = max g 0) = f (0,0) 0 x (0) = 0 ( = g ) = f (,),8 x () = ( = g ) = f (,) 4,5 x () = ( = g ) = f (,) 6,5 x () = ( = g 4) = f (4,4) 7,8 x (4) = 4 ( = g 5) = f (5,5) 9,0 x (5) = 5 ( = g 6) = f (6,6) 0, x (6) = 6 ( = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 45

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (7/) Równania optymalności etap g { f ( y, x ) + g ( y x ) : x X ( )} y ( y) = max g (0) 0 oraz x (0) = 0 = f 0,8,8 (;0) + g () + g ( ) = max max = max =,8 = oraz x () = 0 f (;) (0),5 0,5 + g + f(;0) + g () 0 + 4,5 4,5 g () = max f(;) + g () = max,5 +,8 = max 5, = 5, oraz x () = (;) (0) 4, 0 4,4 f + g + T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 46

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (8/) Równania optymalności etap (c.d.) g { f ( y, x ) + g ( y x ) : x X ( )} y ( y) = max f 0 6,5 6,5 (;0) + g () + f,5 4,5 7 (;) + g () + g () = max max max 7 = = = oraz x () = f (;) () 4,,8 6,9 + g + (;) (0) 5,5 0 5,5 f + g + f 0 7,8 7,8 (4;0) + g (4) + (4;) (),5 6,5 9 f + g + g (4) = max f (4;) () max 4, 4,5 = max 8,6 = 9 + g = + oraz x (4) = (4;) () 5,5 +,8 8, f + g f (4;4) (0) 6,5 0 6,5 + g + T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 47

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (9/) Równania optymalności etap (c.d.) g { f ( y, x ) + g ( y x ) : x X ( )} y ( y) = max f 0 9 9 (5;0) + g (5) +,5 7,8 0, f(5;) + g (4) + f (5;) () 4, 6,5 0,6 + g + g (5) = max max max = 0,6 = = oraz x (5;) () 5,5 4,5 0 + (5) = f + g f (5;4) () 6,5 +,8 9, + g f (5;5) (0) 7,5 0 7,5 + g + T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 48

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (0/) Równania optymalności etap (c.d.) g { f ( y, x ) + g ( y x ) : x X ( )} y ( y) = max f (6;0) (6) 0 0, 0, + + g f,5 9,5 (6;) + g(5) + f (6;) (4) 4, 7,8,9 + g + g (6) = max f (6;) () max 5,5 6,5 max = + g = + = oraz x (6) = f (6;4) () 6,5 4,5 + g + f (6;5) () 7,5,8 0, + g + f (6;6) (0) 8 0 8 + g + T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 49

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Równania optymalności etap g { f ( y, x ) + g ( y x ) : x X ( )} y ( y) = max f (6;0) (6) 0 + g + (6;) (5),5 + 0,6, f + g f (6;) (4),5 9,5 + g + g (6) = max f (6;) () max 4 7 max =, + g = + = oraz x (6) = f (6;4) () 5 5, 0, + g + f (6;5) () 6, +,8 9 + g f (6;6) (0) 7, 0 7, + g + T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 50

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Optymalna realizacja procesu y 6 x = x (6) = = y = y x = 6 = 5 x = x (5) = = y = y x = 5 x = x () y 4 = y x = = 0 = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Przykłady zastosowania programowania dynamicznego 9... Zagadnienie alokacji (/) Analiza rozwiązania optymalnego w zależności od wielkości funduszu Wielkość funduszu y g (y ),8 5, 7,0 4 9,0 5 0,6 6, Optymalny ciąg decyzji x x x 0 0 0 0 0 0 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (/) Przykład 9.4 Wielkość przydzielonej kwoty Zysk 0 0 Moduł Niezawodność Zysk Niezawodność Zysk Niezawodność 0,9 Moduł Moduł 0 0,9 0 0,9,5 0,97,5 0,94,8 0,96,5 0,99 4, 0,964 4,5 0,984 4,0 0,997 5,5 0,9784 6,5 0,996 4 5,0 0,999 6,5 0,987 7,8 0,9974 5 6, 0,9998 7,5 0,99 9,0 0,999 6 7, 0,9999 8 0,995 0, 0,9994 Rozdzielić posiadany zasób środka w taki sposób, by zmaksymalizować łączną korzyść z działalności systemu i zmaksymalizować jego niezawodność. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 5

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (/) Kryterium zysku f (6; 0) = 0 f (6; ) =,5 f (6; ) =,5 f (6; ) = 4 f (6; 4) = 5 f (6; 5) = 6, f (6; 6) = 7, f (y ; 0) = 0 f (y ; ) =,5 f (y ; ) = 4, f (y ; ) = 5,5 f (y ; 4) = 6,5 f (y ; 5) = 5,5 f (y ; 6) = 8 f (y ; 0) = 0 f (y ; ) =,8 f (y ; ) = 4,5 f (y ; ) = 6,5 f (y ; 4) = 7,8 f (y ; 5) = 9 f (y ; 6) = 0, T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 54

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (/) Kryterium niezawodności f (6; 0) = 0,9 f (6; ) = 0,97 f (6; ) = 0,99 f (6; ) = 0,997 f (6; 4) = 0,999 f (6; 5) = 0,9998 f (6; 6) = 0,9999 f (y ; 0) = 0,9 f (y ; ) = 0,94 f (y ; ) = 0,964 f (y ; ) = 0,9784 f (y ; 4) = 0,9870 f (y ; 5) = 0,99 f (y ; 6) = 0,995 f (y ; 0) = 0,9 f (y ; ) = 0,96 f (y ; ) = 0,984 f (y ; ) = 0,996 f (y ; 4) = 0,9974 f (y ; 5) = 0,999 f (y ; 6) = 0,9994 T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 55

dynamiczne ), ( ), ( ), ( ),,,,, ( x y f x y f x y f x y x y x y f + + = ), ( ), ( ), ( ),,,,, ( x y f x y f x y f x y x y x y f = [ ] = Składowa - zysk Składowa - niezawodność 9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (4/) Wektorowa funkcja kryterium 9. Programowanie d T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 56 [ ], f f F = [ ] ), ( ),, ( ), ( t t t t t t t t t x y f x y f x y F = Ocena modułu drugiego i trzeciego [ ], f f f f F F + = o Ocena modułu pierwszego łącznie z pozostałymi ( ) ( ) ( ) [ ], f f f f f f F F F + + = o o Dekompozycja etapowa

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (5/) Wektorowa wersja zasady optymalności Bellmana Strategia sprawna ma tę własność, że niezależnie od początkowego stanu i początkowej decyzji, pozostałe decyzje muszą stanowić ciąg decyzji sprawnych ze względu na stan wynikający z pierwszej decyzji. T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 57

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (6/) Wektorowe równania optymalności etap G { F ( y, x ) : x X ( )} ( y) = ' max' y G 0) = F (0,0) {[0;0,9]} x (0) = {0} ( = G = {[,8;0,96]} x () = { } ( ) = F (,) = ( = G ) = F (,) {[4,5;0,984]} x () = {} ( = G ) = F (,) {[6,5;0,996]} x () = {} ( = G 4) = F (4,4) {[7,8;0,9974]} x (4) = {4} ( = G 5) = F (5,5) {[9,0;0,999]} x (5) = {5} ( = G 6) = F (6,6) {[0,;0,9994]} x (6) = {6} T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 58

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (7/) Wektorowe równania optymalności etap G { F ( y, x ) G ( y x ) : x X ( )} y ( y) = 'max' o G (0) = ' max'{[0; 0,9] o[0; 0,9]} = {[0; 0,8]} G () G () oraz (0) = {0} [0; 0,9] o[,8; 0,96] [,8; 0,864] = ' max' = ' max' = [,8; 0,864] [,5; 0,94] o[0; 0,9] [,5; 0,846] oraz x () = { } [0; 0,9] o[4,5; 0,984] [4,5; 0,8856] = ' max' [,5; 0,94] o[,8; 0,96] = max [5,; 0,904] = [5,; 0,904] [4,; 0,964] o[0; 0,9] [4,; 0,8676] oraz x () = { } x T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 59

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (8/) Wektorowe równania optymalności etap (c.d.) G { F ( y, x ) G ( y x ) : x X ( )} y ( y) = 'max' o G [ 0; 0,9] o[6,5; 0,996] [6,5; 0,894] [,5; 0,94] o[4,5; 0,984] [7; 0,95] [7; 0,95] () = ' max' = ' max' = [4,; 0,964] o[,8; 0,9] [6,9; 0,954] [6,9; 0,954] [5,5; 0,9784] o[0; 0,9] [5,5; 0,8805] oraz x () = {, } G (4) [0; 0,9] o[7,8; 0,9974] [7,8; 0,8977] [,5; 0,94] o[6,5; 0996] [9; 0,94] [9; 0,94] = ' max' [4,; 0,964] o[4,5; 0,984] = max [8,6; 0,9486] = [8,6; 0,9486] [5,5; 0,9784] o[,8; 0,96] [8,; 0,99] [6,5; 0,987] o[0; 0,9] [6,5; 0,888] oraz x (4) = {, } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 60

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (9/) Wektorowe równania optymalności etap (c.d.) G { F ( y, x ) G ( y x ) : x X ( )} y ( y) = 'max' o (5) G [ 0; 0,9] o[9; 0,999] [9; 0,899] [,5; 0,94] o[7,8; 0,9974] [0,; 0,976] [4,; 0,964] o[6,5; 0,996] [0,6; 0,9578] = ' max' = max = [5,5; 0,9784] o[4,5; 0,984] [0; 0,967] [6,5; 0,987] o[,8; 0,96] [9,; 0,9475] [7,5; 0,99] o[0; 0,9] [7,5; 0,89] [0,6; 0,9578] [0; 0,967] oraz x (5) = {,} T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (0/) Wektorowe równania optymalności etap (c.d.) G { F ( y, x ) G ( y x ) : x X ( )} y ( y) = 'max' o [0; 0,9] o[0,; 0,9994] [0,; 0,8995] [,5; 0,94] o [9; 0,999] [,5; 0,99] [4,; 0,964] [7,8; 0,9974] [,9; 0,965] o G (6) = ' max' [5,5; 0,9784] o[6,5; 0,996] = max [; 0,97] = [; 097] [6,5; 0,987] o[4,5; 0,984] [; 0,97] [7,5; 0,99] o[,8; 0,96] [0,; 0,955] [8; 0,995] o[0; 0,9] [8; 0,8958] oraz x (6) = {} T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (/) Wektorowe równania optymalności etap G { F ( y, x ) G ( y x ) : x X ( )} y ( y) = 'max' o (6) G [0; 0,9] o[; 0,97] [; 0,8749] [,5; 0,97] o[0,6; 0,9578] [,; 0,99] [,5; 0,97] o[0; 0,967] [,5; 0,98] [,5; 0,99] o[9; 0,94] [,5; 0,956] [,5; 0,99] o[8,6; 0,9486] [,; 0,940] [,; 0,99] = ' max' = max = [,5; 0,98] [4; 0,997] o[7; 0,95] [; 0,95] [4; 0,997] [,; 0,940] o[6,9; 0,954] [0,9; 0,99] [5; 0,999] o[5,; 0,904] [0,; 0,907] [6,; 0,9998] o[,8; 0,864] [9,0; 0,868]] [7,; 0,9999] o[0; 0,8] [7,; 0,8099] oraz x (6) = {, } T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 6

9.. Przykłady zastosowania programowania dynamicznego 9... Dwukryterialne zagadnienie alokacji (/) Rozwiązanie optymalne wektorowo Niezdominowany wektor ocen Rozwiązanie sprawne [,; 0,99] x =, x =, x = [,5; 0,98] x =, x =, x = [,; 0,940] x =, x =, x = T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 64

Pora na relaks T.Trzaskalik: Wprowadzenie do badań operacyjnych z komputerem 65