matematicko programiranje - optimalno upravljanje...
TRANSCRIPT
Matemati£ko programiranje
Optimalno upravljanje sistemima
doc. dr Aleksandra Marjanovi¢Katedra za signale i sistemeElektrotehni£ki fakultet, Univerzitet u Beogradu
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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