matematicko programiranje - optimalno upravljanje...

64

Upload: others

Post on 02-Sep-2020

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje

Optimalno upravljanje sistemima

doc. dr Aleksandra Marjanovi¢Katedra za signale i sistemeElektrotehni£ki fakultet, Univerzitet u Beogradu

Page 2: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Matemati£ko programiranje (MP) se odnosi na nalaºenje ekstemuma(minimuma ili maksimuma) funkcije sa vi²e promenljivih u prisustvuograni£enja. Ovakva funkcija se naj£e²¢e naziva kriterijumska funkcija(performansa, indeks performanse, cena)

Pri re²avanju ovog problema ograni£enja mogu biti data u vidu jedna-kosti ili nejednakosti. Ukoliko ograni£enja ne postoje, govori se ekstre-mizaciji bez ograni£enja (unconstrained extremization)

Svako re²enje koje ispunjava ograni£enja zove se mogu¢e, dopustivo(feasible) re²enje. Ono re²enje koje ekstremizuje funkciju, naziva seoptimalnim.

1

Page 3: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

De�ni²u se dve vrste minumuma:

De�nicija: Jak minimum.

Jak minimum postoji ukoliko se kriterijumska funkcija se lokalno pove-¢ava u svim pravcima. Dakle, ta£ka x je jak minimum funkcije f(x) uko-liko (∃δ > 0) f(x) < f(x+∆x) za svako ∆x za koje vaºi 0 < ‖∆x‖ ≤ δ.

De�nicija: Slab minimum.

O slabom minimumu se govori onda kada kriterijumska funkcija ostajeista u nekim pravcima, a lokalno se pove¢ava u svim ostalim. Drugimre£ima, ta£ka x je slab minimum funkcije f(x) ukoliko nije jak minimumi ako (∃δ > 0) f(x) ≤ f(x+∆x) za svako ∆x za koje vaºi 0 < ‖∆x‖ ≤ δ.

Minimum je globalni ukoliko prethodne de�nicije vaºe za δ → ∞. Usuprotnom se govori o lokalnom minimumu. Analogno se de�ni²e imaksimum funkcije.

2

Page 4: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Optimizacija bez ograni£enja funkcije jedne promenljive

f(x) = f(x) +d

dxf(x)|x=x(x− x) +

1

2

d2

dx2f(x)|x=x(x− x)2 + o(x− x)2

za x = x : f(x) = f(x) +1

2

d2

dx2f(x)|x=x(x− x)2

Potrebni i dovoljni uslovi

• Potreban uslov lokalnog minimumafunkcije f(x) u ta£ki x = x je:

df(x)

dx|x=x = 0

Ta£ka x = x se zove stacionarna ta£ka.

• Dovoljan uslov lokalnog minimumafunkcije f(x) u ta£ki x = x je:

d2f(x)

dx2|x=x > 0

f(x)

xxm2xM1xm1

3

Page 5: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Optimizacija bez ograni£enja funkcije vi²e promenljivih

f(x) = f(x) + (x− x)T∇f(x) +1

2(x− x)THf (x)(x− x) + o(x− x)2

x = [x1 . . . xn]T , x = [x1 . . . xn]T

Gradijent: ∇f(x) =

[∂f

∂x1. . .

∂f

∂xn

]T|x=x

Hessian matrica: Hf (x) =

∂2f∂x2

1. . . ∂2f

∂x1xn

.... . .

...∂2f

∂xnx1. . . ∂2f

∂x2n

|x=x

Potrebni i dovoljni uslovi

• Potreban uslov lokalnog minimuma funkcije f(x) u ta£ki x = x je:

∇f(x) = 0

• Ako je prvi uslov ispunjen, dovoljan uslov lokalnog minimuma funkcijef(x) u ta£ki x = x je uslov pozitivne de�nitnosti Hessian matrice.

4

Page 6: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

De�nicija: Pozitivna (semi)de�nitnost.

Simetri£na matrica A je pozitivno de�nitna ukoliko je xTAx > 0 zasvaki vektor x 6= 0. Simetri£na matrica A je pozitivno semide�nitnaukoliko je xTAx ≥ 0 za svaki vektor x 6= 0.

Teorema: Silvesterov kriterijum.

Simetri£na matrica A dimenzije n je pozitivno de�nitna ako i samoako su svi glavni minori matrice A pozitivni. Simetri£na matrica Adimenzije n je negativno de�nitna ako i samo ako glavni minori matriceA naizmeni£no menjaju znak.

5

Page 7: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Teorema.

Neka su λ1, λ2, . . . , λn sopstvene vrednosti kvadratne matrice A. Zanju kaºemo da je:

• pozitivno de�nitna ukoliko (∀i)λi > 0;

• pozitivno semide�nitna ukoliko (∀i)λi ≥ 0;

• negativno de�nitna ukoliko (∀i)λi < 0;

• negativno semide�nitna ukoliko (∀i)λi ≤ 0;

• nede�nitna ukoliko (∃i, j)λiλj < 0;

Podsetnik iz algebre.

y ∂y/∂x

Ax AT

xTA A

xTx 2x

xTAx Ax+ATx 6

Page 8: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

f(x) = xTAx+ bTx

A =

[3 −1

1 4

], b =

[1

−1

]Re²enje.

∇f (x) = Ax+ATx+ b =(A+AT

)x+ b

x = −(A+AT

)−1b =

[−0.1667

0.1250

]

Hf (x) = AT +A =

[6 0

0 8

]> 0

=⇒ x je ta£ka minimuma.

7

Page 9: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

f(x) = xTAx+ bTx

A =

[1 −5

−5 3

], b =

[0

0

]Re²enje.

∇f (x) = Ax+ATx+ b =(A+AT

)x+ b

x = −(A+AT

)−1b =

[0

0

]

Hf (x) = AT +A =

[2 −10

−10 6

]> 0

λ1 = 14.198, λ2 = −6.198

=⇒ x je sedlasta ta£ka. 8

Page 10: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

f(x) =1

3x3

1 +1

2x2

1 + 2x1x2 +1

2x2

2 − x2 + 9

x =[x1 x2

]TRe²enje. (1/2)

∇f (x) =

[x2

1 + x1 + 2x2

2x1 + x2 − 1

]

=⇒ x1 =

[1

−1

], x2 =

[2

−3

]

Hf (x) =

[2x1 + 1 2

2 1

]

9

Page 11: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Re²enje. (2/2)

H1f =

[3 2

2 1

], λ1

1 = 4.2361, λ12 = −0.2361

=⇒ x1 je sedlasta ta£ka.

H2f =

[5 2

2 1

], λ2

1 = 5.8284, λ22 = 0.1716

=⇒ x1 je ta£ka minumuma.

10

Page 12: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Matlab primer.

[X1,X2]=meshgrid(-5:0.01:5,-5:0.01:5);f=1/3*X1�3+1/2*X1.�2+2*X1.*X2...+1/2*X2.�2-X2+9;�gurecontour3(X1,X2,f,20)�guremeshc(X1,X2,f);

f=@(x) 1/3*x(1)�3+1/2*x(1)�2+...2*x(1)*x(2)+1/2*x(2)�2-x(2)+9;[xmin,fval]=fminsearch(f,[2;-1]);

xmin = [2.0000 -3.0000]fval = 9.1667

11

Page 13: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Optimizacija sa ograni£enjima tima jednakosti

• Neka je zadatak minimizovati funkciju f(x) u skladu sa ograni£enjimakoja se mogu zapisati u obliku

h(x) = 0.

• Postoje dva su²tinski razli£ita pristupa re²avanju ovakvog problema:metoda eliminacije promenljivih ili metoda Lagranºovih multiplikatora.

Metoda eliminacije promenljivih

• Problem se svodi na optimizaciju bez ograni£enja tako ²to se iz p jed-na£ina ograni£enja izrazi p promenljivih x1, . . . , xp i one se uvrste ukriterijumsku funkciju f(x). Problem postaje

min f(xp+1, . . . , xn).

• Analiti£ki re²ivo samo u jednostavnim slu£ajevima, npr. kada su hi

linearne funkcije. Ako su funkcije nelinearne, da bi se mogla izvr²itieliminacija, Jakobijan preslikavanja hi mora biti punog ranga.

12

Page 14: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Metoda Lagranºovih multiplikatora

• Problemu se pridruºuje Lagranºova funkcija, tzv. Lagranºijan u obliku

L(x, λ) = f(x) +

p∑i=1

λihi(x)

gde su λi Lagranºovi multiplikatori.

• Neka su funkcije f(x), h1(x), . . . , hp(x) neprekidno diferencijabilne uokolini ta£ke x i neka je J(x) Jakobijan h(x). Ako je x lokalni mini-mum problema i ako je rangJ(x) = p, tada postoji λ tako da je

∇L(x, λ) = 0.

• Re²avanje problema se dalje svodi na

∇f (x) +

p∑i=1

λi∇h(x) = 0

hi = 0, i = 1, . . . , p

13

Page 15: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Metoda Lagranºovih multiplikatora

• Posmatraju¢i donju sliku moºe se izvesti intuitivni zaklju£ak da je re-²enje u prisustvu ograni£enja tipa jednakosti ta£ka u kojoj je funkcijaograni£enja tangentna na kriterijumsku funkciju. Naime, ukoliko postojipresek, u tom slu£aju se kretanjem po krivoj h(x) moºe dosti¢i manja(ve¢a) vrednost funkcije f(x). Odakle, postaje jasno da je traºeno re-²enje ta£ka u kojoj se ove dve krive dodiruju, tj. njihovi gradijenti suistog pravca (kolinearni), ²to se moºe zapisati u formi

∇f(x) = −λ∇h(x)

Dodatni zaklju£ak koji se moºe iz-vesti jeste da metoda Lagranºovihmultiplikatora daje samo potrebne

uslove za postojanje minimuma ilimaksimuma.

14

Page 16: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Na¢i pravougaonik date povr²ine A koji ima najmanji obim.

f(x) = O(x) = 2x1 + 2x2

P (x) = A→ h(x) = A− x1x2 = 0

Re²enje.

Metoda eliminacije promenljivih:

x1 =A

x2→ O (x) = 2 · A

x2+ 2x2 = O(x2)

dO (x2)

dx2= −2A

x22

+ 2 = 0 → x2 =√A, x1 = x2 =

√A

Metoda Lagranºovih multiplikatora:

L (x, λ) = O (x) + λ (A− P (x))

∇O (x)− λ∇P (x) = 0 ∧ P (x) = A

2− λx2 = 0, 2− λx1 = 0, x1x2 = A→ λ =2√A, x1 = x2 =

√A

15

Page 17: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Dualni problem. Na¢i pravougaonik datog obima O koji ima najve¢upovr²inu.

f(x) = P (x) = x1x2

O(x) = O → h(x) = 2x1 + 2x2 −O = 0

Re²enje.

Metoda eliminacije promenljivih:

x1 =O

2− x2 → P (x) = x2

(O

2− x2

)= P (x2)

dP (x2)

dx2=O

2− 2x2 = 0 → x2 =

O

4, x1 = x2 =

O

4Metoda Lagranºovih multiplikatora:

L (x, λ) = P (x) + λ (O (x)−O)

∇P (x)− λ∇O (x) = 0 ∧ O (x) = O

x2 − 2λ = 0, x1 − 2λ = 0, x1 + x2 =O

2→ λ =

O

8, x1 = x2 =

O

4 16

Page 18: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Na¢i minimum funkcije f(x1, x2) = x21+x2

2, pod linearnim ograni£enjemx1 + x2 + 2 = 0.Re²enje.

Jasno je da je u odsustvu ograni£enja minimum funkcije f(x) ta£kax1 = x2 = 0. Primenom prethodnih metoda pokazati da je re²enjeproblema ta£ka x1 = x2 = −1.

17

Page 19: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Optimizacija sa ograni£enjima tipa (ne)jednakosti

• Neka je MP problem postavljen nad n promenljivih xi i neka je sklalarnakriterijumska funkcija (cena) f(x) u op²tem slu£aju nelinearna funkcijapromeljivih xi.

• Neka su ograni£enja (tipa jednakosti ili nejednakosti), koja predstavljajunelinearne funkcije svih ili pojedinih promenljivih, data sa

g(x) =[g1(x) . . . gq(x)

]≥ 0

h(x) =[h1(x) . . . hp(x)

]= 0

• Tada se MP problem moºe formulisati na slede¢i na£in

min {f (x) |gj (x) ≥ 0, j = 1, . . . , q; ;hl (x) = 0, l = 1, . . . , p}

18

Page 20: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Na¢i maksimum funkcije f(x1, x2) = x1x2.Pod ograni£enjima:

0.8− x1 ≥ 0

0.8− x2 ≥ 0

x1 ≥ 0

x2 ≥ 0

x21 + x2

2 − 1 = 0

Re²enje.

Rezultat mora biti unutar kvadrata OCBA i to na luku DE u skladusa ograni£enjima. Maksimum funkcije f(x1, x2) je u ta£ki G.

xo1 = xo2 =1√2

fo = f (xo1, xo2) =

1

2

Preuzeto iz: D. Tabak and B. Kuo, �Optimal control by mathematical programming". 19

Page 21: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Klasi�kacija MP problema

• Ukoliko su funkcije f(x), gj(x), hl(x), j = 1, . . . , q, l = 1, . . . , p linearnefunkcije promenljivih xi, i = 1, . . . , n, tada se problem svodi na problem

linearnog programiranja (LP). Drugim re£ima kriterijumska funkcija iograni£enja su dati u formi

f (x) =

n∑i=1

cixi = cTx, Ax

{≥=

}b

• Ukoliko je kriterijumska funkcija f(x) kvadratna, a sva ograni£enja li-nearna, govori se o problemu kvadratnog programiranja (QP). Kriteri-jumska funkcija je oblika

f (x) =n∑i=1

cixi +n∑

i,j=1

xidijxj = cTx+ xTDx

• Op²ta forma MP jeste problem nelinearnog programiranja (NLP). Do-voljno je da makar jedno od ograni£enja bude nelinearnog tipa. (pret-hodni primer)

20

Page 22: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Konveksnost

De�nicija:

Skup je konveksan ukoliko za bilo koje dve ta£ke koje pripadajuskupu i linija koja spaja te dve ta£ke pripada skupu.

21

Page 23: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Konveksnost

• Posmatrajmo skup S i ta£ke A i B unjemu. Za skup S vaºi da je konveksanukoliko za svake dve ta£ke x1, x2 iz skupaS vaºi

λx1 + (1− λ)x2 ∈ S, 0 ≤ λ ≤ 1

• Sli£no se uvodi i pojam konveksne funk-cije. Funkcija je konveksna na skupu S,ukoliko za svake dve ta£ke x1, x2 iz skupaS vaºi

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

0 ≤ λ ≤ 1

• LP je problem konveksnog programiranja22

Page 24: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Kun-Takerova (Kuhn-Tucker) teorema

• 1951, naziva se jo² i Karush-Kuhn-Tucker teorema

• Predstavlja uop²tenje metode Lagranºovih multiplikatora

• Neka je problem formulisan minimizacijom (maksimizacijom) funkcijepod ograni£enjima

g(x) =[g1(x) . . . gq(x)

]≤ 0

h(x) =[h1(x) . . . hp(x)

]= 0

• Ako je x lokalni optimum i ako optimizacioni problem zadovoljava jo²neke dodatne uslove regularnosti, tada postoje konstante µj , j = 1 . . . , qi λl, l = 1, . . . p koje se nazivaju KKT multiplikatori tako da su zadovo-ljeni slede¢i uslovi:• Stacionarnosti(stationarity):

∇f (x) =∑qj=1 µj∇gj (x) +

∑pl=1 λl∇hl (x)

• Osnovne izvodivosti (primal feasibility):

gj(x) ≤ 0, j = 1, . . . , q hl(x) = 0, l = 1, . . . , p

• Dualne izvodivosti (dual feasibility): µj ≥ 0, j = 1, . . . , q

• Komplementarne labavosti (complementary slackness)

µjgj(x) = 0, j = 1, . . . , q 23

Page 25: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Minimizovati f (x) = x21 − 4x1 + x2

2 − 6x2

Pod uslovimima: x1 + x2 ≤ 3, −2x1 + x2 ≤ 2

Re²enje. (1/2)

Lagranºijan je jednak:

L (x, µ) = x21 − 4x1 + x2

2 − 6x2 + µ1 (x1 + x2 − 3) + µ2 (−2x1 + x2 − 2)

Kun-Takerovi uslovi:

2x1 − 4 + µ1 − 2µ2 = 0

2x2 − 6 + µ1 + µ2 = 0

x1 + x2 − 3 ≤ 0, −2x1 + x2 − 2 ≤ 0

µ1 ≥ 0, µ2 ≥ 0

µ1 (x1 + x2 − 3) = 0, µ2 (−2x1 + x2 − 2) = 0

24

Page 26: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Re²enje. (2/2)

1oµ1 = 0, µ2 = 0→ 2x1 − 4 = 0, 2x2 − 6 = 0→ x1 = 2, x2 = 3

→ x1 + x2 − 3 ≤ 0

→ nisu zadovoljeni Kun-Takerovi uslovi

2oµ1 = 0, µ2 6= 0→ 2x1−4−2µ2 = 0, 2x2−6+µ2 = 0,−2x1+x2−2 = 0

→ x1 = 4/5, x2 = 18/5, µ2 = −6/5→ x1 + x2 − 3 ≤ 0

→ nisu zadovoljeni Kun-Takerovi uslovi

3oµ1 6= 0, µ2 = 0→ 2x1 − 4 + µ1 = 0, 2x2 − 6 + µ1 = 0, x1 + x2 − 3 = 0

→ x1 = 1, x2 = 2, µ1 = 2

→jesu zadovoljeni Kun-Takerovi uslovi

4oµ1 6= 0, µ2 6= 0→ 2x1 − 4 + µ1 − 2µ2 = 0, 2x2 − 6 + µ1 + µ2 = 0,

x1 + x2 − 3 = 0,−2x1 + x2 − 2 = 0

→ x1 = 1/3, x2 = 8/3, µ1 = 14/9, µ2 = −8/9 < 0

→ nisu zadovoljeni Kun-Takerovi uslovi

25

Page 27: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer.

Maksimizovati f (x) = (x− 1)3

Pod uslovimima: x ≤ 2, x ≥ 0

Re²enje.

Lagranºijan je jednak:

L (x, µ) = (x− 1)3

+ µ (2− x)

Kun-Takerovi uslovi:

3(x− 1)2 − µ ≤ 0

x(

3(x− 1)2 − µ

)= 0

2− x ≥ 0

µ (2− x) = 0, µ ≥ 0

Ta£ka x = 1, µ = 0 zadovoljava Kun-Takerove uslove, me�utim nijeta£ka maksimuma. Kun-Takerovi uslovi su potrebni, ali ne dovoljni

uslovi u MP problemima.26

Page 28: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer. Maksimizacija prihoda/prodaje.

Razmatra se �rma koja ºeli da maksimizuje prihod od prodaje nekogproizvoda, uz ograni£enje minimalnog dopustivog pro�ta. Neka je Qkoli£ina proizvoda, a R(Q) prihod od njegove prodaje sa pozitivnimprvim izvodom i nultom vredno²¢u u nuli, a C(Q) tro²kovi proizvodnjetog proizvoda sa pozitivnim prvim izvodom i nenegativnom vredno²¢uu nuli. Neka je Gmin pozitivan minimalan nivo pro�ta koji se zahteva,tada se problem moºe predstaviti u formi:

• Maksimizovati R(Q)

• Uz ograni£enja: R(Q)− C(Q) ≥ Gmin, Q ≥ 0

→ ∂R

∂Q=

µ

µ+ 1

∂C

∂Q

→ margina prihoda manja od margine tro²kova!27

Page 29: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Primer. Maksimizacija prihoda/prodaje.

Q R(Q) C(Q)

1.0 89.00 5.5

3.0 261.00 207.00

5.5 464.75 205.75

6.8 565.76 386.72

8.4 685.40 445.68

11.0 869.00 623.00

12.5 967.75 743.75

14.7 1106.90 945.27

16.2 1193.56 1099.32

18.5 1322.75 1361.75

20.0 1400.00 1550.00

R (Q) = −1.0005Q2 + 89.988Q

C (Q) = 3Q2 + 10Q+ 150

D (Q) = R (Q)− C (Q) , Dmin = 50

→ D (Q) = −4.0005Q2 + 79.988Q− 150

−2.001Q+ 89.988− µ (8.001Q− 79.988) = 0

−4.0005Q2 + 79.988Q− 200 ≥ 0

Q ≥ 0

Q = 0→ 0 ≥ 200 ⊥→ Q > 0

→ −2.001Q+ 89.988− µ (8.001Q− 79.988) = 0

µ ≥ 0→ (ne)aktivno ograni£enje?

µ = 0→ −2.001Q+ 89.988 = 0

→ Q = 44.9715, D (Q) = −4643.6 ≥ 50 ⊥

→ µ > 0

→ Dmin −D (Q) = 0

→ Q1 = 2.9296, µ = −1.488 < 0 ⊥→ Q2 = 17.0649, µ = 1.013 < 0 > 28

Page 30: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Matemati£ko programiranje - Osnovni pojmovi

Dualnost

• Neka je problem minimizacije matemati£kog programiranja, tzv. osnovniproblem dat sa

min {f(x)|gj(x) ≤ 0, j = 1, . . . , q;xi ≥ 0, i = 1, . . . , n}

• U skladu sa njim de�ni²e se problem maksimizacije, tzv. dualni problemkao

max{L(x, µ)| ∂L(x,µ)

∂xi= 0, i = 1, . . . , n;µj ≥ 0, j = 1, . . . , q

}• Ovaj koncept uspostavlja odre�ene veze izme�u primarnog, tj. osnovnogi dualnog problema, kao npr. ukoliko jedan problem ima optimalno re-²enje i drugi problem ima optimalno re²enje. Kod konveksnih problema,re²enja su ista, ali u op²tem slu£aju postoji tzv. procep dualnosti (eng.duality gap). Nekada je jednostavnije re²iti dualni problem.

• Primer dualnosti u linearnom programiranju

max cTx uz ograni£enje Ax ≤ b, x ≥ 0

min bTx uz ograni£enje AT y ≤ c, y ≥ 0

29

Page 31: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Linearno programiranje

• Minimizovati (maksimizovati)

f(x) =∑ni=1 cixi = cTx

uz ograni£enja: ∑ni=1 ajixi ≤ bj , j = 1, . . . , p∑n

i=1 ajixi = bj , j = p+ 1, . . . , p+ q∑ni=1 ajixi ≥ bj , j = p+ q + 1, . . . ,m

• Uvodi se m− q pomo¢nih, tzv. izravnavaju¢ih promenljivih (eng. slackvariables) xsj ≥ 0∑n

i=1 ajixi + xsj = bj , j = 1, . . . , p∑ni=1 ajixi − xsj = bj , j = p+ q + 1, . . . ,m

→ max(min){cTx|Ax = b;xi ≥ 0, i = 1, . . . , N = n+m− q

}cT = [c1 . . . cn 0 . . . 0]

30

Page 32: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Simpleks algoritam

• 1947. godine - George Dantzig je dao re²enje u formi Simpleks algoritma

• Osnovna ideja Simpleks algoritma jeste prelazak iz temena u teme poli-edra odre�enog ograni£enjima (Ax = b, gde je u skladu sa prethodnomdiskusijom dimA = m×N), tako da se vrednost kriterijumske funkcijepove¢ava, ili bar ne smanjuje

• Osnovno dopustivo re²enje: Izabere se N−m vrednosti promenljivih (izskupa originalnih i pomo¢nih) koje se postave na nule, a preostalih mse izabere izabere tako da bude zadovoljen prethodni sistem jedna£ina.Na taj na£in se dobija osnovno re²enje. Ukoliko su sve promenljiveosnovnog re²enja nenegativne, onda to predstavlja osnovno dopustivo

re²enje

• Ekstremna ta£ka skupa: x je ekstremna ta£ka skupa S ako ne postojex1, x2 ∈ S, x1 6= x2, tako da vaºi x = λx1 + (1− λ)x2, (0 < λ < 1), tj. xse ne nalazi na segmentu x1 − x2 → ekstremne ta£ke su �¢o²£ovi�

31

Page 33: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

• Neka je postavka LP problema data sa

max{f(x) =

n∑i=1

cixi|

n∑i=1

ajixi ≤ bj ; bj ≥ 0, j = 1, . . . ,m;xi ≥ 0, i = 1, . . . , n}

• Uvode se odgovaraju¢e izravnavaju¢e promenljive xn+1, . . . xn+m takoda ∑n

i=1 ajixi + xn+j = bj , j = 1, . . . ,m

xn+j ≥ 0

• Tada se moºe usvojiti osnovno dopustivo re²enje

x1 = x2 = · · · = xn, xn+j = bj ≥ 0

• U tom slu£aju vrednost kriterijumske funkcije iznosi f(x) = 0. Kako jecilj maksimizovati kriterijumsku funkciju, nekima od promenljivih kojesu postavljene na vrednosti 0, treba dodeliti nenulte vrednosti, a umestonjih neke od pomo¢nih promenljivih moraju usvojiti vrednost 0.

32

Page 34: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

• Kako prepoznati koje?

Pretpostavimo da promenljiva xk, 1 ≤ k ≤ n, menja vrednost sa 0 na1. Tada se kriterijumska funkcija funkcija pove¢ava za odgovaraju¢e ck.Da bi doprinos porastu f(x) bio ve¢i, smisleno je birati ono xk komeodgovara najve¢a vrednost parametra ck. Sa druge strane, ukoliko njenomesto zauzima promenljiva xn+r, tj. ukoliko usvojimo xn+r = 0, dobijase uslov da xk = br/ark ≥ 0, odakle se zaklju£uje da dolaze u obzirsamo promenljive za koje je ark > 0. Iz uslova da preostale promenljivexn+j = bj−ajk · brark moraju ostati nenegativne moºe se izvesti zaklju£akda je dobar izbor promenljive koja treba da uzme vrednost nula ona zakoju je odnos br/ark minimalan, po²tuju¢i ograni£enje ark > 0. Pro-cedura se ponavlja u pravcu najbrºeg rasta funkcije f(x). Promenljivekoje imaju nenulte vrednosti £ine bazu, tj. bazis (eng. basis) i nazivajuse osnovne (eng. basic) promenljive, a preostale promenljive koje imajuvrednost nula su tzv. neosnovne, (eng. non-basic) promenljive. �esto seradi preglednog re²avanja LP problema na ovaj na£in, formira Simpleks

tabela, ²to ¢e biti ilustrovano narednim primerom.

33

Page 35: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Primer. Kompanija proizvodi kompjuterske komponente A, B i C.Komponenta A zahteva 2 sata prozvodnje i 1 sat sastavljanja, kompo-nenta B - 3 sata proizvodnje i 1 sat sastavljanja, a komponenta C -2 sata proizvodnje i 2 sata sastavljanja. Kompanija ima na raspola-ganju maksimalno 1000 sati za proizvodnju i 800 sati za sastavljanje,svake nedelje. Ako pro�t po komponentama A, B, C iznosti 7e, 8e i10e respektivno, koliko koje komponente proizvesti tako da pro�t budemaksimalan?Re²enje. (1/4)

max f(x) = 7x1 + 8x2 + 10x3

2x1 + 3x2 + 2x3 ≤ 1000

x1 + x2 + 2x3 ≤ 800

x1, x2, x3 ≥ 0

→ 2x1 + 3x2 + 2x3 + x4 = 1000

→ x1 + x2 + 2x3 + x5 = 800

x4, x5 ≥ 0 34

Page 36: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Re²enje. (2/4)

x1 x2 x3 x4 x5

x4 2 3 2 1 0 1000 1000/2=500

x5 1 1 2 0 1 800 800/2=400

f(x) -7 -8 -10 0 0 0

x4 2 3 2 1 0 1000x3 1/2 1/2 1 0 1/2 400 (0.5R2→R2)

f(x) -7 -8 -10 0 0 0

x4 1 2 0 1 -1 200 ((-2)R2+R1→R1)

x3 1/2 1/2 1 0 1/2 400f(x) -2 -3 0 0 5 4000 (10R2+R3→R3)

35

Page 37: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Re²enje. (3/4)

x1 x2 x3 x4 x5

x4 1 2 0 1 -1 200 200/2=100

x3 1/2 1/2 1 0 1/2 400 400/(1/2)=800

f(x) -2 -3 0 0 5 4000

x2 1/2 1 0 1/2 -1/2 100 (0.5R1→R1)

x3 1/2 1/2 1 0 1/2 400f(x) -2 -3 0 0 5 4000

x2 1/2 1 0 1/2 -1/2 100x3 1/4 0 1/2 -1/4 3/4 350 ((-0.5)R1+R2→R2)

f(x) -1/2 0 0 3/2 7/2 4300 (3R1+R3→R3)

36

Page 38: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Re²enje. (4/4)

x1 x2 x3 x4 x5

x1 1/2 1 0 1/2 -1/2 100 100/(1/2)=200

x3 1/4 0 1/2 -1/4 3/4 350 350/(1/4)=1400

f(x) -1/2 0 0 3/2 7/2 4300

x1 1 2 0 1 -1 200 (2R1→R1)

x3 1/4 0 1/2 -1/4 3/4 350f(x) -1/2 0 0 3/2 7/2 4300

x1 1 2 0 1 -1 200x3 0 -1/2 1 -1/2 1 300 ((-0.25)R1+R2→R2)

f(x) 0 0 0 2 3 4400 (0.5R1+R3→R3)

→ x1 = 200, x3 = 300 x2 = x4 = x5 = 0

→ f(x) = 4400

37

Page 39: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Primer.

max f(x) = 3x1 + 5x2

x1 + x2 ≥ 2

x2 ≤ 6

3x1 + 2x2 = 18

x1, x2 ≥ 0

Re²enje. (1/2)

→ x1 + x2 − x3 + a1 = 2 (∗)→ x2 + x4 = 6

→ 3x1 + 2x2 + a2 = 18 (∗∗)x1, x2, x3, x4 ≥ 0, a1, a2 ≥ 0

a1, a2 - ve²ta£ke promenljive (eng. arti�cial)x3 - promenljiva vi²ka (eng. surplus)

max f1(x) = 3x1 + 5x2 −M(a1 + a2) (∗ ∗ ∗)→ �big M � metoda 38

Page 40: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje LP problema

Re²enje. (2/2)

Posebna paºnja se mora posvetiti izboru bazisa. Kombinovanjem jed-nakosti (∗), (∗∗), (∗ ∗ ∗) dobija se

f1(x) = (4M + 3)x1 + (3M + 5)x2 −Mx3 + 0 · a1 + 0 · a2 − 20M

Po£etna Simpleks tabela je u formi

x1 x2 x3 x4 a1 a2

a1 1 1 -1 0 1 0 2x4 0 1 0 1 0 0 6a2 3 2 0 0 0 1 18

f1(x) −3−4M −5−3M M 0 0 0 -20M

Kao rezultat izvr²avanja Simpleks algoritma dobija se re²enje:

x1 = 2, x2 = 6, x3 = 6 x4 = a1 = a2 = 0→ f(x) = 3639

Page 41: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Nepostojanje jedinstvenog optimalnog re²enja:

• Ukoliko je u bilo kom koraku za izabranu varijablu koja treba da u�e ubazis, nemogu¢e prona¢i odgovaraju¢u varijablu koja bi napustila bazis,re²enje LP problema je neograni£eno

• Ukoliko u �nalnoj simpleks tabeli jedna od varijabli koje nisu u bazisuima odgovaraju¢i koe�cijent u poslednjoj vrsti jednak nuli, tada postojialternativno re²enje. Ona bi se mogla uklju£iti u bazis, tako da se dobijejo² jedno optimalno re²enje. Ovakav problem ima beskona£no mnogo

re²enja, jer je oteºinjena suma prethodnih re²enja tako�e re²enje

• Ukoliko u �nalnoj tabeli, bar jedna od ve²ta£kih varijabli postoji u ba-zisu, re²enje ne postoji

40

Page 42: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

Kvadratno programiranje

• Minimizovati (maksimizovati)

f(x) =∑ni=1 cixi +

∑ni,j=1 dijxixj = CTx+ xTDx

uz ograni£enja:

Ax ≤ b, x ≥ 0

• Osnovna ideja - Svo�enje na linearni problem primenom Kun-Takerovihuslova. Da li su zadovoljeni uslovi regularnosti? Linearne funkcije sukonveksne, a pokazuje se da i pozitivna semide�nitna kvadratna formaxTDx jeste konveksna funkcija.

• Vulfov (eng. Wulfe) metod:

L(x, µ) = f(x) + µT (Ax− b) = CTx+ xTDx+ µT (Ax− b)

1. ∂L∂xi

= 0, i = 1, . . . , n→ −2Dx−ATµ = C

2. Ax ≤ b, xi ≥ 0, i = 1, . . . , n→ Ax+ xs = b, xsj ≥ 0

3. µj ≥ 0

4. µT (Ax− b) = 0→ µTxs = 041

Page 43: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

• Vulfov (eng. Wulfe) metod (nastavak):Prethodni problem se moºe de�nisati sa

[−2D 0 −AT

A I 0

] xxsµ

=

[C

b

]x, xs, µ ≥ 0, µTxs = 0

Za re²avanje datog problema metodama linarnog programiranja uvodese ve²ta£ke promenljive a, a kriterijumska funkcija se svodi na

min∑

a,

Kako su i kriterijumska funkcija i data ograni£enja linearne funkcije, datiproblem kvadratnog programiranja se na ovaj na£in svodi na problemlinearnog programiranja i moºe se re²iti primenom prethodno opisaneSimpleks metode. Primena ovog algoritma je ilustrovana u narednomprimeru.

42

Page 44: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

Primer.

min f(x) = x21 + 1.5x2

2 − x1 − x2

x1 + x2 ≥ 6

x1, x2 ≥ 0

Re²enje. (1/4)

L(x) = x21 + 1.5x2

2 − x1 − x2 + µ(6− x1 − x2)

→ 2x1 − 1− µ+ a1 = 0

→ 3x2 − 1− µ+ a2 = 0

→ x1 + x2 − x3 + a3 = 6 µxs = 0 x1, x2, x3 ≥ 0, a1, a2, a3 ≥ 0

min a1 + a2 + a3

→ max f1(x) = 3x1 + 4x2 + x3 + 2µ− 8

(+µx3 = 0→ µ i x3 ne smeju biti istovremeno u bazisu)

43

Page 45: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

Re²enje. (2/4)

Odgovaraju¢a Simpleks tabela je u formi

x1 x2 µ x3 a1 a2 a3

a1 2 0 -1 0 1 0 0 1a2 0 3 -1 0 0 1 0 1a3 1 1 0 -1 0 0 1 6

f1(x) -3 -4 2 1 0 0 0 -8

a1 2 0 -1 0 1 0 0 1x2 0 1 -1/3 0 0 1/3 0 1/3a3 1 1 0 -1 0 0 1 6

f1(x) -3 -4 2 1 0 0 0 -8

a1 2 0 -1 0 1 0 0 1x2 0 1 -1/3 0 0 1/3 0 1/3a3 1 0 1/3 -1 0 -1/3 1 17/3

f1(x) -3 0 2/3 1 0 4/3 0 -20/344

Page 46: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

Re²enje. (3/4)

x1 x2 µ x3 a1 a2 a3

x1 1 0 -1/2 0 1/2 0 0 1/2x2 0 1 -1/3 0 0 1/3 0 1/3a3 1 0 1/3 -1 0 -1/3 1 17/3

f1(x) -3 0 2/3 1 0 4/3 0 -20/3

x1 1 0 -1/2 0 1/2 0 0 1/2x2 0 1 -1/3 0 0 1/3 0 1/3a3 0 0 5/6 -1 -1/2 -1/3 1 31/6

f1(x) 0 0 -5/6 1 3/2 4/3 0 -31/6

x1 1 0 -1/2 0 1/2 0 0 1/2x2 0 1 -1/3 0 0 1/3 0 1/3µ 0 0 1 -6/5 -3/5 -2/5 6/5 31/5

f1(x) 0 0 -5/6 1 3/2 4/3 0 -31/6

45

Page 47: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje QP problema

Re²enje. (4/4)

x1 x2 µ x3 a1 a2 a3

x1 1 0 0 -3/5 1/5 -1/5 3/5 18/5x2 0 1 0 -2/5 -1/5 1/5 2/5 15/5µ 0 0 1 -6/5 -3/5 -2/5 6/5 31/5

f1(x) 0 0 0 0 1 1 1 0

→ x1 = 18/5, x2 = 12/5, x3 = a1 = a2 = a3 = 0

→ f(x) = −f1(x) = 0

Napomena: U koraku kada µ ulazi u bazis, promenljiva x3 nije u bazisu!

46

Page 48: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje NLP problema

Nelinearno programiranje : Gradijentne metode

• Pretpostavimo formulacija problema

max f(x)|Ax ≤ b;xi ≥ 0, i = 1, . . . , n

gde je f(x) nelinearna funkcija, a ograni£enja su data u linearnoj formi

• Kako do¢i do optimalnog re²enja? Polazi se od ta£ke x0 koja je unu-tar dopustivog regiona i kre¢e se u smeru porasta funkcije (u slu£ajumaksimizacije), drugim re£ima prati se gradijent funkcije

∇f(x) =[∂f(x)∂x1

. . . ∂f(x)∂xn

]T• Kod gradijentnih metoda pravac kretanja jeste odre�en gradijentom, aline nuºno kolinearan sa njim, tj.

xi+1 = xi + diri

ri = Hi∇fi

gde je xi ta£ka u dopustivom regionu, di korak, ri jedini£ni vektor pravca(rTi ri = 1), Hi matrica pravca (metrika).

47

Page 49: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje NLP problema

Metoda najstrmijeg uspona (spusta)

• Spada u gradijentne metode sa malim korakom

Hi = In||∇fi||

• Pravac novog koraka je kolinearan sa gradijentom, a veli£ina koraka sebira tako da se maksimizuje f(xi+1), tj.

df(xi+1)

ddi=(df(xi+1)

dxi+1

)T·(dxi+1

ddi

)= (∇fi+1)T · ri = 0

→ ∇T fi+1 · ∇fi = 0

• Naj£e²¢e sporo konvergira, zbog malog koraka!

48

Page 50: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje NLP problema

Metoda ostvarivih (dopustivih) pravaca

• Spada u gradijentne metode sa velikim korakom

• Neka su ograni£enja data matricom A

A =[aT1 . . . aTm

]T → aTj x ≤ bj , j = 1, . . . ,m

→ aTj xi+1 = aTj xi + aTj diri ≤ bj• Ako je J skup svih indeksa za koje vaºi

aTj xi = bj , j ∈ J → aTj ri ≤ 0

gde je ri ostvarivi (dopustivi) pravac.• Postoje razne tehnike za nalaºenje ostvarivih pravaca koje imaju zacilj maksimizaciju ∇fTi ri, pod uslovom aTj ri ≤ 0, j ∈ J . �esto se mogusvesti na LP problem, pa se moºe koristiti Simpleks metoda za nalaºenjedopustivog pravca, a nakon toga se veli£ina koraka moºe odrediti kaodi = min(d

(1)i , d

(2)i ), gde su:

• d(1)i je vrednost koraka za koju se ta£ka xi+1 nalazi na granici regiona;

• d(2)i je vrednost koraka za koju funkcija f(x) dostiºe maksimum duº

vektora diri ili za koju je zadovoljena jednakost rTi ∇f(xi+1) = 0;

• Procedura se nastavlja do ispunjenja uslova: max(∇fT r) = 0.49

Page 51: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Numeri£ke metode za re²avanje NLP problema

Metode sa promenljivom metrikom

• Njutn-Rapsonova metoda

Hi = [A(xi)]−1, A(x) je Hesijan matrica funkcije f(x)

�esto kori¢ena procedura, koja brzo konvergira na puno primera.

• Algoritam projekcije

H0 = R

Hi+1 = Hi − (Hiyi)(Hiyi)T

yTi Hiyi

R je simetri£na pozitivno de�nitna matrica, koja se posle svakih n ko-raka resetuje na vrednost R.

• Fle£er-Pauel-Dejvidsonova metoda

H0 = R

Hi+1 = Hi − (Hiyi)(Hiyi)T

yTi Hiyi+

sisTi

sTi yi

R je simetri£na pozitivno de�nitna matrica. Ova i prethodna metodaspadaju u metode kojugovanih pravaca. Pravci r0, . . . , rn−1 su konju-govani u odnosu na pozitivno de�nitnu matricu A ako vaºi

rTi Arj , i 6= j, i, j ∈ [0, n− 1], rTi Ari = 0, i ∈ [0, n− 1] 50

Page 52: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Kontinualni sistem je dat modelom u prostoru stanja

x = f(x, u, t)

• Neka je po£etno stanje dato sa x(t0) = x0. Naj£e²¢e je slu£aj da jepo£etno stanje poznato, me�utim ne mora uvek biti tako.

• Cilj upravljanja je £esto dat sa prevo�enjem sistema iz po£etnog u ºe-ljeno stanje x(tf ) = xf , koje je u okviru regiona datog sa s(xf ) ≥ 0.Terminalni region moºe sadrºati samo jednu ta£ku, a �nalno vreme tfmoºe biti �ksno ili ne.

• Upravljanje treba da bude takvo da se optimizuje neka mera perfor-manse, koja je u op²te slu£aju data sa

J =∫ tft0F (x(t), u(t), t)dt+G(x(tf))

�esto se mera odnosi na minimalno vreme, minimalnu potro²nju, itd.

• �esto postoje dodatna ograni£enja po pitanju upravljanja i promenljivihstanja, u op²tem slu£aju data sa

g(x, u) ≥ 0, h(x, u) = 0

npr. |ui| ≤ uimax, |xi| ≤ ximax. 51

Page 53: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Kako primeniti metode za re²avanje MP problema?

• Integral se moºe aproksimirati sumom∫ tft0F (x(t), u(t), t)dt = lim

n→∞

∑nk=1 F (x(t′k), u(t′k), t′k)(tk − tk−1)

gde je n broj podintervala i vaºi tk−1 ≤ t′k ≤ tk.

• Jedna£ina stanja se moºe pisati u obliku

limdk→0

1dk

(xk − xk−1) = f(x(tk−1), u(tk−1), tk−1), dk = tk − tk−1

• Ograni£enja su u formi

g(x(tk), u(tk)) ≥ 0, h(x(tk), u(tk)) = 0, k = 1, . . . , n, n→∞

52

Page 54: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

• Moºe se formulisati odgovaraju¢i MP problem (beskona£ne dimenzije) sapromenljivim x(tk), x(tk−1), k = 1, . . . , n i u(tk), u(t′k), k = 0, . . . , n−1:

max/min{

limn→∞

n∑k=1

F (x(t′k), u(t′k), t′k)(tk − tk−1) +G(x(tf ))|

limdk→0

1

dk(xk − xk−1) = f(x(tk−1), u(tk−1), tk−1), dk = tk − tk−1,

s(tf ) ≥ 0, g(x(tk), u(tk)) ≥ 0, h(x(tk), u(tk)) = 0, k = 1, . . . , n, n→∞}

• Ukoliko se usvoji da je broj intervala kona£an i iznosi N , kao i da suoni udaljeni za T1, . . . , TN , Ti = ti − ti−1(

∑Ni=1 Ti = tf − t0 = T ),

tada prethodna formulacija postaje problem sa Nv = N(n + m + 1)

promenljivih, gde je n - broj stanja, a m - broj ulaza:

max/min{ N∑i=1

F (x(i), u(i− 1), ti)Ti +G(x(N))|

xi+1 − xi = Ti+1f(x(i), u(i), ti), i = 0, . . . , N − 1,

s(x(N)) ≥ 0, g(x(i), u(i)) ≥ 0, h(x(i), u(i)) = 0, i = 1, . . . , N}

53

Page 55: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

• Kontinualni LTI sistem se moºe predstaviti u formi

x = Ax+Bu

x(t) = Φ(t, t0)x(t0) +∫ tt0

Φ(t, τ)Bu(τ)dτ

→ x(i) = Φ(ti, ti−1)x(i−1)+∫ titi−1

Φ(ti−1, τ)Bdτ ·u(i−1), i = 1, . . . , N

Φ(ti, ti−1) = Φ(ti − ti−1) = Φ(Ti) = eATi

→ x(i) = eATi

[x(i− 1) +

∫ titi−1

eA(ti−1−τ)Bdτ · u(i− 1)]

• Tipi£an primer MP formulacije za LTI sistem:

max/min{ N∑i=1

F (x(i), u(i− 1), ti)|

xi − eATi

[x(i− 1) +

∫ ti

ti−1

eA(ti−1−τ)Bdτ · u(i− 1)

]= 0, i = 1, . . . , N,

s(x(N)) ≥ 0, |ui| ≤ uimax, i = 1, . . . ,m, |xi| ≤ ximax, i = 1, . . . , n}

54

Page 56: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Koje su naj£e²¢e kori²¢ene performanse F (·)?

• Minimalna energija

F =

∫ tf

t0

u2(t)dt

• Minimalna potro²nja

F =

∫ tf

t0

|u(t)|dt

• Minimalno vreme

F =

∫ tf

t0

dt = tf − t0

55

Page 57: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Primer.

Sistem opisan modelom u prostoru stanja

x1 = x2

x2 = −0.16x1 − 0.32x2 + 0.16u

prevesti iz po£etnog stanja x0 = [0 0]T u okolinu stanja xf = [2 0]T

za manje od T = 0.0305s tako da se postigne odziv bez preskoka, prime-nom upravlja£kog signala sa slike. Nepoznati su parametri T1, T2, T3, T4,(Ti ≥ 0.001).

t1 t2 t3 tf =t4 t

T1 T2 T3 T4

u

1

2

Preuzeto iz: D. Tabak and B. Kuo, �Optimal control by mathematical programming".

56

Page 58: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Re²enje.

x(t) = Φ(t, t0)x(t0) + b(t, t0)u(t0)

Φ(t, t0) = eA(t−t0)

→ Φ(t, t0) = e−0.016(t−t0)

[sin(0.4(t− t0) + 87.7o) 2.5 sin(0.4(t− t0))

−0.4 sin(0.4(t− t0)) − sin(0.4(t− t0)− 87.7o)

](∗)

b =

[1− e−0.016(t−t0) sin(0.4(t− t0) + 87.7o)

0.4e−0.016(t−t0) sin(0.4(t− t0))

](∗∗)

Dalje se moºe de�nisati postavka NPL problema:

min{ 10∑i=5

x2MP (i)|xMP (i) ≥ 10−3, i = 1, . . . , 4,

4∑i=1

xMP (i) ≤ 0.0305, xMP (5) ≤ 2, xMP (7) ≤ 2, xMP (9) ≤ 2,

+ 8 ograni£enja tipa jednakosti iz (*) i (**)}

→ T1 = 11.99, T2 = 2.42, T3 = 1.00, T4 = 5.95

57

Page 59: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Diskretni LTI sistem se moºe predstaviti u formi

x[k + 1] = Ax[k] +Bu[k]

x[k] = Akx[0] +∑k−1

i=0 Ak−i−1Bu[i]

�este performanse:

• Minimizacija potro²nje

min J =

N−1∑i=0

m∑j=1

cij |uj [i]|

Ovakav problem nije direktno LP, ali se moºe svesti na to!

• Minimizacija kvadradnog kriterijuma

min J =

N∑i=1

[xT [i]Qx[i] + uT [i− 1]Ru[i− 1]]

Ovakav problem je QP, jer su sva odrani£enja linearna, a performansakvadratna funkcija!

58

Page 60: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

• Minimizacija vremena

min J =

N−1∑i=0

1 = N

Re²ava se LP problem zaN = 1, pa je minimalno vreme tf = T . Ukolikore²enje ne postoji, re²ava se LP problem za N = 2, pa je minimalnovreme tf = NT , itd.

• Minimizacija gre²ke

min J =

N∑i=1

(xr[i]− x1[i]), gde je x1 izabrani izlaz

ili

min J =

k∑i=1

D(x[N ]− xd), gde je Dk×n konstantna matrica

59

Page 61: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Dizajn digitalnog kontrolera

rG(z)D(z)

y+

-

e

K(z) =

m+k∑i=m

Aiz−i − funkcija spregnutog prenosa

D(z) =K(z)

G(z)(1−K(z))

RA+ e = r → A, e su nepoznate

Ai = A+i −A

−i

ei = e+i − e

−i

min J =

n∑i=m

ci|e+i − e

−i | → min J =

n∑i=m

ci(e+i + e−i ) (LP )

ili min J =

n∑i=m

ci(e+i − e

−i )2 (QP )

60

Page 62: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Primer.

Sistem opisan funkcijom diskretnog prenosa

G(z) = (1+2.34z−1)(1+0.16z−1)z−1

(1−z−1)(1−0.368z−1)2

Projektovati digitalni kontroler tako da regulisani sistem zadovolji sle-de¢e speci�kacije:

• ulaz je jedini£na rampa

• promenljive nisu ograni£ene po pitanju znaka

• dizajn se zasniva na sekvenci od prvih 15 odbiraka (Ts = 1s)

• razmatra se sistem maksimalno 5. reda, tj.K(z) = A1z

−1 +A2z−2 +A3z

−3 +A4z−4 +A5z

−5

• ograni£enja su: |e2| ≤ 1, |ej | ≤ 0.5, j = 3, 4, . . . , 15

Preuzeto iz: D. Tabak and B. Kuo, �Optimal control by mathematical programming".

61

Page 63: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Re²enje. (1/2)Pokazuje se da je neophodno da K(z) sadrºi sve nule G(z) koje su van(ili na) jedini£nog kruga, a da 1−K(z) kao nule sadrºi sve polove G(z)koji su van (ili na) jedini£nog kruga. �to se svodi na uslov

HA+ −HA− = δ

H =

[4.14 −1.34 1 0 0.43

1 1 1 1 1

]δ = [0.3 1]T

Razmatra se linearna funkcija per�ormanse

min J =15∑i=1

i(e+i + e−i )

Kao rezultat se dobija

→ A1 = 1.000, A2 = 1.455, A3 = −1.910, A4 = 0.455

e1 = 1.000, e2 = 1.000, e3 = −0.455

J = 4.365

62

Page 64: Matematicko programiranje - Optimalno upravljanje sistemimaautomatika.etf.bg.ac.rs/images/FAJLOVI_srpski/predmeti...Matemati£ko programiranje - Osnovni pojmovi De ni²u se dve vrste

Primena MP u optimalnom upravljanju

Re²enje. (2/2)

0 2 4 6 8

2

4

6

t=nTs

0 2 4 6 8

-0.5

0.5

1

t=nTs

e(t)r(t), y(t)

0 2 4 6 8

2

4

6

t=nTs

0 2 4 6 8

-0.5

0.5

1

t=nTs

e(t)r(t), y(t)

63