1 / 53

6. Dinamičko programiranje

6. Dinamičko programiranje. 6.1 Jednodimenzionalna raspodjela 6.2 Višedimenzionalna raspodjela 6.3 Specifične primjene DP-a 6.4 Primjeri primjene DP-a. 6. Dinamičko programiranje - 1.

callum
Télécharger la présentation

6. Dinamičko programiranje

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6. Dinamičko programiranje 6.1 Jednodimenzionalna raspodjela 6.2 Višedimenzionalna raspodjela 6.3 Specifične primjene DP-a 6.4 Primjeri primjene DP-a

  2. 6. Dinamičko programiranje - 1 Dinamičko programiranje (DP) obuhvaća grupu formalnih postupaka optimalizacije kod kojih se obimni i/ili teško obradivi problemi (sustavi u cjelini) dijele u niz manjih lako obradivih problema (komponente sustava). Matematički temelj DP je rekurzija funkcije fi(en. recur – ponavljanje): • određuje se f0 – “temeljni slučaj” • izračunava se vrijednost f1 uz korištenje prethodno izračunate vrijednosti f0 – “pravilo rekurzije” • ponavlja se korak 2. (izračunavajući fk uz korištenje fk–1) do dostizanja kraja k = kmax Koračni postupak – u svakom koraku se doprinosi optimizaciji sustava: fk,j – optimalna vrijednost funkcije cilja u k-tom koraku za x = xj fk,j – vrijednost funkcije cilja u koraku k za x = xj f(k – 1),(j –1) – optimalna vrijednost funkcije cilja u koraku(k –1) za x = x(j – 1)

  3. 6. Dinamičko programiranje - 2 Primjer 6.1 Faktorijel broja 3. Zbroju (Ak–1) dodaje se odabrani broj 1  ai 5 i kaže rezultat Ak. Počinje se s A0 = 0, a igru gubi ko mora kazati 40. Primjer 6.2 Pobjednički niza: 3, 9, 15, 21, 27, 33, 39 U skladištu, iz bačve sa specijalnim mazivim uljem, uz korištenje jedne kante od 3 L, uliti 4 L ulja u kantu od 5 L. Primjer 6.3

  4. 6. Dinamičko programiranje - 3 Prvi je DP detaljno obradio DP Bellman 1957. U strojarstvu se DP koristi prije svega za optimalizaciju velikih i složenih sustava procesne tehnike i energetike koji se mogu podijeliti na jednostavne podsustave (podjeli pa savladaj). DP se koristi u matematici, znanosti, inženjerstvu, biomatematici, medicini, ekonomiji, informatici, a primjena se širi u oblasti neuralnih mreža, rudarenja podataka (data mining), mekog računalstvu (soft computing) i drugim oblastima računalne inteligencije. Obrađena su četiri formalna postupka DP: • jednodimenzopnalna raspodjela, • dvodimenzionalna raspodjela, • najkraći put i • dinamika zamjene opreme.

  5. 6.1 Jednodimenzionalna raspodjela 6.1.1 Matematički model 6.1.2 Matrična metoda 6.1.3 Tablična metoda 6.1.4 Rješavanje s MATLABom 6.1.5 Primjeri funkcija cilja i ograničenja

  6. 6.1.1 Matematički model Funkcija cilja – raspoloživi resurs S optimalno raspodijeliti na m recipijenata xi (i = 1, 2, ..., m), uz zadata ograničenja. xi – dio resursa S dodijeljen i-tom recipijentu fk,j – optimalna vrijednost funkcije cilja u k-tom koraku za x = xj fk,j – vrijednost funkcije cilja u koraku k za x = xj f(k – 1),(j –1) – optimalna vrijednost funkcije cilja u koraku(k –1) za x = x(j – 1) N– skup prirodnih brojeva.

  7. 6.1.1 Matematički model - 2 Primjer 6.4 Maksimalizacija Osam novozaposlenih tokara treba optimalno rasporediti u 3 pogona (A, B i C). U svakom je pogonu slobodno po 5 strojeva. Procijenjena je dnevna dobit, u kunama, po tokarskom stroju, po pogonima: A 400, B 500 i C 200. NJ = 100 kn

  8. 6.1.1 Matematički model - 3 Primjer 6.5 Minimalizacija Odrediti optimalni tromjesečni (II, III i IV) plan proizvodnje 12 strojeva. Troškovi su proizvodnje: Ti = ki◦xi2 (gdje je xi broj proizvedenih strojeva). Koeficijenti su troškova (ki) za mjesece: II 20 000, za III 34 000 i IV 42 000 kuna. Tijekom jednog mjeseca moguće je proizvesti najviše 6 strojeva. NJ = 1 000 kn

  9. 6.1.2 Matrična metoda Primjer 6.4 Maksimalizacija Koraci raspodjele: 1. korak (k = 1) – dodjela tokara pogonu A: 2. korak (k = 2) (prvi i drugi pogon) – dodjela tokara pogonu B i A: 3. korak (k = 3) (treći i prvi s drugim pogonom) – dodjela tokara pogonu C i B s A: 1. korak – pogon A:

  10. 6.1.2 Matrična metoda - 2 Primjer 6.4 Maksimalizacija 2. korak – pogon B i A:

  11. 6.1.2 Matrična metoda - 3 Primjer 6.4 Maksimalizacija 3. korak – pogon C i B s A: broj tokara: x1 = 3, x2 = 5, x3 = 0 F = 37 000 kn

  12. 6.1.2 Matrična metoda - 4 Primjer 6.5 Minimalizacija Koraci raspodjele: 1. korak (k = 1) – proizvodnja u mjesecu II: 2. korak (k = 2) (prvi i drugi mjesec) – proizvodnja u mjesecima III i II: 3. korak (k = 3) (treći i prvi s drugim mjesecom) – proizvodnja u mjesecima IV i III s II: 1. korak – mjesec I:

  13. 6.1.2 Matrična metoda - 5 Primjer 6.5 Minimalizacija 2. korak – mjeseci III i II:

  14. 6.1.2 Matrična metoda - 6 Primjer 6.5 Minimalizacija 3. korak – mjeseci IV i III s II: broj strojeva: x1 = 6, x2 = 3, x3 = 3 F = 1 404 000 kn/tromjesečje

  15. 6.1.3 Tablična metoda Primjer 6.4 Maksimalizacija

  16. 6.1.3 Tablična metoda - 2 broj tokara: x1 = 3, x2 = 5, x3 = 0 F = 37 000 kn

  17. 6.1.3 Tablična metoda - 3 Primjer 6.5 Minimalizacija

  18. 6.1.3 Tablična metoda - 4

  19. 6.1.3 Tablična metoda - 5 broj strojeva: x1 = 6, x2 = 3, x3 = 3 F = 1 404 000 kn/tromjesečje

  20. 6.1.4 Rješavanje s MATLABom Primjer 6.4 Maksimalizacija Program DPJRMax, namijenjen učenju DP-a, napisan je za rješavanje grupe problema DP-a (jednodimenzionalna raspodjela, maksimalizacija) – na početku rješavanja program se mora u izvjesnoj mjeri prilagoditi problemu (UPUTE – desno).

  21. 6.1.4 Rješavanje s MATLABom - 2 U prethodna tri dijela programa DPJRMax prikazane su 92 programske linije, a cijeli program obuhvaća 185 linija. Program DPJRMax ispisuje: • tablicu izračunavanja • tablicu međurezultata • konačne rezultate

  22. 6.1.4 Rješavanje s MATLABom - 2

  23. 6.1.4 Rješavanje s MATLABom - 3 Primjer 6.5 Minimalizacija Program DPJRmin

  24. 6.1.4 Rješavanje s MATLABom - 4

  25. 6.1.5 Primjeri funkcija cilja i ograničenja Funkcija cilja Ograničenja

  26. 6.1.5 Primjeri funkcija cilja i ograničenja - 2 Primjer 6.6 Poduzeće treba optimalno investirati 6 milijuna kuna u 3 vrste proizvodnje (1, 2 i 3). Procijenjena godišnja dobit je ovisna o uloženim sredstvima i po pojedinim vrstama proizvodnje, u stotinama tisuća kuna iznosi: Funkcija cilja: Funkcije ograničenja: X = [2 4 0] F = 1 060 000 kn

  27. 6.1.5 Primjeri funkcija cilja i ograničenja - 3 Primjer 6.7 Uz korištenje građevinskih strojeva gradese objekti: tipa A, s dobiti od 8 milijuna kuna i tipa B, s dobiti od 12 milijuna kuna. Tijekom gradnje moguće je osigurati 10 strojeva. Pri izvedbi objekata A angažiraju se 2, a pri izvedbi objekata B 3 stroja. (a) Usvojiti optimalni plan gradnje. (b) Kakve su posljedice uvjeta najmanje 2 i najviše 3 izvedena objekta A. Funkcija cilja: Funkcije ograničenja: (a) X = [5 0] ili X = [2 2] F = 40 000 000 kn • X = [2 2] F = 40 000 000 kn točno DPJRMax pogrešno probijen uvjet

  28. 6.1.5 Primjeri funkcija cilja i ograničenja - 5 Primjer 6.8 Surutka je nusproizvod u tvornici sira, a sadrži proteine za proizvodnju jogurta, a laktoza u proizvodnji etil alkohola. Obogaćivanje surutke proteinom provodi se serijom ultrafiltara (odvajanje molekula po veličini i obliku). Pogonski troškovi ultrafiltra ovise o ulaznim/izlaznim sadržajima proteina. optimizirati

  29. 6.1.5 Primjeri funkcija cilja i ograničenja - 6 Primjer 6.8 Funkcija cilja: Funkcije ograničenja: Koraci raspodjele – izlaz je iz 4. stupnja wP,4 = 6 % 1. korak – 4. stupanj 2. korak – 3. stupanj iz tablice troškova

  30. 6.1.5 Primjeri funkcija cilja i ograničenja - 4 Primjer 6.7 Uz korištenje građevinskih strojeva gradese objekti: tipa A, s dobiti od 8 milijuna kuna i tipa B, s dobiti od 12 milijuna kuna. Tijekom gradnje moguće je osigurati 10 strojeva. Pri izvedbi objekata A angažiraju se 2, a pri izvedbi objekata B 3 stroja. (a) Usvojiti optimalni plan gradnje. (b) Kakve su posljedice uvjeta najmanje 2 i najviše 3 izvedena objekta A. Funkcija cilja: Funkcije ograničenja: (a) X = [5 0] ili X = [2 2] F = 40 000 000 kn • X = [2 2] F = 40 000 000 kn točno DPJRMax pogrešno probijen uvjet

  31. 6.2 Višedimenzionalna raspodjela na recipijente 6.2.1 Raspodjela dva resursa 6.2.2 Planiranje raspodjele dva resursa 6.2.3 Planiranje raspodjele na dva recipijenta 6.2.4 Primjeri raspodjele tijekom vremena tijekom vremena

  32. 6.2.1 Raspodjela dva resursa Funkcija cilja – raspoložive resurse S1 i S2optimalno raspodijeliti na m recipijenata xi i yi (i = 1, 2, ..., m), uz zadata ograničenja. xi – dio resursa S1 dodijeljen i-tom recipijentu yi – dio resursa S2 dodijeljen i-tom recipijentu Raspodjela se odvija u koracima (rekurzija) koji se opisuju izrazom: k – korak x0 – početna točka

  33. 6.2.1 Raspodjela dva resursa - 2 Primjer 6.6 Dva resursa Odrediti optimalnu raspodjelu dvije sirovine (A i B) na dva tehnološka procesa (1 i 2). Dobiti (D) u tisućama kuna ovise o količinama utrošenih sirovina u tonama. Tehnološki proces 2 , D, 1 000 kn: Tehnološki proces 1, D, 1 000 kn: Raspoložive su količine sirovina u tonama: A 6 i B 8. Matematički model Funkcija cilja: Funkcije ograničenja: raspoložive količine: potrebe procesa:

  34. 6.2.1 Raspodjela dva resursa - 3 Primjer 6.6 1. korak: usvaja se proizvoljna početna točka x0 = (3, 3) te model svodi na jednodimenzionalnu raspodjelu D1,x01,yi – dobit za tehnološki proces 1, pri x01 = 3 D2,x02,yi – dobit za tehnološki proces 2, pri x02 = 3 DPJRMAX (program): x0 = (3, 3)  y*0 = (4, 4)  f*1,0,0 = 47 2. korak: usvaja se točka približavanja y1 = (4, 4) DPJRMAX (program): y1 = (4, 4)  x*1 = (2, 4)  f*2,1,1 = 52

  35. 6.2.1 Raspodjela dva resursa - 3 Primjer 6.6 1. korak: usvaja se proizvoljna početna točka x0 = (3, 3) te model svodi na jednodimenzionalnu raspodjelu D1,x01,yi – dobit za tehnološki proces 1, pri x01 = 3 D2,x02,yi – dobit za tehnološki proces 2, pri x02 = 3 DPJRMAX (program): x0 = (3, 3)  y*0 = (4, 4)  f*1,0,0 = 47 2. korak: usvaja se točka približavanja y1 = (4, 4) DPJRMAX (program): y1 = (4, 4)  x*1 = (2, 4)  f*2,1,1 = 52 konačno x1 = 2 t x2 = 4 t y1 = 4 t y2 = 4 t F = 52 000 kn

  36. 6.2.2 Planiranje raspodjele dva resursa

  37. 6.2.3 Planiranje raspodjele na dva recipijenta

  38. 6.2.4 Primjeri raspodjele

  39. 6.3 Specifične primjene DP-a 6.3.1 Najkraći put 6.3.2 Minimalne zalihe 6.3.2 Optimalna zamjena opreme

  40. 6.3.1 Najkraći put Primjer 6.$$ Odrediti optimalni put od lokacije 1 do lokacije 10. Dužine putova su date u kilometrima. Koraci: 1. korak (k = 1) – jedna dionica: 2. korak (k = 2) – dvije dionice: 3. korak (k = 3) – tri dionice: … …

  41. 6.3.1 Najkraći put - 2 Matrica dužina putova: 1. korak (k = 1) – jedna dionica:

  42. 6.3.1 Najkraći put - 3 2. korak (k = 2) – dvije dionice:

  43. 6.3.1 Najkraći put - 4 4. korak (k = 4) – četiri dionice: Ispunjen je uvjet: f (k+1),i,10 = fk,i,10(s povećanim brojem dionica nije smanjena dužina puta).

  44. 6.3.1 Najkraći put - 4 Određen je najkraći put: s = 15 km, ali treba još odrediti trase. (dva jednaka rješenja) 1  2  …  10 1  5  …  10 1  2  6 …  10 1  5  4 …  10 1  2  6 7 …  10 1  5  4 3 …  10 1  2  6 7 10 1  5  4 3 7 …  10 1  5  4 3 7  10 Postupak je u izvjesnoj mjeri skraćen te nisu utvrđene još tri puta duljine s = 15 km 1  5  4  3 6  7 10 (šest dionica) 1  5  4  8 3  7 10 (šest dionica) 1  5  4 8  3 6  7 10 (sedam dionica)

  45. 6.3.2 Minimalne zalihe

  46. 6.3.3 Optimalna zamjena opreme Funkcija cilja – minimalizirati troškove korištenja opreme. xi – i-ti vremenski interval korištenja opreme fk,j – ukupni troškovi korištenja opreme (nabava + održavanje – prodaja) Koraci rješavanja: ti - i-ti trenutak vremena si – uvjet specifičan za i-ti vremenski interval korištenja opreme

  47. 6.3.3 Optimalna zamjena opreme - 2 Primjer 6.$$ Autoservis kupuje novi analizator rada motora za CN = 1000 €. Optimalizirati dinamiku zamjene opreme tijekom 5 godina korištenja. Troškovi su održavanja analizatora (TO,i) po godinama: 60 € u prvoj, 80 € u drugoj i 120 € u trećoj. Analizator se smije koristiti 3 godine, a isporučitelj otkupljuje analizator (CP,i) 800 € nakon godine dana njegovog korištenja, 600 € nakon dvije i 500 € nakon tri. Funkcija cilja: Funkcije ograničenja: CN = 1 000 € TO1 = 60 € , TO2 = 80 € , TO3 = 120 € CP1 = 800 € , CP2 = 600 € , CP3 = 500 €

  48. 6.3.3 Optimalna zamjena opreme - 2 Primjer 6.$$ 1. korak – 5. (zadnja) godina (moguće su tri varijante): 2. korak – 4. i 5. godina:

  49. 6.3.3 Optimalna zamjena opreme - 2 3. korak – 3. i 4. s 5. godinom: 4. korak – 2. i 3. s 4. 5. godinom: 5. korak – 1. i 2. s 3. 4. 5. godinom: konačno F = 1280 € s nabavom u godinama: 0 1 2 5 ili 0 1 4 5 ili 0 3 4 5

  50. 6.4 Primjeri primjene DP-a 6.4.1 Zadaci s matematičkim modelima 6.4.2 Zadaci s rješenjima 6.4.3 Zadaci

More Related