operaciona istraŢivanja · 2020-04-30 · 3 dinamičko programiranje - dp razvio ričardbelman...

39
Gordana Savic, [email protected] 4/30/2020 1 OPERACIONA ISTRAŢIVANJA GORDANA SAVIĆ UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKA LABORATORIJA ZA OPERACIONA ISTRAŢIVANJA ”JOVAN PETRIĆ” CENTAR ZA MERENJE EFIKASNOSTI

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Gordana Savic, [email protected]/30/2020

1

OPERACIONA ISTRAŢIVANJA

GORDANA SAVIĆ

UNIVERZITET U BEOGRADU, FAKULTET ORGANIZACIONIH NAUKA

LABORATORIJA ZA OPERACIONA ISTRAŢIVANJA ”JOVAN PETRIĆ”

CENTAR ZA MERENJE EFIKASNOSTI

Page 2: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Dinamičko programiranje - DP2

Page 3: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

3

Dinamičko programiranje - DP

Razvio Ričard Belman 1950.

(knjiga objavljena 1957.)

predstavlja klasičnu metodologiju za modeliranje i rešavanje

jedne specifične klase problema, tzv.

VIŠEETAPNE PROCESE UPRAVLjANjA (VEPU)

Page 4: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

4

Primer – nalaţenje najkraćeg puta između

dva čvora

Zadata je putna mreţa:

Page 5: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

5

Grafovi

Mreţa je teţinski G = (N, L, C) je zadata skupovima:

N = {1, 2, …, n} – skup čvorova

L {(i, j) | i,j N} – skup grana

D = {dij | (i, j) L} – skup duţina grana

Page 6: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

6

Grafovi

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

Page 7: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

7

Grafovi

Γ(i) – skup čvorova koji slede čvor I

Γ(1)=2,3, Γ(2)=4,5,...

Γ-1(i) – skup čvorova koji prethode čvoru I

Γ-1(1)=, Γ-1(2)=1, ...,Γ-1(6)=3,4,...

Page 8: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

8

Rekurentne formule za određivanje

najkraćeg puta

fj – dužina najkradeg puta od početnogdo čvora ј

1 ( )

min , 2,3, ,j ij ii j

f d f j n

1 0f

fi – dužina najkradeg puta od čvora i

krajnjeg čvora n

( )

min , 1,2, , 1i ij jj i

f d f i n

0nf

• Put P predstavlja niz povezanih grana (imaju zajednički čvor) od početnog do čvora ј

•Elementarni put kroz svaki čvor prođe samo jednom

•Dužina puta je jednaka zbiru dužina grana na tom putu (ij)dij, (ij)P.

Page 9: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

9

•Na prikazanom grafu data je putna mreža gde čvorovi predstavljaju mesta a grane puteve između njih.

•Odrediti najkradi put od čvora 1 do čvora 7 primenom rekurentnih relacija.

Page 10: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

10

1 ( )

min , 2,3, ,j ij ii j

f d f j n

1

1

1

1

1

2 12 1(2)

3 13 1(3)

4 24 2(4)

5 25 2(5)

0

min 4 0 4

min 3 0 3

min 2 4 6

min 5 4 9

i

i

i

i

f

f d f

f d f

f d f

f d f

1 1

1 1

36 3

6(6) (6)

46 4

47 4

7 57 5(7) (7)

67 6

8 3 11min min 9

3 6 9

4 6 10

min min 3 9 12 10

2 11 13

i i

i i

d ff

d f

d f

f d f

d f

Page 11: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

11

Optimalno rešenje

Najkraći put: – 4 – 7

Duţina najkraćeg puta: 10

1 1

47 4

7 57 5(7) (7)

67 6

4 6 10

min min 3 9 12 10

2 11 13i i

d f

f d f

d f

Page 12: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

12

Optimalno rešenje

Najkraći put: – 2 – 4 – 7

Duţina najkraćeg puta: 10

1

1 1

4 24 2(4)

47 4

7 57 5(7) (7)

67 6

min 2 4 6

4 6 10

min min 3 9 12 10

2 11 13

i

i i

f d f

d f

f d f

d f

Page 13: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

13

Optimalno rešenje

Najkraći put: 1– 2 – 4 – 7

Duţina najkraćeg puta: 10

1

1

1 1

2 12 1(2)

4 24 2(4)

47 4

7 57 5(7) (7)

67 6

min 4 0 4

min 2 4 6

4 6 10

min min 3 9 12 10

2 11 13

i

i

i i

f d f

f d f

d f

f d f

d f

Page 14: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

14

Optimalno rešenje

Najkraći put: 1 – 2 – 4 – 7

Duţina najkraćeg puta: 10

Page 15: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Višeetapni procesi upravljanja (VEPU)

Page 16: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

16

Matematički model VEPU

Posmatramo proces u konačno mnogo zadatih vremenskih trenutaka (etapa):

),,,( 21 ntttt

Page 17: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

17

Matematički model VEPU

Ponašanje procesa na svakoj etapi okarakterisano je vektorom stanja.

Na nekoj etapi t vektor stanja se može zapisati:

))(,),(),(()( 21 trtrtrtr m

1

2

3

npr za 3:

( ) čvor u kome se nalazi

( ) vreme vožnje

( ) količina benzina u rezervoaru

m

r t

r t

r t

Page 18: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

18

Математички мпдел ВЕПУ

Акп стаое прпцеса на i-тпј етапи пбележимп са ri = r(ti), тада за i =

0,1,...,n низ r0, r2,...,r n представља трајектприју прпцеса.

r0 представља ппчетнп, а rn завршнп стаое трајектприје.

0 0 1 0 2 0 3 0( ) ( ( ), ( ), ( ))

(1,50,0)

r r t r t r t r t

1 1 1 1 2 1 3 1( ) ( ( ), ( ), ( ))

(2,40,2)

r r t r t r t r t

2 2 1 2 2 2 3 2( ) ( ( ), ( ), ( ))

(4,35,3)

r r t r t r t r t

3 3 1 3 2 3 3 3( ) ( ( ), ( ), ( ))

(7,25,5)

r r t r t r t r t

1

2

3

npr za 3:

( ) čvor u kome se nalazi

( ) količina benzina u rezervoaru

( ) vreme provedeno na putu

m

r t

r t

r t

Page 19: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

19

Matematički model VEPU

Na svakoj etapi procesa, na deterministički način se vrši izbor odgovarajudih parametara upravljanja.

Na nekoj etapi t vektor upravljanja se može zapisati:

))(,),(),(()( 21 tutututu k

1

2

npr za 2:

( ) u koji čvor preći

( ) da li napraviti pauzu

k

u t

u t

Page 20: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

20

Matematički model VEPU

Ako vektor upravljanja na i-toj etapi obeležimo sa ui = u(ti), tada ovo

upravljanje treba da bude dopustivo, tj. treba da pripada nekom unapred

definisanom skupu dopustivih upravljanja. )( 1 iii rUu

1 2( ) ( ( ), ( ), , ( ))i i i i m ir r t r t r t r t

1 2( ) ( ( ), ( ), , ( ))i i i i k iu u t u t u t u t

1 1

npr za 1 i 1:

( ) čvor u kome se nalazi, ( ) u koji čvor preći

m k

r t u t

0 0, 1t r

1 1 1 0 1 1, ( ) {2,3}, 2, 2t u U r u r

2 2 2 1 2 2, ( ) {4,5}, 4, 4t u U r u r

3 3 3 2 3 2, ( ) {6,7}, 7, 7t u U r u r

Page 21: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

21

Matematički model VEPU

Zakon prelaska iz stanja ri-1 u stanje ri pod uticajem upravljanja ui se definiše kao

gde je w(r,u) zadata vektorska funkcija.

Višeetapni proces odlučivanja se svodi na proces u kome se, polazedi od

nekog početnog stanja r0, na svakoj etapi ti, i{1,2,…,n}, bira jedno

dopustivo upravljanje ui pod čijim uticajem proces prelazi iz stanja ri-1 u

stanje ri prema zakonu w(ri-1, ui).

niurwr iii ,,2,1),,( 1

Page 22: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Višetepni proces

Etapa

i

Prethodno stanje

ri-1

Skup dopustivih upravljanja

Ui(ri-1)

Upravljanje

ui

Trenutno stanje

riui

1 1 {2,3} 2 2

2 2 {4,5} 4 4

3 4 {6,7} 7 7

22

0 0, 1t r

1 1 1 0 1 1, ( ) {2,3}, 2, 2t u U r u r

2 2 2 1 2 2, ( ) {4,5}, 4, 4t u U r u r

3 3 3 2 3 2, ( ) {6,7}, 7, 7t u U r u r

Page 23: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

23

Matematički model VEPU – rezime

etape

stanje

trajektorija

upravljanje

skup dopustivih upravljanja

zakon prelaska

1 2( ) ( ( ), ( ), , ( ))i i i i m ir r t r t r t r t

nrrr ,,, 10

1 2( ) ( ( ), ( ), , ( ))i i i i k iu u t u t u t u t

)( 1 iii rUu

),( 1 iii urwr

),,,( 21 ntttt

Page 24: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

24

Osobine VEPU:

Konačan (ograničen broj etapa procesa)

Deterministički (deterministički izbor upravljanja i prelaz iz

stanja u stanje)

Stacionaran (prelaz u novo stanje ne zavisi od trenutne etape

već samo od trenutnog stanja i upravljanja).

Page 25: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

25

Optimizacioni zadatak VEPU

0 1 1 2

1

1

0

max( , , , , , , , )

min

п.o.

( , ), 1,2, ,

( ), 1,2, ,

početno stanje

n n

i i i

i i i

f r r r u u u

r w r u i n

u U r i n

r

Page 26: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

26

Optimizacioni zadatak VEPU

Funkcija cilja je obično separabilna i ima oblik

ili

n

i

iii urf1

1 ),(

n

i

iii urf1

1 ),(

Page 27: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

27

Rešenje optimizacionog zadatka VEPU

Niz upravljanja za koji zadata

funkcija cilja dostiţe svoj ekstremum naziva se

optimalni niz upravljanja, a njemu

odgovarajuća trajektorija

optimalna trajektorija.

**

2

*

1 ,,, nuuu

**

1

*

0 ,,, nrrr

Page 28: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

(Belman, 1957.)

Princip optimalnosti

Page 29: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

29

Osnovna definicija principa optimalnosti

Optimalni niz upravljanja ima osobinu da je, bez obzira na

upravljanja koja su dovela do nekog stanja na nekoj etapi, niz

upravljanja na preostalim etapama optimalan u odnosu na to

stanje kao početno.

Page 30: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

30

Posledica principa optimalnosti

Optimalan niz upravljanja za celokupan proces je i u

delovima optimalan. tj. ako je optimalan

niz upravljanja, a optimalna trajektorija

procesa, tada za bilo koje dve etape i i j ,

je optimalan niz upravljanja za taj deo

procesa sa kao početnim stanjem i kao

završnim stanjem.

**

1 ,, nuu **

10 ,,, nrrr )1( nji

** ,, ji uu *

1ir*

jr

Page 31: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

31

Posledica principa optimalnosti za problem

nalaţenja najkraćeg puta u mreţi

Optimalan put je i u svojim delovima optimalan.

Obrnuto NE VAŢI!

Page 32: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Rešavanje problema

VEPU primenom DP

Page 33: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

33

Rekurentne relacije

Ako npr. imamo problem koji se moţe zapisati:

1

1

1

1

0

max ( , )

п.о.

( , ), 1,2, ,

( ), 1,2, ,

početno stanje

n

i i i

i

i i i

i i i

f r u

r w r u i n

u U r i n

r

Page 34: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

34

Rekurentne relacije

Obeleţimo sa maksimalnu vrednost funkcije cilja za proces posmatran od etape i do etape n.

Tada je

gde je

početno stanje za ostatak procesa.

nirFi ,,1),(

n

il

llluu

i urfrFni

),(max)( 1,,

rri 1

Page 35: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

35

Rekurentne relacije

n

il

llluu

iirUu

i urfurfrFniii 1

1,,)(

),(max),(max)(1

)(),(max)( 1)(

iiiirUu

i rFurfrFii

Page 36: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

36

Formiranje optimalnog niza upravljanja

Odvija se u dve faze:

1. Izračunavanje optimalne vrednosti funkcije cilja;

2. Formiranje optimalnog niza upravljanja i optimalne

trajektorije.

Page 37: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Pitanja

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?

37

Page 38: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

Pitanja

Optimalni niz upravljanja?

Optimalna trajektorija?

Optimalno rešenje VEPU?

Princip optimalnosti (Belman)?

Posledica principa optimalnosti?

Posledica principa optimalnosti – najkraći put?

38

Page 39: OPERACIONA ISTRAŢIVANJA · 2020-04-30 · 3 Dinamičko programiranje - DP Razvio RičardBelman 1950. (knjiga objavljena 1957.) predstavlja klasičnumetodologiju za modeliranje i

39

Hvala na pažnji