Sunteți pe pagina 1din 68

MMI - Cursul 4

Universitatea POLITEHNICA din Bucureti


Facultatea Ingineria i Managementul
Sistemelor Tehnologice

Modelare Matematic n Inginerie

Autor curs: Conf.dr.ing.mat. Ovidiu Bljin


Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

Capitolul 1

MODELARE I OPTIMIZARE
MATEMATIC
(IV)

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

3. Programare neliniar
3.1. Mulimi i funcii convexe
3.2. Condiii necesare i/sau suficiente
de optimalitate
3.3. Programare ptratic
3.4. Programare convex cu restricii
liniare
3.5. Programare convex
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

O problem de programare matematic n


forma general const n a optimiza (minimizare sau
maximizare) o funcie real, de n variabile reale,
supus, sau nu, unui numr finit de restricii.
Fie X Rn i f: X R, g: X Rm, h: X Rk.
Modelul matematic al unei probleme de
optimizare cu restricii are forma:
min [max] f ( x)
g ( x) 0

h( x ) = 0
x X
Cap.1. Modelare i optimizare matematic

(102)

MMI - Cursul 4

unde f se numete funcia obiectiv, iar g i h sunt


restriciile problemei (1).
Definiie: Dac cel puin una din funciile f, gi (i =
1,..., m), hj (j = 1,..., k) este neliniar, atunci
problema (1) este de programare neliniar.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

3.1. Mulimi i funcii convexe

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

Definiie: Fie vectorii x1, x2 Rn. Mulimea

[ x1 , x 2 ] = x R n x = x1 + (1 ) x 2 , [0, 1]

se numete segment, cu extremitile x1 i x2.


Definiie: Mulimea X Rn se numete convex dac
x1, x2 X avem [x1, x2] X.
Observaie. Mulimea vid i spaiul Rn sunt
mulimi convexe.
Proprieti ale mulimilor convexe:
1) O mulime X Rn este convex dac i numai
dac orice combinaie convex
x = 1x1 + 2 x 2 + L + k x k X
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

n care x1,..., xk X, 1,..., k 0, cu 1 + L + k = 1.


2) Intersecia unei familii arbitrare de mulimi
convexe este o mulime convex.
Definiie: Fie f : X Rn R i x0 X. Funcia f
este convex n punctul x0 dac
f (x + (1 ) x 0 ) f ( x ) + (1 ) f ( x 0 ) (103)
x X, (0, 1), pentru care x + (1 ) x 0 X .
Definiie: Funcia f este strict convex n punctul x0
dac inegalitatea din relaia (103) este strict (<).
Definiie: Funcia f este concav (strict concav) n
punctul x0 dac -f este convex (strict convex) n x0.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

Observaii:
1) O funcie f este convex (concav) pe mulimea
X dac este convex (concav) n oricare punct al
mulimii X.
2) O funcie f care este simultan convex i
concav se numete afin. Ea satisface condiia:
f (x1 + (1 ) x 2 ) = f ( x1 ) + (1 ) f ( x 2 )
0

X, (0, 1), cu x + (1 ) x X.
3) Orice funcie liniar este afin.
4) O funcie liniar nu este nici strict convex, nici
strict concav.

x1,

x2

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

10

Definiie: Se numete gradient al funciei f : Rn R


vectorul derivatelor pariale ale funciei f:

f f
f
f = ,
,...,

xn
x1 x2

Definiie: Se numete matrice hessian asociat


funciei f : Rn R matricea derivatelor pariale de
ordinul doi ale funciei f:
2 f
Hf =
, i, j = 1,..., n
xi x j
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

11

Exemplu: Fie x0 = [1, 2, 3] T i funcia f : R3 R,


f(x1, x2, x3) = 2 x13 x2 x3 x2 x32 . S se calculeze f(x0) i
Hf(x0).
Soluie:
6 x12 x2 x3

f = 2 x13 x3 x32
2 x13 x2 2 x2 x3

36

f ( x 0 ) = 3
8

12 x1x2 x3 6 x12 x3
6 x12 x2
72 18 12

2
3
0
Hf = 6 x1 x3
0
2 x1 2 x3 Hf ( x ) = 18 0 4
12 4 4
2 x2
6 x12 x2 2 x13 2 x3

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

12

Proprieti ale funciilor convexe (concave):


1) Orice punct de minim (maxim) local al unei
funcii convexe (concave) f pe o mulime convex i
nchis X este un punct de minim global.
2) Mulimea punctelor de minim (maxim) pe mulimea convex X pentru funcia convex (concav) f
este o mulime convex.
3) Dac funcia f este strict convex (concav) pe
mulimea convex X i are un punct de minim
(maxim), atunci acest punct este unic.
4) Dac funciile f1,..., fk sunt convexe (concave)
pe mulimea convex X, atunci funcia
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

13

f = i fi , 1 ,..., k 0
i =1

este convex (concav) pe mulimea X.


5) Pentru mulimea X convex i funcia f continu
i convex (concav) are loc inegalitatea lui Jensen:
1
n
f (1x + L + n x ) [] 1 f ( x1 ) + L + n f ( xn )
1

x ,..., x X , 1,..., n 0 , cu 1 + L + n = 1 .
6) O funcie f de clas C2 pe mulimea deschis X
este convex (strict convex) dac i numai dac
matricea hesssian Hf este pozitiv semidefinit
(definit).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

14

Propoziie: O matrice ptratic A M n n, este


pozitiv definit (semidefinit) dac satisface una din
urmtoarele dou condiii:
1) Minorii principali ai matricei A sunt pozitivi
(nenegativi).
2) y Rn \ {0}, avem y T HA y > [ ] 0 .
Exemplu: S se arate c funcia f : R2 R,
2
2
f(x1, x2) = x1 x1 + 2 x2 3x2 + 5 este strict convex.
Soluie: Se calculeaz
2 x1 1 ;
2 0
f =
Hf
=
0 4
4 x2 3
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

15

Funcia f este strict convex dac matricea


hessian Hf este pozitiv definit. ntr-adevr matricea
Hf este pozitiv definit deoarece:
- minorii principali sunt pozitivi:
2
0
=8>0
1 = 2 = 2 > 0 ; 2 =
0 4
sau
- fie un vector oarecare y = [y1, y2] T [0, 0] T i se
calculeaz
y Hf y = [ y1
T

2 0 y1
2
2
=
+
y2 ]

2
4
y
y
1
2 >0

0 4 y2

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

16

3.2. Condiii necesare i/sau suficiente de


optimalitate

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

17

Fie problema general de minimizare cu


restricii, scris n forma vectorial:
min f ( x)
g ( x) 0

h( x ) = 0
x X

(104)

unde mulimea X Rn, funcia real f : X R, iar


funciile vectoriale g : X Rm, h : X Rk.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

18

Mulimea soluiilor posibile (programelor) ale


problemei (104) se noteaz cu:
P = {x X g ( x) 0, h( x) = 0}

A rezolva problema revine la determinarea


punctelor de minim global ale funciei f pe X.
Definiie: O soluie posibil x* P a problemei
(104) este optim dac f(x*) f(x), x P.
Definiie: Se numete lagrangian (funcia lui
Lagrange) asociat problemei (104) funcia:
L ( x, u , v ) = f ( x ) + u T g ( x ) + v T h ( x )

unde x X, u

R m+ ,

v R .

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

19

(x*,

u*,

v *)

x*

Definiie: Punctul
cu
X,
k
*
R
v
este un punct a al funciei L dac
*

m
*
u R+

L ( x , u , v ) L ( x , u , v ) L ( x, u , v )

pentru x X, u R m+ , v R k .
Teorem: Dac (x*, u*, v*) este un punct a al
funciei L, atunci x* este soluia optim a problemei
de programare neliniar (104).
Observaie: Teorema ofer condiii suficiente de
optimalitate n programarea neliniar.
Deoarece h( x) = 0 h( x) 0, h( x) 0 se va
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

20

considera problema (104) adus la forma canonic


(cu restricii inegaliti):
min f ( x)

(105)
g ( x) 0
x X

n plus, presupunem c X Rn este mulime


convex, iar f i g sunt funcii convexe, adic
problema (105) este de programare convex.
Mulimea programelor problemei (4)
P = {x X g ( x) 0}
este convex ca intersecie de mulimi convexe.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

21

Teorem: (Slater) O condiie necesar pentru existena punctului a n programarea convex este s
existe x P astfel nct g(x) < 0.
Teorem: (Karlin) Condiia necesar i suficient ca
o soluie x* P a problemei (105) s fie optim este
s existe u* 0 astfel nct (x*, u*) s fie punct a al
funciei lui Lagrange:
T
L ( x, u ) = f ( x ) + u g ( x )
Teorem: (Kuhn-Tucker). Dac funciile convexe f
i g sunt i difereniabile n punctul x* X Rn,
atunci condiia necesar i suficient ca x* s fie
soluie optim a problemei (105) este s existe u*R m+
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

22

astfel nct

(u* )T g ( x* ) = 0

*
*
(106)

L
x
u
(
,
)=0
x

*
g
x
(
)0

Relaiile (106) se numesc condiiile Kuhn-Tucker.

Exemplu: Se consider un stoc cu perioad fix i


cerere constant cu ruptur de stoc, relativ la un
produs, n condiiile ce urmeaz. Pe durata t0 = 360
zile este disponibil o cantitate N = 20000 buc. Se va
lansa o aceeai comand x, la perioade de timp egale
T. Costul de lansare a unei comenzi este cl = 100 u.m.,
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

23

iar costul de stocare a unei uniti de produs pe


unitatea de timp este cs = 1/3 u.m./buc. zi. Se admite
lipsa de stoc, costul de penalizare pentru lipsa unei
uniti de produs pe unitatea de timp fiind cp = 1/3
u.m./buc.zi. Fiecare comand lansat nu poate
depi 1000 buc.
S se determine nivelul optim al stocului y, al
comenzii x i al perioadei T astfel nct cheltuielile
totale s fie minime.
Soluie: Cheltuielile totale efectuate pentru o comand sunt date de suma dintre costul de lansare a comenzii, costul mediu al stocrii celor y buc. de produs
i costul mediu datorat lipsei produselor din stoc:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

24

)
c
t
x
y
1 p 0

N cl 1 cs t0 y
+
+
f ( x, y ) =
2
2
x
x

2000000 60 y 2 60( x y ) 2
f ( x, y ) =
+
+
x
x
x

Restricia privind mrimea comenzii x este:


g ( x) = x 1000 0

Modelul problemei este de forma:


min f ( x, y )

g ( x) 0
x, y > 0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

25

Lagrangianul este L = f(x, y) + ug(x), u 0.


Sistemul condiiilor Kuhn-Tucker se scrie:
L 60 x 2 120 y 2 2000000
=
+u =0

2
x
x
L 240 y 120 x
=0
=
x
y
x 1000 0

u ( x 1000) = 0
Din ultima restricie rezult x0 = 1000 sau u0 = 0.
Dac x0 = 1000, atunci din a doua restricie rezult

1
y0 = x0 = 500.
2

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

26

Din prima restricie rezult u0 = -28 < 0, fals. Deci


u0 = 0.
Din primele dou restricii (pentru x > 0) rezult:
100
200
15 buc.
x0 =
15 buc.; y0 =
3
3
Deci ((x0, y0)T, u0) este punct a.
Aadar (x0, y0)T este program optim al problemei
considerate.
Perioada optim de lansare a comenzilor este:
x0 t0 6
T0 =
=
15 zile
N
5

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

27

3.3. Programare ptratic

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

28

O problem de programare ptratic const n


optimizarea (maximizarea sau minimizarea) unei
funcii obiectiv ptratice cu restricii liniare:
1 T

T
max [min] f ( x) = c x + 2 x Q x

Ax [=, ] b
x0

(107)

unde: A M m n; b Rm; c Rn; Q este o matrice


simetric; f este o funcie convex dac este minimizat sau concav dac este maximizat.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

29

Observaii:
1) Funcia x T Qx se numete form ptratic.
2) Condiia ca matricea Q s fie simetric nu re1 T
T
strnge generalitatea deoarece x Qx = x ( Q + Q T ) x ,
2
x Rn.
3) Forma ptratic x T Qx este convex (strict convex) dac i numai dac matricea Q este semipozitiv
(pozitiv) definit.
4) Matricea Q semipozitiv definit este pozitiv definit dac i numai dac este nesingular.
5) Dac forma ptratic x T Qx este pozitiv definit,
atunci problema (107) de minimizare are o soluie
optim unic. Dac forma ptratic este semipozitiv
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

30

definit, atunci problema (107) de minimizare poate


avea mai multe soluii optime.
Pentru a rezolva problema (107) se poate
aplica metoda elaborat de P. Wolfe, care utilizeaz,
n esen, o versiune uor modificat a algoritmului
simplex. Cele dou variante ale metodei, forma
scurt i forma lung , se bazeaz pe condiiile
de optimalitate Kuhn-Tucker, care permit scrierea
restriciilor unei probleme auxiliare de programare
liniar, pornind de la restriciile problemei iniiale de
programare ptratic (cf. tab. urmtor). Vom studia
doar varianta forma scurt a metodei lui Wolfe.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

31

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

32

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

33

n care F este o matrice ptratic n n, a crei form


este precizat n enunul algoritmului.
Algoritmul lui Wolfe se bazeaz pe algoritmul
simplex, dar cu o anumit modificare la criteriul de
intrare n baz.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

34

 Algoritmul lui Wolfe forma scurt:


Pasul 1. Se testeaz dac mulimea programelor
(soluiilor admisibile) ale problemei iniiale
P = {x R n Ax [=, ] b, x 0}
este nevid.
Dac P = , atunci STOP; altfel, fie o soluie
0
de baz x .
Pasul 2. Se determin matricea ptratic F de dimensiune n n, F = ( f 1 , f 2 ,..., f n ) , a crei coloan oarecare este:
0
j
j T

e , dac (e ) Q x + c 0
j
f =
0
j
j T
e , dac (e ) Q x + c < 0

(
(

Cap.1. Modelare i optimizare matematic

)
)

MMI - Cursul 4

35

unde e j = [0 ... 0 1 0 ...0]T , unica component nenul


fiind pe poziia j.
Pasul 3. Se construiete problema de programare
liniar auxiliar cu funcia obiectiv min ( z1 + z2 + ... + zn )
i restriciile (*).
Se rezolv aceast problem cu algoritmul simplex
primal, dar cu urmtoarea modificare: variabilele xj
i vj (j = 1,..., n), respectiv, yi i ui (i = 1,..., m) sunt
complementare (restricia (**)), adic:
- dac xj este variabil bazic, atunci vj nu poate intra
n baz;
- dac vj este variabil bazic, atunci xj nu poate intra
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

36

n baz;
- dac yi este variabil bazic, atunci ui nu poate intra
n baz;
- dac ui este variabil bazic, atunci yi nu poate intra
n baz.
Valorile x j (j = 1,..., n) din soluia optim a
problemei auxiliare reprezint soluia optim a
problemei iniiale de programare ptratic.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

37

Exemplu: S se rezolve problema de programare


ptratic:
[min] f = 3 x12 + 2 x22 x1 x2 4 x1 3 x2

x1 + 2 x2 5

2 x1 + 3 x2 9
x,x 0
1 2

Soluie. Avem
c = 4 Q = 6 1
3
1 4

x1
x = A = 1 2 b = 5
9
2 3
x2
6

H( f ) = Q =
1 4
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

38

Minorii principali sunt:


6 =6>0

6 1 = 23 > 0
1 4

Deci funcia f este strict convex i, pentru


rezolvarea problemei, se poate aplica algoritmul lui
Wolfe forma scurt.
Mulimea programelor problemei este:
P = {x R 2 x1 + 2 x2 5, 2 x1 + 3x2 9, x1 0, x2 0}
0

Fie x = [0 0]T P , o soluie de baz.


Se construiete matricea F = ( f 1 , f 2 ) , dup determinarea celor dou coloane:

1
1
1
4

(e ) Q x + c = [1 0]
= 4 < 0 f = e = 0

3

1 T

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

39

0
4

2
2

(e ) Q x + c = [0 1]
= 3 < 0 f = e =
3

1
2 T

1 0
Deci F =
0 1
Se construiete problema de programare liniar
auxiliar:
min ( z1 + z2 )
Ax + y = b

T
Qx
A
u v Fz = c
+

x, y , u , v, z 0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

40

min ( z1 + z2 )
x + 2x + y
=5
2
1
1
2 x1 + 3 x2
+ y2
=9

+ u1 + 2u2 v1
+ z1
=4
6 x1 x2
x1 + 4 x2
+ 2u1 + 3u2
v2
+ z2 = 3

x1 , x2 , y1 , y2 , u1 , u2 , v1 , v2 , z1 , z2 0

Pentru rezolvarea acestei probleme se aplic


algoritmul simplex, cu respectarea restriciei suplimentare de intrare n baz din algoritmul lui Wolfe.
n partea inferioar a tabelelor simplex sunt
marcate cu asterisc (*) coloanele variabilelor care nu
pot intra n baz la iteraia respectiv.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

41

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

42

Tabelul de mai sus conine soluia optim a


problemei auxiliare.
Soluia optim a problemei iniiale de programare
ptratic este: x1 = 19/23, x2 = 22/23.
Valoarea optim corespunztoare a funciei

obiectiv este fmin = f(x1, x2) = -71/23.


Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

43

3.4. Programare convex cu restricii liniare

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

44

Fie problema de programare neliniar convex


cu restricii liniare:
min f ( x)

Ax b
x0

(108)

unde f este o funcie convex, difereniabil.


Mulimea soluiilor posibile (programelor) ale
problemei (108) se noteaz cu:
P = {x Rn | Ax b, x 0}
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

45

Teorem: (Test de optimalitate). Fie x0 P (P ).


Dac f(x0) = 0, atunci x0 este soluie optim a
problemei (7).
Dem. Deoarece f este funcie convex i difereniabil
f ( x) f ( x 0 ) ( x x 0 )T f ( x 0 ) , x P.
Dar f(x0) = 0 f ( x) f ( x 0 ) 0 , x P x0 este
soluie optim a problemei (7).

Teorem: (Test de optimalitate). Fie x0 P (P ),


cu f(x0) 0. Fie ~
x soluia optim a problemei de
programare liniar
(109)
min (xTf (x0) | x P)
Dac ( ~
x x 0 ) T f ( x 0 ) = 0 , atunci x0 este soluia
optim a problemei (7).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

46

Dem. Deoarece f este funcie convex i difereniabil f ( x) f ( x 0 ) ( x x 0 )T f ( x 0 ) =


T
0
0 T
0
= x f ( x ) ( x ) f ( x ) =
T
0
T
0
~
= x f ( x ) ( x ) f ( x ) , x P.

T
0
T
0
~
x

f
(
x
)

f
(
x
)
Dar cf. problemei (109):

Deci, f ( x) f ( x 0 ) 0 , x P x0 este soluie


optim a problemei (108).

Teorem (Regula de mbuntire a soluiei). Fie x0


x soluie optim a
P (P ), cu f(x0) 0. Fie ~
x x 0 ) T f ( x 0 ) < 0 , atunci
problemei (109). Dac ( ~
(~
(0, 1]
exist x P , de forma x = x 0 +
x x0 ) ,
astfel nct f ( x) < f ( x 0 ) .
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

47

Observaii:
1) Relaia x = x 0 + ( ~x x 0 ) interpretat vectorial
justific denumirea metodei direciilor admisibile.
2) Teorema precedent permite deplasarea din
punctul x0 care nu este optim pentru problema (108)
ctre un alt punct mai bun dect x0.
3) Teoremele anterioare fundamenteaz din punct
de vedere teoretic metoda direciilor admisibile,
elaborat de M.Frank i P. Wolfe.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

48

 Algoritmul metodei direciilor admisibile:


Pasul 1. Se testeaz dac mulimea P este nevid.
Dac P = , atunci STOP; altfel, fie k = 0 i xk P.
Pasul 2. Se calculeaz f ( x k ) .
Dac f ( x k ) = 0, atunci xk este soluie optim,
STOP; altfel se trece la pasul 3.
k
~
Pasul 3. Se determin x soluia optim a problemei
de programare liniar auxiliar:
min ( x T f ( x k ))

xP
Pasul 4. Se calculeaz k = ( ~x k x k )T f ( x k ) .
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

49

Dac k = 0, atunci xk este soluie optim, STOP;


altfel se trece la pasul 5.
Pasul 5. Fie k (0, 1] , k = min { k , 1} , unde k este
soluie a ecuaiei algebrice:
(~
x k x k )) = 0
x k x k )T f ( x k + k ( ~

Se determin x k +1 = x k + k ( ~
x k x k ).
k k +1 i se revine la pasul 2.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

50

Exemplu: S se rezolve problema de programare


neliniar:
min f = x12 + x23 2 x1 + 3 x2

x1 + 2 x2 5

4 x1 + x2 8
x,x 0
1 2

Soluie. Matricea hessian ataat funciei obiectiv f


0
H( f ) = 2
0 6 x2

are minorii principali:


2 =2>0

2
0 = 12 x 0
2
0 6 x2

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

51

deci funcia obiectiv f este convex.


Mulimea programelor problemei este:

P = {x R

x1 + 2 x2 5, 4 x1 + x2 8, x1 , x2 0}

Pentru rezolvarea problemei se poate aplica metoda


direciilor admisibile.
Iteraia 1.
Fie k = 0. O soluie admisibil a problemei este
.x 0 = (0, 0) T P .
Deoarece f ( x 0 ) = ( 2, 3) T (0, 0) , x0 nu verific
criteriul de optimalitate.
Se construiete problema de PL auxiliar:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

52

min ( x , x ) 2
min x f ( x )

1 2 3

xP
x P
min (2 x1 + 3x2 )
x + 2x 5
1
2
(*)

4 x1 + x2 8
x1 , x2 0
T

Se rezolv problema (*) cu algoritmul simplex sau


metoda grafic i se obine soluia optim ~
x 0 = (2, 0)T
2
0
0 T
0
~
0 = ( x x ) f ( x ) = (2, 0) = 4 0
3
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

53

x0 nu este soluie optim a problemei iniiale.


0
0 T
0
0
0
~

Se rezolv ecuaia: ( ~
x x ) f ( x + 0 ( x x )) = 0
2 0

0
2

=0
(2, 0) f + 0 = 0 (2, 0) f
0
0
0

4 0 2
= 0 0 = 1/2.
(2, 0)

0 = min { 0 , 1} = 1/2

O nou soluie admisibil a problemei iniiale este:


1 2 1
0
1
0
0
0
~

x = x + 0 ( x x ) = + =
0 2 0 0
k = 0 +1 = 1
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

54

Iteraia a 2-a.
f ( x1 ) = (0, 3) T (0, 0) x1 nu verific criteriul

de optimalitate.
Se construiete problema de programare liniar
auxiliar:
min (3 x2 )
T
1
min x f ( x )
x + 2x 5

1
2
x

(**)

4 x1 + x2 8
x1 , x2 0
1
~
Soluia optim a problemei (**) este x = (0, 0)T.

0
1
1 T
1
~
1 = ( x x ) f ( x ) = (1, 0) = 0
3
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

55

x1 = (1, 0)T este soluia optim a problemei iniiale.


Valoarea optim corespunztoare a funciei
obiectiv a problemei iniiale este f(x1) = -1.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

56

3.5. Programare convex

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

57

Fie problema de programare neliniar convex:


min f ( x)

g ( x) 0

(110)

unde f : Rn R, g: Rn Rm, f, g funcii convexe,


difereniabile.
Mulimea soluiilor posibile (programelor) ale
problemei (110) se noteaz:

P = x R n g ( x) 0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

58

Se consider problema de programare neliniar:


[min] = x0
g ( x) 0

f ( x) x 0
0

x Rn, x R
0

(111)

Funcia obiectiv :
R, x = x0
0
este o funcie liniar, deci convex.
Restriciile problemei (111) sunt funcii convexe i difereniabile.
Deci, problema (111) este o problem de programare convex.

Rn+1

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

59

Teorem: x este soluie optim a problemei (110)


dac i numai dac x este soluie optim a

problemei (111).
f ( x )
Obs: Teorema arat echivalena problemei iniiale
(110) cu problema (111) care este un program
neliniar convex cu funcia obiectiv liniar. De aceea,
vom considera problema (111) n forma:
min c T x
(112)

gi ( x) 0, i = 1,..., m
unde: c Rn, gi : Rn R sunt funcii convexe,
difereniabile.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

60

Mulimea programelor (soluiilor admisibile)


ale problemei (11) este mulimea P.
Metoda planului de seciune, elaborat de J. E.
Kelley, pentru rezolvarea problemei (9), are la baz
ideea ca la fiecare iteraie k s se rezolve o problem
de programare liniar cu funcia obiectiv cTx i
restricii liniare care s determine un tronson convex
Pk care s includ mulimea P.
Se numete tronson intersecia unui numr finit
de semispaii i eventual hiperplane.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

61

 Algoritmul metodei planului de seciune:


Pasul 1. Fie k = 1.
Pasul 2. Se construiete problema de programare
liniar auxiliar:
min c T x
(113)

x Pk , Pk P
Se rezolv problema (113) i fie xk soluia optim.
Pasul 3. Se calculeaz gl ( x k ) = max { gi ( x k ), i = 1,..., m }
k
k
g
(
x
)

x
P xk este soPasul 4. a) Dac l
luie optim pentru problema (9), STOP.
k
b) Dac gl ( x ) > 0, atunci se construiete tronsonul
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

62

Pk +1 = Pk {x R n g l ( x k ) + ( x x k )T g l ( x k ) 0}

Fie k k + 1 i se revine la pasul 2 al algoritmului.


Observaie: Aplicarea algoritmului precedent implic
operaia de nlturare, treptat, a unor tronsoane
mpreun cu valorile optime corespunztoare
fiecruia. Aceste tronsoane definesc planele de
seciune.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

63

Exemplu: S se rezolve problema de programare


neliniar:
min ( x1 + 3x2 )
2
2
x1 + x2 4
x1 + x2 2

Soluie. Funcia obiectiv f : R2 R, f(x) = x1 + 3x2


este o funcie liniar, deci difereniabil i convex.
Restriciile problemei sunt determinate de funciile:
2
2
2
g
(
x
)
=
x
+
x
g1 : R R, 1
1
2 4 ( 0)
g2 : R2 R, g 2 ( x) = 2 x1 x2 ( 0)
Matricea hessian a funciei g1 : H( g1 ) = 2 0
0 2
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

64

avnd minorii principali


2 =2>0

2 0 =4>0
0 2

funcia g1 este strict convex.


Funcia g2 fiind liniar este convex. g1, g2 sunt
funcii difereniabile.
Prin urmare, pentru rezolvarea problemei se poate
aplica metoda planului de seciune.
Iteraia 1
Mulimea programelor problemei
P = { x R 2 x12 + x22 4, x1 + x2 2}
este reprezentat haurat n figura urmtoare:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

65

Fie k = 1. Fie P1 = { x R 2 0 x1 2, 0 x2 2}
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

66

Fie problema de programare liniar auxiliar:

min ( x1 + 3 x2 )
x P
1

Se rezolv aceast problem cu algoritmul simplex


sau pe cale grafic i se obine soluia optim:
x1 = (0, 0)T.
Se calculeaz max {g1(x1) , g2(x1)} = max {-4,
2}= g2(x1) = 2 > 0.
Deci x1 nu este soluie optim pentru problema
iniial.
1

Avem g 2 ( x) =
1
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

67

1 T

g 2 ( x ) + ( x x ) g 2 ( x ) 0 x1 + x2 2
2

Atunci P2 = P1 {x R x1 + x2 2}
Iteraia a 2-a
k = 1+1 = 2. Se rezolv problema de programare
liniar auxiliar:

min ( x1 + 3 x2 )
x P
2

i se obine soluia ei optim x2 = (2, 0)T.


Avem max {g1(x2) , g2(x2)} = 0.
Rezult c x2 = (2, 0)T este soluia optim pentru
Cap.1. Modelare i optimizare matematic

MMI - Cursul 4

68

problema iniial.
Valoarea optim a funciei obiectiv este f(x2) = 2.

Cap.1. Modelare i optimizare matematic