Sunteți pe pagina 1din 37

CAPITOLUL IV

ELEMENTE DE PROGRAMARE NELINIARA


1.Introducere
Caracteristic unei probleme de programare liniar este faptul c toate funciile implicate n
ea funcia obiectiv i restricii sunt liniare. Dei ipotezele de liniaritate au loc n numeroase
situaii practice tot att de frecvent ale nu sunt ndeplinite. De fapt, muli economiti teoreticieni au
constatat c un anume grad de neliniaritate este regula i nu excepia n problemele de planificare
economic.
Exist deci o puternic motivaie economic pentru studiul problemelor de programare
neliniar a cror form canonic de prezentare este:

Sa se determine x * ( x1* , x2* ,..., x n* )

care minimizeaza functia obiectiv :

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:

necesarul de resurse pentru susinerea programului s se ncadreze n disponibile date;


profitul total, rezultat din vnzarea bunurilor produse s fie maxim.

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

Fie x cantitatea transportat i C(x) costul transportrii cantitii x.


dac 0 x 6 costul unitar de transport este de 6.5 u.m. deci
C1(x) = 6.5x u.m.;
dac 6 x 15 , 6 uniti vor fi transportate cu costul 6.5 u.m. per unitate iar
urmtoarele cu numai 5 u.m. per unitate astfel c :
C2(x) = 6.5 6 + 5.(x - 6) = 9 + 5.x
dac 15 x 27 , 15 uniti vor fi transportate cu costul C2(15) = 84 iar urmtoarele cu
numai 4 u.m. per unitate. Costul total va fi :
C3(x) = 84 + 4.(x 15) = 24 + 4.x
dac 27 < x 45 , 27 uniti vor fi transportate cu costul C3(27) = 132 iar urmtoarele cu
3 u.m. per unitate de unde costul total:

C4(x) = 132 + 3.(x 27) = 51 + 3.x


Prin urmare, costul C(x) al transportrii a x uniti este dat de funcia:

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 )

Aceste consideraii nu modific restriciile problemei de transport care rmn liniare:


n

x
j 1

ij

ai

i 1,2,..., m

suma cantitilor livrate de sursa i nu

depete disponibilul su;


m

x
i 1

ij

bj

j 1,2,..., n suma cantitilor primite de consumatorul j

acoper cererea sa.


Exemplul 2.2 La terminalul unei conducte petroliere situat ntr-un port sosesc vasele A,B,C
pentru a fi ncrcate. Vasul A trebuie ncrcat cu 15 mii tone n maximum 48 de ore, vasul B trebuie
ncrcat cu 20 mii tone n maximum 60 de ore iar vasul C trebuie ncrcat cu 45 mii tone n
maximum 70 de ore. (timpii de staionare pentru ncrcare se numesc timpi de stalii i sunt
prevzui n contractul de transport; orice depire a acestor timpi (contrastalii) se penalizeaz,
penalizarea depinznd de tipul navei etc) Terminalul dispune de pompe i conducte care nsumeaz
o capacitate de ncrcare de 1200 tone pe or. Se pune problema de a stabili ce debit trebuie afectat
fiecrei nave astfel nct ele s fie ncrcate n cel mai scurt timp.
Dac se noteaz cu y1 , y2 , y3 deditele repartizate vaselor A,B,C i cu x1 , x2 , x3 numrul de
ore necesar ncrcrii lor se obine uor urmtorul program neliniar:

(min) f x1 x 2 x3

x1 y1 15000 x 2 y 2 20000 x3 y 3 45000

y1 y 2 y 3 1200

x1 48 , x 2 60 , x3 70

x j , y j 0 j 1,2,3

Eliminnd y1 , y2 , y3 rezult modelul mai simplu:

(min) f x1 x 2 x3

x1 48 , x 2 60 , x3 70

x1 0, x 2 0, x3 0

15000 20000 45000

1200
x
x
x
1
2
3

3. Dificulti cauzate de neliniaritate


Considerm problema de optimizare:

min f ( x) ,
x Rn

( P) g ( x) 0 , g ( x) ( g1 ( x), g 2 ( x),..., g m ( x))


x0

a crei mulime de soluii admisibile o notm cu A:

A = x R g ( x ) 0 g 1 ( x ) 0, g 2 ( x ) 0,..., g m ( x) 0; x 0

(P) se rescrie:

S se determine x*A cu proprietatea: f ( x * ) min f ( x), x A

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:

o soluie optim dac exist este un punct de minim global adic:


f(x*) f(x)

() x A

cel puin o soluie este un vrf al mulimii 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

admisibile vecine cu B dar, spre deosebire de A, B minimizeaz obiectivul pe ntreaga mulime A


i n consecin reprezint soluia optim a problemei (P). Spunem c A i B sunt puncte de minim
local ale funciei obiectiv f, B fiind chiar un punct de minim global.
Posibilitatea existenei mai multor minime locale ale funciei obiectiv reprezint o serioas
dificultate n rezolvarea unui program neliniar. ntr-adevr, prin nsi formulare, ntr-o asemenea
problem se cere determinarea minimului global al obiectivului. Or, toate metodele de optimizare
neliniar cunoscute, nu reuesc s determine dect cel mult un minim local, neexistnd garania c
acesta coincide cu minimul global cutat.
Dup cum vom vedea, dac A este
convex
x
x = (5/2 , 7/2)
iar funcia obiectiv este convex i se
min f = f(x ) = 3/2
minimizeaz atunci aceasta are cel mult un
minim
local care dac exist este automat global !
Din
fericire, marea majoritate a aplicaiilor
economice au proprietile de mai sus, fapt
care
punctul de minim
constituie un serios avantaj.
liber al funcei f
*

3) Chiar dac restriciile din (P) sunt


dar obiectivul ramne neliniar ns convex,
optim, dei se afl pe frontiera lui A nu este
vrf. Considerm urmtorul exemplu:

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

1) Problemele de optimizare fr restricii au forma general:


S se determine x* Rn care minimizeaz valoarea funciei
z f ( x1 , x 2 ,..., x n )

minimul fiind luat dupa toi x Rn n care funcia f este definit.


2) Probleme de optimizare cu restricii liniare i funcie obiectiv neliniar. n aceast
clas un loc deosebit l ocup problemele de programare patratic n care funcia obiectiv este un
polinom de gradul doi n variabilele sale:
n

f ( x1 , x 2 ,..., x n ) c0 ci xi
i 1

1 i j n

ij

xi x j

Importana problemelor de programare patratic este motivat prin:


faptul c modeleaz cu suficient acuratee multe situaii practice;
se rezolv prin metode derivate din metoda simplex ntr-un numr finit de pai;
rezolvarea multor probleme cu restricii liniare i funcie obiectiv neliniar se poate
reduce la rezolvarea unei secvene de probleme de programare patratic ale cror funcii obiectiv
aproximeaz din ce n ce mai bine obiectivul neliniar original.
3) Problemele de programare convex se caracterizeaz prin:
funcie obiectiv convex dac aceasta se minimizeaz (echivalent: funcie obiectiv
concav dac aceasta se maximizeaz);
restriciile inegaliti sunt de forma g i ( x) 0 n care gi este o funcie convex
(echivalent g i ( x) 0 cu gi funcie concav);
eventualele restricii egaliti sunt liniare, cerin motivat prin aceea c funciile liniare
sunt singurele funcii simultan convexe i concave.
Problemele convexe au urmtoarele proprieti fundamentale:
mulimea soluiilor admisibile este convex;
funcia obiectiv admite cel mult un optim (minim sau maxim) local; automat acesta va fi
un optim global i va reprezenta optimul problemei;
dac optimul liber (nerestricionat) al funciei obiectiv nu este o soluie admisibil
atunci optimul restricionat se gsete cu necesitate pe frontiera mulimii A .
Importana acestei clase de probleme este covritoare. ntr-adevr:
programarea convex include programarea liniar ;
n acest domeniu a fost depus cel mai mare efort de cercetare i s-au obinut cele mai
puternice rezultate teoretice (cum ar fi teoria dualitii neliniare, condiiile de optimalitate Kuhn
Tucker) i practice (metode i algoritmi de optimizare);
ntregul formalism matematic al teoriei economice moderne se bazeaz pe ipotezele de
convexitate.
4)Problemele de programare separabil se caracterizeaz prin faptul c funcia obiectiv f
ca i funciile gI din restricii sunt separabile n sensul urmtoarei definiii:
Funcia f ( x1 , x 2 ,..., x n ) se numete separabil dac ea se poate scrie ca o sum de funcii,
fiecare de cte o singur variabil:

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

unde se presupune c dx d 0 0 pe A ={x Rn Ax b , x 0}.


O asemenea problem se reduce la un program liniar uzual punnd:
y ( y1 , y 2 ,..., y n )

1
1
y
x,t
astfel c x .
dx d 0
dx d 0
t

Rezult programul liniar echivalent n n + 1 variabile y = (y1,y2,,yn) i 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

este simultan convex i concav.


3) Dac f i g sunt funcii convexe cu acelai domeniu convex de definiie i 0 , 0
atunci combinaia f + g este deasemenea o funcie convex.
4)S considerm funcia patratic n n variabile:
n

f ( x1 , x 2 ,..., x n ) p j x j
j 1

cij x i x j

1 i j n

definit n ntreg Rn. Dac punem:

p [ p1 , p 2 ,..., p n ], x

x1
x
2

cii 2cii , i 1,..., n


cij c ji cij ,1 i j n

, 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

Acum, dac [0,1], identitatea precedent echivaleaz convexitatea funciei cu condiia:


z T Cz 0

() 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).

Reamintim c matricea simetric C [cij ] , 1 i, j n este pozitiv semidefinit (pozitiv definit)


dac i numai dac toi minorii care se sprijin pe diagonala principal, adic:

c11

c11

c12

c 21

c 22

c11
c
; 21

c n1

c12
c 22

cn 2

c1n
c2 n

c nn

sunt 0 (respectiv > 0).


6) Mai general, fie f o funcie definit i avnd derivate pariale de ordinul doi n orice
punct al unei mulimi convexe deschise C din Rn. Atunci f este convex dac i numai dac matricea
hessian

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 )

definit pentru toi t R cu proprietatea c x + tz C (aceti t exist cu siguran i deoarece C este


o mulime deschis, ei formeaz un interval deschis n R ce conine 0). Evident, funcia f este
convex dac i numai dac funcia g este convex, indiferent de alegerea lui x C i a lui z
Rn.Ca i f, g este de dou ori derivabil i
g (t ) z T H ( x tz ) z

Atunci, f este convex () x C, () z Rn i () t R cu x + tz C,


g (t ) z T H ( x tz ) z 0 , H(x) este pozitiv semidefinit () x C etc.
n continuare, vom justifica unele proprieti ale programelor convexe anunate deja n
seciunea precedent.
Propoziie Fie g 1 , g 2 ,..., g m funcii convexe definite n toate punctele unei mulimi
convexe C Rn. Atunci mulimea:
A = {x C g1 ( x) 0, g 2 ( x) 0,..., g m ( x) 0}
este convex.

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

Prin urmare (1-)x + y A .


Consecin Mulimea soluiilor admisibile ale unui program convex este o mulime
convex.
Teorem Considerm problema de optimizare convex: min{ f ( x ) x A } n care A este
mulimea convex a soluiilor admisibile iar f este o funcie convex pe A . Dac f are n x* A un
minim local atunci x* este un punct de minim global al funciei f pe ntreg A .
Demonstraie Prin ipotez, f ( x*) f ( x ) oricare ar fi x A , suficient de aproape de x*.
Presupunem prin absurd c x* nu este un minim global al funciei f : exist atunci x** A astfel nct
f ( x**) < f ( x* ). S considerm acum un punct interior variabil pe segmentul [x*, x**] :
z (1 ) x * x **

(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 }

n legtur cu aceast problem, analiza matematic clasic furnizeaz urmtorul rezultat


fundamental:
Teorem Dac x* este un punct de extrem local al funciei f, atunci f(x*) = 0, unde

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

atunci x* este un punct de minim local al funciei f.


Prin urmare, soluia optim a problemei (P) trebuie cutat printre soluiile sistemului de n
ecuaii n n variabile, n general neliniar:
f ( x ) 0

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 genereaz un ir de puncte x0, x1, x2 din Rn, numite n continuare aproximaii.


Punctul iniial x0 este dat, alegerea sa fiind fcut de utilizator n funcie de specificul problemei
(P). O dat obinut aproximaia xk, noua aproximaie xk+1 se determin astfel:

Se alege o direcie de deplasare sk


un pas al deplasrii k ; sk este un vector nenul din
regul s k 1 ; k este un scalar pozitiv.

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 ) ...

Mai precis k se gsete prin minimizarea funciei de o singur variabil:


g ( ) f ( x k s k ) 0

(6.4)

Pentru a obine o metod efectiv de minimizare este necesar s se precizeze:


modul de alegere a direciei de deplasare sk, k = 0,1,2,;
modul de alegere a pasului k altfel spus, modul n care se execut minimizarea funciei
unidimensionale g() din (6.4);
procedeul de oprire a procesului iterativ.

Decisiv n diferenierea metodelor concrete att n ceea ce fundamentul teoretic ct i


performanele numerice este prima chestiune, legat de alegerea direciei de deplasare.
Este foarte important de reinut c dac funcia de minimizat nu are proprieti adiionale
bune, cum ar fi aceea de a fi convex, rezultatul aplicrii acestor metode se materializeaz n cel
mai bun caz, ntr-un minim local de regul cel mai apropiat de punctul iniial x0. n practic,
pentru a obine toate minimele locale i n particular minimul global, se procedeaz la repetarea
minimizrii din mai multe puncte iniiale, judicios alese.
Marea majoritate a metodelor de minimizare nerestricionat presupun difereniabilitatea
funciei obiectiv ; exist totui i scheme de minimizare pentru funcii nedifereniabile!
6.3 Gradientul unei funcii. Proprieti n ipotezele i notaiile precedente, o
hipersuprafa de nivel a funciei f este mulimea punctelor x ( x1 , x 2 ,..., x n ) R n care satisfac o
ecuaie de forma: f( x ) = C, unde C este o constant. n cazul a dou (respectiv trei) variabile vom
vorbi despre curbe (respectiv,suprafee) de nivel. Astfel pentru funciile:
a ) f ( x1 , x 2 ) 2 x1 3 x 2 ; b) f ( x1 , x 2 ) 4 x1 2 x 2 x12 x 22
c ) f ( x1 , x 2 ) 2 x1 16 x 2 x12 4 x 22

curbele de nivel sunt: a) drepte paralele;


6.2)

b) cercuri concentrice;

c) elipse concentrice (vezi fig.

Gradientul funciei f este vectorul:


f
f
f
,
,...,

x n
x1 x 2

f ( x )

Acesta are urmtoarele proprieti:

adevrat.

n orice punct de extrem local x* al funciei f avem f(x*) = 0; reciproca nu este n general

din

Fie x R n un punct n care f ( x ) 0 .Atunci s f (x ) este direcia de deplasare


x
f = -1
f=4

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

care indic variaia funciei f pe direcia de deplasare s din x .

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 )

rezult c g (0) are cea mai mic valoare pentru


s f (x ) i cea mai mare pentru s = f ( x ) .

Dac f ( x ) 0 , atunci acest vector

este perpendicular pe hipersuprafaa de nivel


f ( x ) f ( x ) ce trece prin x 9vezi fig. 4.8
Figura 6.3
f ( x1 , x 2 ) 16 x12 ( x 2 4) 2
Exemplul 6.1 Considerm funcia patratic:
Curbele sale de nivel sunt elipse cu centrul n punctul x * (0,4) care reprezint i punctulde minim
global al funciei.Gradientul lui f:
f ( x1 , x 2 ) [32 x1 ,2 x 2 8]

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 )

Pe aceast direcie, comportarea funciei f este descris de funcia:


g ( ) f ( x( )) 16(1 32 ) 2 (6 3) 2 16420 2 1060 25

a crei variaie este artat n fig.6.5

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

unde este un numr pozitiv foarte mic, ca de exemplu = 10-5.


3) De multe ori este preferabil s oprim procesul iterativ n momentul n care variaia
funciei obiectiv n dou aproximaii succesive nu depete o toleran dat:
f ( x k ) f ( x k 1 )

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:

numai evaluri ale funciei g (n cteva puncte);


evaluri att ale funciei g ct i ale derivatei sale.

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 )

care de asemenea conine

b a

Atunci orice punct x din

(a , b )

cu 0

numr foarte mic.

aproximeaz x* cu tolerana n sensul c:

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.

Deoarece n intervalul de localizare (a,b) am presupus c f are un unic punct de minim x*


(vezi fig. 6.8) urmeaz c oricare ar fi x1 < x2 din (a,b) :
f ( x1 ) f ( x 2 )

dac

x1 x 2 x *

i
f ( x1 ) f ( x 2 )

dac

x * x1 x 2

Alegem dou puncte xS i xD n (a,b)


astfel nct xS < xD pe care le vom
numi puncte interioare. Dac
f ( x S ) f ( x D ) ,atunci cu necesitate
x* se va afla n intervalul (a,xD).

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:

extremitile intervalului curent

(a , b )
a a

care conine punctul de minim x* cutat:


b b

punctele interioare:
xS a r 2 h

x D a r h unde : h b a

Evalum funcia f n xS i xD.


Coninutul unei iteraii:
Pasul 1. Se compar f ( x S ) cu f ( x D ) . Dac:

f ( x S ) f ( x D ) se merge la pasul 2.

f ( x S ) f ( x D ) se merge la pasul 3.

Pasul 2. ( x* se afl n intervalul (a , x D ) i tot aici se gsete i xS)


Actualizm:
b xD ; h b a

Dac h < se merge la pasul 4. Altminteri, actualizm:


xD xS ; xS a r 2 h

Evalum f n (noul) xS. Ne ntoarcem la pasul 1 n cadrul unei noi iteraii.

Pasul 3. ( x* se afl n intervalul ( x S , b ) i tot aici se gsete i xD)


Actualizm:
a xS

; hb a

Dac h < se merge la pasul 4. Altminteri, actualizm:


xS xD ; xD a r h

Evalum f n (noul) xD. Ne ntoarcem la pasul 1 n cadrul unei noi iteraii.


Pasul 4. x *

a b
.
2

6.6 Schema logic de principiu a metodelor de optimizare nerestricionat


Consideraiile precedente conduc la schema logic de principiu din fig. 6.10. Elementele eseniale
ale blocurilor P (alegerea Pasului deplasrii) i O (Oprirea procesului iterativ) au fost deja discutate
n seciunile 6.4 i 6.5.n ceea ce privete blocul D (alegerea Direciei de deplasare) acesta difer de
la metod la metod. Cea mai simpl metod de minimizare nerestricionat, datorat lui Cauchy va
fi prezentat n continuare.
6.7 Metoda gradientului (Cauchy)
La fiecare iteraie a algoritmului din fig.6.10 direcia de deplasare este dat de relaia:
s k f ( x k )

cu condiia ca

f ( x k ) 0 .

Aceast opiune se bazeaz pe faptul c

f ( x k )

este direcia celei mai rapide descreteri din xk.

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

Prin urmare g ( k ) 0 .Am vzut c: g ( ) s k f ( x k s k ) - a se revedea seciunea 6.3! aa


nct:
g ( k ) 0 s k f ( x k k s k ) 0 s k f ( x k 1 ) 0 s k s k 1 0

Pentru funciile sferice de forma:


n

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

Se introduc datele problemei de


minimizare: funcia f, aproximaia x0 de start,parametrii criteriilor
de oprire(nr. maxim de iteraii,
precizia calculului

k=0

BLOCUL D: Se determin direcia sk de


deplasare din aproximaia
curent xk
BLOCUL P Se alege pasul deplasrii k
prin minimizarea funciei unidimensionale
g() = f(xk + sk) , 0

Se calculeaz noua aproximaie:


xk+1 = xk + ksk

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

cu metoda gradientului. Punctul de plecare x0 = (1,1)


Gradientul funciei:
f f
,
2 x1 2 x 2 , 1 2 x1 4 x 2
x1 x 2

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

a) Cazul funciilor sferice

b) Cazul funciilor nesferice

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;

orice minim local al funciei f pe mulimea A este un minim global.


(vezi seciunea 5)
Metodele de optimizare cu restricii se mpart n trei categorii:
1) Metode bazate pe adaptarea schemei generale de optimizare nerestricionat la cazul
prezenei restriciilor; aceste metode poart numele generic de metode de gradient.
2) Metode bazate pe utilizarea funciilor de penalizare : rezolvarea problemei (P) se reduce
la o suit (teoretic infinit) de optimizri nerestricionate.
3) Metode bazate pe plane de seciune; n principiu,aceste metode "aproximeaz" A printro mulime poliedral adic printr-o mulime ce poate fi descris printr-un sistem de inegaliti
liniare; rezolvarea problemei (P) se reduce la o secven (infinit) de optimizri liniare efectuate
cu ajutorul algoritmului simplex.

7.1 Principiul metodelor de gradient


Aplicarea schemei generale de minimizare nerestricionat trebuie s in seama de urmtoarele
aspecte:

g(x) = 0

g(xk)

xk

-f(xk)

xk+1
x0

Figura 7.1

de regul soluia optim x* a problemei (P) se gsete pe frontiera lui A , adic


satisface cu egalitate cel puin una din restriciile gi(x) 0, i M.

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:

o direcie s (s Rn, s 0) se va numi admisibil relativ la punctul curent xk+1 dac o


deplasare suficient de mic din xk pe direcia s ne menine n A ;

direcia s se va numi utilizabil dac deplasarea din xk pe direcia s duce la scderea


valorii funciei obiectiv.
Se poate arta c o direcie s este admisibil i utilizabil relativ la punctul curent xk dac i numai
dac s satisface condiiile:

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

n consecin,orice procedeu de minimizare a funciei F se va orienta ctre punctele mulimii A i


deci va minimiza funcia original f. Dificultatea major rezid n faptul c funcia de penalizare
are o discontinuitate n 0 care atrage dup sine discontinuitatea funciei F pe frontiera lui A ! Cum
de regul punctul de optim x* se afl pe frontier, metodele de minimizare bazate pe gradient nu
sunt aplicabile deoarece gradientul funciei F nu este definit pe frontiera lui A .

Totui ideea de a aduga un termen la expresia funciei f care s penalizeze o eventual


"ieire" din A i de a minimiza "liber" funcia rezultat poate fi salvat utiliznd n locul funciei o
funcie mai puin "rigid" care s aibe proprietile de regularitate (continuitate, difereniabilitate)
reclamate de utilizarea metodelor de gradient. Un exemplu ar putea fi funcia:
cu ajutorul creia construim problema de minimizare fr restricii

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

Introducerea multiplicatorului r mrete excentricitatea hipersuprafeelor de nivel ale


funciei F; or, este tiut c excentricitatea pronunat influeneaz negativ viteza de convergen a
tuturor algoritmilor de minimizare nerestricionat.
(y)
Sa se determine x * ( x1* , x 2* ,..., x n* )

care minimizeaza functia obiectiv :

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.

8 Condiiile de optimalitate Kuhn - Tucker n programarea convex


8.1 Formularea condiiilor
Considerm un program convex (P) pe care l presupunem adus la urmtoarea form zis
canonic:
S se determine x* Rn cu proprietatea:
f(x*) = min f(x)
(P)

minimul fiind luat dup toi x Rn care satisfac restriciile:


gi(x) 0 i = 1,...,m
i condiiile de nenegativitate:
x 0 xj 0 j = 1,...,n

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

L(x, u) = L( x1 ,..., x n ; u1 ,..., um ) f ( x ) ui gi ( x )


i 1

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

Reamintim interpretarea acestor condiii: x


)
este soluia optim a programului (P) dac i numai
dac exist u ( u1 ,u2 ) astfel nct cuplul ( x ,u ) s
satisfac relaiile mai sus scrise.
Deoarece la optim avem: x1 > 0 , x2 > 0 i 3x1 - 2x2 < 6
din relaiile (1.1') , (1.2') i (2.2') obinem:

x*

f(x) = 0

Figura 8.1

-2 + 2x1 +u1 + 3u2 = 0 , -1 + u 1 - 2u2 = 0 i u2 = 0 care mpreun cu x1 + x2 = 3 constituie un sistem


de patru ecuaii cu patru variabile x1 , x2 , u1 , u2. Rezult uor:
x ( 21 , 52 ) , u ( 10
, ) de unde (min) f 13
4 .

8.2 Condiiile Kuhn - Tucker n programarea liniar


Evident, orice program liniar este un program convex i ca urmare teorema de optimalitate
Kuhn - Tucker funcioneaz i pentru programele liniare. Dup cum vom vedea , n acest caz
teorema amintit se suprapune peste un rezultat fundamental al dualitii liniare.
S considerm un program liniar n form canonic de maximizare (n notaiile uzuale):

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

Lagrangianul problemei (P) are expresia:


n

j 1

i 1

j 1

i 1

L( x1 ,..., x n ; u1 ,..., um ) c j x j ui ( aij x j bi ) ui bi ( ui aij c j )x j


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

Obinem urmtoarea reformulare a relaiilor K - T:


Condiia necesar i suficient ca soluia admisibil x ( x1 , x 2 ,..., x n ) a problemei (P) s
fie o soluie optim este s existe o soluie admisibil u ( u1 , u2 ,...,um ) a problemei duale (Q)
astfel nct cuplul (x*,u*) s verifice relaiile:

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

Am regsit teorema ecarturilor complementare din teoria dualitii liniare.


8.3 Condiiile de optimalitate Kuhn - Tucker n programarea patratic
Considerm problema de programare patratic:

(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 )

n scriere matricial, condiiile de optimalitate K - T pentru programul (P) arat astfel:


x L 0 p x T C uA 0 ( 1 )

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')

Transformm inegalitile (1) i (2) n egaliti introducnd vectorii de variabile de abatere:


y1
y
v [ v1 , v 2 ,..., v n ] p x T C uA 0 i y 2 b Ax 0
def
def

ym
Atunci:
x T C uA v p i Ax+y = b
Se vede uor c:
( 1' ) v x 0 v j x j 0 j 1,...,n
( 2' ) u y 0 ui yi 0 i 1,...,m

Cu aceste pregtiri putem formula urmtoarea interpretare a relaiilor K - T:


Condiia necesar i suficient pentru ca x* Rn s rezolve programul patratic (P) este s
existe u R m ,v R n , y R m astfel nct ( x , u , v , y ) s verifice relaiile:

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)

vjxj = 0 j = 1,...,n ; uiyi = 0

i = 1,...,m

Se observ c (4) este un sistem liniar cu m + n ecuaii i 2m + 2n variabile. n concluzie:


Rezolvarea programului patratic (P) s-a redus la determinarea unei soluii admisibile (adic
nenegative) a sistemului liniar (4) care s verifice relaiile de complementaritate (5).
n principiu, aceasta se poate face cu ajutorul algoritmului simplex n felul urmtor:
se nmulesc cu -1 acele egaliti din (4) ai cror termeni liberi sunt < 0;

dac, dup efectuarea operaiei precedente, matricea sistemului (4) nu conine o


submatrice unitate de ordinul m + n, ea se completeaz cu coloanele care lipsesc adugnd - acolo
unde este cazul - variabile artificiale nenegative.Astfel, sistemul (4) devine:

x T C uA v z1 p

y z2 b

Ax
unde:

z12

( z11 , z21 ,..., zn1

) 0 cu

z 1j

0 daca p j 0

se rezolv programul liniar:

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

cu ajutorul algoritmului simplex, modificat cu urmtoarea regul suplimentar care se refer la


criteriul de intrare n baz:
La fiecare iteraie, noua variabil bazic va fi astfel aleas nct:
variabilele vj i xj s nu fie simultan bazice j=1,...,n;

variabilele ui i yi s nu fie simultan bazice i=1,...,m.

La start se va pleca cu soluia:


x=0,u=0

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

Deoarece x = 0 , u = 0 ,relaiile de complementaritate (5) sunt verificate. Regula suplimentar ne


asigur c la fiecare iteraie:
vj = 0

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:

(min) f 15 x1 30 x2 4 x1 x2 2 x12 4 x22

( 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

Condiiile K - T n forma (4) - (5):

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

Toate variabilele nenegative

cu ajutorul algoritmului simplex, plecnd de la soluia de baz iniial:


x1 x2 u v1 v2 0 z1 15 z2 30 y 30
care satisface vizibil condiia (5).
CB VB VVB
1 z1
15
1 z2
30
0 y
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

ITERAIA 1 Poate intra x2


deoarece v2 = 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

ITERAIA 2 Poate intra x1


deoarece v1 = 0

ITERAIA 3 Poate intra u


deoarece y = 0

Nu mai este cazul!

Prin urmare,o soluie a condiiilor de optimalitate K - T este x* = (12,9) i u* = 3.n concluzie


x1 12 x 2 9

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

3. Descriei principiul metodelor de minimizare fr restricii


4.Elaborai programe de calculator pentru metodele de minimizare unidimensional prezentate n
seciunea 6.5
5. Se d funcia patratic f ( x1 , x2 ) 2 x1 x 2 21 x12 x1 x2 2 x 22 .

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:

(min) f 3 x1 9 x2 x12 x1 x2 x22

( P ) g( x1 , x2 ) x12 x22 5 0
x 0,x 0
1 2

i punctul x ( 1,2 ) aflat pe frontiera mulimii soluiilor admisibile (deoarece g( x ) 0 )


a) Calculai gradienii funciilor f i g n x .
b) Ce condiii trebuie s satisfac un vector s = (s1,s2) R2 pentru a fi o direcie admisibil i
utilizabil din x ? Care din urmtorii vectori s1 = (-1,1) , s2 = (1,1) , s3 = (1,-1) satisfac aceste
condiii?
8. Se d programul neliniar patratic:

(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

unde a1 , a2 , I > 0 sunt constante.


a) S se arate c f este o funcie convex pe domeniul {(x1,x2) R2 x1 > 0 , x2 > 0};
(se va observa c f este separabil i se va cercete convexitatea componentelor)
b) Scriei condiiile de optimalitate K - T pentru programul convex (P);
c) Determinai soluia optim a programului (P). Discuie.
11. S se rezolve programul patratic:

(min) f ( x1 , x2 ) x1 x2 x12 x1 x2 1 x22


2

x1 x 2 3

( P )

3 x1 2 x 2 6
x 0,x 0
1 2

folosind condiiile de optimalitate K - T i algoritmul simplex (vezi seciunea 8.2)

S-ar putea să vă placă și