You are on page 1of 38

Glava 6

Nelinearno i dinamičko
programiranje

U okviru ovog poglavlja opisaćemo dve važne klase modela koji, iako
srodni linearnom programiranju, ne mogu biti rešavani na isti način. Prvi
od njih predstavlja, u stvari, čitav niz različitih postupaka za rešavanje tzv.
problema nelinearnog programiranja.1 Reč je o grupi metoda namenjenoj
rešavanju velikog broja upravljačkih zadataka koji nastaju ”prelaskom” sa
linearne na nelinearnu zavisnost funkcije cilja, odnosno odgovarajućeg si-
stema ograničenja. U tesnoj vezi sa nelinearnim programiranjem, čak, može
se smatrati njegovim posebnim oblikom, jeste model dinamičkog programi-
ranja (DP model). On se, uglavnom, koristi u slučajevima tzv. separabilne
funkcije cilja F , kada se ona može rasčlaniti na ”delove” koji zavise samo
od jedne promenljive (nepoznate) veličine, pa se sam postupak optimizacije
obavlja nizom posebnih, odvojenih procedura.

6.1 Formulacija NLP problema

Već smo istakli da se problemi NLP-a javljaju u slučajevima kada su


funkcija cilja, odnosno odgovarajući sistem ograničenja, definisani nelinea-
rnim zavisnostima. Na žalost, ovakvi problemi ne mogu se rešavati nekim
univerzalnim postupkom, kakav je u slučaju LP modela bio Simpleks algo-
ritam. Štaviše, LP model predstavlja specijalan slučaj opšteg NLP modela,
1
Slično kao u slučaju linearnog, termin nelinearno programiranje u daljem tekstu za-
pisujemo skraćenicom NLP.

267
268 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

za čije je rešavanje razvijen ogroman broj različitih metoda i postupaka.


Svi oni, uglavnom, zavise od načina i tipa nelinearnosti koja se javlja u
konkretnom NLP problemu, tako da veliki broj ovih problema još uvek nije
rešen. Upravo zato, ovde ćemo se samo nakratko upoznati sa najznačajnim
pojmovima, modelima i postupcima rešavanja ovakvih zadataka.2
Opšti zadatak nelinearnog programiranja kakav ćemo ovde posmatrati
je sledećeg oblika:
Minimizirati funkciju f (x) pri uslovima

gi (x) ≤ 0, i = 1, . . . , m,

gde su f, g1 , . . . , gm funkcije definisane u Rn , a x ∈ Rn .


Zadatak se, slično LP problemu, sastoju u nalaženju vektora

x = (x1 , . . . , xn )T ∈ Rn

koji zadovoljava zadata ograničenja, a pri tome odgovara minimalnoj vre-


dnosti funkcije f (x). Ova funkcija, kao i obično, naziva se funkcijom cilja,
a svaki uslov gi (x) ≤ 0, i = 1, . . . , m, njenim ograničenjem. Vektor x ∈
Rn koji zadovoljava sva ograničenja, naziva se dopustivim (mogućim)
rešenjem ili dopustivom tačkom. Skup svih dopustivih rešenja obrazuje
dopustivu oblast S ⊆ Rn .
Na taj način, zadatak nelinearnog programiranja sastoji se u nalaženju
takve dopustive tačke x∗ , za koju je f (x∗ ) ≤ f (x) za svako dopustivo rešenje
x. Tačka x∗ naziva se optimalnim rešenjem ili, prosto, rešenjem zadatka
NLP-a. Zadatak NLP-a, naravno, može biti formulisan i kao zadatak ma-
ksimizacije funkcije f (x), a ograničenja-nejednakosti zapisana u obliku

gi (x) ≥ 0, i = 1, . . . , m.

U specijalnom slučaju, kada je funkcija cilja f (x) linearna i sva ograničenja


mogu biti predstavljena u obliku linearnih jednačina i/ili nejednačina, gore
formulisani zadatak postaje zadatak linearnog programiranja.
Primer 6.1.1. Razmotrimo sledeći zadatak NLP-a: Treba minimizirati funkciju

f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2

pri uslovima

x21 − x2 − 3 ≤ 0
x2 − 1 ≤ 0
−x1 ≤ 0.
2
Za detaljnije proučavanje NLP problema čitaocu predlažemo monografije [3] i [4].
Konveksne funkcije 269

Na slici 6.1 predstavljena je dopustiva oblast mogućih rešenja ovog problema. Zadatak se sastoji
u nalaženju takve tačke iz dopustive oblasti, za koju f (x1 , x2 ) ima najmanju moguu vrednost.
Primetimo da tačka (x1 , x2 ) koja zadovoljava jednačinu

(x1 − 3)2 + (x2 − 2)2 = c



leži na kružnici radijusa c sa centrom u tački (3, 2). Za svako c ≥ 0 takva kružnica naziva
se nivoskom linijom funkcije cilja koja odgovara zadatoj vrednosti c. Na taj način, zadatak
se sastoji u nalaženju minimalnog c pri kojem barem jedna tačka kružnice pripada dopustivoj
oblasti.
Drugim rečima, neophodno je naći kružnicu najmanjeg poluprečnika koja bi presecala dopus-
tivu oblast. Jasno je da takva kružnica, poluprečnika c = 2, postoji i preseca dopustivu oblast
u jedinstvenoj tački (2, 1). Dakle, (x1 , x2 ) = (2, 1) je optimalno rešenje postavljenog zadatka, a
optimalna, minimalna vrednost funkcije cilja f (x1 , x2 ) je njena vrednost u toj tački, tj.

(min) f = f (2, 1) = 2. 2

Slika 6.1: Geometrijski način rešavanja zadatka nelinearnog programiranja: 1–


nivoske linije funkcije cilja; 2–optimalna tačka; 3–dopustiva oblast

U opštem slučaju, kako smo već istakli, rešavanje problema NLP-a pove-
zano je sa nizom poteškoća. Većina postojećih algoritama zasniva se na
izvesnim dodatnim pretpostavkama o osobinama funkcije cilja i sistema
ograničenja, koje se, najčešće odnose na probleme konveksnosti, koju dalje
preciznije razmatramo.

6.2 Konveksne funkcije

U ovom delu najpre dajemo pojam konveksnih i konkavnih funkcija, a za-


tim ispitujemo uslove diferencijabilnosti i egzistencije njihovih ekstremuma.
270 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Definicija 6.2.1. Neka je f : S → R, gde je S neprazan konveksan skup iz


Rn . Kažemo da je funkcija f konveksna na S, ako je

f [λx1 + (1 − λ)x2 ] ≤ λf (x1 ) + (1 − λ)f (x2 ), (6.1)

za proizvoljne x1 , x2 ∈ S i λ ∈ (0, 1). Funkcija f je strogo konveksna na


S, ako je u (6.1) znak stroge nejednakosti. Najzad, funkcija f : S → R je
konkavna (strogo konkavna), ako je −f konveksna (strogo konveksna)
na S, tj. ako u (6.1) važe ”obrnute” nejednakosti.

Slika 6.2: a) Konveksna funkcija; b) konkavna funkcija; c) funkcija koja nije ni


konveksna ni konkavna

Geometrijsku interpretaciju razmatranih pojmova možemo dati u slučaju


n = 1, kao na slici 6.2. Za proizvoljne tačke x1 i x2 oblasti S tačka

λf (x1 ) + (1 − λ)f (x2 ),

gde je λ ∈ (0, 1), pripada segmentu sa krajevima A (x1 , f (x1 )) i B (x2 , f (x2 )).
S druge strane, f [λx1 + (1 − λ)x2 ] je vrednost funkcije f u tački segmenta
x1 x2 . Očito, segment A B leži iznad grafika konveksne funkcije, a u slučaju
konkavnosti ispod njega.

6.2.1 Pojam gradijenta. Diferencijabilnost

U ovom odeljku, definisaćemo najpre pojam izvoda fukcije f po pravcu


zadatog vektora. Zatim definišemo pojmove subgradijenta i gradijenta koji
su, kako ćemo uskoro pokazati, u tesnoj vezi sa problemima optimizacije
konveksnih i konkavnih funkcija. Na kraju, na osnovu gradijenata, opisu-
jemo i pojam diferencijabilnosti, koji se u slučaju konveksnih funkcija može
zadati na više ekvivalentnih načina.
Konveksne funkcije 271

Definicija 6.2.2. Neka je S neprazan konveksan skup iz Rn i f : S → R.


Pretpostavimo da je x0 ∈ S i d ∈ Rn nenulti vektor takav da je x0 + λd ∈ S
za dovoljno malo λ > 0. Izvodom funkcije f u tački x0 po pravcu d, u
oznaci f ′ (x0 ; d), naziva se granična vrednost
f (x0 + λd) − f (x0 )
f ′ (x0 ; d) = lim ,
λ→0 λ
ukoliko ona postoji.
Definicija 6.2.3. Neka je S neprazan konveksan skup iz Rn i f : S → R
konveksna funkcija. Vektor ξ ∈ Rn se naziva subgradijentom funkcije f u
tački x0 ∈ S ako je
f (x) ≥ f (x0 ) + ξ T (x − x0 ) (6.2)
za svako x ∈ S. Analogno, ako je f : S → R konkavna funkcija, onda se ξ
naziva subgradijentom funkcije f u tački x0 ∈ S ako je
f (x) ≤ f (x0 ) + ξ T (x − x0 ) (6.3)
za svako x ∈ S.

Slika 6.3: Geometrijska interpretacija subgradijenta: (a)- konveksna funkcija; (b)


- konkavna funkcija

Definicija 6.2.4. Neka je S neprazan skup iz Rn i f : S → R. Kažemo da


je funkcija f diferencijabilna u tački x0 ∈ S ako postoji vektor ∇f (x0 ),
nazvan gradijentom, takav da je
f (x) = f (x0 ) + ∇f (x0 )T (x − x0 ) + o(x − x0 ), (6.4)
za svako x ∈ S. Funkcija f je diferencijabilna na otvorenom skupu S ′ ⊆ S
ako je ona diferencijabilna u svakoj tački skupa S ′ .
272 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Jasno je da funkcija f (x), diferencijabilna u tački x0 , može imati samo


jedan vektor-gradijent
 T
∂ f (x0 ) ∂ f (x0 ) ∂ f (x0 )
∇f (x0 ) = , , ··· , ,
∂ x1 ∂ x2 ∂ xn

gde su ∂ f∂ (x 0)
xi parcijalni izvodi funkcije f (x) u tački x0 . S druge strane, na
osnovu (6.2) i (6.3) zaključujemo da se subgradijenti diferencijabilne funkcije
f : S → R u tački x0 ∈ S podudaraju sa jedinstvenim vektorom - gradije-
ntom funkcije f (x) u tački x0 . Kao ilustraciju, dajemo sledeći jednostavan
primer.
Primer 6.2.1. Neka je f (x) = max{f1 (x), f2 (x)}, gde je

f1 (x) = |x| i f2 (x) = (x − 2)2 , 0 ≤ x ≤ 2.

Funkcija f (x) može se zapisati u obliku



 (x − 2)2 , 0 ≤ x ≤ 1;
f (x) =
x, 1≤x≤2

pa je jasno da je reč o konveksnoj funkciji definisanoj na intervalu [0, 2] (slika 6.4).

Slika 6.4:

Za gradijent funkcije f (x) važi



 2(x − 2), 0 ≤ x < 1;
∇f (x) =
1, 1 < x ≤ 2.

Očito, u tački x = 1 funkcija f (x) nije diferencijabilna, pa gradijent ne postoji. Ipak, familija
subgradijenata odred̄uje se relacijom

ξ = λ∇f1 (1) + (1 − λ)∇f2 (1) = λ − 2(1 − λ) = 3λ − 1 za λ ∈ [0, 1].

Dakle, proizvoljno ξ ∈ [−1, 2] jeste subgradijent funkcije f (x) u tački x = 1. 2


Konveksne funkcije 273

Gradijent funkcije f predstavlja važan mehanizam u ispitivanju njenih


osobina. Sledeće tvrd̄enje to potvrd̄uje.
Teorema 6.2.1. Neka je S ⊆ Rn neprazan konveksan skup i f : S → R
funkcija diferencijabilna u njegovoj unutrašnjosti.3 Tada su sledeći iskazi
ekvivalentni:
(i) Funkcija f (x) je konveksna na skupu S.
(ii) Za proizvoljno x0 , x ∈ S važi
f (x) ≥ f (x0 ) + ∇f (x0 )T (x − x0 ). (6.5)

(iii) Za proizvoljno x1 , x2 ∈ S važi


 T
∇f (x2 ) − ∇f (x1 ) (x2 − x1 ) ≥ 0. (6.6)

Dokaz. (i) =⇒ (ii): Ako je f (x) konveksna funkcija, onda nejednakost


(6.5) predstavlja definicionu nejednakost njenog subgradijenta.
(ii) =⇒ (i): Pretpostavimo da važi (6.5) i pokažimo konveksnost za
f (x). Neka su x1 , x2 ∈ S proizvoljne tačke i
x = λx1 + (1 − λ)x2 , λ ∈ (0, 1).
Tada je, na osnovu (6.5),
f (x) ≤ f (x1 ) − ∇f (x)T (x1 − x)
f (x) ≤ f (x2 ) − ∇f (x)T (x2 − x).
Nakon množenja sa λ > 0 i 1 − λ > 0, respektivno, a zatim sabiranjem,
prethodne dve nejednakosti daju
λf (x) + (1 − λ)f (x) ≤ λf (x1 ) + (1 − λ)f (x2 ) −
− ∇f (x)T λx1 + (1 − λ)x2 − λx − (1 − λ)x .
 

Nakon sred̄ivanja, poslednja nejednakost postaje uslov konveksnosti (6.1)


funkcije f (x).
(ii) =⇒ (iii): Pokazaćemo sada da iz nejednakosti (6.5) sledi (6.6). Ako
u (6.5) zamenimo x0 i x najpre sa x1 i x2 , a zatim sa x2 i x1 , respektivno,
dobijamo
∇f (x1 )T (x2 − x1 ) ≤ f (x2 ) − f (x1 )
∇f (x2 )T (x1 − x2 ) ≤ f (x1 ) − f (x2 ).
3
Unutrašnjost skupa S označićemo sa int S. Kao što znamo, skup S je otvoren ako je
S = int S.
274 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Sabiranjem ove dve nejednakosti daju

∇f (x1 )T (x2 − x1 ) + ∇f (x2 )T (x1 − x2 ) ≤ 0,

odnosno
∇f (x1 )T − ∇f (x2 )T (x2 − x1 ) ≤ 0,
 

što je ekvivalentno sa (6.6).


(iii) =⇒ (ii): Pretpostavimo da važi (6.6), ali da nejednakost (6.5) nije
ispunjena. Tada, dakle, postoje x, x0 ∈ S takvi da je

f (x) < f (x0 ) + ∇f (x0 )T (x − x0 ).

S druge strane, za dovoljno malo kx − x0 k ≈ 0, na osnovu diferencijabilnosti


funkcije f (x) važi

f (x0 ) ≈ f (x) + ∇f (x)T (x0 − x),

odakle zamenom u prethodnu nejednakost dobijamo

f (x) < f (x) + ∇f (x)T (x0 − x) + ∇f (x0 )T (x − x0 ).

Ova nejednakost, nakon sred̄ivanja daje


 T
∇f (x0 ) − ∇f (x) (x0 − x) < 0,

što je, očito, u suprotnosti sa (6.6).

6.2.2 Ekstremalne osobine konveksnih funkcija

Neka je f : S → R, S ⊆ Rn konveksna funkcija. Razmotrimo problem


minimizacije funkcije f (x) pri uslovima x ∈ S. Kao i ranije, svaka tačka
x0 ∈ S biće dopustivo (moguće) rešenje ovog zadatka. Ako je, dodatno,
pored uslova x0 ∈ S zadovoljen i uslov

f (x0 ) ≤ f (x), za svako x ∈ S,

onda se x0 naziva optimalnim (globalnim) rešenjem datog problema


NLP-a. Pri navedenim pretpostavkama, uvodimo još jedna važan pojam
koji ćemo koristiti u daljem radu.
Konveksne funkcije 275

Definicija 6.2.5. Ako je x0 ∈ S i U (x0 ) otvorena okolina tačke x0 takva


da je
f (x0 ) ≤ f (x), ∀ x ∈ U (x0 ) ∩ S,
onda je x0 lokalno (optimalno) rešenje zadatog problema NLP-a.

Pojam lokalnog rešenja daje mogućnost karakterizacije globalnih opti-


muma konveksnih funkcija. Naime, važi
Teorema 6.2.2. Neka je S 6= ∅ konveksan skup iz Rn i f : S → R. Neka
je, dalje, x0 ∈ S lokalno optimalno rešenje zadatka minimizacije f (x) pri
uslovime x ∈ S. Tada važi:

(i) Ako je f (x) konveksna funkcija, onda je x0 globalno optimalno rešenje


datog problema NLP-a.

(ii) Ako je f (x) strogo konveksna funkcija, onda je x0 jedinstveno globalno


optimalno rešenje.
Dokaz. (i) Neka je x0 ∈ S (lokalno) optimalno rešenje problema mini-
mizacije konveksne funkcije f (x) pri uslovima x ∈ U (x0 ) ∩ S i x ∈ S
proizvoljna tačka. Tada, za dovoljno malo λ > 0 važi (slika 6.5)

xλ = λx + (1 − λ)x0 ∈ U (x0 ) ∩ S.

Slika 6.5:

Dalje, zbog optimalnosti na skupu U (x0 )∩S i konveksnosti funkcije f (x),


imamo
f (x0 ) ≤ f (xλ ) ≤ λf (x) + (1 − λ)f (x0 ).
odnosno
λf (x0 ) ≤ λf (x) ⇐⇒ f (x0 ) ≤ f (x).
276 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Dakle, ispunjen je uslov optimalnosti, tj. x0 jeste (globalno) optimalno


rešenje datog problema.
(ii) Analogno kao (i).

Na osnovu ranije definisanog pojma gradijenta funkcije, možemo dati još


neke karakterizacije optimalnih rešenja NLP-problema.

Teorema 6.2.3. Neka je S 6= ∅ konveksan skup iz Rn i f : S → Rn ko-


nveksna funkcija, diferencijabilna na skupu int S. Tačka x0 ∈ int S je opti-
malno rešenje problema minimizacije f (x) pri uslovima x ∈ S akko za svako
x ∈ S važi
∇f (x0 )T (x − x0 ) ≥ 0. (6.7)

Dokaz. Pretpostavimo da je x0 optimalno rešenje datog zadatka, ali da nije


ispunjen uslov (6.7), tj. da za neko x1 ∈ S važi

∇f (x0 )T (x1 − x0 ) < 0.

Posmatrajmo, za proizvoljno λ ∈ [0, 1], vektore xλ = λx1 + (1 − λ)x0 . Zbog


konveksnosti skupa S biće xλ ∈ S za svako λ ∈ [0, 1], tj. xλ jesu moguća
rešenja datog NLP-problema. S druge strane, funkcija F (λ) = f (xλ ) jeste
diferencijabilna na intervalu (0, 1), pri čemu je

F (λ) − F (0) ∇f (x0 )(xλ − x0 )


F ′ (0) = lim = lim = ∇f (x0 )(x1 − x0 ) < 0.
λ→0 λ λ→0 λ
Dakle, F (λ) je monotono-opadajuća u okolini tačke λ = 0, pa za dovoljno
malo λ > 0 imamo F (λ) < F (0) ili, ekvivalentno,

f (xλ ) < f (x0 ).

Ovo je, naravno, u kontradikciji sa polaznom pretpostavkom o optimalnosti


tačke x0 ∈ S.
Obratno, iz nejednakosti (6.7) i ranije pokazanog uslova konveksnosti
(6.5) sledi

f (x) − f (x0 ) ≥ ∇f (x0 )T (x − x0 ) ≥ 0, ∀x ∈ S,

tj. x0 ∈ S jeste optimalno rešenje datog problema minimizacije.

Prethodna teorema može se ”modifikovati” u obliku poznatog uslova


koji karakteriše minimume konveksnih funkcija. Naime, pri ranije datim
pretpostavkama, važi
Konveksne funkcije 277

Posledica 6.2.1. Ako je S otvoren skup, tačka x0 ∈ S je optimalno rešenje


datog problema NLP-a akko je


∇f (x0 ) = 0 . (6.8)
Specijalno, za S = Rn , tačka x0 je tačka globalnog minimuma funkcije f (x).
Primer 6.2.2. Posmatrajmo problem minimizacije funkcije

7 2
 
f (x) = x1 − + (x2 − 4)2 , x = (x1 , x2 ) ∈ R2 ,
2
pri uslovima

−x1 + x2 ≤ 1
2x1 + 3x2 ≤ 6
−x1 ≤ 0
−x2 ≤ 0.
Očigledno, funkcija f (x) je konveksna i odred̄uje kvadrat rastojanja od tačke 72 , 4 do tačke

(x1 , x2 ). Ograničenja zadata nejednačinama odred̄uju konveksan poliedarski skup mogućih rešenja
S, koji je, zajedno sa nivoskim linijama funkcije f (x), prikazan na slici 6.6.

Slika 6.6:

3
Geometrijski se može odrediti optimalna tačka ovog problema xT

0 = 2 , 1 . Gradijent funkcije
f (x) u ovoj tački je
 T
∂f (x0 ) ∂f (x0 )
∇f (x0 ) = , = ( −4, −6 )T .
∂x1 ∂x2
Sa slike se takod̄e vidi da ma koji ugao izmed̄u vektora ∇f (x0 ) i x − x0 , za proizvoljno x ∈ S, ne
prelazi 900 . Zato je njihov skalarni proizvod nenegativan, tj. važi uslov optimalnosti (6.6). 2
278 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Napomena 6.2.1. Na potpuno analogan način može se pokazati da je u


slučaju konkavne, diferencijabilne funcije f : S → R uslov

∇f (x0 )T (x − x0 ) ≤ 0 (6.9)

potreban i dovoljan da f (x) u tački x0 ima maksimalnu vrednost na skupu


S. Ostavljamo čitaocu da sam formuliše i pokaže odgovarajuća tvrd̄enja.

6.3 Rešavanje NLP problema

U ovom delu opisaćemo neke od najzastupljenijih iterativnih metoda


rešavanja problema NLP-a. Teoretsku osnovu za njihovu primenu daju
prethodno uvedene činjenice, pre svih, pojam gradijenta kao vektora koji
odred̄uje smer najvećeg rasta, odnosno opadanja date ciljne funkcije. Stoga
ćemo u daljim izlaganjima najpre opisati tzv. gradijentni metod optimizacije
konveksnih funkcija, a zatim i neke njegove modifikacije namenjene bržem i
jednostavnijem nalaženju optimalnih rešenja.

6.3.1 Lagrange-ov dualni zadatak. Gradijentni metod

Razmotrimo zadatak N LP -a, kojeg ćemo nadalje uobičajeno zvati di-


rektnim zadatkom:
Minimizirati vrednost funkcije f (x) pri uslovima

gi (x) ≤ 0, i = 1, . . . , m,
x = (x1 , . . . , xn )T ∈ X ⊆ Rn .

Sada, Lagrange-ov dualni zadatak formulišemo na sledeći način:


Maksimizirati vrednost funkcije

θ(u) = inf f (x) + uT g(x) ,




gde je u = (u1 , . . . , um )T ≥ 0 i g(x) = (g1 (x), . . . , gm (x))T .


Funkcija θ(u) naziva se Lagrange-ova (dualna) funkcija, dok su
u1 , . . . , um tzv. Lagrange-ovi činioci, uvedeni u funkciju cilja tako da
Rešavanje NLP problema 279

odgovaraju ograničenjima - nejednačinama gi (x) ≤ 0, i = 1, . . . , m. Oni su


nenegativni, čime je obezbed̄en uslov

θ(u) ≤ f (x),

za sve u ≥ 0 i x ∈ X. Ipak, slično kao u Teoriji dualnosti LP modela ili


Teoriji igara, može se pokazati
Teorema 6.3.1. Moguća rešenja x∗ ∈ Rn i u∗ ∈ Rm direktnog i dualnog
Lagrange-ovog zadatka, respektivno, su optimalna rešenja akko je

θ(u∗ ) = f (x∗ ). (6.10)

Dakle, jednakost funkcija kriterijuma f (x) i θ(u) predstavlja potreban i


dovoljan uslov optimalnosti rešenja x∗ , u∗ , za koja tada važi

θ(u∗ ) = (max) θ(u) = f (x∗ ) = (min) f (x),

gde x i u zadovoljavaju odgovarajuća ograničenja direktnog i dualnog za-


datka, respektivno.

Slika 6.7: Geometrijska interpretacija direktnog i Lagrange-ovog dualnog zadatka

Na slici 6.7 data je geometrijska interpretacija Lagrange-ovog dualnog


zadatka, pri čemu je, jednostavnosti radi, uzet zadatak minimizacije funkcije
f (x) sa jedinstvenim ograničenjem, nejednačinom g(x) ≤ 0. U ravni (z1 , z2 )
predstavljen je skup

G = (z1 , z2 ) : z1 = g(x), z2 = f (x), x ∈ X
280 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

koji, očigledno, predstavlja sliku skupa X ⊆ Rn pri preslikavanju (g, f ).


Direktan zadatak se tada sastoji u nalaženju tačaka skupa G za koju važi
z1 ≤ 0, a z2 ima minimalnu vrednost. Na slici 6.7 to je tačka označena sa
(z1 , z2 ).
S druge strane, za zadato u ≥ 0, funkciju θ(u) predstavlja minimum
izraza f (x) + ug(x) za x ∈ X. Kako je z1 = g(x), z2 = f (x) pri x ∈ X,
onda se odred̄ivanje θ(u) svodi na minimizaciju jednačine z2 + uz1 na skupu
G. Pritom, jednakost z2 + uz1 = α predstavlja jednačinu prave čiji je nagib
u i osu z2 preseca u tački (0, α). Stoga, da bismo minimizirali z2 + uz1
na skupu G, treba paralelno pomerati pravu z2 + uz1 = α sve dok ona ne
postane tangenta za skup G. Tada, presečna tačka ove prave sa osom z2
ukazuje na vrednost θ(u), kao što se vidi na istoj slici.
Primer 6.3.1. Posmatrajmo problem minimizacije funkcije f (x1 , x2 ) = x1 + x2 pri ograničenju
x2 x2
4
1
+ 2
12
≤ 1. Funkcija Lagrange-a, koja zavisi od promenljive u ≥ 0, u ovom slučaju glasi

θ(u) = inf{f (x) + ug(x)},

x2 x2
gde je x = (x1 , x2 )T i g(x) = 4
1
+ 2
12
− 1. Dakle, imamo

x21 x2
  
θ(u) = inf + 2 −1
x1 + x2 + u
4 12
n u o n u 2o
= inf x1 + x21 + inf x2 + x − u,
x1 4 x2 12 2

T
∂ θ(u) ∂ θ(u) 2 6

pa iz jednakosti = = 0 sledi x = − ,− . Zamenom ovih vrednosti dobijamo
∂ x1 ∂ x2 u u
eksplicitni oblik Lagrange-ove funkcije

u2 + 4
θ(u) = − , u≥0
u

koja svoju maksimalnu vrednost θmax = −4 dostiže u tački u0 = 2. Dakle, optimalne vrednosti
promenljivih x1,2 glase
2 6
x1 = − = −1, x1 = − = −3,
u0 u0

pri čemu je optimalna vrednost funkcije cilja fmin = θmax = −4. (Ostavljamo Vama da date
grafičku interpretaciju direktnog problema i njegovog optimalnog rešenja.)

Navodimo sada neke važnije osobine Lagrange-ove dualne funkcije.

Teorema 6.3.2. Neka je X neprazan kompaktan skup u Rn , f : X → R


i g : Rn → Rm neprekidne funkcije. Tada je Lagrange-ova dualna funkcija
θ(u) = inf{f (x) + uT g(x) : x ∈ X} konkavna na Rm .
Rešavanje NLP problema 281

Dokaz. Na osnovu defincije Lagrange-ove funkcije imamo, za proizvoljno


u1 , u2 ∈ Rm i λ ∈ (0, 1),
θ (λu1 + (1 − λ)u2 ) = inf f (x) + λuT1 g(x) + (1 − λ)uT2 g(x) : x ∈ X


≥ λ inf f (x) + uT1 g(x) : x ∈ X +




+(1 − λ) inf f (x) + uT2 g(x) : x ∈ X




= λθ(u1 ) + (1 − λ)θ(u2 ).
Odavde, po definiciji, sledi konkavnost za θ(u).
Zbog konkavnosti funkcije θ(u) sledi da je svaki njen lokalni maksimum
ujedno i globalni, pa ova činjenica čini pogodnim zadatak odred̄ivanja njenog
maksimuma. Med̄utim, osnovna poteškoća u rešavanju dualnog zadatka
sastoji se u tome što, najčešće, nije poznat eksplicitni oblik dualne funkcije,
jer ona može biti izračunata tek posle kada se reši odgovarajući podzadatak
minimizacije koji je dat u njenom zapisu.
Posmatrajmo sada problem diferencijabilnosti Lagrange-ove dualne fu-
nkcije. Diferencijabilnost funkcije θ(u) u nekoj tački u ∈ Rm zavisi od
elemenata skupa
X(u) = y : y je minimum izraza f (x) + uT g(x) za x ∈ X .


Naročito, ako se X(u) sastoji od jedinstvene tačke, onda će pod odred̄enim
uslovima funkcija θ(u) biti diferencijabilna u njoj, jer važi
Teorema 6.3.3. Neka je X 6= ∅ kompaktan skup prostora Rn , funkcije
f : Rn → R i g : Rn → Rm neprekidne, i u ∈ Rm proizvoljna tačka. Ako se
skup X(u0 ) sastoji od jedinstvene tačke x0 = x(u0 ), onda je funkcija θ(u)
diferencijabilna u tački u0 i njen gradijent je
∇θ(u0 ) = g [x(u0 )] . (6.11)
Dokaz. Na osnovu neprekidnosti funckija f i g sledi njihova ograničenost
na kompaktu X. Štaviše, funkcija
Ψ(x) = f (x) + uT0 g(x),
tada dostiže minimum u tački x0 = x(u0 ) koja je, na osnovu pretpostavki
teoreme, jedinstveno odred̄ena. Najzad, u tom slučaju Lagrange-ova funkcija
θ(u) predstavlja jednoznačno definisano linearno preslikavanje prostora Rm ,
diferencijabilno u tački u0 , za koje očito važi jednakost (6.11).
282 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Na osnovu pokazanih rezultata možemo formulisati iterativni postupak


nalaženja optimalnih rešenja direktnog i dualnog Lagrange-ovog zadatka.
Reč o tzv. algoritmu gradijentnog metoda koji se sastoji od sledećih
osnovnih etapa:
Korak 1. Izabrati proizvoljni vektor u0 ∈ Rm , takav da je u0 ≥ 0

Korak 2. Za dato u0 minimizirati funkciju Ψ(x) = f (x) + uT0 g(x) pri


uslovu x ∈ X.

Korak 3. Neka je x0 ∈ X jedinstveno optimalno rešenje prethodnog pro-


blema minimuma. Konstruisati vektore

g(x0 ) = ∇θ(u0 ) i ĝ(x0 ) = max{g(x0 ), 0}. (6.12)

Korak 4. Ako je ĝ(x0 ) = 0, dobijena su optimalna rešenja x0 , u0 direktnog


i dualnog zadatka, respektivno. U suprotnom, maksimizirati

θ[u0 + λĝ(x0 )]

pri uslovima u0 + λĝ(x0 ) ≥ 0 i λ ≥ 0.

Korak 5. Neka je λ0 ≥ 0 optimalno rešenje prethodnog problema maksi-


muma. Staviti da je
u0 := u0 + λ0 ĝ(x0 )
i vratiti se na korak 2.
Primer 6.3.2. Minimizirati funkciju

f (x) = x21 + x22 , x = (x1 , x2 )T ∈ R2

pri uslovima x1 + x2 ≥ 4 ∧ x1 − 2x2 ≥ −8.

Rešenje: Stavimo u0 = (0, 0)T . Tada je

Ψ(x) = f (x) + (0, 0)T g(x) = x21 + x22 ,

pa je minimalna vrednost funkcije Ψ(x0 ) = 0 dostignuta u jedinstvenoj tački x0 = (0, 0)T . Na


osnovu jednakosti (6.12) imamo
     
−x1 − x2 + 4 4 4
g(x0 ) = ∇θ(u0 ) = = =⇒ ĝ(x0 ) = .
−x1 + 2x2 − 8 −8 0

Tada je

inf x21 + x22 + 4λ(−x1 − x2 + 4)


  
θ u0 + λĝ(x0 ) = θ(4λ, 0) =
inf x21 − 4λx1 + inf x22 − 4λx2 + 16λ
 
=
x1 x2

= −8λ2 + 16λ, λ ≥ 0,
Rešavanje NLP problema 283

pri čemu je infinum izraza po x1 i x2 ostvaren za x1 = x2 = 2λ. Iz poslednje jednakosti dobija se


optimalno rešenje zadatka maksimizacije θ(4λ, 0) = 8 za λ0 = 1. Novoformirana vrednost vektora
u0 tada glasi
u0 = (0, 0)T + 1 · (4, 0)T = (4, 0)T ,
pa prelazimo na narednu iteraciju, tj. opet rešavamo optimizacioni problem

(min) Ψ(x) = min x21 + x22 − 4x1 − 4x2 + 16 .




Optimalna vrednost (min) Ψ(x) = Ψ(x0 ) = 8 dostignuta je u jedinstvenoj tački x0 = (2, 2)T , pa
ponovnom primenom jednakosti (6.12) imamo

g(x0 ) = (0, −6)T =⇒ ĝ(x0 ) = (0, 0)T .

Znači, u ovom slučaju je x0 = (0, 0)T optimalno rešenje direktnog, a u0 = (4, 0)T optimalno
rešenje dualnog zadatka. U oba slučaja vrednosti ciljnih funkcija iznose

(max) f (x0 ) = (max) θ(u0 ) = 8.

Ostavljamo čitaocu, kao i ranije, da dâ grafičku interpretaciju problema i dobijenih rezultata. 2

6.3.2 Uslovi optimalnosti Khun-Tucker-a

Daljom analizom funkcija koje proizilaze iz ranije formulisanog direktnog


i dualnog Lagrange-ovog zadatka može se doći do niza činjenica, koje, pre
svega, daju potrebne i dovoljne uslove optimalnosti rešenja oba problema.
Osnovu za njegovu primenu daju poznate teoreme Khun-Tucker-a, koje za-
uzimaju značajno mesto u teoriji konveksnog programiranja i ovde će biti u
samom središtu naše pažnje.
Neka je X neprazan otvoren skup iz Rn , a f, g1 , . . . , gm ranije definisane
realne n-dimenzionalne funkcije. Razmotrimo opet problem minimizacije
funkcije f (x) pri uslovima x ∈ X i gi (x) ≤ 0, i = 1, . . . , m. U tom cilju,
fiksirajmo proizvoljnu dopustivu tačku x0 ∈ X i označimo
n o
I = i gi (x0 ) = 0 .

Pretpostavimo, dalje, da su funkcije f i gi diferencijabilne u tački x0 , a


vektori ∇gi (x0 ) za i ∈ I linearno nezavisni. Tada važi
Teorema 6.3.4. (potrebni uslovi Khun-Tucker-a). Ako je x0 ∈ X
tačka lokalnog optimuma postavljenog zadatka optimizacije, onda postoje
brojevi u1 , . . . , um takvi da je
m
X
∇f (x0 ) + ui ∇gi (x0 ) = 0, (6.13)
i=1

pri čemu je ui gi (x0 ) = 0 i ui ≥ 0 za svako i = 1, . . . , m.


284 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Dokaz. Neka je x0 ∈ Rn optimalno rešenje datog direktnog zadatka NLP-a.


Na osnovu teoreme 6.3.1 postoji optimalno rešenja Lagrange-ovog dualnog
zadatka u0 ∈ Rm , takvo da, pri ranije uvedenim oznakama, važi

θ(u0 ) = max inf f (x) + uT g(x) = f (x0 ).



u≥0 x∈X

Tada je funkcija Ψ(x) = f (x) + uT0 g(x) diferencijabilna u tački x0 i zado-


voljava jednakost

Ψ(x0 ) = f (x0 ) + uT0 g(x0 ) = inf Ψ(x).


x∈X

Dakle, u tački x = x0 funkcija Ψ(x) dostiže svoj lokalni minumum, pa je


∇Ψ(x0 ) = 0, što je ekvivalentno sa (6.13).
Najzad, iz jednakosti Ψ(x0 ) = θ(u0 ) = f (x0 ) i definicije Lagrange-ove
funkcije θ(u) jasno je da mora biti u0 ≥ 0, kao i
m
X
Ψ(x0 ) − f (x0 ) = uT0 g(x0 ) = ui gi (x0 ) = 0.
i=1

No, kako je za svako i = 1, . . . , m ispunjena nejednakost gi (x0 ) ≤ 0, biće


i ui gi (x0 ) ≤ 0. Stoga poslednja jednakost važi samo ako su svi sabirci u
gornjoj sumi jednaki nuli, tj. akko je ui = 0 ili gi (x0 ) = 0.

Na slici 6.8 prikazana je geometrijska interpretacija uslova optimalnosti


Khun-Tucker-a. Proizvoljan vektor predstavljen u obliku linearne kombi-
nacije X
ui ∇gi (x0 ), ui ≥ 0,
i∈I

pripada konusu razapetom nad vektorima gradijenata funkcija gi (x) koja


definišu ograničenja u tački x0 . Iz jednakosti (6.13) sledi
X
−∇f (x0 ) = ui ∇gi (x0 ), (6.14)
i∈I

pa vektor −∇f (x0 ) pripada konusu razapetom nad gradijentima funkcija


aktivnih ograničenja gi (x) u tački x0 akko zadovoljava uslove optimalnosti
Khun-Tucker-a.
Brojevi u1 , . . . , um ≥ 0 uobičajeno se i ovde nazivaju Lagrange-ovi
činioci, dok jednačine

ui gi (x0 ) = 0, i = 1, . . . , m, (6.15)
Rešavanje NLP problema 285

Slika 6.8: Geometrijska interpretacija uslova Khun-Tucker-a

nazivamo uslovima dopunske elastičnosti. Uslovi Khun-Tucker-a mogu


se zapisati u vektorskom obliku:

∇f (x0 ) + uT ∇g(x0 ) = 0 ∧ uT g(x0 ) = 0 ∧ u ≥ 0,

gde je ∇g(x0 ) matrica reda n × m u kojoj je i-ta kolona jednaka gradi-


jentu ∇gi (x0 ), a u = (u1 , . . . , um )T je m-dimenzionalni vektor Lagrange-
ovih činilaca.
Med̄utim, u praksi se koeficijenti vektora u ∈ Rm najčešće izračunavaju
iz jednakosti

0, i ∈/I
ui = ,
αi , i ∈ I

gde su αi > 0 rešenja sistema linearnih jednačina (6.14). Očito, ovaj sistem
jednačina je ekvivalentan sistemu (6.13), pa na osnovu linearne nezavisnosti
vektora ∇gi (x0 ), i ∈ I sledi da su njegova rešenja, tj. vrednosti αi , i ∈ I
jedinstveno odred̄ene. Kao ilustraciju, dajemo nekoliko primera ovakvog
postupka ispitivanja Khun-Tucker-ovih uslova optimalnosti. Oni, kao što
ćemo videti, ukazuju na mnoge prednosti, ali i nedostatke ovakvog načina
nalaženja i provere optimalnih rešenja.
286 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Primer 6.3.3. Razmotrimo problem minimizacije funkcije

f (x1 , x2 ) = (x1 − 3)2 + (x2 − 2)2

pri uslovima x21 + x22 ≤ 5, x1 + 2x2 ≤ 4, x1 , x2 ≥ 0. Dopustiva oblast rešenja ovog zadatka
prikazana je na slici 6.9 levo. Proverimo ispunjenost uslova optimalnosti u tački x0 = (2, 1)T .
Označimo

g1 (x) = x21 + x22 − 5, g2 (x) = x1 + 2x2 − 4, g3 (x) = −x1 , g4 (x) = −x2 ,

gde je x = (x1 , x2 )T ∈ R2 . Skup indeksa aktivnih ograničenja, tj. indeksa i = 1, 2, 3, 4 koji


zadovoljavaju jednakost gi (x0 ) = 0 glasi I = {1, 2}. Otuda sledi da su Lagrange-ovi činioci u3 i
u4 koji, redom, odgovaraju ograničenjima g3 (x) ≤ 0 i g4 (x) ≤ 0 jednaki nuli. Primetimo takod̄e
da je
∇f (x0 ) = (−2, −2)T , ∇g1 (x0 ) = (4, 2)T , ∇g2 (x0 ) = (1, 2)T ,

pa jednakost (6.13) ovde glasi


     
4 1 2
u1 + u2 = .
2 2 2

1 2
Na taj način, dobijaju se brojevi u1 = 3
, u2 = 3
, u3 = u4 = 0 koji će zadovoljavati uslove
optimalnosti Khun-Tuckera-a. 2

Slika 6.9: Dopustive oblasti problema NLP-a

Primer 6.3.4. Minimizirajmo funkciju f (x1 , x2 ) = −x1 pri uslovima x2 −(1−x1 )3 ≤ 0, −x2 ≤ 0.
Dopustiva oblast ovog problema je predstavljena na slici 6.9 desno, zajedno sa optimalnom tačkom
x0 = (1, 0)T . Skup indeksa aktivnih ograničenja u toj tački je I = {1, 2}. Ovde je

∇f (x0 ) = (−1, 0)T , g1 (x0 ) = (0, 1)T , ∇g2 (x0 ) = (0, −1)T ,

ali jednačina      
0 0 −1
u1 + u2 =
1 −1 0

nije zadovoljena ni za jedno u1 , u2 ≥ 0, pa uslovi optimalnosti Khun-Tucker-a nisu ispunjeni.


Primetimo, takod̄e, da je ovo posledica linearne zavisnosti vektora ∇g1 (x0 ) i ∇g2 (x0 ). 2
Dinamičko programiranje 287

Poslednji primer ukazuje na slučaj kada optimalna rešenja NLP pro-


blema ne zadovoljavaju uslove teoreme Khun-Tucker-a. Takod̄e, on posredno
ukazuje i na to kakve bi osobine funkcija cilja i odgovarajuća ograničenja
trebalo da poseduju da bi obezbedili uslove pod kojima bi prethodna teorema
važila i u ”suprotnom” smeru.

Teorema 6.3.5. (dovoljni uslovi Khun-Tucker-a) Neka su funkcije f


i gi , i ∈ I konveksne i diferencijabilne u tački x0 ∈ Rn . Ako su u istoj
tački ispunjeni uslovi Khun-Tucker-a, tj. postoje brojevi ui ≥ 0, i ∈ I takvi
da važi (6.13), onda je x0 tačka globalnog minimuma postavljenog zadatka
NLP-a.

Dokaz. Analogno kao u teoremi 6.3.1, ostavljamo ga čitaocu za vežbu.

6.4 Dinamičko programiranje

Dinamičko programiranje je poseban matematički aparat, koji omoguću-


je optimalno planiranje tzv. višeetapnih procesa upravljanja. Tu spadaju
procesi u kojima se donosi niz odluka i one se donose postepeno u vremenu.
Mnogi zadaci upravljanja procesima u tehnici, ekonomiji, vojsci, fizici, bi-
ologiji, itd mogu se predstaviti u vidu višeetapnih procesa, na koje se može
primeniti metoda dinamičkih programiranja. Osnovni cilj jeste dobijanje
optimalnog plana upravljanja, pri čemu se pod optimalnim upravljanjem
podrazumeva ono upravljanje, koje daje najbolje rešenje, odnosno rešenje
kojim se postiže maksimalni cilj operacije.
Za praktičnu primenu metode dinamičkog programiranja (pisaćemo, kra-
će, DP metod) potrebno je da svaki razmatrani proces ima svoj jasno posta-
vljen matematički model, sa precizno definisanom funkcijom cilja, koji treba
maksimizirati ili minimizirati, kao i ograničenjima koja se moraju uzeti u
obzir u toku procesa. Za ovako postavljen zadatak, ukoliko su zadovoljeni
uslovi koje zahteva primena DP metode, treba naći funkcionalne relacije
primenom principa optimalnosti. U izvesnim slučajevima moguće je naći
analitičko rešenje, ali najčešće rešenje se nalazi numeričkom analizom, uz
primenu razvijenih programa.
Odred̄ivanje optimalne strategije zasniva se na principu optimalnosti koji
se, prema osnivaču ove discipline, naziva Belmanov princip optimalnosti. U
slobodnoj interpretaciji, možemo ga formulisati kao osobinu da optimalna
288 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

strategija, bez obzira na početno stanje i prethodno rešenje, u svakoj nare-


dnoj etapi treba da odredi optimalnu strategiju u odnosu na prethodno
dobijeno stanje, kao rezultat prethodnog rešenja. Princip optimalnosti se
može izraziti matematički, pomoću funkcionalnih jednačina ili rekurzivnih
relacija pomoću kojih se izražavaju veze izmed̄u funkcija cilja posmatrane
etape i funkcije susedne etape. U narednom izlaganju opisaćemo detaljnije
sve gore navedene pojmove, sa posebnim osvrtom na primenu metoda DP-a
u optimizaciji nekih konkretnih problema u matematici, ekonomiji i slično.

6.4.1 Osnovni pojmovi i karakteristike DP modela

Pod terminom sistem podrazumeva se fizički (tehnički, ekonomski,...)


sistem koji se može definisati kao vektor stanja
h i
r(t) = r1 (t) r2 (t) · · · rN (t) .

Komponente vektora r(t) odred̄uju osobine sistema, a broj N naziva se


dimenzijom sistema. Ako p0 označava početno, a p1 , p2 , . . . pn , . . . stanja
sistema u uzastopnim vremenskim trenucima, onda postoji relacija

pn+1 = W (pn ), n = 0, 1, 2, . . . ,

koja predstavlja skup vektora (po , p1 , p2 , . . . , ) kao reprezentaciju ponašanja


sistema u diskretnim trenucima vremena n = 0, 1, 2, . . . . Tada se može
reći da takav skup vektora definiše jednu specijalnu vrstu procesa koja se
naziva višeetapni proces. Jasno je da je ovakva vrsta procesa definisana
početnim stanjem sistema p = p0 i trasformacijom W (p), što se simbolično
može predstaviti sa
[p, W (p)].
Proces se najjednostavnije može opisati kao ponašanje sistema u toku
vremena. U opštem obliku, skalarne funkcije G(po , p1 , p2 , . . . , pn ) koje zavise
od procesa mogu se, kod višeetapnih procesa, iskazati kao funkcije sledećeg
tipa
Xn
G(pi ).
i=0

S tim u vezi nas će pre svega interesovati razni procesi upravljanja, odnosno
procesi koji protiču u vremenu i na čiji tok možemo uticati planiranjem i
realizacijom odgovarajućih aktivnosti.
Dinamičko programiranje 289

Naravno, u vezi sa ovom problematikom, prirodno se nameće pitanje


merljivosti, tj. kako odrediti koji od dva i više modela upravljanja pro-
cesom najbolje zadovoljava neke unapred postavljene kriterijume. Da bi
odgovorili na ovo pitanje, potrebno je izvršiti matematičku karakterizaciju
ovog zadatka, tj. izabrati neki numerički kriterijum F kojim možemo do-
voljno dobro opisati stanje u procesu, pa na taj način izmeriti i samu efika-
snost njegovim upravljanjem. Sasvim je jasno da će kriterijum F pri izboru
raznih modela upravljanja imati i različite numeričke vrednosti na osnovu
kojih možemo planirati neke akcije u budućnosti tako da F dostigne opti-
malnu vrednost, tj. maksimum ili minimum, u zavisnosti od toga kako je
postavljen sam zadatak.
Kada je reč o upravljanju procesima treba reći da pored metode di-
namičkog programiranja, postoje i druge matematičke metode med̄u ko-
jima je metoda dinamičkog programiranja svakako najvažnija. Kako se pri-
menjuje metoda DP-a u upravljanju procesom? Osnovna ideja u primeni
ove metode sastoji se u tome da se izabrana strategija upravljanja razbije na
više faza, pa na taj način sam proces postaje višestepeni proces, tj. možemo
reći sastoji se od n faza. Označimo sa U neko upravljanje datim procesom.
Ako se radi o višestepenom procesu sa n faza, onda se u svakoj fazi prime-
njuje neko upravljanje Ui (i = 1, . . . , n). Upravljanje čitavim procesom, u
tom slučaju, predstavlja niz upravljanja po fazama, tj.

U = (U1 , U2 , . . . , Un )

koji ćemo dalje zvati strategija. Sada, svakoj izabranoj strategiji odgovara
odred̄ena vrednost kriterijuma F , tj.

F (U ) = F (U1 , . . . , Un ).

Osnovni cilj u optimalnom upravljanju jeste izbratii takvu strategiju U ∗ za


koju kriterijum F postiže svoju optimalnu vrednost, tj.

F (U ∗ ) = (opt)F.

Ako sa fi označimo efekat koji se postiže u i-toj fazi upravljanja Ui , tada je


ukupan efekat fu optimizacije kriterijuma F jednak

fu = f1 + f2 + · · · + fn .

Postupak odred̄ivanja optimalne vrednosti kriterijuma F realizuje se tako


da upravljanje u svakoj fazi obezbed̄uje optimalno nastavljanje procesa.
Drugim rečima, u i-toj fazi izbor upravljanja se vrši s obzirom na preostale
290 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

mogućnosti izbora u preostalim fazama j = i+1, . . . , n. Onda se upravljanja


Uk biraju tako da se postigne optimalno upravljanje procesom ne samo u
toj fazi već na svim fazama j = i, i + 1, . . . , n zajedno.
Iz prethodnog izlaganja vidimo da se u optimalnom upravljanu procesa
metodama DP-a prvi put ide od poslednje faze ka prvoj pri čemu se biraju
uslovna optimalna upravljanja, a zatim od prve faze ka poslednjoj n-toj fazi
pri čemu biramo neuslovna optimalna upravljanja. S obzirom da je odre-
d̄ivanje optimalne vrednosti kriterijuma F znatno jednostavnije u slučaju
višefaznog procesa nego optimizacija u ”jednom potezu”, to se u praksi i
procesi koji po svojoj strukturi nisu višefazni razmatraju kao višefazni i na
taj način jednostavnije primenjuju metode dinamičkog programiranja. Na
kraju, navodimo neke opšte karakterisitke modela DP-a:

- Globalni model (problem) se rasčlanjuje na etape i u okviru svake


od njih se vrši optimizacija, tj. odred̄uju se optimalne promenljive
upravljanja.

– Etapa (faza) se definiše kao ured̄en skup stanja.

– Prilikom izbora procesa upravljanja transformacija svakog stanja tekuće


etape (faze) je povezana sa sledećom etapom. Ako se problem DP-a
interpretira kao mrežni model, svaki čvor u mreži odgovara jednom
stanju (slika 6.10).

– U analizi trenutnog stanja, najbolje upravljanje u narednoj etapi je


nezavisno od upravljanja (akcija) koje je realizovano u prethodnoj
etapi.

– Optimalno upravljanje počinje sa prvom ili poslednjom etapom, u za-


visnosti od prirode modela.

– Za dato optimalno upravljanje u etapi n + 1 postoji rekurzivna veza


sa pretohodnom, etapom n. Ovom vezom moguće je identifikovati
optimalno upravljanje datim procesom.

Praktična primena modela DP se može pokazati na primerima jednodi-


menzionalne ili višedimenzionalne optimalne raspodele resursa, pri čemu
resurs može biti materijal, radna snaga, mašine ili investicije. Problem se
sastoji u raspodeli jednorodnog resursa na n mesta trošenja, pri čemu ta
mesta mogu biti različiti proizvodni procesi prerade (utroška) razmatra-
nog resursa, ili različite linije, odnosno mašine, pri čemu je količina resursa
ograničena. Svako mesto trošenja (mašina, linija i slično) ima različitu efika-
Dinamičko programiranje 291

Slika 6.10: Šematski prikaz realizacije modela DP-a

snost, koja može da se ogleda kroz dobit koja se ostvaruje utroškom (pre-
radom, tretmanom) odred̄ene količine resursa na odred̄enom mestu (mašini,
liniji, pogonu). Kapacitet svakog mesta trošenja je takod̄e ograničen. Ako
funkcija cilja predstavlja dobit, onda se ona može napisati kao

F = f1 (x1 ) + · · · + fn (xn ), (6.16)

gde je
xj - količina resursa dodeljena j-tom procesu (mašini, liniji),
fj (xj ) - funkcija dobiti koja se ostvari kada se količina xj dodeli j-tom
procesu (mašini, liniji).
Pošto je količina resursa ograničena, sledi da je

x1 + x2 + · · · + xn ≤ S

gde je S ukupna količina raspoloživih resursa. U slučaju da su kapaciteti


procesa ograničeni, mogu da postoje i sledeća ograničenja

a1 x1 + · · · + an xn ≤ bn ,

gde je aj vrednost jedne jedinice resursa dodeljene j-tom procesu, a bj uku-


pan kapacitet j-tog procesa.
292 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

6.4.2 Bellman-ov princip optimalnosti

Osnovna ideja u primeni metoda DP-a, kako smo već prethodno istakli,
sastoji se u tome da se upravljanje nekim procesom podeli u više faza, a zatim
u svakoj od njih izabere optimalno upravljanje koje treba da omogući opti-
malno funkcionisanje procesa. Pritom, optimalno upravljanje ima osobinu
da, bez obzira na prethodno stanje i upravljanje u ranijim etapama, naredne
odluke moraju da daju optimalno upravljanje u odnosu na trenutno stanje
sistema. Reč je tzv. princip optimalnosti koji predstavlja srž metoda di-
namičkog programiranja, a postavio ga je Richard Bellman 1957. godine, u
svojoj knjizi Dynamic Programming, Princeton University Press, Princeton.
Od tada, model DP-a postaje važna tehnika u rešavanju niza najraznovrsni-
jih problema. Da bismo opisali praktičnu primenu Bellman-ovih principa,
posmatrajmo sledeći, čisto matematički primer.
Primer 6.4.1. Proizvoljan pozitivan broj c podeliti na n delova tako da njihov proizvod bude
maksimalan.

Rešenje: Označimo sa Fn (c) funkciju kriterijuma datog problema, odnosno traženu maksimalnu
vrednost proizvoda brojeva x1 , . . . , xn , za koje takod̄e važi x1 + · · · + xn = c. Za n = 1 imamo,
očito, F1 (c) = c, dok u slučaju n = 2 maksimalnu vrednost funkcije kriterijuma dobijamo na
osnovu jednakosti
F2 (c) = max{x(c − x)}.
x≤c

c
Jednostavnim računom nalazimo da funkcija f2 (x) = x(c − x) ima maksimum za x = 2
, tako da
optimalna vrednost funkcije Fn (c) u ovom slučaju glasi

c2
F2 (c) = .
4

Koristeći sada princip matematičke indukcije, pretpostavimo da je, za proizvoljno n, odred̄ena


optimalna vrednost funkcije Fn (c). Na osnovu poslednje jednakosti, možemo zaključiti da je tada
njen eksplicitni izraz
 c n
Fn (c) = ,
n
1
pri čemu je x1 = · · · = xn = n optimalno rešenje postavljenog problema. Pokažimo da ova
formula važi i u slučaju n + 1. Zaista, kako je

c−x n
   

Fn+1 (c) = max xFn (c − x) = max x , (6.17)
0≤x≤c 0≤x≤c n

na sličan način kao i ranije dobija se maksimalna vrednost funkcije

 n+1
c

Fn+1 (c) = ,
n+1

1
koja se ostvaruje za x1 = x2 = · · · = xn+1 = n+1
. 2
Dinamičko programiranje 293

Primetimo da se prethodni problem mogao rešiti i na drugi način, re-


cimo korišćenjem uslovnih ekstremuma funkcije F (x1 , . . . , xn ) = x1 · · · xn .
Ipak, naš osnovni motiv jeste da se primeni rekurzivni postupak (6.17)
zasnovan na principu optimalnosti Bellman-a. Opisaćemo sada detaljnije
matematički model Bellman-ovog principa optimalnosti za slučaj aditivne
funkcije kriterijuma.
Neka su date funkcije f1 (x1 ), f2 (x2 ), . . . , fn (xn ). Pretpostavimo da treba
naći vrednosti x1 , x2 , . . . , xn za koje funkcija

F (x1 , . . . , xn ) = f1 (x1 ) + · · · + fn (xn ) (6.18)

postiže maksimalnu vrednost uz ograničenja

a1 x1 + · · · + an xn ≤ bn

gde je aj ≥ 0, xj ≥ 0 i bn ≥ 0. Za proizvoljno k = 1, . . . , n uvodimo niz


funkcija {Fk (bk )} na sledeći način

F1 (b1 ) = max {f1 (x1 )} = max {f1 (x1 )} , (6.19)


a1 x1 ≤ b1 x1 ≤ b1 /a1

F2 (b2 ) = max {f1(x1 ) + f2 (x2 )}


a1 x1 +a2 x2 ≤ b2
 
= max max [f1 (x1 ) + f2 (x2 )]
a2 x2 ≤ b2 a1 x1 ≤ b2 −a2 x2
 
= max f2 (x2 ) + max [f1 (x1 )]
a2 x2 ≤ b2 a1 x1 ≤ b2 −a2 x2

= max {f2 (x2 ) + F1 (b2 − a2 x2 )} .


a2 x2 ≤ b2

U opštem slučaju, dobijamo

Fk (bk ) = max {fk (xk ) + Fk−1 (bk − ak xk )} , k = 2...n (6.20)


xk ≤ bk /ak

pri čemu je F0 (b0 ) = 0.


Jednačine (6.19) i (6.20) predstavljaju poznate Bellman-ove jednačine.
Na osnovu njih se polazni zadatak sa n promenljivih razlaže na n jedno-
stavnijih problema sa po jednom promenljivom, pa se, na taj način, rešavanje
može realizovati po fazama. Funkcija F1 se odred̄uje neposredno, dok se
funkcije F2 , . . . , Fn odred̄uju pomoću rekurentne formule (6.20), pri čemu
Fn (bn ) predstavlja traženu optimalnu vrednost.
294 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Na osnovu prethodnih razmatranja, možemo formirati efektivni postu-


pak odred̄ivanja optimalne strategije metodom DP-a. U nekom osnovnom
algoritamskom obliku, ovaj postupak se realizuje u sledećem nizu koraka:

1. Za svako b1 ≥ 0 i x1 ∈ [0, b1 /a1 ] izračunavamo f1 (x1 ). Neka je x∗1 (b1 )


ona vrednost x1 za koju funkcija f1 (x1 ) postiže maksimalnu vrednost
F1 (b1 ).

2. Za svako b2 ≥ 0 i x2 ∈ [0, x2 /a2 ] izračunavamo vrednost funkcije

F2 (b2 ) = f2 (x2 ) + F1 (b2 − a2 x2 ).

Pretpostavimo, opet, da za dato b2 ova funkcija postiže maksimalnu


vrednost za x∗2 = x2 (b2 ).

3. Slično nadalje postupamo sa funkcijama F3 , F4 , . . . , Fn−1 .

4. Razmotrimo poslednju jednačinu iz (6.20), koja se dobija za k = n. Za


jedinstveni zadati broj bn ≥ 0 postoji vrednost x∗n = xn (bn ) za koju je

(max) F = Fn (bn ).

Dakle, kriterijum F , definisan jednakošću (6.18), dostiže svoju opti-


malnu, maksimalnu vrednost u poslednjoj iteraciji Fn (bn ). Na kraju,
treba još izdvojiti skup pronad̄enih optimalnih vrednosti, tj. jednu
ili više n-torki vrednosti (x∗1 , . . . , x∗n−1 , x∗n ) za koje se ostvaruje maksi-
mum funkcije kriterijuma F .

5. Bez obzira na prethodne vrednosti x∗1 , . . . , x∗n−1 , optimalno upravljanje


u poslednjoj fazi će biti opisano sa x∗n = xn (bn ). Za tako dobijeno x∗n
izračunavamo b∗n−1 = bn−1 − an xn , kao i x∗n−1 = xn−1 (bn−1 ). Pošto
odredimo x∗n i x∗n−1 izračunavamo b∗n−2 = bn − an x∗n − an−1 x∗n−1 kojih
može biti više, a zatim i x∗n−2 = xn−2 (bn−2 ). Dalje se identičnim po-
stupkom odred̄uju vrednosti x∗n−3 , . . . , x∗2 , x∗1 , čime se konačno dobija
tražena optimalna strategija upravljanja

U ∗ = (x∗1 , . . . , x∗n ).
Dinamičko programiranje 295

6.4.3 Neke primene DP modela

Primena Bellman-ovog principa optimalnosti je veoma široka i moguća


je u raznim oblastima nauke, tehnike ili ekonomije. Ovde ćemo opisati
njegovu primenu u nekim od značajnijih oblasti privrednog poslovanja, pre
svega, nalaženju optimalnog plana ulaganja odred̄enih finansijskih sredstava
prilikom formiranja investicionih projekata. U sledećem primeru dajemo
ilustraciju Bellman-ovog kriterijuma optimalnosti na primeru investicija u
oblasti bankarskog poslovanja.
Primer 6.4.2. Investiciona banka raspolaža sa 40 miliona dinara koje želi da uloži u odred̄ene
profitabilne projekte. Nakon obavljene selekcije projekata od strane stručnih službi, izdvojena
su tri projekta P1 , P2 i P3 koji su interesantni za banku. Očekivani profit od ulaganja, kojim se
izražava njegova efikasnost, data je tabelom:

Vrednost ulaganja P1 P2 P3
10 6 5 6
20 15 14 18
30 24 23 30
40 32 30 35

Ulaganje u pojedine projekte se može realizovati u iznosima od 10, 20, 30 i 40 miliona dinara.
Odrediti optimalan plan investiranja banke za koji će se ostvariti maksimalan ukupni profit.

Rešenje: Polazeći od Belmanovih jednačina, optimalni plan investiranja odredićemo u više etapa
u kojima ispitujemo efikasnost ulaganja u pojedine projekte.
U tu svrhu, označimo sa fi (xi ) očekivani profit ulaganja sume xi u i-ti projekat (i=1,2,3).
Vrednost funkcije F tada predstavlja ukupan profit ostvaren ulaganjem celokupne sume od 40
miliona dinara u pojedine projekte. Dakle, matematički model datog problema glasi

(max)F = f1 (x1 ) + f2 (x2 ) + f3 (x3 )

uz ograničenja
x1 + x2 + x3 = 40, x1 , x2 , x3 ≥ 0.
Sada, u prvoj etapi, odred̄ujemo vrednost funkcije

F1 (b1 ) = max f1 (x1 )


x1 ≤b1

gde je b1 ∈ {0, 10, 20, 30, 40} vrednost mogućih ulaganja u prvi projekat. Dobijamo sledeći niz
vrednosti
F1 (0) = 0, F1 (10) = 6, F1 (20) = 15, F1 (30) = 24, F1 (40) = 32.
U sledećoj, drugoj etapi potrebno je utvrditi optimalnu raspodelu ulaganja različitih iznosa
sredstava u projekte P1 i P2 . Stoga, na osnovu (6.19), ciljna funkcija ima oblik

F2 (b2 ) = max {f2 (x2 ) + F1 (b2 − x2 )}


x2 ≤b2

gde je b2 ∈ {0, 10, 20, 30, 40}. Pri izračunavanju vrednosti funkcije F2 (b2 ) koristimo podatke
o efikasnosti ulaganja u projekat P2 (druga kolona tabele), ali i prethodno dobijene vrednosti
funkcije F1 (b1 ).
296 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

Znači, za b2 = 0 imamo:

F2 (0) = max {f2 (x2 ) + F1 (0 − x2 )} = f2 (0) = 0 (x2 = 0);


x2 ≤0

dalje, za b2 = 10:

F2 (10) = max {f2 (x2 ) + F1 (10 − x2 )}


x2 ≤10
   
f2 (0) + F1 (10) 0+6
= max = max =6 (x2 = 0);
f2 (10) + F1 (0) 5+0

za b2 =20:

F2 (20) = max {f2 (x2 ) + F1 (20 − x2 )}


x2 ≤20
   
 f2 (0) + F1 (20)   0 + 15 
= max f2 (10) + F1 (10) = max 5+6 = 15 (x2 = 0);
f2 (20) + F1 (0) 14 + 0
   

za b2 = 30 :

F2 (30) = max {f2 (x2 ) + F1 (30 − x2 )}


x2 ≤30
   
 f2 (0) + F1 (30) 
  
 0 + 24 

f2 (10) + F1 (20) 5 + 15
   
= max = max = 24 (x2 = 0);

 f2 (20) + F1 (10)   14 + 6
 

f2 (30) + F1 (0) 23 + 0
   

za b2 = 40:

F2 (40) = max {f2 (x2 ) + F1 (40 − x2 )}


x2 ≤40

f2 (0) + F1 (40) 0 + 32
   
   
 f2 (10) + F1 (30)  5 + 24

 
 
 

 
= max f2 (20) + F1 (20) = max 14 + 15 = 32 (x2 = 0).
 f2 (30) + F1 (10)  23 + 6

 
 
 

 
  

f2 (40) + F1 (0) 30 + 0

Kao što vidimo, sve optimalne vrednosti dobijene su za vrednost x2 = 0, čime ukazuju da, u
postojećoj etapi, nije poželjno ulagati sredstva u drugi projekat.
Na kraju, izvršićemo optimalnu raspodelu sredstava na sva tri projekta. Optimalan plan
investiranja odrediémo na osnovu podataka o efikasnosti ulaganja u projekat P3 i prethodno
izračunatih (maksimalnih) vrednosti funkcije F2 (b2 ). Primenom formule

F3 (b3 ) = max {f3 (x3 ) + F2 (b3 − x3 )}


x3 ≤b3

gde je, opet, b3 ∈ {0, 10, 20, 30, 40}, za b3 = 0 imamo:

F3 (0) = f3 (0) = 0 (x3 = 0);

za b3 = 10:

F3 (10) = max {f3 (x3 ) + F2 (10 − x3 )}


x3 ≤10
   
f3 (0) + F2 (10) 0+6
= max = max =6 (x3 = 0 ili x3 = 10);
f3 (10) + F2 (0) 6+0
Dinamičko programiranje 297

za b3 = 20:

F3 (20) = max {f3 (x3 ) + F2 (20 − x3 )}


x3 ≤20
   
 f3 (0) + F2 (20)   0 + 15 
= max f3 (10) + F2 (10) = max 6+6 = 18 (x3 = 20);
f3 (20) + F2 (0) 18 + 0
   

za b3 = 30:

F3 (30) = max {f3 (x3 ) + F2 (30 − x3 )}


x3 ≤30
   
 f3 (0) + F2 (30) 
  
 0 + 24 

f3 (10) + F2 (20) 6 + 15
   
= max = max = 30 (x3 = 30);

 f 3 (20) + F 2 (10) 
 
 18 + 6 

f3 (30) + F2 (0) 30 + 0
   

za b3 = 40:

F3 (40) = max {f3 (x3 ) + F2 (40 − x3 )}


x3 ≤40

f3 (0) + F2 (40) 0 + 32
   
   
 f3 (10) + F2 (30)  6 + 24

 
 
 

 
= max f3 (20) + F2 (20) = max 18 + 15 = 36 (x3 = 30);
 f3 (30) + F2 (10)  30 + 6

 
 
 

 
  

f3 (40) + F2 (0) 35 + 0

Dobijene rezultate možemo prikazati u obliku tabele:

Vrednost ulaganja x1 F1 (x1 ) x2 F2 (x2 ) x3 F3 (x3 )


0 0 0 0 0 0 0
10 10 6 0 6 0 ili 10 6
20 20 15 0 15 20 18
30 30 24 0 24 30 30
40 40 32 0 32 30 36

Na osnovu dobijenih rezultata zaključujemo da se maksimalan profit u iznosu od 36 miliona


dinara ostvaruje ulaganjem 30 miliona dinara u treći i 10 milona dinara u prvi projekat. Ulaganje
u projekat P2 , sa stanovišta investiranja, nije opravdano. 2

Već smo istakli da se dinamičko programiranje (pisaćemo opet, kraće,


DP) može primenjivati u mnogobrojnim problemima iz oblasti ekonomije:
raspodeli resursa, planiranju investicija i proizvodnje, odred̄ivanju optima-
lnih tehnoloških procesa, itd. Razmotrićemo sada jednu od zanimljivijih
primena metoda DP-a, odnosno jednačina Belmana (6.20), u optimizaciji
zaliha, kao važnom segmentu poslovanja svakog preduzeća.
Pretpostavimo da na skladištu imamo ograničene količine zaliha neke
sirovine koja se u procesu proizvodnje može koristiti na n različitih načina.
Neka je xj , j = 1, 2, . . . , n količina sirovine koja se koristi u j-tom načinu
proizvodnje, a fj (xj ) njoj odgovarajuća dobit. Tada se vrednost funkcije
Fk (bk ) interpretira kao maksimalna dobit od prvih k načina proizvodnje,
298 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

kada se upotrebljava bk jedinica sirovine. Postupak optimizacije zasniva


se na utvrd̄ivanju optimalnih količina xj ≤ bj za koje će preduzeće ostva-
riti maksimalnu ukupnu dobit. Primenom Bellman-ovog principa, iterativni
postupak nalaženja optimalnih vrednosti x1 , . . . , xn možemo prikazati u ob-
liku modifikovanih jednačina (6.19) i (6.20):

 F1 (b1 ) = xmax

 1 ≤b1
f1 (x1 )
(6.21)
 Fk (bk ) = max {fk (xk ) + Fk−1 (bk − xk )}, k = 2, . . . , n.


xk ≤bk

Dakle, postavljeni zadatak opet se može interpretirati kao višetapni pro-


ces odlučivanja, gde se u svakoj etapi odred̄uje količina sirovine koja će se
koristiti u datom režimu proizvodnje. Na taj način, struktura problema je
invarijantna u odnosu na broj etapa.
Primer 6.4.3. Na početku procesa proizvodnje preduzeće planira ukupnu nabavku od 50 tona
sirovine koja se koristi za izradu dva proizvoda A i B. Efekat ulaganja (u 000 din.) u proizvodnju
ovih proizvoda, na osnovu količine utrošene sirovine, iznosi

Sirovina A B
10 200 150
20 300 320
30 450 480
40 600 580
50 750 760

Odrediti optimalnu raspodelu ulaganja sredstava za oba proizvoda tako da preduzeće ostvari ma-
ksimalnu ukupnu dobit.

Rešenje: Označimo sa f1 (x1 ) i f2 (x2 ) očekivani profit izrade proizvoda A i B, respektivno,


na osnovu uložene količine od xi tona sirovine (i=1,2). Vrednost funkcije F predstavlja ukupan
profit ostvaren korišćenjem celokupne količine od 50 tona sirovine. Dakle, matematički model
datog problema glasi
(max)F = f1 (x1 ) + f2 (x2 )
uz ograničenja
x1 + x2 ≤ 50, x1 , x2 ≥ 0.
U prvoj etapi, odred̄ujemo vrednost funkcije

F1 (b1 ) = max f1 (x1 )


x1 ≤b1

gde je b1 ∈ {0, 10, 20, 30, 40, 50}. Dobijamo niz vrednosti

F1 (0) = 0, F1 (10) = 200, F1 (20) = 300, F1 (30) = 450, F1 (40) = 600, F1 (50) = 750.

U sledećoj etapi nalazimo optimalnu raspodelu kolčina za proizvodnju oba proizvoda. Na


osnovu (6.21), ciljna funkcija glasi

F2 (b2 ) = max {f2 (x2 ) + F1 (b2 − x2 )}


x2 ≤b2
Dinamičko programiranje 299

gde je b2 ∈ {0, 10, 20, 30, 40, 50}. Znači, za b2 = 0 imamo:

F2 (0) = max {f2 (x2 ) + F1 (0 − x2 )} = f2 (0) = 0 (x2 = 0);


x2 ≤0

dalje, za b2 = 10:

F2 (10) = max {f2 (x2 ) + F1 (10 − x2 )}


x2 ≤10
   
f2 (0) + F1 (10) 0 + 200
= max = max = 200 (x2 = 0);
f2 (10) + F1 (0) 150 + 0

za b2 =20:

F2 (20) = max {f2 (x2 ) + F1 (20 − x2 )}


x2 ≤20
   
 f2 (0) + F1 (20)   0 + 300 
= max f2 (10) + F1 (10) = max 150 + 200 = 350 (x2 = 10);
f2 (20) + F1 (0) 320 + 0
   

za b2 = 30 :

F2 (30) = max {f2 (x2 ) + F1 (30 − x2 )}


x2 ≤30
   

 f2 (0) + F1 (30)   
 0 + 450 

f2 (10) + F1 (20) 150 + 300
   
= max = max = 520 (x2 = 20);

 f 2 (20) + F 1 (10) 
 
 320 + 200 

f2 (30) + F1 (0) 480 + 0
   

za b2 = 40:

F2 (40) = max {f2 (x2 ) + F1 (40 − x2 )}


x2 ≤40

f2 (0) + F1 (40) 0 + 600


   
   
 f2 (10) + F1 (30)  150 + 450

 
 
 

 
= max f2 (20) + F1 (20) = max 320 + 300 = 680 (x2 = 30);
 f2 (30) + F1 (10)  480 + 200

 
 
 

 
  

f2 (40) + F1 (0) 580 + 0

za b2 = 50:

F2 (50) = max {f2 (x2 ) + F1 (50 − x2 )}


x2 ≤50

f2 (0) + F1 (50) 0 + 750


   
   
f2 (10) + F1 (40) 150 + 600

 
 
 


 
 
 

f2 (20) + F1 (30) 320 + 450
   
= max = max = 780 (x2 = 30 ili x2 = 40).

 f2 (30) + F1 (20) 
 
 480 + 300 

 f2 (40) + F1 (10)  580 + 200

 
 
 

 
  

f2 (50) + F2 (0) 760 + 0

Znači, maksimalni profit od 780 hiljada dinara može se ostvariti na dva načina:
1. Ulaganjem x1 = 20 tona sirovine u proizvodnju proizvoda A, a ostalih x2 = 30 tona u
proizvod B.
2. Ulaganjem x1 = 10 tona sirovine u izradu proizvoda A, a ostalih x2 = 40 tona u proizvod-
nju proizvoda B. 2
300 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

6.5 Zadaci za vežbu

1. Neka su f : Rn → R i g : R → R proizvoljna preslikavanja. Pokazati da za


njihovu kompoziciju h = g ◦ f važe sledeća tvrd̄enja:

(a) Ako je f konveksna, a g konveksna i neopadajuća funkcija, onda je h = g ◦ f


konveksna funkcija.
(b) Ako je f konkavna, a g konveksna i nerastuća funkcija, onda je h = g ◦ f
konveksna funkcija.

Formulisati odgovarajuća tvrd̄enja koja daju potrebne uslove za konkavnost funkcije


h = g ◦ f.

Rešenje:

(a) Neka su x, y ∈ Rn i λ ∈ (0, 1). Tada je

f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y).

Odavde, na osnovu pretpostavljenih osobina za g, imamo

g (f (λx + (1 − λ)y)) ≤ g (λf (x) + (1 − λ)f (y))

≤ λg (f (x)) + (1 − λ)g (f (y)) .

(b) Analogno kao pod (a). 2

2. Ispitati konveksnost, odnosno konkavnost, sledećih funkcija:

(a) f (x1 , x2 ) = 2x21 + 3x22 − 2x1 − 6x2 + 4x1 x2


√ √
(b) f (x1 , x2 ) = x1 + x2 − 3x1 x2 , x1 , x2 ≥ 0

Rešenje:

(a) Pokazujemo da važi jednakost (6.6). Neka su x1 , x2 ∈ R2 proizvoljne tačke, pri čemu
označimo x2 − x1 = (p, q)T ∈ R2 . Tada je
"   #
2  
T p p
∇f (x2 ) − ∇f (x1 ) (x2 − x1 ) = 6p2 + 8pq + 6q 2 = q 2 6

+8 + 6 ≥ 0,
q q

jer je F (u) = 6u2 + 8u + 6 strogo pozitivna kvadratna funkcija. Znači, funkcija f jeste
konveksna.
Zadaci za vežbu 301

(b) Slično kao pod (a) treba pokazati da za svako x1 , x2 ∈ R2 važi nejednakost
 T
∇f (x2 ) − ∇f (x1 ) (x2 − x1 ) ≤ 0,

odakle sledi konkavnost funkcije f . 2

3. Sledeće probleme NLP-a rešiti svod̄enjem na Lagrange-ov dualni zadatak:


(a) (min)f (x) = x2 + 1 (b) (min)f (x1 , x2 ) = x21 + 9x22
(x − 2)(x − 4) ≤ 0; 2x1 + x2 ≥ 1
x1 + 3x2 ≥ 1.

Dati grafičku interpretaciju problema, optimalnih rešenja i Lagrange-ove dualne


funkcije.

Rešenje:

(a) Minimalna vrednost funkcije cilja (min)f = 5, ostvaruje se za optimalne vrednosti


promenljivih x1 = x2 = 2.
9
(b) Optimalna vrednost funkcije cilja (max) f = ostvaruje se za vrednosti promenljivih
4
1
x1 = x2 = − . 2
2

4. Gradijentnom metodom rešiti sledeće probleme NLP-a:

(a) (min)f (x) = (x1 − 4)2 + (x2 − 3)2 (b) (max)f (x) = x21 + x1 + 2x22 + 2x2 + 3
2x1 + 5x2 ≤ 10 x1 + 2x2 ≤ 3
2x1 + x2 ≤ 6; x1 + x2 ≤ 1.

Dati grafičku interpretaciju problema i proveriti da li njihova optimalna rešenja


zadovoljavaju uslove Khun-Tucker-a.

Rešenje:

(a) Minimalna vrednost funkcije cilja (min)f = 5, ostvaruje se za optimalne vrednosti


promenljivih x1 = x2 = 2.
9
(b) Optimalna vrednost funkcije cilja (max) f = ostvaruje se za vrednosti promenljivih
4
1
x1 = x2 = − . 2
2

5. Isečak kruga P0 OPn jediničnog poluprečnika ima centralni ugao α, kao na


slici ??
302 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

(a) Odrediti maksimalnu dužinu izlomljene linije P0 P1 · · · Pn sasatavljene od


tetiva datog luka.
(b) Na osnovu prethodnog rezultata pokazati da je poligon sa navećim obimom
koji se može upisati u dati krug, jednakostranični, pravilni poligon.
Rešenje:

(a) Pokazati da je dužina poligonalne linije P0 P1 · · · Pn jednaka


n
X αi
Fn (α) = 2 sin ,
i=1
2
gde je αi = ∡Pi−1 OPi , i = 1, . . . , n. Odavde je
 
θ
(max)Fn (α) = max 2 sin + Fn−1 (α − θ) .
0≤θ≤α 2
π
(b) Na osnovu prethodnog rezultata, imamo da je (max)Fn (2π) = 2n sin n
maksimalni
obim n-stranog poligona upisanog u dati krug.

6. Odrediti optimalan plan ulaganja 100 miliona dinara u tri projekta čija je
efikasnost ulaganja, u zavisnosti od nivoa uloženih sredstava, prikazana tabelom:
Visina uloženih Projekti
sredstava P1 P2 P3
20 12 11 16
40 26 36 37
60 42 45 46
80 62 60 63
100 76 78 80

Rešenje:

Rezultat dinamičke analize glasi:

Vrednost ulaganja x1 F1 (x1 ) x2 F2 (x2 ) x3 F3 (x3 )


20 20 12 0 12 20 16
40 40 26 40 36 40 37
60 60 42 40 48 20 52
80 80 62 0 62 40 73
100 100 76 40 78 40 85

Maksimalna dobit iznosi 85 miliona dinara i ostvaruje se za vrednosti ulaganja


x1 = 20, x2 = 40, x3 = 40 (miliona dinara u odgovarajući projekat, respektivno). 2

7. Preduzeće raspolaže sa 800 tona sirovine koju koristi za izradu tri proizvoda
(P1 , P2 , P3 ). Dobit (u 000 din.) ostvarena prodajom ovih proizvoda, u zavisnosti
od količine sirovine koja se utroši za njihovu izradu, prikazana je tabelom:
Zadaci za vežbu 303

Količina Proizvodi
sirovine P1 P2 P3
200 125 110 160
400 260 245 270
600 360 350 380
800 420 400 430

Odrediti optimalni program raspodele sirovine u izradu datih proizvoda tako da


preduzeće ostvari maksimalni ukupni profit.

Rešenje:

Rezultat dinamičke analize:

Količina sirovine x1 F1 (x1 ) x2 F2 (x2 ) x3 F3 (x3 )


200 200 125 0 125 200 160
400 400 260 0 260 200 285
600 600 360 200 370 200 420
800 800 420 400 505 200 530

Maksimalna dobit u iznosu od 530 hiljada dinara ostvaruje se pri raspodeli

x1 = 400, x2 = 200, x3 = 200 tona sirovine u odgovarajući proizvod, respektivno. 2


304 Glava 6. NELINEARNO I DINAMIČKO PROGRAMIRANJE

You might also like