background image

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

41

PROGRAMOWANIE DYNAMICZNE 

 
 

Metody programowania dynamicznego polegają na zmianie zadań 

optymalizacyjnych z N zmiennymi decyzyjnymi w N zadań z jedną 

zmienną decyzyjna, przy czym zadania te są powiązane ze sobą określoną 

zależnością rekurencyjną. Operacja taka jest możliwa tylko w przypadku, 

gdy funkcja celu jest funkcją separowalną  (daje się wyrazić jako 

kompozycja funkcji jednej zmiennej). 

  Programowanie dynamiczne jest pewnym podejściem do 

optymalizacji wieloetapowych procesów decyzyjnych. 

 

Rozpatrzmy dowolny proces, którego przebieg można podzielić na 

N etapów. W dowolnym etapie tego procesu możemy wyróżnić 

następujące elementy: 

⇒ 

stan wejściowy procesu do danego etapu – jest to stan jaki osiągnął 

proces w wyniku realizacji etapu poprzedniego; 

⇒ 

decyzję podejmowaną na danym etapie; 

⇒ 

stan wyjściowy procesu z danego etapu – stan ten zależy od stanu 

wejściowego oraz podjętej decyzji na danym etapie. 

 Stan 

procesu 

można opisać za pomocą jednego lub kilku parametrów 

zwanych zmiennymi stanu. W dalszym ciągu będziemy rozpatrywać 

procesy decyzyjne z jedną zmienną stanu s. Decyzje podejmowane  

w kolejnych etapach będziemy opisywać za pomocą zmiennych 

decyzyjnych x

1

, x

2

, ..., x

n

.  

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

42

 

 

Ogólny schemat wieloetapowego procesu decyzyjnego przedstawia 

rysunek poniżej. 

 

 

 

 

 

 

 

 

W procedurze programowania dynamicznego wykorzystujemy dwie 

własności, które umożliwiają podejmowanie decyzji w procesie 

 

n-etapowym: 

⇒ 

Wartość funkcji celu w zadaniu n-etapowym jest sumą wartości 

uzyskanych w poszczególnych etapach, a wartość uzyskana w j-tym 

etapie zależy od stanu w etapie poprzednim oraz od decyzji podjętej  

j-tym etapie. Nie zależy natomiast od tego, jaką drogą system doszedł 

do stanu j-1. (Własność Markowa). 

⇒ 

Aby ciąg decyzji (x

1

*

, x

2

*

, ..., x

N

*

) był optymalną strategią w procesie 

N-etapowym. potrzeba, by ciąg decyzji (x

2

*

, x

3

*

, ..., x

N

*

) był optymalną 

strategią w procesie (N-1)-etapowym wynikającym z podjęcia  

w pierwszym etapie decyzji x

1

*

 

 

 

 

 

 

x

1

 

 

       x

2

 

 

     x

3

   

 

 

 

x

N

 

   s

0

   

 

s

1

 

 

 

s

2

 

 

       s

3

  

   s

N-1

   

 

  s

N

 

HACKED BY VIPER :)

background image

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

43

Ogólny schemat programowania dynamicznego 

 

Rozważmy N-etapowy dyskretny proces decyzyjny dla i = 1, 2, ..., N-1, N

 Oznaczmy: 

s

0

  

– zadany stan początkowy procesu, 

s

1

, s

2

, ..., s

N

   – stany dla poszczególnych etapów, 

x

1

, x

2

, ..., x

N

  – decyzje w poszczególnych etapach, 

Z

1

(s

0

, x

1

) – 

wartość funkcji celu uzyskana w pierwszym etapie przy 

zadanym stanie początkowym; 

 
analogicznie: 

Z

2

(s

1

, x

2

), Z

3

(s

2

, x

3

), ..., Z

N-1

(s

N-2

, x

N-1

), Z

N

(s

N-1

, x

N

) – wartości funkcji  

w kolejnych etapach 2, 3, ..., N

 
 Zachodzi 

również: 

Z(s

0

,  X) = Z

1

(s

0

, x

1

) + Z

2

(s

1

, x

2

) + Z

3

(s

2

, x

3

) + ... + Z

N-1

(s

N-2

, x

N-1

) +  

  + 

Z

N

(s

N-1

, x

N

 Należy wyznaczyć optymalną strategię (ciąg decyzji): X

*

 = (x

1

*

, x

2

*

..., x

N

*

) taką, aby uzyskać max(min) Z(s

0

X) przy ograniczeniach X 

 

gdzie 

 oznacza obszar określenia zadania wyjściowego. 

 
 Aby 

rozwiązać to zadanie dokonuje się dekompozycji, otrzymując 

rodzinę zadań, tzn. 

N

N-1,N

, ..., 

1, 2, ..., N

  

 

.  

 Niech 

F

1

(s

N-1

) oznacza warunkowo optymalną wartość funkcji celu  

w pierwszym etapie, tj.: 

( )

( ) (

)

N

1

N

N

x

1

N

1

x

,

s

Z

min

max

s

F

N

N

=

 

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

44

 Oznaczając przez F

2

(s

N-2

), F

3

(s

N-3

), ..., F

K

(s

N-K

), ..., F

N

(s

0

) warunkowo 

optymalne wartości funkcji celu w kolejnych etapach aż do N-tego, 

otrzymamy: 

 

F

2

(s

N-2

) = max(min) [Z

N-1

(s

N-2

, x

N-1

) + Z

N

(s

N-1

, x

N

)] =  

 

 

    = max(min)[Z

N-1

(s

N-2

, x

N-1

) + F

1

(s

N-1

 
Analogicznie: 

 

(

)

( )

(

)

( )

[

]

1

N

1

1

N

2

N

1

N

x

2

N

2

s

F

x

,

s

Z

min

max

s

F

N

,

1

N

1

N

+

=

 

 

( )

( )

(

) ( )

[

]

2

N

2

2

N

3

N

2

N

x

3

N

3

s

F

x

,

s

Z

min

max

s

F

N

,

1

N

,

2

N

2

N

+

=

 

 .............................................................................. 

dla k-tego etapu: 

 

( )

( )

( )

( )

(

)

( )

(

)

[

]

1

k

N

1

k

1

k

N

k

N

1

k

N

k

N

k

s

F

x

,

s

Z

min

max

s

F

+

+

+

+

=

 

dla N-tego etapu: 

 

( )

( ) (

)

( )

[

]

1

1

N

1

0

1

x

0

N

s

F

x

,

s

Z

min

max

s

F

1

+

=

 

 Z 

równań powyższych wynika, że maksymalna wartość funkcji  

N-etapowego procesu decyzyjnego jest równa maksimum ze względu na 

pierwszą decyzję, przy założeniu stanu początkowego oraz maksymalnej 

wartości funkcji dla procesu (N-1)-etapowego. 

 Powyższy ciąg równań funkcyjnych wyraża zasadę optymalności, 

która umożliwia uzyskanie najpierw warunkowo optymalnego rozwiązania 

dla N-tego etapu, następnie dla N-1N-2, ..., aż do etapu pierwszego. 

HACKED BY VIPER :)

background image

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

45

ANALIZA SIECIOWA 

 

Model sieciowy przedsięwzięcia 

 Przedsięwzięcie – wyodrębniony zbiór czynności powiązanych ze 

sobą sposobem wykonania (technologią). 

 Technologię nazywamy strukturą, a odwzorowanie przedsięwzięcia 

projektem, który przedstawiamy w postaci sieci czynności. 

Definicja 1. 

 Sieć czynności to graf spójny antycykliczny, który ma jeden 
wierzchołek początkowy i jeden wierzchołek końcowy.  Łuki sieci 
reprezentują czynności, wierzchołki zdarzenia w projekcie. 
 
 

Konstrukcja sieci czynności 

 W 

trakcie 

wykreślania powinny być przestrzegane zasady: 

! zdarzenie początkowe nie ma czynności poprzedzających, 

! zdarzenie końcowe nie ma czynności następujących, 

! dwa kolejne zdarzenia mogą być połączone tylko jedną czynnością, 

wszystkie zdarzenia w sieci, z wyjątkiem początkowego lub 

końcowego, powinny być początkiem i końcem co najmniej jednej 

czynności. 

 

 Można wyróżnić następujące etapy konstruowania sieci: 

! ustalenie listy czynności, 

! ustalenie zdarzenia początkowego i końcowego, 

! określenie kolejności wykonywania czynności, 

! numerowanie wierzchołków. 

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

46

Analiza sieci z funkcją czasu 

Definicja 2. 

 

Czasem realizacji projektu określonym przez czas trwania czynności 

będziemy nazywali czas t*: 

 

 

( )

k

S

s

*

s

t

max

t

k

=

 

Definicja 3. 

 

Ścieżką krytyczną w sieci czynności (critical path method – CPM

nazywamy ścieżkę pełną ,  dla której czas trwania jest najdłuższy. 

Definicja 4. 

 Najwcześniejszy możliwy termin zaistnienia zdarzenia określony jest 

następującym wzorem: 

 

 

{

}

ij

0
i

i

0

j

t

t

max

t

+

=

,   i < j 

gdzie t

i

0

 oznacza najwcześniejszy możliwy termin wystąpienia i-tego 

zdarzenia bezpośrednio poprzedzającego wydarzenie j-te. 

Definicja 5. 

 Najpóźniejszy dopuszczalny termin zaistnienia zdarzenia i-tego, t

i

1

 

określony jest wzorem: 

 

 

{

}

ij

1

j

j

1

i

t

t

min

t

=

 i < j 

gdzie t

j

1

 oznacza najpóźniejszy dopuszczalny termin zaistnienia j-tego 

zdarzenia, następującego po i-tym zdarzeniu. 

 Najwcześniejszy i najpóźniejszy termin zdarzenia końcowego są 

sobie równe (zdarzenie to nie ma następnika). 

 

HACKED BY VIPER :)

background image

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

47

Definicja 6. 

 Luz 

czasowy 

L

i

 dowolnego zdarzenia i-tego określamy jako: 

 

 

 

0
i

1

i

i

t

t

L

=

Wskazuje on, o ile może opóźnić się termin zaistnienia zdarzenia bez 

wpływu na termin zakończenia realizacji projektu. 

 

Charakterystyki czasowe czynności 

 Dla 

każdej czynności <i, j> wyróżnia się cztery terminy związane  

z czasem realizacji. 

Definicja 7. 

 Najwcześniejszy możliwy termin rozpoczęcia czynności <i, j> 

wyznacza najwcześniejszy możliwy termin zajścia zdarzenia 

początkowego tej czynności. 

Definicja 8. 

 Najpóźniejszy dopuszczalny termin rozpoczęcia czynności określony 

jest przez różnicę t

j

1

 – t

ij

Definicja 9. 

 Najwcześniejszy możliwy termin zakończenia czynności <i, j> 

wyrażony jest przez sumę t

i

0

 + t

ij

Definicja 10. 

 Najpóźniejszy dopuszczalny termin zakończenia czynności <i, j> 

określa najpóźniejszy termin zajścia zdarzenia końcowego tej czynności. 

Badania operacyjne  

 

dr inż. W. Zalewski

 

 

48

 Dla 

każdej czynności można wyznaczyć rezerwy czasu wykonania, 

zwane zapasami czasu
 Wyróżnia się cztery rodzaje zapasów: 

! zapas całkowity, 
! zapas swobodny, 
! zapas warunkowy, 
! zapas niezależny. 

Definicja 11. 

 Zapas 

całkowity Z

c

 określony jest przez równanie: 

 

 

Z

c

 = t

j

1

 – t

i

0

 – t

ij

Stanowi on rezerwę czasu, który może być wykorzystany dodatkowo na 
wykonanie czynności bez wpływu na termin realizacji projektu. 

Definicja 12. 

 

Zapas swobodny Z

s

 określony jest przez równanie: 

 

 

Z

s

 = t

j

0

 – t

i

0

 – t

ij

Nie wpływa na zapasy związane z czynnościami należącymi do danej 
ścieżki. 

Definicja 13. 

 Zapas 

warunkowy 

Z

w

 określony jest przez równanie: 

 

 

Z

w

 = t

j

1

 – t

i

1

 – t

ij

Rezerwa czasu może być wykorzystana bez zmniejszenia zapasów 
poprzednich, określonych dla danej ścieżki. 

Definicja 14. 

 Zapas 

niezależny Z

n

 określony jest przez równanie: 

 

 

Z

n

 = t

j

0

 – t

i

1

 – t

ij

Wykorzystanie tej rezerwy nie ma wpływu na zapas jakiejkolwiek innej 
czynności. 

HACKED BY VIPER :)