Documente Academic
Documente Profesional
Documente Cultură
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:
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
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:
date;
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
x
cerere
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 Pj(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
15
27
45
transportat
a)
b)
Figura 2.2
C ( x)
6.5 x
9 5.x
24 4.x
51 3.x
0 x6
6 x 15
15 x 27
27 x 45
care este neliniar dar liniar pe poriuni. Din fig. 2.2 b) rezult c pantele poriunilor liniare
ale graficului funciei C(x) sunt chiar costurile marginale evideniate n fig 2.2 a).
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 ij ( xij )
i, j
x
j 1
ai
ij
i 1,2,..., m
x
i 1
ij
bj
j 1,2,..., n
(min) f x1 x 2 x 3
x1 y1 15000 x 2 y 2 20000
y1 y 2 y 3 1200
x1 48 , x 2 60 , x 3 70
x j , y j 0 j 1,2,3
x 3 y 3 45000
1200
x2
x3
x1
x1 48 , x 2 60 , x 3 70
x1 0, x 2 0, x 3 0
x R
g ( x ) 0 g1 ( x) 0, g 2 ( x) 0,..., g m ( x) 0; x 0
*
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:
() 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 , x 2 ) 2 x1 3x 2
( P)
x12 x 22 4
x 0, x 0
2
1
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.
5
Dup cum vom vedea, dac A este convex iar funcia obiectiv este convex i se
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
constituie un serios avantaj.
3) Chiar dac restriciile din (P) sunt liniare dar obiectivul ramne neliniar ns
convex, soluia optim, dei se afl pe frontiera lui A nu este neaprat vrf. Considerm
urmtorul exemplu:
min f ( x1 , x 2 ) ( x1 72 x 2 ) 2 2( x 2 4) 2
x1 x 2 6
x1 x 2 1
2 x1 x 2 6
12 x1 x 2 4
x1 , x 2 0
x* = (5/2 , 7/2)
x2
Figura 3.2
punctul de minim
liber al funcei f
x = (7/2 , 4)
x1
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*.
f ( x1 , x 2 ,..., x n ) c0 ci xi
i 1
1 i j n
ij
xi x j
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:
7
cx c 0
min f ( x) dx d
0
x ( x1 , x 2 ,..., x n ) R n
Ax b
x0
1
1
y
x,t
x
dx d 0
dx d 0 astfel c
t .
dy d 0 t 1
y 0 , t 0
5. Optimizare fr restricii
5.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 }
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 )
(5.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
(5.2)
ns rezolvarea sistemului (5.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 (5.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).
5.2 Principiul metodelor de optimizare fr restricii Ideea comun a tuturor metodelor de
minimizare nerestricionat (liber) este urmtoarea:
Se pune:
x k 1 x k k s k
(5.3)
xk
f ( x k 1 ) f ( x k )
sk
Figura 5.1
Prin urmare:
f ( x 0 ) f ( x1 ) f ( x 2 ) ...
Mai precis k se gsete prin minimizarea funciei de o singur variabil:
g ( ) f ( x k s k ) 0
(5.4)
10
a ) f ( x1 , x 2 ) 2 x1 3x 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; b) cercuri concentrice; c) elipse concentrice (vezi fig.
5.2)
f f
f
,
,...,
x n
x1 x 2
f ( x )
Figura 5.2
Acesta are urmtoarele proprieti:
n orice punct de extrem local x* al funciei f avem f(x*) = 0; reciproca nu este n
general adevrat.
n
s ( s1 , s 2 ,..., s n ) R n , s 0 i funcia :
g ( ) f ( x s ) 0
11
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) .
f = -1
f=4
f=6
f=3
f =0
f = -5
f = -4
a)
f = -13
b)
f = -17
c)
general:
n
g ( ) si
i 1
f
( x s ) s f ( x s )
xi
astfel c:
g (0) s f ( x )
Din inegalitatea Cauchy Buniakovski Schwarz:
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 5.3
f ( x1 , x 2 ) 16 x12 ( x 2 4) 2
12
Figura 5.4
Figura 5.5
*
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. 5.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 ) 0
Pe
aceast
direcie,
comportarea
funciei f este
descris
de
funcia:
x2
x*
Curba de nivel
=25
25
7.893
x1
0 =0.032
a)
f
( x k ) i 1,2,..., n
xi
sau:
n
b)
i 1
( x k )
xi
s k f ( x k )
k
cu condiia ca f ( x ) 0 .
k
Aceast opiune se bazeaz pe faptul c f ( x ) 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
k
k
k
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
14
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 5.10
15
i 1
i 1
f ( x1 , x 2 ,..., x n ) c0 ci xi xi2 c0 cx x
c (c1 , c 2 ,..., c n )
metoda gradientului ofer punctul de minim (global) ntr-o singur iteraie, indiferent de
aproximaia iniial x0 (vezi fig. 5.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. 5.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
1
2 14 18 are un minim n =
g() = f(x()) = 4
1
x2 = x(1/2) = [3/4,3/4]
Iteraia 3
2
f(x ) = [0,1/2]
2
2
s = -f(x ) = [0,-1/2]
3 3
1
x()= x2 + s2 = [3/4,3/4] + [0,-1/2] = [ 4 , 4 2 ] , > 0
2
3
1
1
g() = f(x()) = 2 4 16 are un minim n = 1/4
x3 = x(1/4) = [3/4,5/8]
16
Curbe de nivel
direcia celei mai rapide
descreteri
x*
x* x1
x1
x2
x0
Figura 5.11
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 5.12 se poate constata apropierea n zig zag a punctelor x0 , x1 , x3
de x*.
x0
x2
x1
x*
Figura 5.12
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
x( ) x k f ( x k ) A () > 0
(vezi fig. 6.1)
18
s f ( x k ) 0
(6.1)
O dat stabilit direcia de deplasare sk din xk - direcie care verific condiiile (6.1) - pasul k se
alege astfel nct noua aproximaie :
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 Condiiile de optimalitate Kuhn - Tucker n programarea convex
7.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:
g(x) = 0
xk
g(xk)
-f(xk)
xk+1
x0
x*
Figura 6.1
19
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:
n
x 0 j 1,...,n
Exist x R cu proprietatea c gi ( x ) 0 i 1,..., m i j
altfel spus,
n
mulimea soluiilor admisibile A = { xR 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
ui 0
(3)
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 KT. Ea nu mai este necesar n cazul
n care restriciile
programului (P) sunt liniare.
f(x) =fmin
Exemplul
neliniar patratic:
f(x) = -1
x*
f(x) = 0
7.1
Considerm
programul
max 2 x1 x 2 x12
x x2 3
( P ) 1
3 x1 2 x 2 6
x 0,x 0
2
1
20
Figura 7.1
x x2 3 0
( P ) 1
3 x1 2 x 2 6 0
x 0,x 0
2
1
Fig. 7.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(constant) 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 x1 x 2 3 0 ( 2.1 )
u1
L
0 3 x 1 2 x 2 6 0 ( 2.2 )
u2
x1 , x 2 0 ( 3 )
L
0 x1 ( 2 2 x 1 u1 3u2 ) 0 ( 1.!' )
x1
L
x2
0
x 2 ( 1 u1 2u2 ) 0 ( 1.2' )
x2
x1
L
0
u1 ( x 1 x 2 3 ) 0 ( 2.1' )
u1
L
u2
0 u2 ( 3 x 1 2 x 2 6 ) 0 ( 2.2' )
u2
u1
u1 , u 2 0 ( 3' )
Reamintim interpretarea acestor condiii: x ( x1 , x 2 ) 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.
21
Deoarece la optim avem: x1 > 0 , x2 > 0 i 3x1 - 2x2 < 6 din relaiile (1.1') , (1.2') i (2.2')
obinem:
-2 + 2x1 +u1 + 3u2 = 0 , -1 + u1 - 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 ( 1,0 )
de unde
(min) f 13
4
( P )
Ax b
x0
n care:
p [ p1 , p2 ,..., pn ]
x1
x
x 2
xn
a11
a
21
A
a m1
c11
c
C 21
cn1
a12
a 22
a m2
c12
c22
cn 2
a1n
a2n
a mn
c1n
c2 n
cnn
= matrice simetric
b1
b
2
b
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 21 x T Cx u( Ax b )
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')
22
y1
y
2
y
b Ax 0
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
m
n
m
existe u R , v R , y R astfel nct ( x , u ,v , y ) s verifice relaiile:
x T C uA v
p
Ax
y b
k 1
n
i 1
k 1
c kj x k aij ui v j
a x
ik k
(4)
pj
yi bi
j 1,...,n
i 1,...,m
x 0 , u 0 , v 0 , y 0 xk 0 , ui 0 , vj 0 , yi 0
v-x=0 ; u-y=0
(5)
i = 1,...,m
se nmulesc cu -1 acele egaliti din (4) ai cror termeni liberi sunt < 0;
x T C uA v
Ax
z1
y
p
z2 b
unde:
z 1 ( z11 , z21 ,..., zn1 ) 0 cu z 1j 0 daca p j 0
i
23
z12
2
z
2
z 2 0 cu zi2 0 daca bi 0
2
zm
se rezolv programul liniar:
x T C uA v
Ax
z1
p
z
x 0 ,u 0 ,v 0 , y 0 , z 1 0 , z 2 0
j 1
i 1
(min)w z 1j zi2
0
j
j
bi daca bi 0
vj
,
y
1
i
0 daca bi 0 zi2 bi
0 daca p j 0 z j p j
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 x 2 4 x1 x 2 2 x12 4 x 22
( P )
x1 2 x 2 30
x1 0 , x 2 0
x1
4 4 x 1
f ( x1 , x 2 ) [ 15 ,30 ] 21 [ x1 , x 2 ]
x2
4 8 x 2
4 4
C
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
L
15 4 x 2 4 x1 u 0
x1
0 x1 ( 15 4 x 2 4 x1 u ) 0
x1
x1
L
L
30 4 x1 8 x 2 2u 0 x 2
0 x 2 ( 30 4 x1 8 x 2 2u ) 0
x2
x2
L
L
x1 2 x 2 30 0
u
0 u( x1 2 x 2 30 ) 0
u
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
Condiiile K - T n forma (4) - (5):
v1
4 x1 4 x 2 u v1
15
v2
30
4 x 1 8 x 2 2 u
x1 2 x 2
y 30
x1 0 , x 2 0 , u 0 , v1 0 , v 2 0 , y 0
x1 v 1 0 x 2 v 2 0 u y 0
(4)
(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.
(min)w z1 z2
4 x1 4 x 2 u v1
z1
15
4 x 1 8 x 2 2 u
v2
z2 30
x1 2 x 2
y
30
Toate variabilele nenegative
x1 x 2 u v1 v 2 0
z1 15 z2 30
y 30
0
VVB x1
15
4
30
-4
30
1
45
0
30
2
15/4 -1/2
45/2
2
30
2
15/2
0
75/8
0
45/4
1
15/2
*
3
9
12
0
0
x2
-4
8
2
4
0
1
0
*
0
1
0
*
0
u
1
2
0
3
2
1/4
-1/2
2
5/2
1/8
-1/4
5/2
0
v1
-1
0
0
-1
-1
0
0
-1
-1
0
0
-1
0
v2
0
-1
0
-1
-1/2
-1/8
1/4
-1/2
-3/4
-1/16
1/8
-3/4
0
y
0
0
1
*
0
0
1
*
-1
1/4
1/2
-1
1
z1
1
0
0
*
1
0
0
*
1
0
0
*
1
z2
0
1
0
*
1/2
1/8
-1/4
-1/2
3/4
1/16
-1/8
-1/4
8. 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:
26
x1
f ( x ) px x Cx , x x 2 R 3
x 3
i cercetai dac f este o funcie convex (strict convex)
1
2
(min) f 3 x1 9 x 2 x12 x1 x 2 x 22
( P ) g( x1 , x 2 ) x12 x 22 5 0
x 0, x 0
2
1
3 x1 2 x 2 12
2 x 2 x 3
1
2
( P )
2 x1 x 2 4
2x 3x 6
1
2
x1 0 . x 2 0
a) Vizualizai mulimea soluiilor admisibile;
b) Ce form au curbele de nivel ale funciei obiectiv? Stabilii punctul de minim liber xo
al funciei f;
27
x1 x 22 5
( P )
2 x1 x 2 1
x 0,x 0
2
1
x1 x 2 3
3 x1 2 x 2 6
x1 0 , x 2 0
28