Algorytmy i Struktury Danych.

Podobne dokumenty
Schemat programowania dynamicznego (ang. dynamic programming)

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

Programowanie dynamiczne. Tadeusz Trzaskalik

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

ZAGADNIENIE TRANSPORTOWE

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

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

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

Optymalizacja. Algorytmy dokładne

Opis przedmiotu: Badania operacyjne

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

Wykład z modelowania matematycznego. Zagadnienie transportowe.

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

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i Struktury Danych.

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Programowanie dynamiczne i algorytmy zachłanne

BADANIA OPERACYJNE Zagadnienie transportowe

Programowanie liniowe

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Teoria obliczeń i złożoność obliczeniowa

Instytut Konstrukcji i Eksploatacji Maszyn Katedra Logistyki i Systemów Transportowych. Badania operacyjne. Dr inż.

etody programowania całkowitoliczboweg

1. Który z warunków nie jest właściwy dla powyższego zadania programowania liniowego? 2. Na podstawie poniższej tablicy można odczytać, że

Problem zarządzania produkcją i zapasami

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ZAGADNIENIE TRANSPORTOWE (część 1)

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

Programowanie liniowe całkowitoliczbowe

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Podstawy Informatyki dla Nauczyciela

OPTYMALIZACJA W LOGISTYCE

Algorytmy i struktury danych.

Modelowanie całkowitoliczbowe

Politechnika Gdańska Wydział Oceanotechniki i Okrętownictwa. Marzec Podstawy teorii optymalizacji Oceanotechnika, II stop., sem.

Programowanie dynamiczne cz. 2

Ekonometria - ćwiczenia 10

Podstawowe algorytmy i ich implementacje w C. Wykład 9

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

Wstęp do Informatyki

Metody Ilościowe w Socjologii

Rozwiazywanie układów równań liniowych. Ax = b

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

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

MODELE STRUKTUR RYNKOWYCH

Wstęp do programowania

Algorytmy i Struktury Danych.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

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

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

Wyznaczanie optymalnej trasy problem komiwojażera

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Algorytmy i Struktury Danych.

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Wstęp do programowania

Programowanie liniowe całkowitoliczbowe

Wstęp do Informatyki

PROGRAMOWANIE WIELOKRYTERIALNE (CELOWE)

Poszukiwanie optymalnego wyrównania harmonogramu zatrudnienia metodą analityczną

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

ZAGADNIENIE TRANSPORTOWE

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Rozdział 1 PROGRAMOWANIE LINIOWE

PROBLEMY DECYZYJNE KRÓTKOOKRESOWE

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

Elementy Modelowania Matematycznego

PRÓBNY EGZAMIN GIMNAZJALNY

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW

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

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Ekonomia menedżerska. Wprowadzenie

Metody ilościowe w badaniach ekonomicznych

Zadania do wykładu Rachunek efektywności projektów inwestycyjnych

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

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Programowanie celowe #1

BIZNES PLAN W PRAKTYCE

Zadania do wykładu Rachunek efektywności projektów inwestycyjnych

Zbiór zadań. Makroekonomia II ćwiczenia KONSUMPCJA

Sterowanie optymalne

Układy równań liniowych

ANALIZA CZASOWO-KOSZTOWA SIECI CPM-COST

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe metoda sympleks

Algebra liniowa. Macierze i układy równań liniowych

Strategie wspó³zawodnictwa

Teoria produkcji i wyboru producenta Lista 8

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytmy i Struktury Danych

Wielokryteriowa optymalizacja liniowa cz.2

Algorytmika Problemów Trudnych

WPROWADZENIE DO EKONOMII MENEDŻERSKIEJ.

Programowanie nieliniowe

Wykład 5. Informatyka Stosowana. 7 listopada Informatyka Stosowana Wykład 5 7 listopada / 28

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Transkrypt:

Algorytmy i Struktury Danych. Programowanie Dynamiczne dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 14 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 1 / 25

Programowanie dynamiczne Programowanie dynamiczne jest jedna z metod rozwiazywania wieloetapowych problemów decyzyjnych. Programowanie dynamiczne to nie jest jeden algorytm, ale sposób podejścia do rozwiazywania problemu optymalizacyjnego. Twórca programowania dynamicznego jest amerykański matematyk Richard Bellman. Programowanie dynamiczne polega na podziale danego zagadnienia na podproblemy (etapy), a następnie na ich sekwencyjnym rozwiazywaniu, aż do znalezienia rozwiazania optymalnego. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 2 / 25

Programowanie dynamiczne Wykorzystuje, niezależnie od algorytmu, zasadę optymalności Bellmana, w myśl której optymalne rozwiazanie zagadnień z zakresu programowania dynamicznego ma tę własność, że optymalne rozwiazanie dla k-tego etapu jest jednocześnie rozwiazaniem optymalnym dla etapów k + 1, k + 2,..., N. Tak więc optymalne rozwiazanie dla etapu pierwszego stanowi optymalne rozwiazanie dla całego problemu. W zwiazku z zasada optymalności Bellmana problem z zakresu programowania dynamicznego rozwiazuje się rozpoczynajac od poszukiwania rozwiazania dla ostatniego etapu (N), a następnie cofajac się poszukuje się rozwiazania dla etapu N 1. Uzyskane w ten sposób rozwiazanie dla etapów N 1 oraz N jest optymalne bez względu na to, w jaki sposób osiagnięto etap N 1. Powtarzajac w powyższy sposób etap po etapie dochodzimy do rozwiazania optymalnego dla pierwszego etapu, a więc i dla całego problemu. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 3 / 25

Problem dyliżansu Nazwa zagadnienia pochodzi od pewnego kupca amerykańskiego, który transportował towary ze Wschodniego Wybrzeża USA na Wybrzeże Zachodnie, używajac w tym celu różnych połaczeń realizowanych za pomoca dyliżansu. Chodziło o dobór takich połaczeń, aby transport odbywał się w miarę bezpiecznie, a miara bezpieczeństwa na danej linii były stawki pobierane przez towarzystwo ubezpieczeniowe. Rozwiazanie 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łaczeń pomiędzy nimi. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 4 / 25

Problem dyliżansu Definicja Firma transportowa EuroLine, ustalajac nowe trasy przejazdu swych ciężarówek z Polski do Francji, podzieliła cała trasę na pięć etapów. W każdym z etapów wyznaczono po kilka miast, przez które przejeżdżać będa ciężarówki. Problem polega na znalezieniu najkrótszej drogi przejazdu pomiędzy Polska a Francja. Odległości drogowe pomiędzy wybranymi miastami (w km) sa pniżyszmy grafie: Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 5 / 25

Krok 1 Załóżmy, że ciężarówki dotarły do etapu 4. W tej sytuacji odległość od celu wynosi: d(7, 9) = 120 km lub d(8, 9) = 130 km, w zależności od tego, w którym z miast w etapie 4 zatrzymano się na postój. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 6 / 25

Krok 2 Cofnijmy się o jeden etap. Odległość miast od celu w etapie 3 wynosi: d(4, 7) + d(7, 9) = 200 + 120 = 320, d(4, 8) + d(8, 9) = 250 + 130 = 380. Zatem z miasta 4 do 9 należy wybrać drogę o długości d(4, 7, 9) = 320. Następnie: d(5, 7) + d(7, 9) = 200 + 120 = 320, d(5, 8) + d(8, 9) = 180 + 130 = 310. Zatem z miasta 5 do 9 należy wybrać drogę o długości d(5, 8, 9) = 310. W końcu: d(6, 7) + d(7, 9) = 150 + 120 = 270, d(6, 8) + d(8, 9) = 110 + 130 = 240. Zatem z miasta 6 do 9 należy wybrać drogę o długości d(6, 8, 9) = 240. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 7 / 25

Krok 3 Powtórzamy całe postępowanie biorac za punkt wyjścia etap 2: d(2, 4) + d(4, 9) = 150 + 320 = 470, d(2, 5) + d(5, 9) = 80 + 310 = 390, d(2, 6) + d(6, 9) = 120 + 240 = 360, Zatem z miasta 2 do 9 należy wybrać drogę: 2-6-8-9 o długości 360 km. Podobnie d(3, 4) + d(4, 9) = 150 + 320 = 470, d(3, 5) + d(4, 9) = 130 + 310 = 440, d(3, 6) + d(4, 9) = 190 + 240 = 430, Zatem z miasta 3 do 9 należy wybrać drogę: 3-6-8-9 o długości 430 km Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 8 / 25

Krok 4 Dotarliśmy do etapu startowego, w którym rozpatrujemy sposób dotarcia do celu z miasta 1 przez miasta 2 lub 3: d(1, 2) + d(2, 9) = 100 + 360 = 460, d(1, 3) + d(3, 9) = 80 + 430 = 510, Zatem z miasta 1 do 9 należy wybrać drogę: 1-2-6-8-9 o długości 460 km. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 9 / 25

Przykład zagadnienia alokacji inwestycji Przedsiębiorca Jan Nowak, posiadajacy kredyt inwestycyjny w wysokości 6 mln złotych oraz halę produkcyjna w Częstochowie, postanowił zainstalować nowoczesne linie piekarnicze: francuska (F), szwedzka (S), oraz polska (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: Nakłady (w mln zł) 0 1 2 3 4 5 6 Zdolności F 0 6 12 12 12 15 20 Produkcyjne S 0 5 8 11 14 17 18 (w tyśacach) P 0 4 15 15 15 15 16 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 10 / 25

Przykład zagadnienia alokacji inwestycji Analiza rynku wykazała, że każda z linii produkcyjnych, pozwala uzyskiwać jednakowe zyski w przeliczeniu na 1t pieczywa. Jan Nowak musi więc w tym przypadku podjać decyzję dotyczac a podziału kredytu pomiędzy poszczególne programy inwestycyjne, tak aby piekarnia osiagnęła maksymalna, dobowa zdolność produkcyjna. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 11 / 25

Rozwiazanie - Krok 1 Załóżmy, że jedynym możliwym rozwiazaniem jest zakupienie polskiej linii produkcyjnej i zadajmy sobie pytanie dotyczace uzyskanej w ten sposób dobowej zdolności produkcyjnej w zależności od zainwestowanej kwoty. Nakłady (w mln zł) 0 1 2 3 4 5 6 Zdolności F 0 6 12 12 12 15 20 Produkcyjne S 0 5 8 11 14 17 18 (w tyśacach) P 0 4 15 15 15 15 16 W tym przypadku, jedynym sensownym rozwiazaniem jest zainwestowanie 6 mln zł w polska linię produkcyjna w celu osiagnięcia zdolności produkcyjnej 16t pieczywa na dobę. Rezultat ten zapiszemy następujaco:p(6) = 16, Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 12 / 25

Krok 2 Załóżmy, że dostępne sa dwa typy linii produkcyjnych P oraz S. Zadajmy następujace pytanie: jak należy podzielić kredyt inwestycyjny pomiędzy te dwa programy, aby uzyskać maksymalna dobowa zdolność produkcyjna? Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 13 / 25

Krok 2 Załóżmy, że dostępne sa dwa typy linii produkcyjnych P oraz S. Zadajmy następujace pytanie: jak należy podzielić kredyt inwestycyjny pomiędzy te dwa programy, aby uzyskać maksymalna dobowa zdolność produkcyjna? W tym przypadku możliwe jest siedem wariantów podziału 6 mln kredytu, które daja następujace dobowe zdolności produkcyjne: P(6) + S(0) = 16 + 0 = 16, P(5) + S(1) = 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. Zatem należy zainwestować 2 mln zł w polska linię o raz 4 mln zł w szwedzka linię, osiagaj ac w ten sposób 29t pieczywa na dobę, tzn. P(2) + S(4) = 29. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 13 / 25

Krok 3 Znajdźmy optymalny podział kredytu pomiędzy linię P oraz S przy malejacej kwocie nakładów inwestycyjnych: 5 min na linie P oraz S P(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 kwota 5 min zł na linię P oraz S należy zainwestować 2 mln zł w linię P oraz 3 mln zł w linię S, osiagaj ac 26t pieczywa dobę, tzn. P(2) + S(3) = 26. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 14 / 25

Krok 3 - cd Znajdźmy optymalny podział kredytu pomiędzy linię P oraz S przy malejacej kwocie nakładów inwestycyjnych: 4 mln zł na linie P oraz S P(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 kwota 4 mln zł należy zainwestować po 2 mln zł w linię P oraz S: P(2) + S(2) = 23. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 15 / 25

Krok 3 - cd Znajdźmy optymalny podział kredytu pomiędzy linię P oraz S przy malejacej kwocie nakładów inwestycyjnych: 3 mln 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 przypadku dysponowania kwota 3 mln zł należy zainwestować 2 mln zł w linię P oraz 1 mln w linię S: P(2) + S(1) = 20. 2 mln zł na linie P oraz S P(2) + S(0) = 15 + 0 = 15, P(1) + S(1) = 4 + 5 = 9, P(0) + S(2) = 0 + 8 = 8. W przypadku dysponowania kwota 2 mln zł należy zainwestować 2 mln zł w linię P oraz 0 mln w linię S: P(2) + S(1) = 20. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 16 / 25

Krok 3 - cd Znajdźmy optymalny podział kredytu pomiędzy linię P oraz S przy malejacej kwocie nakładów inwestycyjnych: 1 mln zł na linie P oraz S P(1) + S(0) = 4 + 0 = 4, P(0) + S(1) = 0 + 5 = 5. W tym przypadku należy zainwestować 1 mln zł w linię szwedzka (S): P(0) + S(1) = 5. Zatem, w kroku 3 określiliśmy optymalne kombinacje nakładów na linie P oraz S. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 17 / 25

Krok 4 W kroku 4 wystarczy rozpatrzyć wszystkie kombinacje podziału 6 mln 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: Nakłady (w mln zł) 0 1 2 3 4 5 6 Zdolności F 0 6 12 12 12 15 20 Produkcyjne S+P 0 5 15 20 23 26 29 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 18 / 25

Krok 4 Możliwych jest 7 wariantów podziału 6 mln kredytu pomiędzy linie F oraz linie P+S, dajacych następujace 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. Zatem maksymalna zdolność produkcyjna piekarni można uzyskać inwestujac 2 mln zł w linię francuska (F) oraz 4 mln zł w linię P i S. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 19 / 25

Krok 5 Aby uzyskać rozwiazanie ostateczne, wystarczy odszukać w kroku 3 optymalny sposób podziału tych 4 mln zł pomiędzy linię P oraz S. Zatem otrzymujemy następujace rozwiazanie: 2 mln zł na linię F, 2 mln zł na linię P oraz 2 mln ma linię S, co zapewnia 35t pieczywa na dobę: F(2)+P(2)+S(2)=35. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 20 / 25

Hodowla owiec Hodowca owiec na poczatku roku ma stado liczace 100 sztuk. Musi on podjać decyzję jaka część stada sprzedać, a jaka zachować do dalszej hodowli, jeśli chce maksymalizować zysk w ciagu trzech lat. Założono, że: 1 sprzedaż następuje zawsze na poczatku roku, 2 pod koniec roku stado powiększa się o 50%, 3 na poczatku czwartego roku hodowla jest likwidowana. Dane dotyczace cen sprzedaży oraz roczny koszt utrzymania jednej sztuki sa następujace: Lata cena sprzedaży w jp roczny koszt utrzymania w jp 1 56 20 2 55 21 3 56 22 4 58 - Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 21 / 25

Hodowla Owiec - rozwiazanie Przyjmijmy oznaczenia: y i - liczba sprzedanych owiec w i - tym roku, s i - wielkość stada na poczatku i - tego roku, f i (y i, s i ) - zysk hodowcy w i - tym roku przy sprzedaży y i i stanie poczatkowym stada s i, dla i = 1, 2, 3, 4. Całkowity zysk wynosi więc: f 1 (y 1, s 1 ) + f 2 (y 2, s 2 ) + f 3 (y 3, s 3 ) + f 4 (y 4, s 4 ) Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 22 / 25

Hodowla Owiec - rozwiazanie ROK 1. Hodowca posiada stado o liczności s 1 = 100 sztuk oraz sprzedaje y 1 sztuk. Do hodowli pozostaje więc x 1 = 100 y 1 sztuk. Zysk hodowcy wynosi f 1 (y 1, 100) = 56y 1 20(100 y 1 ) = 76y 1 2000. ROK 2. Na poczatku 2 roku stado liczy s 2 = 1, 5(100 y 1 ) sztuk. Hodowca sprzedaje y 2 sztuk, do hodowli pozostaje x 2 = s 2 y 2 sztuk. Zysk hodowcy wynosi: f 2 (y 2, s 2 ) = 55y 2 21(s 2 y 2 ) = 76y 2 21s 2. ROK 3. Na poczatku roku trzeciego stado liczy s 3 = 1, 5(s 2 y 2 ) sztuk. Hodowca sprzedaje y 3 sztuk, do hodowli pozostaje x 3 = s 3 y 3 sztuk. Zysk hodowcy wynosi: f 3(y 3, s 3 ) = 56y 3 22(s 3 y 3 ) = 78y 3 22s 3. ROK 4. Na poczatku roku czwartego stado liczy s 4 = 1, 5(s 3 y 3 ) i zostaje w całości sprzedane. Zysk wynosi zatem f 4 (s 4, s 4 ) = 58s 4. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 23 / 25

Hodowla Owiec - rozwiazanie Obliczenia wykonujemy korzystajac z rownań Bellmana Krok 1. Rok czwarty: g 4 (s 4 ) = 58s 4 Krok 2. Rok trzeci. g 3 (s 3 ) = max 0 y3 s 3 {f 3 (y 3, s 3 ) + g 4 (s 4 )} = max 0 y3 s 3 {78y 3 22s 3 + 58s 4 } = max 0 y3 s 3 {78y 3 22s 3 + 58(1, 5(s 3 y 3 ))} = max 0 y3 s 3 {78y 3 22s 3 + 87s 3 87y 3 } = max 0 y3 s 3 { 9y 3 + 65s 3 } = 65s 3 dla y 3 = 0 Krok 3. Rok drugi. g 2 (s 2 ) = max 0 y2 s 2 {f 2 (y 2, s 2 ) + g 3 (s 3 )} = max 0 y2 s 2 {76y 2 21s 2 + 65s 3 } = max 0 y2 s 2 {76y 2 21s 2 + 65(1, 5(s 2 y 2 ))} = max 0 y2 s 2 { 21, 5y 2 + 76, 521s 2 } = 76, 5s 2 dla y 2 = 0 Krok 4. Rok pierwszy. g 2 (s 2 ) = max 0 y1 s 1 {f 1 (y 1, s 1 ) + g 2 (s 2 )} = max 0 y1 s 1 {76y 1 2000 + 76, 5(1, 5(100 y 1 ))} = max 0 y1 s 1 { 44, 75y 1 + 9475} = 9475 y 1 = 0 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 24 / 25

Hodowla Owiec - rozwiazanie Hodowca nie powinien sprzedawać owiec w roku pierwszym, drugim, trzecim. Wszystkie owce powinny być sprzedane na poczatku roku czwartego, co przyniesie największy możliwy zysk 9475 jp. Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 14 25 / 25