Documente Academic
Documente Profesional
Documente Cultură
z f ( x1 , x 2 ,..., x n )
( P) cu satisfacerea restrictiilor :
g ( x , x ,..., x ) 0 i 1,2,..., m
i 1 2
n
si a conditiilor de nenegativitate :
x1 0 , x2 0 , ... x n 0
min f ( x) x R n
g i ( x) 0 i 1,2,..., m
x0
Dac n cazul liniar ( f si gi sunt funcii liniare) exist (cel puin) o metod general de
rezolvare de exemplu metoda simplex n cazul neliniar nu exist o asemenea metod. Totui
progrese substaniale au fost fcute n unele cazuri speciale prin impunerea unor condiii asupra
funciilor f si gi .Aria acestor cazuri speciale este destul de mare astfel c nu ne vom putea opri dect
asupra unora mai relevante.
2. Neliniaritatea n modelarea proceselor economice. Cteva exemple
S considerm problema firmei al crei obiectiv este determinarea unui program de
producie astfel nct:
n multe situaii practice, preurile i costurile unitare de fabricaie pot fi considerate constante
astfel c i profiturile unitare vor fi la fel. n consecin, n aceste cazuri funcia obiectiv, care
reprezint profitul total, va fi liniar:
f ( x1 , x 2 ,..., x n ) P1 x1 P2 x 2 ... Pn x n
(xj reprezint cantitatea produs i vndut din bunul j;Pj este profitul unitar corespunztor bunului
j)
Nu ntotdeauna tot ceeace se produce dintr-un bun se poate i vinde la un anumit pre. Apare aa
numita problem a elasticitii preului: cantitatea de marf vndut se afl ntr-o relaie invers cu
preul cerut aa cum arat curba pre cerere (fig. 2.1a)
profit
pre
P(x)
p(x)
c
cost unitar de
cantitate produs
i vndut
producie
cerere
x de produs
p(x) este preul care permite firmei s vnd x uniti
a)
b)
Figura 2.1
Dac c este costul unitar de producie, cost pe care l presupunem pentru simplificarea expunerii
fix, atunci profitul firmei, rezultat din producerea i vnzarea cantitii x este dat de funcia
neliniar (vezi fig. 2.1b):
P(x) = x.p(x) c(x)
Dac fiecare din produsele firmei are o asemenea funcie profit, notat P j(xj), profitul total va fi
exprimat prin funcia neliniar:
n
f ( x1 , x 2 ,..., x n ) Pj ( x j )
j 1
O alt surs de neliniariti n funcia obiectiv o constituie variaia costului marginal - pentru
producerea a nc unei uniti dintr-un produs - n funcie de nivelul produciei. Acest cost marginal
poate s scad n unele situaii (ca urmare a trecerii la producia de serie, al acumulrii experienei i
al perfecionrii procesului de producie) iar n altele poate s creasc (ore suplimentare,utilizarea n
regim de urgen a unor capaciti de producie mai costisitoare pentru satisfacerea unor cereri
imediate)
Neliniaritatea poate apare i n restricii ntr-o manier asemntoare. De exemplu, dac
exist o restricie bugetar asupra costului produciei, relaia corespunztoare va fi cu siguran
neliniar n cazul n care costul marginal al produciei este variabil.
Pentru restriciile privitoare la alte tipuri de resurse, neliniaritatea apare ori de cte ori
consumurile nu sunt direct proporionale cu nivelele de producie.
Exemplul 2.1 n problema transporturilor se urmrete determinarea unui program pentru
transportul unui produs de la diferite surse la diveri consumatori, cunoscndu-se cantitile
disponibile i cererile, astfel nct costul total al transportului s fie minim. n programarea liniar,
costul transportului unei uniti de produs de la o anumit surs la o anumit destinaie a fost
considerat constant, independent de cantitatea transportat. De multe ori se ntmpl ca la cantiti
mari s se acorde la transport anumite reduceri; n aceste situaii, costul marginal al transportului
unei uniti suplimentare tinde s scad i ca o consecin costul C(x) al transportrii cantitii x este
dat de o funcie neliniar. S analizm datele din fig. 2.2 a) i b).
cost marginal
cost
6.5
186
132
84
3
39
15
27
45
cantitate
transportat
15
a)
27
45
b)
Figura 2.2
0 x6
6.5 x
9 5.x
24 4.x
51 3.x
C ( x)
6 x 15
15 x 27
27 x 45
care este neliniar dar liniar pe poriuni. Din fig. 4.2b) rezult c pantele poriunilor liniare ale
graficului funciei C(x) sunt chiar costurile marginale evideniate n fig 4.2a).
Dac fiecare cuplu (surs i , destinaie j ) are o funcie cost similar, aa nct costul
transportului a xij uniti de la i la j este dat de funcia neliniar Cij(xij) atunci costul total este
reprezentat de funcia de asemenea neliniar;
f ( x1 , x 2 ,..., x n )
C
i, j
ij
( xij )
x
j 1
ij
ai
i 1,2,..., m
x
i 1
ij
bj
(min) f x1 x 2 x3
y1 y 2 y 3 1200
x1 48 , x 2 60 , x3 70
x j , y j 0 j 1,2,3
(min) f x1 x 2 x3
x1 48 , x 2 60 , x3 70
x1 0, x 2 0, x3 0
1200
x
x
x
1
2
3
min f ( x) ,
x Rn
A = x R g ( x ) 0 g 1 ( x ) 0, g 2 ( x ) 0,..., g m ( x) 0; x 0
(P) se rescrie:
Este cunoscut faptul c dac (P) este un program liniar (adic f i g1,g2,,gm sunt funcii liniare)
atunci mulimea A este convex i mai mult chiar poliedral (intersecie finit de semispaii).Aceste
proprieti ale mulimii A plus faptul c funcia obiectiv este i ea liniar ne asigur c:
() x A
Cum numrul vrfurilor mulimii poliedrale A este finit urmeaz c, pentru programul liniar (P),
problema determinrii unei soluii optime x* din mulimea, n general infinit, a tuturor soluiilor
admisibile se reduce la gsirea lui x* n mulimea finit a vrfurilor acestei mulimi.
Metoda simplex realizeaz n mod sistematic aceast cutare oferind ntr-un numr finit de pai
(iteraii) soluia optim x*.
Neliniaritatea obiectivului sau a unora dintre restricii face ca unele din proprietile relevate
mai sus s dispar fapt care duce la complicarea sarcinii de determinare a optimului.
1) De la bun nceput vom sublinia faptul c n programarea neliniar cu cteva excepii
metodele de rezolvare obin teoretic soluia optim ca limit a unui ir de soluii. Astfel, un proces
concret de optimizare neliniar este finit nu datorit structurii problemei ci prin voina utilizatorului
care limiteaz numrul pailor n funcie de o serie ntreag de factori cum ar fi : complexitatea
calcului, timpul disponibil, performanele echipamentului de calcul etc.
2) este posibil ca funcia obiectiv din (P) s aibe mai multe minime locale pe mulimea
soluiilor admisibile A . Pentru exemplificare considerm problema:
min f ( x1 , x2 ) 2 x1 3x2
( P) x x 4
x 0, x 0
2
1
2
1
2
2
f=6
A(0,2)
f=4
B(2,0)
Figura 3.1
Mulimea soluiilor admisibile A este vizualizat n fig.3.1. Evident, A nu este o mulime convex.
Punctul A(0,2) ofer obiectivului valoarea 6 care este cea mai mic valoare a funciei f pe soluiile
admisibile situate n imediata apropiere de A! Totui A nu este soluia optim a problemei (P)
deoarece n B(2,0) f are valoarea 4 < 6. Ca i A, B minimizeaz funcia obiectiv pe soluiile
x = (7/2 , 4)
x1
liniare
soluia
neaprat
min f ( x1 , x2 ) ( x1 72 x 2 ) 2 2( x2 4) 2
x1 x2 6
x1 x2 1
2 x1 x 2 6
12 x1 x2 4
x1 , x2 0
Figura 3.2
Curbele de nivel ale funciei obiectiv patratice f sunt elipse centrate n
x = (7/2 , 4) care
reprezint i punctul de minim nerestricionat al lui f. Se poate arta, prin mijloace algebrice
elementare c f are pe A un minim global x* = (5/2 , 7/2) care nu este vrf al lui A .
4) este posibil ca soluia optim s fie situat n interiorul mulimii A . Pentru exemplificare
s atam restriciilor din problema precedent funcia
f ( x1 , x 2 ) ( x1 2) 2 2( x 2 3) 2
al crei minim liber este punctul x = (2 , 3). Deoarece x A ( i mai precis x Int (A ) ) acest
punct reprezint soluia optim x*.
4. Clase de probleme neliniare
f ( x1 , x 2 ,..., x n ) c0 ci xi
i 1
1 i j n
ij
xi x j
f ( x1 , x 2 ,..., x n ) f 1 ( x1 ) f 2 ( x 2 ) ... f n ( x n )
Separabilitatea este important prin aceea c uureaz optimizarea. De exemplu, optimizarea unei
funcii separabile fr restricii se reduce la optimizarea independent a termenilor!
5) Problemele de programare neconvex reunesc toate problemele care nu satisfac
ipotezele de convexitate. Ele sunt grele n primul rnd din cauza faptului c au mai multe minime
locale. Dup cum s-a mai spus, metodele actuale pot determina un asemenea optim dar nu
garanteaz c optimul gsit este cel global. Din fericire, exist cteve tipuri de probleme neconvexe,
utile n practic, care pot fi rezolvate fr dificulti deosebite prin metode speciale. rintre aceste
tipuri, se numr problemele de programare fracionar. Iat un exemplu:
cx c 0
min f ( x) dx d
x ( x1 , x 2 ,..., x n ) R n
Ax b
x0
1
1
y
x,t
astfel c x .
dx d 0
dx d 0
t
min cy c0 t
Ay bt 0
dy d 0 t 1
y 0 , t 0
5. Mulimi i funcii convexe
Reamintim c o mulime C Rn se numete convex dac o dat cu dou puncte conine i
segmentul care le unete. Formal:
C este convex def . () x, y C , () [0,1] (1 ) x y C
Fie C o mulime convex i f o funcie numeric definit n toate punctele mulimii C. Spunem c f
este convex dac:
() x, y C , () [0,1] avem:
f ((1 ) x y ) (1 ) f ( x ) f ( y )
Vom zice c f este concav dac funcia opus f este convex. Aceasta revine la:
f ((1 ) x y ) (1 ) f ( x ) f ( y )
Funcia f se numete strict convex (strict concav) dac inegalitile de mai sus sunt stricte
() x, y C cu x y i () (0,1) .
Exemple de funcii convexe
1) Pentru funciile de o singur variabil, convexitatea se traduce prin faptul c graficul
ine apa. Dac I este un interval deschis (deci o mulime convex din R) i f este o funcie
definit pe I i care este de dou ori derivabil pe I atunci f este convex f ( x ) 0 () x I .
2) Orice funcie liniar de n variabile
f ( x1 , x 2 ,..., x n ) a1 x1 a 2 x 2 ... a n x n b
f ( x1 , x 2 ,..., x n ) p j x j
j 1
cij x i x j
1 i j n
p [ p1 , p 2 ,..., p n ], x
x1
x
2
, C [cij ] ,1 i, j n , cu
xn
f se scrie condensat:
f ( x) px 12 x T Cx
Notm c prin construcie, matricea C este simetric.
Cercetm n ce condiii f este o funcie convex. Deoarece partea liniar este convex,
chestiunea se reduce la a vedea n ce condiii funcia pur patratic ( x) x T Cx este convex.
Un calcul direct arat c satisface identitatea:
((1 ) x y ) (1 )( x ) ( y ) (1 )( x y )
() x, y R n , () R
() z R n
cerin care, dup cum este cunoscut din algebra liniar, definete matricea C ca matrice pozitiv
semidefinit.
Cu acelai raionament conchidem c este strict convex dac i numai dac matricea C este
pozitiv definit adic:
z T Cz 0 () z R n i z T Cz 0 z 0
Recapitulnd obinem:
T
Funcia patratic f ( x) px 12 x Cx este convex (strict convex) dac i numai dac
matricea simetric C este pozitiv semidefinit (pozitiv definit).
c11
c11
c12
c 21
c 22
c11
c
; 21
c n1
c12
c 22
cn 2
c1n
c2 n
c nn
2 f
( x)
xi x j
H ( x)
este pozitiv semidefinit, n fiecare punct x C. Dac H (x) este pozitiv definit n orice punct din
C, funcia f este strict convex.ntr-adevr s fixm un x C i un z Rn oarecare.Considerm
funcia de o singur variabil:
g (t ) f ( x tz )
Demonstraie Deoarece :
A = {x C g1 ( x) 0} {x C g m ( x) 0}
i o intersecie de mulimi convexe este nc o mulime convex, va fi suficient s artm c dac g
este o funcie convex pe C atunci mulimea :
A = {x C g ( x) 0}
este convex. Fie x,y A i [0,1]; atunci g(x) 0 , g(y) 0 astfel c:
g ((1 ) x y ) (1 ) g ( x) g ( y ) 0
(0,1)
Deoarece A este convex, toate aceste puncte sunt n A . Funcia f fiind convex avem:
f ( z ) f ((1 ) x * x ** ) (1 ) f ( x * ) f ( x ** )
(1 ) f ( x * ) f ( x * ) f ( x * )
Pentru suficient de mic, z se va afla n imediata apropiere a lui x* i deci, conform ipotezei, f( z )
f( x* ), n contradicie cu cele artate mai sus. Contradicie ! Deci x* este un minim global al
funciei f.
6. Optimizare fr restricii
6.1 Introducere Fie f o funcie numeric de n variabile pe care, pentru simplitate, o
presupunem definit i cu derivate pariale cel puin de ordinul doi n fiecare punct din R n.
Considerm problema de optimizare fr restricii:
(P) S se determine x*Rn cu proprietatea:
f ( x * ) {inf f ( x ) x R n }
f
f
f
,
,...,
x n
x1 x 2
f ( x )
(6.1)
este gradientul funciei f. Reciproc, dac x* Rn este un punct n care condiia (1) are loc i n plus
matricea hessian H(x*) este pozitiv definit, unde
2 f
xi x j
H ( x)
1 i, j n
f
f
f
0,
0,...,
0
x1
x 2
x n
(6.2)
ns rezolvarea sistemului (6.2), cel puin n sensul uzual al termenului, este practic imposibil de
fcut n cvasitotalitatea cazurilor practice. Chiar i n cazul fericit n care, prin mijloace analitice
adic cu formule am putea gsi o soluie a sistemului (6.2) nu avem nici o garanie c aceasta
este soluia optim a problemei (P): ea ar putea fi foarte bine un punct de maxim local sau un punct
a sau, n cel mai bun caz, un minim local diferit de cel global! Astfel apare necesitatea considerrii
altor metode de abordare a problemei (P).
6.2 Principiul metodelor de optimizare fr restricii Ideea comun a tuturor metodelor
de minimizare nerestricionat (liber) este urmtoarea:
Se pune:
precum
Rn
xk
x k 1 x k k s k
x k 1 x k k s k
(6.3)
n principiu, vectorul sk este astfel ales nct
prin deplasarea din xk n direcia sk, s se
obin cel puin n prima faz a deplasrii
o descretere a valorii funciei de minimizat f.
O dat stabilit direcia de deplasare sk, pasul
k se alege astfel nct:
f ( x k 1 ) f ( x k )
sk
i
de
Figura 6.1
Prin urmare:
f ( x 0 ) f ( x 1 ) f ( x 2 ) ...
(6.4)
b) cercuri concentrice;
x n
x1 x 2
f ( x )
adevrat.
n orice punct de extrem local x* al funciei f avem f(x*) = 0; reciproca nu este n general
din
f=6
f=3
f =0
f = -5
f = -4
a)
f = -13
b)
f = -17
c)
corespunztoare celei mai rapide descreteri afunciei f. Analog, f ( x ) este direcia celei mai
rapide creteri.
n
ntr-adevr, s considerm o direcie oarecare s ( s1 , s 2 ,..., s n ) R , s 0 i funcia :
g ( ) f ( x s ) 0
Figura 6.2
Dup cum se tie, variaia (adic creterea sau descreterea) potenial sau incipient a
funciei f pe direcia s plecnd din x , este dat de derivata g (0) .
n general:
n
f
g ( ) si
( x s ) s f ( x s )
xi
i 1
astfel c:
g (0) s f ( x )
Din inegalitatea Cauchy Buniakovski Schwarz:
f ( x) f ( x )
f (x )
s f ( x ) s f ( x ) s f ( x ) g (0) s f ( x )
n punctul x = (1,1) este nenul: f ( x ) = (32,-6). Cea mai rapid descretere a funciei f plecnd
din x are loc pe direcia s f (x ) = (-32,6) vezi fig. 6.4
Atenie: pe direcia celei mai rapide descreteri, funcia nu descrete nencetat! Pentru ilustrare, n
exemplul de mai sus, s considerm un punct variabil pe direcia celei mai rapide descreteri din x
= (1,1):
x ( ) x f ( x ) (1,1) (32,6) (1 32,1 6 )
x2
x*
Curba de nivel
=25
25
x ( ) x f ( x )
7.893
x1
Figura 6.4
0 =0.032
Figura 6.5
Se observ c atunci cnd crete de la 0 la 0.032 (= punctul n care g() are valoarea minim),
funcia g i deci i funcia f scad de la valoarea 25 la valoarea 7.893 dup care ncep din nou s
creasc!
6.4 Criterii de oprire ale procesului iterativ de minimizare 1) Deoarece ntr-un punct de
minim local avem f(x*) = 0, procesul de minimizare se poate opri n momentul n care:
a)
f
(x k )
x i
i 1,2,..., n
sau:
n
b)
i 1
( x k )
xi
3) Se poate ntmpla ca, din cauza unei nefericite alegeri a aproximaiei iniiale x0 sau a
structurii funciei de minimizat, procesul iterativ, dei convergent, s fie foarte lent. n asemenea
situaii, timpul de calcul poate atinge valori nepermis de mari. Vom evita acest inconvenient
limitnd din start numrul iteraiilor posibil de efectuat.
6.5 Minimizarea unei funcii de o singur variabil n seciunea introductiv am vzut c
toate metodele de minimizare nerestricionat a unei funcii f de mai multe variabile necesit
minimizarea unei funcii g() de o singur variabil.Deoarece minimizarea unidimensional se
efectueaz la fiecare iteraie a procesului de minimizare multidimensional este clar c eficacitatea
procesului multidimensional depinde de calitile procesului unidimensional.
n continuare vom presupune c n prealabil am localizat un punct de minim x* al funciei g
ntr-un interval (a,b) suficient de mic.
n general, metodele de minimizare unidimensional se bazeaz pe una din urmtoarele idei:
Se aproximeaz funcia g pe intervalul (a,b) printr-un polinom de interpolare de grad doi
sau trei al crui punct de minim din (a,b) se determin uor pe baza unei formule. Punctul de minim
astfel calculat se consider a fi o bun aproximare a punctului de minim x* cutat.
Construcia polinomului de interpolare se poate face folosind:
De exemplu:
putem construi un polinom de interpolare de gradul trei utiliznd valorile funciei
g i ale derivatei sale g n punctele a i b ce mrginesc punctul de minim cutat.
putem construi un polinom de interpolare de gradul doi utiliznd valorile funciei
g n a i b precum i ntr-un al treilea punct c (a,b) de obicei se ia c 12 (a b) .
Se micoreaz progresiv intervalul (a,b) la un interval
pe x i a crui lungime este inferioar unei tolerane date:
(a , b )
b a
(a , b )
cu 0
x x*
Micorarea intervalului (a,b) se face cu ajutorul evalurii funciei g i/sau ale derivatei sale ntr-un
numr de
puncte din
interiorul
lui (a,b).
START
Cele mai
cunoscute
metode de
acest fel
Iniializare:
sunt
metoda
biseciei
succesive,
metoda
seciunii
1
de aur i
metoda
x 2 (a b )
Fibonacci
.
n figura
prezentat
logic a
biseciei
succesive
6.6 este
schema
metodei
Calculeaz
g ( x )
g ( x ) 0
x x* b
Figura 6.7 a)
a : x
b : x
b a
STOP
a
Figura 6.6
x* x
Figura 6.7 b)
justificarea metodei rezult imediat din situaiile ilustrate n figurile 6.7a) i 6.7b).
Pentru a nelege modul de aciune al metodelor bazate exclusiv pe evaluarea funciei de
minimizat n diferite puncte sunt necesare cteva pregtiri.
dac
x1 x 2 x *
i
f ( x1 ) f ( x 2 )
dac
x * x1 x 2
x*
Figura 6.8
Dac din contr, f ( x S ) f ( x D ) , atunci cu siguran x* va fi n (xS,b).Cele dou situaii sunt ilustrate
n figurile 6.9a) i 6.9b).
Figura
Figura
xS
x*
xD
xS
x* xD
6.9a)
6.9b)
Observm c noul interval mai mic conine cu necesitate unul din punctele interioare alese. Dac n
noul interval mai mic alegem nc un punct interior putem repeta consideraiile precedente.
Metodele de minimizare unidimensional bazate pe evaluri multiple se difereniaz prin
modul de alegere a celor dou puncte interioare xS i xD.
Vom descrie n continuare metoda seciunii de aur. Fie r
5 1
0.618034 .
2
START. Iniializm:
(a , b )
a a
punctele interioare:
xS a r 2 h
x D a r h unde : h b a
f ( x S ) f ( x D ) se merge la pasul 2.
f ( x S ) f ( x D ) se merge la pasul 3.
; hb a
a b
.
2
cu condiia ca
f ( x k ) 0 .
f ( x k )
Caracteristic acestei metode este faptul c dou direcii de deplasare consecutive sunt
perpendiculare! ntr-adevr, dat direcia sk, lungimea pasului k al deplasrii se afl, aa cum s-a
mai spus, minimiznd funcia unidimensional:
g ( ) f ( x k s k ) , 0
i 1
i 1
f ( x1 , x 2 ,..., x n ) c 0 ci xi xi2 c 0 cx x
c (c1 , c 2 ,..., c n )
START
k=0
k=k+1
NU
BLOCUL O
Sunt verificate criteriile de
oprire ale procesului de calcul?
DA
Se cerceteaz dac ultima aproximaie
calculat poate constitui o aproximare
acceptabil pentru soluia problemei
de minimizare
STOP
Figura 6.10
metoda gradientului ofer punctul de minim (global) ntr-o singur iteraie, indiferent de
aproximaia iniial x0 (vezi fig. 6.11a) Pentru orice alt funcie irul de aproximaii:
x0 , x1 , x2 ,. pentru care f(x0) > f(x1) > f(x2) >
conduce n general la un optim local.
Principalul neajuns al metodei gradientului const n faptul c paii succesivi sunt
perpendiculari fapt care, n cazul anumitor funcii, conduce la o convergen foarte lent. Mai
precis, dac hipersuprafeele de nivel au o oarecare excentricitate zig zagul procesului iterativ
amendeaz convergena,deoarece n acest caz direcia gradientului este mult diferit de direcia
ctre minim (vezi fig. 6.11b)
Exist scheme de minimizare mult mai eficiente dintre care cea mai puternic pare a fi
metoda Davidon Fletcher Powell [3]. n principiu,aceste metode garanteaz obinerea
minimului unei funcii patratice de n variabile n cel mult n pai.
Exemplu numeric Vom efectua cteva iteraii pentru cutarea minimului funciei:
f ( x1 , x 2 ) x 2 x12 2 x1 x 2 2 x 22
Iteraia 1
0
f(x ) = [0,1]
0
0
s = -f(x ) = [0,-1]
0
0
x()= x + s = [1,1] + [0,-1] = [1,1 - ] , > 0
2
g() = f(x()) = 2 - are un minim n 0 =
1
x = x(1/4) = [1,3/4]
Iteraia 2
1
f(x ) = [1/2,0]
1
1
s = -f(x ) = [-1/2,0]
1
1
x()= x + s = [1,3/4] + [-1/2,0] = [1 - /2,3/4] , > 0
2
1
1
1
g() = f(x()) =
4 4 8 are un minim n 1 =
2
x = x(1/2) = [3/4,3/4]
Iteraia 3
2
f(x ) = [0,1/2]
2
2
s = -f(x ) = [0,-1/2]
3
2
2
,
x()= x + s = [3/4,3/4] + [0,-1/2] = [
4
3
4
],>0
x0
x2
x1
x*
Figura 6.12
1
2
2
g() = f(x()) = 12 14 163 are un minim n 2 = 1/4
x3 = x(1/4) = [3/4,5/8]
La iteraia 4 se obine [5/8,5/8] .a.m.d. Funcia dat este convex (exerciiu!) avnd un minim n x *
= [1/2,1/2]. n figura 6.12 se poate constata apropierea n zig zag a punctelor x0 , x1 , x3 de x*.
Curbe de nivel
direcia celei mai rapide
descreteri
x*
x* x1
1
x2
x0
Figura 6.11
7. Optimizarea neliniar fr restricii. Cazul convex
Relum problema de optimizare general sub forma:
(P) S se determine x* A Rn cu proprietatea: f(x*) = inf {f(x) , x A}
unde A ,numit i mulimea soluiilor admisibile ale problemei (P) este definit de o mulime de
restricii:
gi(x) 0
i M = {1,2,...,m}
Pentru simplificarea expunerii, eventualele condiii de nenegativitate xj 0 au fost incluse n blocul
restriciilor sub forma: -xj 0.
Presupunem c funciile f i g1 , g2 ,..., gm sunt definite n ntreg spaiul Rn, sunt convexe i
difereniabile i cel puin una dintre ele este neliniar, altminteri (P) ar fi un program liniar.Astfel,
(P) este o problem de programare convex.
Reamintim c n acest context:
A este o mulime convex i nchis;
g(x) = 0
g(xk)
xk
-f(xk)
xk+1
x0
Figura 7.1
chiar dac se pleac de la un punct iniial x0 situat n interiorul lui A ( gi(x) < 0,i
M) se ajunge relativ repede la un punct xk situat chiar pe frontier altfel spus care satisface cu
egalitate o parte din restriiile problemei (P):
gi(xk) = 0 , i I M
ntr-o atare situaie, direcia celei mai rapide descreteri -f(xk) s-ar putea s nu mai fie admisibil
adic:
x( ) x k f ( x k ) A () > 0
(vezi fig. 7.1)
Introducem urmtoarea terminologie:
x*
(y)
s gi ( x k ) 0 i I
s f ( x k ) 0
O dat stabilit direcia de deplasare sk din xk care verific condiiile (7.1) - pasul k se alege
nct noua aproximaie :
Figura 7.2
direcie
astfel
xk+1 = xk + ksk
s aibe proprietile:
xk+1 A ( gi(xk+1) 0 , i M) i f(xk+1) < f(xk)
Cu acest amendament - legat de modul de alegere a direciei de deplasare - schema general de
minimizare nerestricionat funcioneaz i n cazul prezenei restriciilor.
7.2 Principiul metodelor bazate pe funcii de penalizare
n esen, aceste metode ncorporeaz restriciile problemei (P0 n funcia obiectiv prin intermediul
unei funcii care penalizeaz nerespectarea lor.
Pentru ilustrare s considerm funcia:
0 daca y 0
( )y unde M 0
M d ac a y 0
al crei grafic este dat n fig 7.2. Considerm problema de minimizare fr restricii:
infF ( x ) f ( x ) ( gi ( x ))
Evident:
iM
( P' )
x R n
f ( x ) daca x A
F( x )
M daca x A
infF ( x ) f ( x ) ( gi ( x ))
iM
( P' )
x R n
Acum,penalizarea pentru ieirea n afara mulimii A nu mai este "infinit" astfel c soluia
optim a problemei (P') ar putea s nu fie n A , altfel spus ar putea nclca unele restricii.Pentru a
diminua aceste nclcri amplificm efectul penalizrii nmulind termenul de penalizare cu o
constant r > 0 suficient de mare. (P') devine:
infF( x ) f ( x ) r ( gi ( x ))
iM
( P )
x R n
z f ( x1 , x 2 ,..., x n )
( P ) cu satisfacerea restrictiilor :
g i ( x1 , x 2 ,..., x n ) 0
i 1, 2,..., m
si a conditiilor de nenegativitate :
x1 0 , x 2 0 , ... x n 0
Figura 7.3
Dificultile semnalate au condus la urmtoarea schem de lucru. n locul rezolvrii unei singure
probleme de minimizare fr restricii se va rezolva o secven de asemenea probleme. Concret, se
ncepe rezolvarea problemei (P'') cu o constant r0 nu prea mare; fie x0 soluia optim. Dac x0 A
se reia (P'') cu un multiplicator r1 > r0 utiliznd x0 ca aproximaie iniial. Fie x1 noua soluie optim.
Dac nici x1 A schimbm r1 cu r2> r1 etc. Se poate arta c dac rk atunci irul x0 , x1 , x2
...converge ctre soluia optim a problemei cu restricii (P).
S observm c soluiile intermediare x0 , x1 , x2 ... nu sunt admisibile i din acest punct de
vedere metoda descris seamn cu algoritmul simplex dual din programarea liniar. Acest fapt
poate fi un serios dezavantaj deoarece dac pentru anumite restricii nu sunt permise nici cele mai
mici nclcri atunci nici o soluie intermediar nu poate fi reinut n caz de oprire a procesului
iterativ.
Pentru simplitatea expunerii vom presupune c funciile convexe f i g1 , g2 ,..., gm sunt definite i
difereniabile n ntreg spaiul Rn.
Asociem fiecrei restricii gi(x) 0 o variabil nenegativ ui i construim funcia:
m
Funcia L se numete lagrangianul problemei (P) iar u1 , ... ,um se numesc multiplicatori
Lagrange. Se observ imediat c pentru xRn fixat L este o funcie liniar n u1 ,..., um iar pentru u
0 fixat n Rm, L este o funcie convex i difereniabil.
Vom presupune ndeplinit urmtoarea condiie, numit condiia de regularitate Slater:
Exist x R n cu proprietatea c gi ( x ) 0 i 1,..., m i x j 0 j 1,..., n altfel spus,
mulimea soluiilor admisibile A = { xRn gi(x) 0 , x 0} are interiorul relativ nevid.
Cu aceste pregtiri putem enuna urmtoarea:
Teorem (Kuhn - Tucker) Condiia necesar i suficient ca x*Rn s fie o soluie optim a
problemei (P) este s existe u* Rm astfel nct cuplul (x*,u*) s verifice relaiile:
L
0 ( 1j )
xj
xj
L
0 ( 1j )
xj
L
0 ( 2i )
ui
ui
L
0 ( 2i )
ui
xj 0
(3)
ui 0
i = 1,...,m
j = 1,...,n
(3')
Condiiile ncadrate sunt cunoscute sub numele de condiiile de optimalitate Kuhn - Tucker.
Dei este un rezultat de factur pur teoretic, teorema de mai sus este la baza multor
algoritmi eficieni de rezolvare a programelor neliniare convexe cum sunt, de exemplu, cei utilizai
n programarea patratic.
Observaie : Condiia de regularitate Slater intervine n probarea suficienei condiiilor de
optimalitate K- T. Ea nu mai este necesar n cazul n care restriciile programului (P) sunt liniare.
Exemplul 8.1 Considerm programul neliniar patratic:
max 2 x1 x2 x12
x1 x 2 3
3 x1 2 x 2 6
( P )
x 0,x 0
1 2
a crui form canonic este:
(min) f 2 x1 x2 x12
x1 x 2 3 0
3 x1 2 x 2 6 0
( P )
x 0, x 0
1 2
Fig. 8.1 confirm faptul c (P) este un program convex: mulimea soluiilor admisibile este
convex, chiar poliedral fiind definit prin inecuaii liniare iar curbele de nivel f(x) = c(onstant)
sunt parabole cu axa de simetrie comun x = 1. Desenul sugereaz c soluia optim x* satisface cu
egalitate restricia x1 + x2 3 i cu inegalitate strict cealalt restricie i condiiile de
nenegativitate.Aceste concluzii "calitative" i condiiile de optimalitate K - T ne vor permite s
determinm punctul x*.
Asociem celor dou restricii variabilele nenegative u1 i u2 i construim lagrangianul:
L = -2x1 - x2 + x12 + u1(x1 + x2 - 3) + u2(3x1 - 2x2 - 6)
Scriem condiiile de optimalitate K - T:
L
0 2 2 x 1 u1 3u2 0 ( 11
. )
x1
L
0
1 u1 2u2 0 ( 1.2 )
x2
L
0 x 1 x 2 3 0 ( 2.1 )
u1
L
0 3 x 1 2 x 2 6 0 ( 2.2 )
u2
L
0 x 1 ( 2 2 x 1 u1 3u2 ) 0 ( 1.!' )
x1
L
x2
0
x 2 ( 1 u1 2u 2 ) 0 ( 1.2' )
x2
L
u1
0
u1 ( x1 x 2 3 ) 0 ( 2.1' )
f(x) =fmin
u1
L
u2
0 u2 ( 3 x 1 2 x 2 6 ) 0 ( 2.2' )
u2
f(x) = -1
x1
x1 , x 2 0 ( 3 )
u1 , u 2 0 ( 3' )
( x1 , x 2
x*
f(x) = 0
Figura 8.1
aij x j bi i 1,...,m
j 1
( P ) x j 0 j 1,...,n
n
(max) f c j x j
j 1
Ax b
x0
(max) f cx
Rescriem (P) n forma canonic n care am studiat programele convexe i asociem celor m restricii
variabilele u1 , u2 ,..., um:
j 1
aij x j bi 0 ui i 1,...,m
xj 0
j 1
(min) f c j x j
Ax b 0 u ( u1 ,...,um )
x0
(min) f cx
j 1
i 1
j 1
i 1
L( x , u ) cx u( Ax b ) ub ( uA c )x
Condiiile de optimalitate K - T:
m
L
0 ui aij c j 0 ( 1 j )
xj
i 1
xj
m
L
0 ( ui aij c j )x j 0 ( 1j )
xj
i 1
n
L
0 aij x j bi 0 ( 2i )
ui
j 1
ui
n
L
0 ui ( aij x j bi ) 0 ( 2i )
ui
j 1
x j 0 (3)
ui 0 ( 3' )
se interpreteaz astfel:
x ( x1 , x 2 ,..., x n ) R n este o soluie optim a programului (P) dac i numai dac exist
u ( u1 , u2 ,..., um
) R m astfel nct cuplul ( x , u ) s verifice relaiile mai sus scrise.
Observm c relaiile (2i) i = 1,...,m i (3) definesc x* ca soluie admisibil a problemei (P) n timp
ce relaiile (1j) j = 1,...,n i (3') definesc u* ca soluie admisibil a problemei duale:
ui aij c j j 1,...,n
i1
( Q ) ui 0 i 1,...,m
m
(min)g ui bi
i 1
uA c
u0
(min)g ub
i 1
( ui aij c j )x j 0 j 1,...,n ( uA c )x 0
ui ( aij x j bi ) 0 i 1,...,m u( Ax b ) 0
j 1
(min) f px 1 x T Cx
2
( P ) Ax b
x 0
n care:
x1
x
2
p [ p1 , p2 ,..., pn ] x
xn
c11 c12
c
21 c22
C
c n 1 cn 2
a11 a12
a
a 22
A 21
a m1 a m2
a1n
a 2n
a mn
c1n
c2 n
= matrice simetric
cnn
b1
b
b 2
bm
Vom presupune c matricea C este pozitiv semidefinit ; tim atunci c funcia patratic f este
convex i ca urmare, programul (P) este convex.
Asociem blocului de restricii Ax - b b vectorul (linie) de multiplicatori Lagrange
u = [u1,u2,...,um] i construim lagrangianul problemei (P):
L( x , u ) px
1
2
x T Cx u( Ax b )
u L 0 Ax b 0 ( 2 )
x0
(3)
( x L ) x 0 ( p x T C uA )x 0 ( 1 )
u ( u L ) 0 u( Ax b ) 0 ( 2 )
u0
(3')
x T C uA v p
Ax
y b
(4)
ckj xk aij ui v j
k 1
i 1
a x
ik k
p j j 1,...,n
yi bi i 1,...,m
k 1
x 0 , u 0 , v 0 , y 0 xk 0 , ui 0 , vj 0 , yi 0
vx = 0 ; uy = 0
(5)
i = 1,...,m
x T C uA v z1 p
y z2 b
Ax
unde:
z12
) 0 cu
z 1j
0 daca p j 0
x T C uA v
Ax
z22
0 cu zi2 0 daca bi 0
i z
2
zm
z1
p
z2 b
x 0 ,u 0 ,v 0 , y 0 , z 1 0 , z 2 0
j 1
i 1
(min)w z 1j zi2
p j daca p j 0
vj
bi daca bi 0
daca p j 0 z1j p j
, yi
0 daca bi 0 zi2 bi
sau xj = 0
ui = 0 sau
yi = 0
deci
vjxj = 0 j = 1,...,n
deci
uiyi = 0 i = 1,...,m
Se poate arta c dac programul (P) este compatibil atunci ntr-un numr finit de iteraii se ajunge
la o soluie n care (min)w = 0 toate variabilele artificiale introduse au valoarea zero. Este clar
atunci c s-a obinut o soluie admisibil a sistemului (4) care satisface relaiile de
complementaritate (5). Componenta x* a acestei soluii constituie soluia optim a programului
patratic (P).
Observaie Consideraiile de mai sus constituie o descriere de principiu a algoritmului lui
Wolfe pentru rezolvarea programelor patratice convexe.
Exemplu numeric Vom arta cum se aplic efectiv condiiile de optimalitate K - T i
algoritmul simplex la rezolvarea programului patratic:
( P ) x1 2 x2 30
x 0,x 0
1 2
Scriem matricial funcia obiectiv:
x1
4 4 x 1
f ( x1 , x 2 ) [ 15 ,30 ] 21 [ x1 , x2 ]
x2
4 8 x 2
4
Matricea simetric C
4
Lagrangianul problemei:
4
este chiar pozitiv definit astfel c f este o funcie strict convex.
8
L( x1 , x 2 ) 15 x1 33 x 2 4 x1 x 2 2 x12 4 x 22 u( x1 2 x 2 30 )
Condiiile de optimalitate K - T:
L
15 4 x 2 4 x1 u 0
x1
L
30 4 x1 8 x 2 2u 0
x2
L
0 x1 ( 15 4 x2 4 x1 u ) 0
x1
L
x2
0 x2 ( 30 4 x1 8 x 2 2u ) 0
x2
x1
L
x1 2 x 2 30 0
u
L
0 u( x1 2 x 2 30 ) 0
u
x1 , x2 0
u 0
Punem:
L
15 4 x 2 4 x1 u
x1
L
v2
30 4 x1 8 x 2 2u
x2
L
y
30 x1 2 x 2
u
v1
15
4 x1 4 x 2 u v 1
4 x1 8 x2 2u v2 30
x 2x
1 2
(4)
y 30
x 1 0 , x 2 0 , u 0 , v1 0 , v 2 0 , y 0
x1 v1 0 x 2 v 2 0 u y 0
(5)
tim c dac ( x , u , v , y ) este o soluie admisibil a sistemului (4) care satisface relaiile (5)
atunci x* este o soluie optim a problemei date.
Introducem variabilele artificiale z1 i z2 n primele dou egaliti i rezolvm programul liniar:
(min)w z1 z2
4x 4x u v
1
2
1
4 x 1 8 x 2 2 u
x 2x
1
2
z1
v2
15
z2 30
30
0
x1
4
-4
1
0
x2
-4
8
2
0
u
1
2
0
0
v1
-1
0
0
0
v2
0
-1
0
0
y
0
0
1
1
z1
1
0
0
1
z2
0
1
0
1
0
0
1
0
0
0
0
0
w
z1
x2
y
w
z1
x2
x1
w
u
x2
x1
w
45
30
15/4
45/2
30
15/2
75/8
45/4
15/2
3
9
12
0
0
2
-1/2
2
2
0
0
1
*
4
0
1
0
*
0
1
0
*
3
2
1/4
-1/2
2
5/2
1/8
-1/4
5/2
-1
-1
0
0
-1
-1
0
0
-1
-1
-1/2
-1/8
1/4
-1/2
-3/4
-1/16
1/8
-3/4
*
0
0
1
*
-1
1/4
1/2
-1
*
1
0
0
*
1
0
0
*
*
1/2
1/8
-1/4
-1/2
3/4
1/16
-1/8
-1/4
este o soluie optim a programului patratic dat de altfel i singura avnd n vedere faptul c funcia
obiectiv f este strict convex.
9. ntrebri i probleme
1. Se d o funcie numeric f definit n toate punctele unei mulimi C Rn.
a) Ce nseamn c mulimea C este convex? Presupunnd C convex, ce nseamn c
funcia f este convex (strict convex)?
b) Ce nseamn c punctul x* C este un punct de minim local al funciei f? Dar c x* este
un punct de minim global al funciei f pe C?
c) Artai c dac C este o mulime convex iar f este o funcie strict convex atunci f nu
poate avea dect cel mult un punct de minim global pe C.
2. a) Se consider funcia patratic (x) = xTCx , x Rn unde C este o matrice simetric de ordinul
n. S se arate c pentru orice x,y Rn i orice R are loc identitatea:
((1 - )x + y) = (1 - )(x) + (y) - (1 - )(x - y)
b) Scriei funcia patratic:
f ( x1 , x 2 , x3 ) x1 2 x 2 x 3 21 x12 x1 x 2 x1 x 3 x 22 x 2 x3 x32
n formatul matricial f ( x ) px
(strict convex)
1 x T Cx
2
x1
, x x2 R 3 i cercetai dac f este o funcie convex
x3
x1
2
R i artai c f este o funcie
x
2
T
a) Scriei f n formatul matricial f ( x ) px 21 x Cx , x
strict convex.
b) Calculai gradientul f i determinai minimul liber x* al funciei f.
c) Determinai direcia celei mai rapide descreteri a funciei f din x0 = (0,0) i prima
aproximaie x1 din metoda gradientului.
d) Efectuai nc dou iteraii din metoda gradientului pentru minimizarea nerestricionat a
funciei f. Comparai x3 cu x* obinut la b).
6. n procesul de minimizare nerestricionat a unei funcii numerice de trei variabile ,efectuat cu
metoda gradientului,printre direciile de deplasare s-au numrat i vectorii s = (1,1,-3),
s'
= (2,-1,1). Este posibil ca cele dou direcii s fi fost obinute n dou iteraii consecutive?
7. Se consider programul convex:
( P ) g( x1 , x2 ) x12 x22 5 0
x 0,x 0
1 2
(min) f ( x1 4 )2 ( x2 3 )2
3 x1 2 x2 12
2 x 2 x 3
1
2
( P )
2 x1 x 2 4
2x 3x 6
1
2
x1 0 . x2 0
a) Vizualizai mulimea soluiilor admisibile;
b) Ce form au curbele de nivel ale funciei obiectiv? Stabilii punctul de minim liber x al
funciei f;
c) Scriei condiiile de optimalitate Kuhn - Tucker;
d) Stabilii cu aproximaie poziia soluiei optime x* a programului (P) i folosind condiiile
K - T determinai efectiv x*.
9. Se d programul neliniar;
(max) f x12 x2
x1 x22 5
( P )
2 x1 x 2 1
x 0,x 0
1 2
a) Reprezentai grafic mulimea soluiilor admisibile i curbele de nivel f(x) = 1 , f(x) = 4 ale
funciei obiectiv;
b)Aducei programul (P) la forma canonic i scriei condiiile de optimalitate K - T;
c)Determinai soluia optim x* a programului (P) tiind c ea satisface cu egalitate numai
prima restricie a acestuia.
10. n modelarea unui proces de stocare cu dou produse i spaiu de depozitare limitat s-a ajuns la
urmtorul program neliniar:
a12
a22
(min) f ( x1 , x2 ) x1 x2
x1
x2
( P )
x1 x 2 I
x1 0 , x 2 0
x1 x 2 3
( P )
3 x1 2 x 2 6
x 0,x 0
1 2