programowanie dynamiczne n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Programowanie dynamiczne PowerPoint Presentation
Download Presentation
Programowanie dynamiczne

Loading in 2 Seconds...

play fullscreen
1 / 26

Programowanie dynamiczne - PowerPoint PPT Presentation


  • 477 Views
  • Uploaded on

Programowanie dynamiczne. Opracowano na podstawie: „Badania operacyjne w przykładach i zadaniach” pod red. Karola Kukuły Wyd. Naukowe PWN „Matematyczne techniki zarządzania” pod red. Zbigniewa Łuckiego Wyd. AGH Badania operacyjne mgr inż. Piotr Betlej. Programowanie dynamiczne .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Programowanie dynamiczne' - hazina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programowanie dynamiczne

Programowanie dynamiczne

Opracowano na podstawie:

„Badania operacyjne w przykładach i zadaniach” pod red. Karola Kukuły Wyd. Naukowe PWN

„Matematyczne techniki zarządzania” pod red. Zbigniewa Łuckiego Wyd. AGH

Badania operacyjne mgr inż. Piotr Betlej

programowanie dynamiczne1
Programowanie dynamiczne
  • jest jedną z technik matematycznych poszukiwania rozwiązań optymalnych
  • określa sposób podejścia do rozwiązywania problemu niż jako pojedynczy uniwersalny algorytm.
rozwi zanie
rozwiązanie
  • polega na podziale zagadnienia pierwotnego na podproblemy lub etapy, a następnie na ich sekwencyjnym rozwiązywaniu, aż do znalezienia rozwiązania optymalnego.
  • Stosuje się przy tym, niezależnie od algorytmu, zasadę optymalności Bellmana, w myśl której optymalne rozwiązanie zagadnień z zakresu programowania dynamicznego ma tę własność, że optymalne rozwiązanie dla k-tego etapu jest jednocześnie rozwiązaniem optymalnym dla etapów k + 1, k + 2, ..., N. Tak więc optymalne rozwiązanie dla etapu pierwszego stanowi optymalne rozwiązanie dla całego problemu.
  • W związku z powyższą zasadą problem z zakresu programowania dynamicznego rozwiązuje się rozpoczynając od poszukiwania rozwiązania dla ostatniego etapu (N), a następnie cofając się poszukuje się rozwiązania dla etapu N-1 Uzyskane w ten sposób rozwiązanie dla etapów N-1 oraz N jest optymalne bez względu na to, w jaki sposób osiągnięto etap N- 1. Powtarzając w powyższy sposób etap po etapie dochodzimy do rozwiązania optymalnego dla pierwszego etapu, a więc i dla całego problemu.
zadania programowania dynamicznego
Zadania programowania dynamicznego
  • zagadnienie dyliżansu,
  • zagadnienie finansowania inwestycji,
  • optymalizacja zapasów,
  • alokacja zasobów, czy wymiana majątku trwałego.
zagadnienie finansowania przedsi wzi cia inwestycyjnego
Zagadnienie finansowania przedsięwzięcia inwestycyjnego
  • Zagadnienie finansowania przedsięwzięcia inwestycyjnego można scharakteryzować jako problem alokacji określonego zasobu środków (w tym przypadku wyrażonego w jednostkach pieniężnych) pomiędzy poszczególne zadania (programy inwestycyjne), tak aby osiągnąć maksymalny efekt.
  • Przyjmuje się przy tym następujące założenia:
  • Efekt zastosowania każdego z programów inwestycyjnych nie zależy od tego, czy zostały zastosowane równocześnie inne programy inwestycyjne.
  • Zwrot nakładów inwestycyjnych jest mierzony w tych samych jednostkach.
  • Nakłady inwestycyjne są liczbami całkowitymi.
  • Funkcje określające związki między nakładami inwestycyjnymi a wysokością zwrotu z nakładów są niemalejące.
przyk ad zagadnienia alokacji inwestycji
Przykład zagadnienia alokacji inwestycji
  • Przedsiębiorca Jan Rogala, posiadający kredyt inwestycyjny w wysokości 6 min złotych oraz halę produkcyjną w Rzeszowie, postanowił zainstalować nowoczesne linie piekarnicze:
  • francuską (F),
  • szwedzką (S)
  • oraz polską (P).
  • Dobowe zdolności produkcyjne pieczywa (w tonach) w zależności od wysokości nakładów inwestycyjnych przeznaczonych na zainstalowanie linii produkcyjnej danego typu, przedstawiono w poniższej tabeli:

Analiza rynku wykazała, że każda z linii produkcyjnych, pozwala uzyskiwać jednakowe zyski w przeliczeniu na 1 t pieczywa.

Jan Rogala musi więc w tym przypadku podjąć decyzję dotyczącą podziału kredytu pomiędzy poszczególne programy inwestycyjne, tak aby piekarnia osiągnęła maksymalną, dobową zdolność produkcyjną.

rozwi zanie1
Rozwiązanie
  • Powyższy problem, należący do kategorii programowania dynamicznego, można rozwiązać za pomocą procedury opisanej w kilku etapach.
krok 1
KROK 1.
  • Załóżmy, że jedynym możliwym rozwiązaniem jest zakupienie polskiej linii produkcyjnej i zadajmy sobie pytanie dotyczące uzyskanej w ten sposób dobowej zdolności produkcyjnej w zależności od zainwestowanej kwoty.
  • W tym przypadku, jedynym sensownym rozwiązaniem jest zainwestowanie 6 min zł w polską linię produkcyjną w celu osiągnięcia zdolności produkcyjnej 16 t pieczywa na dobę. Rezultat ten zapiszemy następująco:P(6) = 16,co oznacza, że 6 min zł zainwestowane w polską linię produkcyjną zapewnia produkcję 16 t pieczywa na dobę.
krok 2
KROK 2.
  • Załóżmy, że dostępne są dwa typy linii produkcyjnych P oraz S i zadajmy sobie następujące pytanie: jak należy podzielić kredyt inwestycyjny pomiędzy te dwa programy, aby uzyskać maksymalną dobową zdolność produkcyjną?
slide10
W tym przypadku możliwe jest siedem wariantów podziału 6 min kredytu, które dają następujące dobowe zdolności produkcyjne:P(6) + S(0)= 16 + 0= 16,P(5) + S(l)= 15 + 5 = 20,P(4) + S(2)= 15 + 8 = 23,P(3) + S(3)= 15 + 11 =26,P(2) + S(4)= 15 + 14 = 29,P(1) + S(5)= 4+17 = 21,P(0) + S(6) = 0+18 = 18.W powyższej sytuacji należy więc zainwestować 2 min w polską linię oraz 4 min w szwedzką linię, osiągając w ten sposób 29 t pieczywa na dobę, tzn.P(2) + S(4) = 29.
krok 3
KROK 3.
  • Spróbujmy obecnie znaleźć optymalny podział kredytu pomiędzy linię P oraz S przy malejącej kwocie nakładów inwestycyjnych:
  • 5 min na linie P oraz SP(5) + S(O) = 15 + 0 = 15, P(4) + S(1) = 15 + 5 = 20, P(3) + S(2) = 15 + 8 = 23, P(2) + S(3) = 15 + 11 = 26,P(1) + S(4) = 4 + 14 = 18, P(0) + S(5) = 0 + 17 = 17.W przypadku dysponowania kwotą 5 min zł na linię P oraz S należy zainwestować 2 min w linię P oraz 3 min w linię S, osiągając 26 t pieczywa dobę. Rezultat zapiszemy w następujący sposób:P(2) + S(3) = 26.
slide12
b) 4 min zł na linie P oraz SP(4) + S(0) = 15 + 0 = 15,P(3) + S(1) = 15 + 5 = 20,P(2) + S(2) = 15 + 8 = 23,P(1) + S(3) = 4 + 11 = 15,P(0) + S(4) = 0 + 14 = 14.W przypadku dysponowania kwotą 4 min zł należy zainwestować po 2 min zł w linię P oraz S:P(2) + S(2) = 23.
slide13
c) 3 min zł na linie P oraz S:P(3) + S(0) = 15 + 0 = 15. P(2) + S(1)= 15 + 5 = 20, P(1) + S(2) = 4 + 8 = 12, P(0) + S(3) = 0 + 11 = 11.W tym przypadku należy zainwestować 2 min w linię P oraz 1 min w linię S:P(2) + S(1) = 20.
slide14
d) 2 min zł na linie P oraz SP(2) + S(0) = 15 + 0 = 15,P(1) + S(1) = 4 + 5 = 9, P(0) + S(2) = 0 + 8 = 8.W tym przypadku należy zainwestować 2 min zł w linię polską (P):P(2) + S(0)= 15.
slide15
e) 1 min zł na linie P oraz SP(1) + S(0) = 4 + 0 = 4,P(0) + S(1) = 0 + 5 = 5.W tym przypadku należy zainwestować 1 min zł w linię szwedzką (S):P(0) + S(1) = 5.A zatem, w kroku 3 określiliśmy optymalne kombinacje nakładów na linie P oraz S.
krok 4
KROK 4.

Konsekwentnie, w kroku 4 wystarczy rozpatrzyć wszystkie kombinacje podziału 6 min zł kredytu pomiędzy linię F oraz linie P + S. Zdolności produkcyjne w zależności od nakładów kredytowych przedstawiono w poniższej tabeli:

slide17
Jak łatwo zauważyć możliwych jest siedem wariantów podziału 6 min kredytu pomiędzy linie F oraz linie P + S, dających następujące zdolności produkcyjne:F(6) + (P + S)(0) = 20 + 0 = 20, F(5) + (P + S)(1) = 15+5 = 20, F(4) + (P + S)(2) = 12 + 15 = 27, F(3) + (P + S)(3) = 12 + 20 = 32, F(2) + (P + S)(4) = 12 + 23 = 35,F(1) + (P + S)(5)= 6 + 26 = 32, F(0) + (P + S)(6) = 0 + 29 = 29.Tak więc maksymalną zdolność produkcyjną piekarni można uzyskać inwestując 2 min w linię francuską (F) oraz 4 min zł w linię P i S.
slide18
Aby uzyskać rozwiązanie ostateczne, wystarczy odszukać w kroku 3 optymalny sposób podziału tych 4 min zł pomiędzy linię P oraz S (krok 3b). W rezultacie otrzymujemy rozwiązanie: 2 min zł na linię F, 2 min zł na linię P oraz 2 min ma linię S, co zapewnia 35 t pieczywa na dobę.
zagadnienie dyli ansu
Zagadnienie dyliżansu
  • Nazwa zagadnienia pochodzi od pewnego kupca amerykańskiego, który transportował towary ze Wschodniego Wybrzeża USA na Wybrzeże Zachodnie, używając w tym celu różnych połączeń realizowanych za pomocą dyliżansu.
  • Oczywiście chodziło o dobór takich połączeń, aby transport odbywał się w miarę bezpiecznie, a miarą bezpieczeństwa na danej linii były stawki pobierane przez towarzystwo ubezpieczeniowe.
  • Rozwiązanie problemu wymagało podzielenia całej trasy na etapy, a w każdym z etapów określenia miast etapowych oraz wszystkich możliwych połączeń pomiędzy nimi.
przyk ad problemu dyli ansu
Przykład problemu dyliżansu

Firma transportowa EuroTrans, ustalając nowe trasy przejazdu swych ciężarówek z Polski do Hiszpanii, podzieliła całą trasę na pięć etapów.

W każdym z etapów wyznaczono po kilka miast, przez które przejeżdżać będą ciężarówki.

Problem polega na znalezieniu najkrótszej drogi przejazdu pomiędzy Polską a Hiszpanią. Odległości drogowe pomiędzy miastami (w km) zaznaczono na poniższym rysunku:

krok 11
KROK 1.

Załóżmy, że ciężarówki dotarły do etapu 4. W tej sytuacji odległość od celu wynosi:d7,9 = 120 km lub d8,9 = 130 km,w zależności od tego, w którym z miast w etapie 4 zatrzymano się na postój.

krok 21
KROK 2.

Cofnijmy się o jeden etap. Odległość miast od celu w etapie 3 wynosi: d4,7 + d7,9 = 200 + 120 = 320, d4,8 + d8,9 = 250 + 130 = 380.

Tak więc z miasta 4 do 9 należy wybrać drogę o długości

d4,7,9 = 320. Podobnie:

d5,7 + d7,9 = 200 + 120 = 320, d5,8 + d8,9 = 180 + 130 = 310,

a więc z miasta 5 do 9 należy wybrać drogę o długości d5,8,9 = 310.

Następnie:

d6,7 + d7,9 = 150 + 120 = 270,d6,8 + d8,9 = 110 + 130 = 240,a więc z miasta 6 do 9 należy wybrać drogę o długości d6,8,9 = 240.

krok 31
KROK 3.

Powtórzmy całe postępowanie biorąc za punkt wyjścia etap 2: d2,4 + d4,9 = 150 + 320 = 470, d2,5 + d5,9 = 80 + 310 = 390, d2,6 + d6,9 = 120 + 240 = 360,a więc z miasta 2 do 9 należy wybrać drogę:2-6-8-9o długości 360 km. Podobnied3,4 + d4,9 = 150 + 320 = 470, d3,5 + d4,9 = 130 + 310 = 440, d3,6 + d4,9 = 190 + 240 = 430,a więc z miasta 3 do 9 należy wybrać drogę:3-6-8-9o długości 430 km.

krok 41
KROK 4.

Dotarliśmy do punktu startowego, w którym rozpatrujemy sposób dotarcia do celu z miasta 1 przez miasta 2 lub 3:d1,2 + d2,9 = 100 + 360 = 460,d1,3 + d3,9 = 80 + 430 = 510, a więc z miasta 1 do 9 należy wybrać drogę:1-2-6-8-9o długości 460 km.