Professional Documents
Culture Documents
Dinamicko Programiranje I I II Deo
Dinamicko Programiranje I I II Deo
OPERACIONA ISTRAŢIVANJA
GORDANA SAVIĆ
Konkretan primer:
N = {1, 2, …, 7} – skup čvorova
L {(1,2), (1,3), (2,4), (2,5), (3,6), (4,6), (4,7), (5,7) ,(6,7)}} – skup grana
D = {d11=4, d13=3, d24=2, d25=5, d36=8, d46=3, d47=4, d57=3, d67=2} – skup
duţina grana
Grafovi
7
f1 0 fn 0
9
10
d36 f3 8 3 11
f1 0 f 6 min 9
f 4 i (6) 3 6 9
min
i (6) d 46
1 1
Najkraći put: – 4 – 7
Duţina najkraćeg puta: 10 d 47 f 4 4 6 10
f 7 min d57 f 5 min 3 9 12 10
1 1
i (7)
d f i (7) 2 11 13
67 6
Optimalno rešenje
12
d 47 f 4 4 6 10
f 7 min d57 f 5 min 3 9 12 10
1 1
i (7)
d f i (7) 2 11 13
67 6
Optimalno rešenje
14
Najkraći put: 1 – 2 – 4 – 7
Duţina najkraćeg puta: 10
Višeetapni procesi upravljanja (VEPU)
Matematički model VEPU
16
Posmatramo proces u konačno mnogo zadatih vremenskih
trenutaka (etapa):
t (t1 , t2 ,, tn )
Matematički model VEPU
17
npr za m 3:
r1 (t ) čvor u kome se nalazi
r2 (t ) vreme vožnje
r3 (t ) količina benzina u rezervoaru
Математички мпдел ВЕПУ
18
npr za m 3:
r1 (t ) čvor u kome se nalazi
r2 (t ) količina benzina u rezervoaru
r3 (t ) vreme provedeno na putu
r1 r (t1 ) (r1 (t1 ), r2 (t1 ), r3 (t1 )) r2 r (t2 ) (r1 (t2 ), r2 (t2 ), r3 (t2 )) r3 r (t3 ) (r1 (t3 ), r2 (t3 ), r3 (t3 ))
(2, 40, 2) (4,35,3) (7, 25,5)
Matematički model VEPU
19
npr za k 2:
u1 (t ) u koji čvor preći
u2 (t ) da li napraviti pauzu
Matematički model VEPU
20
npr za m 1 i k 1:
r1 (t ) čvor u kome se nalazi, u1 (t ) u koji čvor preći
t0 , r0 1
ri w(ri 1 , ui ), i 1,2,, n
gde je w(r,u) zadata vektorska funkcija.
t2 , u2 U 2 (r1 ) {4,5}, u2 4, r2 4
Višetepni proces
Etapa Prethodno stanje Skup dopustivih upravljanja Upravljanje Trenutno stanje
i ri-1 Ui(ri-1) ui r i u i
1 1 {2,3} 2 2
2 2 {4,5} 4 4
3 4 {6,7} 7 7
Matematički model VEPU – rezime
23
etape t (t , t ,, t )
1 2 n
stanje r r (t ) (r (t ), r (t ),, r (t ))
i i 1 i 2 i m i
trajektorija r0 , r1 ,, rn
upravljanje ui u(ti ) (u1 (ti ), u2 (ti ),, uk (ti ))
skup dopustivih upravljanja ui U i (ri 1 )
zakon prelaska ri w(ri 1 , ui )
Osobine VEPU:
24
max
f (r0 , r1 , , rn , u1 , u2 , , un )
min
п.o.
ri w(ri 1 , ui ), i 1, 2, , n
ui U i (ri 1 ), i 1, 2, , n
r0 početno stanje
Optimizacioni zadatak VEPU
26
f (r
i 1
i i 1 , ui )
ili
n
f (r
i 1
i i 1 , ui )
Rešenje optimizacionog zadatka VEPU
27
optimalna trajektorija.
Princip optimalnosti
(Belman, 1957.)
Osnovna definicija principa optimalnosti
29
Obrnuto NE VAŢI!
Rešavanje problema
VEPU primenom DP
Rekurentne relacije
33
n
max fi (ri 1 , ui )
i 1
п.о.
ri w(ri 1 , ui ), i 1, 2, , n
ui U i (ri 1 ), i 1, 2, , n
r0 početno stanje
Rekurentne relacije
34
n
Fi (r ) max f l (rl 1 , ul ) gde je ri 1 r
u ,,u
i n
l i
n
Fi (r ) max f i (r , ui ) max f l (rl 1 , ul )
ui U i ( r )
ui 1 ,,u n
l i 1
Fi (r ) max f i (r , ui ) Fi 1 (ri )
ui U i ( r )
Formiranje optimalnog niza upravljanja
36
n
(max) f (t
i 1
i i 1 , ui )
п.о.
ti w(ti 1 , ui ), i 1, , n
ui "zadržati","zameniti"
t0 t *
где су:
Математички мпдел ОЗМ
43
di (t ) oi (t ) Fi 1 (t 1) za ui "zadržati"
Fi (t )
di (0) oi (0) zi (t ) Fi 1 (1) za ui "zameniti"
d n (t ) on (t ) za ui "zadržati"
Fn (t )
d n (0) on (0) zn (t ) za ui "zameniti"
F1 (t * )
Rekurentne formule za primenu DP na
OZM (Belmanov princip optimalnosti)
45
di (t ) oi (t ) Fi 1 (t 1) za ui "zadržati"
Fi (t )
di (0) oi (0) zi (t ) Fi 1 (1) za ui "zameniti"
d n (t ) on (t ) za ui "zadržati"
Fn (t )
d n (0) on (0) zn (t ) za ui "zameniti"
F1 (t * )
Rekurentne formule za primenu DP na
OZM (Belmanov princip optimalnosti)
46
di (t ) oi (t ) Fi 1 (t 1) za ui "zadržati"
Fi (t )
di (0) oi (0) zi (t ) Fi 1 (1) za ui "zameniti"
d n (t ) on (t ) za ui "zadržati"
Fn (t )
d n (0) on (0) zn (t ) za ui "zameniti"
F1 (t * )
Rekurentne formule za primenu DP na
OZM (Belmanov princip optimalnosti)
47
di (t ) oi (t ) Fi 1 (t 1) za ui "zadržati"
Fi (t )
di (0) oi (0) zi (t ) Fi 1 (1) za ui "zameniti"
F1 (t * )
Zadatak 1.
48
un ="zadržati" d (t )
Fn (t ) max , n3
n
u ="nova" d (0) - 200
Etapa i=2
u ="zadržati" d(2) + F3 (4) = 160 + F3 (4) =
F2 (3) max 1
u1 ="nova" d (0) - 200 +F3 (1) 240 200 F3 (1)
Etapa i=n=3
(poslednja etapa, ne postoji rekurentni deo već samo dobit iz
trenutne etape i moţe se izračunati)
Etapa i=2
u1 ="zadržati" d(2) + F3 (4) = 160 + F3 (4) = 160 + 130 = 290
F2 (3) max = 290
u1 ="nova" d (0) - 200 +F3 (1) 240 200 F3 (1) 40 220 260
Etapa i=1
u ="zadržati" d (2) + F2 (3) = 190 + F2 (3) = 190 + 290 = 480
F1 (2) max 1 = 480
u1 ="nova" d (0) - 200 +F2 (1) 240 200 F2 (1) 40 320 360
Zadatak 1.
Određivanje optimalne trajektorije
55
Etapa i=1
u ="zadržati" d (2) + F2 (3) = 190 + F2 (3) = 190 + 290 = 480
F1 (2) max 1 = 480
u1 ="nova" d (0) - 200 +F2 (1) 240 200 F2 (1) 40 320 360
Etapa i=2
u ="zadržati" d(2) + F3 (4) = 160 + F3 (4) = 160 + 130 = 290
F2 (3) max 1 = 290
u1 ="nova" d (0) - 200 +F3 (1) 240 200 F3 (1) 40 220 260
Etapa i=3
u ="zadržati" d (4) = 130
F3 (4) max 1 130
1
u ="nova" d (0) - 200 240 200 40
un ="zadržati" d (t )
Fn (t ) max , n3
n
u ="nova" d (0) - 200
Etapa i=2
u ="zadržati" d(7) + F3 (12) = 220 + F3 (12) =
F2 (7) max 1
u1 ="nova" d (0) - 200 +F3 (5) 240 200 F3 (5)
Etapa i=n=3
(poslednja etapa, ne postoji rekurentni deo već samo dobit iz
trenutne etape i moţe se izračunati)
Etapa i=2
u ="zadržati" d (7) + F3 (12) = 220 + F3 (12) = 220 + 190 = 410
F2 (7) max 1 = 410
1
u ="nova" d (0) - 200 + F3 (5) 240 200 F3 (5) 40 220 260
Etapa i=1
Etapa i=1
u ="zadržati" d (2) + F2 (7) = 240 + F2 (7) = 240 + 410 = 650
F1 (2) max 1 650
1
u ="nova" d (0) - 200 + F2 (5) 240 200 F2 (5) 40 410 450
Etapa i=2
u ="zadržati" d (7) + F3 (12) = 220 + F3 (12) = 220 + 190 = 410
F2 (7) max 1 = 410
1
u ="nova" d (0) - 200 + F3 (5) 240 200 F3 (5) 40 220 260
Etapa i=3
u ="zadržati" d (12) = 190
F3 (12) max 1 190
1
u ="nova" d (0) - 200 240 200 40
Dinamičko programiranje?
Definicija mreţe?
Rekurentene relacije za pronalaţenje najkraćeg
puta u mreţi?
Višeetapni proces - definicija?
Elementi višeetapnih procesa?
Skup dopustivih upravljanja?
Zakon prelaska - funkcija?
Pitanja
69
Hvala na pažnji