Sunteți pe pagina 1din 88

MMI - Cursul 3

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 3

Capitolul 1

MODELARE I OPTIMIZARE
MATEMATIC
(III)

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

2. Programare liniar
2.2. Probleme de programare liniar
2.3. Elemente de programare liniar
2.4. Metoda simplex

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

2.2. Probleme de programare liniar

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

Condiiile n care se desfoar o anumit


activitate analizat conduc la un sistem de relaii ecuaii sau inecuaii - care conin variabilele
problemei i coeficienii tehnologici care o
caracterizeaz. Aceste relaii reprezint restriciile
problemei.
Scopul studiului este optimizarea unui anumit
rezultat dependent de variabilele problemei. n
formularea problemelor de programare matematic,
obiectivul apare sub forma unei funcii, denumit
funcie obiectiv (scop), ale crei valori maxime sau
minime sunt cutate.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

Restriciile problemei, mpreun cu funcia


obiectiv i anumite condiii impuse variabilelor
constituie modelul matematic al problemei.
Dac att funcia obiectiv ct i restriciile sunt
funcii liniare modelul respectiv este o problem de
programare liniar.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

2.2.1. Exemple de probleme de programare


liniar
Exemplu. Problem de organizare a produciei
O firm trebuie s realizeze n tipuri de produse
Pj (j =1,..., n), folosind m tipuri de resurse Ri (i = 1,..,
m). Se cunosc: coeficienii tehnologici aij (cantitatea
din resursa Ri necesar producerii unei uniti din
produsul Pj i care nu depinde de intensitatea la care
urmeaz s se desfoare procesul de producie);
cantitile disponibile bi din resursele Ri; profitul
unitar cj pentru fiecare produs Pj.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

S se ntocmeasc programul (planul) optim


de producie al firmei astfel nct profitul total
realizat s fie maxim.
Elaborarea modelului matematic al problemei:
Se noteaz cu xj (j = 1,..., n) cantitatea din
produsul Pj ce urmeaz a fi produs.
Funcia obiectiv este profitul total, care
trebuie maximizat:
[max] f = c1 x1 + c2 x2 + L + cn xn
Restriciile problemei se datoreaz limitrii
resurselor. Consumul din fiecare resurs Ri (i = 1,..,
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

m) nu poate depi cantitatea disponibil:


ai1x1 + ai 2 x2 + L + ain xn bi , i = 1, m

Condiiile asupra variabilelor sunt de nenegativitate: xj 0 (j =1,, n).


Modelul matematic al problemei are forma:
[max] f = c1 x1 + c2 x2 + L + cn xn
a11 x1 + a12 x2 + L + a1n xn b1

LLLLLLLLLLL
am1 x1 + am 2 x2 + L + amn xn bm
x 0, x 0, ..., x 0
2
n
1

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

10

Exemplu. Problem de utilizare a capacitii


utilajelor
O firm realizeaz n tipuri de produse care
pot fi fabricate pe m utilaje, care au capaciti de
producie limitate pe o anumit perioad.
Se cunosc: procentul aij din capacitatea utilajului i (i = 1,..., m) necesar pentru fabricarea unei
uniti din produsul j (j = 1,..., n); profitul unitar cj
al produsului j.
S se stabileasc un program de fabricaie
care s permit utilizarea optim a capacitii
disponibile a celor m utilaje.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

11

Elaborarea modelului matematic:


Variabilele problemei sunt cantitile de
produse fabricate n perioada considerat. Se noteaz
cu xj (j = 1,, n) numrul de produse de tipul j.
Funcia obiectiv este profitul total obinut de
firm pentru cele n tipuri produse; funcia trebuie
maximizat:
n

[max] f = c j x j
j =1

Restriciile de capacitate ale celor m utilaje:


n

aij x j 1,

i = 1, m

j =1

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

12

Modelul matematic al problemei are forma:


n

[max] f = c j x j
j =1

n
aij x j 1, i = 1, m
j =1
x j 0, j = 1, n

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

13

2.2.2. Forme ale problemelor de programare


liniar
Definiie. Forma general a unei probleme de
programare liniar:
[min] ([max]) z = c1 x1 + c2 x2 + L + cn xn
a x + a x + L + a x ()(=)b
1n n
1
11 1 12 2
a21 x1 + a22 x2 + L + a2 n xn ()(=)b2
LLLLLLLLLLLLLLL
a x + a x + L + a x ()(=)b
m2 2
mn n
m
m1 1

unde coeficienii cj R, aij R, bi R (i = 1,,m;


j = 1,.., n).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

14

Funcia liniar z este funcia obiectiv a problemei; ea trebuie minimizat sau maximizat.
Celelalte relaii constituie sistemul de restricii
ale problemei. n fiecare relaie apare doar unul din
simbolurile " ", " ", " = ". Membrul stng al
fiecrei relaii este o funcie liniar n variabilele x1 ,
x2 ,..., xn .
Definiie. O problem de programare liniar (PL)
const n optimizarea (minimizarea sau maximizarea) unei funcii liniare, cu respectarea unor
restricii (egaliti i/sau inegaliti) liniare.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

15

Definiie. O problem de PL are forma standard


dac toate restriciile sunt ecuaii i toate variabilele
sunt supuse condiiei de nenegativitate.
Problema de PL n forma standard scris explicit:
[min] ([max]) z = c1 x1 + c2 x2 + L + cn xn
a11x1 + a12 x2 + L a1n xn = b1

LLLLLLLLLLL
am1 x1 + am 2 x2 + L amn xn = bm
x 0, x 0, ..., x 0
2
n
1

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

16

Problema de PL n forma standard scris restrns:


n

[min] ([max]) z = c j x j
j =1

n
aij x j = bi , 1 i m
j =1
x j 0, 1 j n

Problema de PL scris n format matriceal:


min (max) c T x

Ax = b
x0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

17

Observaie. Din punct de vedere algebric, sistemul


de restricii (ecuaii liniare) Ax = b poate fi: incompatibil, compatibil unic determinat sau compatibil
nedeterminat. Evident, numai ultimul caz prezint
interes practic, pentru c doar atunci se pune efectiv
problema de a alege dintre mai multe soluii pe cea
mai bun.
Definiie. O restricie a unei probleme PL se
numete concordant dac este o inegalitate de tipul
" " cnd funcia obiectiv este minimizat i este de
tipul " " cnd funcia este maximizat.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

18

Definiie. O problem de PL are forma canonic


dac toate restriciile sunt concordante i toate
variabilele sunt supuse condiiei de nenegativitate.
O problem de PL de minimizare, n form
canonic, se scrie explicit, respectiv, matriceal:

min z = c1x1 + c2 x2 + L + cn xn

a11 x1 + a12 x2 + L a1n xn b1


LLLLLLLLLLL
am1 x1 + am 2 x2 + L amn xn bm

x j 0 , j = 1, n
Cap.1. Modelare i optimizare matematic

min c T x

Ax b
x0

MMI - Cursul 3

19

O problem de PL de maximizare, n form


canonic, se scrie explicit, respectiv, matriceal:
max z = c1 x1 + c2 x2 + L + cn xn
T

max
c
x
L
a
x
a
x
a
x
b
+
+

11
1
12
2
1
1
n
n

Ax b
LLLLLLLLLLL
x0
am1 x1 + am 2 x2 + L amn xn bm

x j 0 , j = 1, n

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

20

Orice problem de PL n forma general poate


fi adus la forma standard, canonic sau mixt cu
urmtoarele transformri echivalente:
a) sensul unei inegaliti se schimb prin nmulire
cu -1;
b) transformarea unei inegaliti ntr-o egalitate se
realizeaz prin introducerea unei variabile, numit
variabil de compensare (abatere sau ecart), y 0,
astfel nct:
T

a
x + y =
T
a x
y0

a
x y=
T
a x
y0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

21

c) o egalitate poate fi nlocuit


de acelai semn:
T

a
x
T
a x = T
sau
- a x

cu dou inegaliti
aT x
T
- a x

d) o variabil nepozitiv se poate nlocui cu o


variabil nenegativ prin substituia:
y = x
x0
y0

e) o variabil arbitrar se poate nlocui cu dou


variabile nenegative prin substituia:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

22

x= yz
x arbitrar
y, z 0

f) transformarea operatorului maxim n minim


(sau invers) se realizeaz prin schimbarea semnelor
coeficienilor din funcia obiectiv:

n
min ci xi = max ci xi
i =1

i =1
Observaii:
1) Variabilele de compensare nu apar i n
expresia funciei obiectiv a problemei (coeficienii
lor n funcia obiectiv sunt nuli).
n

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

23

Rezolvarea unei probleme de PL const n


determinarea valorilor variabilelor care satisfac
restriciile problemei i care optimizeaz funcia
obiectiv.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

24

Exemplu. S se scrie formele echivalente ale problemei de PL:


min (3x1 5 x2 + 2 x3 )
x1 + 4 x2 + 3 x3 = 15

1
2 x1 x2

3 x2 + x3 7
x ,x ,x 0
1 2 3

Soluie. Problema din enun este n forma general.


Forma standard a problemei se obine prin introducerea variabilelor de compensare x4 i x5, nenegative, n ultimele dou restricii:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

25

min (3x1 5 x2 + 2 x3 )
x1 + 4 x2 + 3x3
= 15

x4
=1
2 x1 x2

3x2 + x3
+ x5 = 7
x ,..., x 0
5
1

Forma canonic de minimizare a problemei se


obine prin transformarea primei restricii a problemei originale n dou inegaliti de tipul " ":

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

26

min (3 x1 5 x2 + 2 x3 )
x1 + 4 x2 + 3 x3 15
- x 4 x 3 x 15
1
2
3
2x x
1
1
2

3 x2 x3 7

x1 , x2 , x3 0

Forma canonic de maximizare a problemei este


urmtoarea:

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

27

max (3x1 + 5 x2 2 x3 )
x1 + 4 x2 + 3x3 15
x 4 x 3x 15
1
2
3
2 x + x
1
1
2

3 x2 + x3 7

x1 , x2 , x3 0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

28

2.3. Elemente de programare liniar

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

29

2.3.1. Soluii ale problemelor de programare


liniar
Fie problema de PL n forma standard:
min [max] z = c T x

Ax = b
x0

(97)

unde x, c Rn, b Rm, A Mm n , cu rang A = m.


Definiie. Vectorul xRn ale crui componente
satisfac restriciile i condiiile date n (97) se
numete soluie posibil (admisibil sau realizabil)
sau program al problemei de PL.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

30

Vom nota mulimea soluiilor posibile ale


problemei (*) prin:
n
P = {x R Ax = b, x 0}
Observaie: Evident, prezint interes practic situaia
n care mulimea P .
Definiie. Soluia posibil x1 este mai bun dect
soluia posibil x2, dac z(x1) z(x2) cnd pentru
funcia obiectiv z se cere minimul, respectiv,
z(x1) z(x2) cnd pentru funcia obiectiv z se cere
maximul.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

31

Definiie. Vectorul xRn se numete soluie de


baz pentru sistemul de ecuaii Ax = b dac:
a) x este soluie a sistemului Ax = b;
b) coloanele din matricea A corespunztoare
componentelor nenule ale lui x formeaz o mulime
liniar independent.

Observaie: Oricare soluie de baz poate avea cel


mult m componente nenule.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

32

Definiie. O soluie de baz cu exact m componente


strict pozitive se numete soluie de baz nedegenerat.
Dac numrul componentelor nenule (pozitive)
ale soluiei de baz este mai mic dect m, atunci ea
se numete soluie de baz degenerat.
Definiie. O soluie de baz x* este soluie optim a
unei probleme de PL dac z(x*) are cea mai mic
valoare posibil n cazul unei probleme de minimizare, respectiv, cea mai mare valoare posibil n
cazul unei probleme de maximizare.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

33

Definiie. Dac o problem de PL are s soluii de


baz x1, x2,..., xs, atunci soluia general este
combinaia liniar convex a soluiilor de baz:
1
2
s
x = 1x + 2 x + L + s x

cu i R, i 0 (i = 1,..., s) i 1 + 2 + L + . s = 1

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

34

Exemplu. Se consider problema de PL n forma


standard:
[min] f = 3 x1 + x2 + 4 x3 + x4
x + 2x + x 2x = 9
2
3
4
1
+ x4 = 4
x1 x2
x1 + x2 + x3 + 3 x4 = 6
x 0, j = 1, 4
j
x1 = (11 / 3, 2/3, 6, 1) T este o soluie posibil, deoarece

verific sistemul de restricii i condiiile de


nenegativitate; f ( x1 ) = 110 / 3 .
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

35

x 2 = (23 / 7 , 0, 50/7 , 5/7 ) este


T

o soluie de baz
nedegenerat, deoarece verific sistemul de restricii,
condiiile de nenegativitate i are m = 3 componente
2
strict pozitive; f ( x ) = 274 / 7 .
x = (17 / 3, 25/6, 0, 5/2) este o soluie de baz

nedegenerat optim; f ( x 3 ) = f min = 71 / 3.


3

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

36

Teorem. (Teorema fundamental a PL)


Fie problema de PL (*). Atunci:
a) Dac problema are un program (P ), atunci
are un program de baz.
b) Dac problema are un program optim, atunci are
un program de baz optim.
Observaie. Conform teoremei, din punct de vedere
teoretic, rezolvarea unei probleme de PL (determinarea unui program optim n cazul cnd exist) implic:
1) Se demonstreaz c problema are programe optime.
2) Se determin toate programele de baz.
3) Se alege programul (programele) de baz optim,
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

37

prin compararea valorilor funciei obiectiv z pentru


programele de baz.
Dar realizarea etapei 2) presupune considerarea
a unui numr de Cmn sisteme de ecuaii liniare cu n
necunoscute, metod care nu este aplicabil practic.
O intersecie finit de semispaii se numete
mulime poliedral. Atunci orice mulime poliedral
se poate identifica cu mulimea soluiilor unui sistem
de ecuaii i/sau inecuaii liniare n n variabile.
n particular, mulimea programelor (soluiilor
admisibile) P este o mulime convex, poliedral i
nchis. Frontiera sa este compus din toate punctele
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

38

ale cror coordonate satisfac, cu egalitate, cel puin


una dintre restricii.
Definiie. Vectorul x P se numete vrf (punct de
extremum) al mulimii P dac x nu poate fi scris ca o
combinaie liniar convex nebanal de vectori din P,
adic / x1, x2P, x1 x2, / (0,1) astfel nct
x = x1 + (1 - ) x 2 .
Teorem. O soluie posibil este soluie de baz
dac i numai dac este vrf pentru mulimea P.

Observaie: Teorema identific mulimea soluiilor de


baz cu vrfurile mulimii programelor P.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

39

Corolar. Dac funcia obiectiv are aceeai valoare


optim n mai multe vrfuri ale mulimii P, atunci
orice combinaie liniar convex a acelor vrfuri
este soluie optim a problemei de PL.
Definiie. Se numete baz a unei probleme de PL n
forma standard un grup de m coloane din matricea A
liniar independente.
Definiie. Baza B care satisface condiia B 1b 0 se
numete baz primal admisibil.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

40

2.3.2. Interpretarea geometric a unei probleme


de programare liniar
10 Geometria restriciilor
Relaia ai1 x1 + ai 2 x2 + L + ain xn = bi reprezint
n spaiul n-dimensional un hiperplan, care mparte
spaiul n dou semispaii exprimate analitic prin
dou inegaliti.
n spaiul R2 hiperplanul este o dreapt care
mparte planul n dou semiplane (sau regiuni). n
spaiul R3 hiperplanul este un plan care mparte
spaiul n dou semispaii.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

41

Exemplu. Fie restricia 2x + 3y 12 i semispaiul


nchis format din punctele care satisfac restricia.
Punctul O (0, 0) nu aparine dreptei 2x + 3y = 12,
iar coordonatele sale verific inegalitatea. Ca urmare,
semispaiul conine originea O:

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

42

Exemplu. Mulimea soluiilor admisibile P care


satisfac sistemul de restricii:
3x + 2 y 6
x + 2 y 4
x0

y 0

este domeniul haurat din figur:

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

43

Exemplu. Fie restricia 4x + 2y + 5z 20 ce definete


un semispaiu nchis n R3. Acesta se poate reprezenta
n spaiul tridimensional prin trasarea planului 4x + 2y
+ 5z = 20. Punctul origine O verific restricia.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

44

Exemplu. Mulimea soluiilor admisibile P care satisfac sistemul de restricii:


5 x + 3 y + 5 z 15
10 x + 4 y + 5 z 20 este domeniul haurat din figur:

x0
y0
z0

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

45

20 Geometria funciei obiectiv


Funcia obiectiv a unei probleme de PL este:
z = c1 x1 + c2 x2 + L + cn xn
Relaia de mai jos, n care k este o constant
oarecare, reprezint ecuaia unui hiperplan:
c1 x1 + c2 x2 + L + cn xn = k
Soluia unei probleme de PL de maximizare
este reprezentat de punctul (punctele) x din mulimea soluiilor admisibile P pentru care valoarea lui k
este cea mai mare posibil. Din punct de vedere
geometric, soluia este dat de hiperplanul care
intersecteaz mulimea P, pentru care k este maxim.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

46

Exemplu. Fie problema de programare liniar:


[max] z = x + y
x + 2 y 8
3 x + 2 y 12

x 0, y 0

Ecuaia hiperplanului x + y = k reprezint o dreapt


numit i curb de nivel a funciei obiectiv.
Din geometria analitic se tie c distana d de la
origine la dreapta de nivel x + y = k este d = k / 2.
Deci, valoarea maxim a lui k se obine atunci cnd d
are valoarea maxim.
Deoarece soluia optim satisface att sistemul de
restricii, ct i ecuaia curbei de nivel, este necesar ca
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

47

dreapta s aib un punct n comun cu poligonul.


Punctul respectiv are coordonatele (2, 3).

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

48

2.3.3. Metoda grafic de rezolvare a problemelor


de programare liniar
Metoda grafic poate fi utilizat numai pentru
rezolvarea problemelor de PL cu dou variabile.
Mulimea P se reprezint grafic. n spaiul R2
oricare restricie a problemei reprezint o dreapt
care mparte planul n dou semiplane (regiuni). Se
traseaz dreapta i cu ajutorul unui punct arbitrar ales,
dar care s nu aparin dreptei, se decide care dintre
cele dou semispaii este cel care convine.
O soluie posibil a problemei este soluie de
baz dac i numai dac este vrf pentru mulimea P.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

49

Soluia (soluiile) de baz optim a problemei


se alege dup compararea valorilor funciei obiectiv
calculate pentru soluiile de baz.
Observaii:
1) Soluia optim a unei probleme de PL este
chiar unul din vrfurile poligonului reprezentnd
mulimea soluiilor posibile P.
2) n cazul n care curbele de nivel sunt drepte
paralele cu una din laturile poligonului soluiilor
admisibile, soluiile optime ale problemei sunt n
numr infinit; din punct de vedere geometric, ele
sunt punctele de pe acea latur a poligonului.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

50

Exemplu. S se rezolve problema de PL:


[max] z = 5 x1 + 4 x2
3 x + 2 x 21
2
1
x1 + x2 8

x1 6

x2 7

x1 , x2 0

Soluie. Condiiile de nenegativitate ale variabilelor


implic utilizarea primului cadran al sistemului de
axe x1Ox2 pentru reprezentarea grafic a dreptelor
(obinute din cele patru restricii ale problemei):
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

51

(d1 ) : 3 x1 + 2 x2 = 21
(d 2 ) : x1 + x2 = 8
(d3 ) : x1
=6
(d 4 ) :
x2 = 7

i a dreptei (curba de nivel) (d): 5x1 + 4 x2 = 20.


Intersecia celor patru semiplane este reprezentat prin mulimea haurat din figur i este
mulimea P a soluiilor admisibile (posibile). Cel
puin unul din vrfurile acestui poligon convex,
O(0, 0), A(6, 0), B(6, 3/2), C(5, 3), D(1, 7), E(0, 7)
este soluie optim a problemei. Pentru a-l determina se nlocuiesc, pe rnd, coordonatele acestor
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

52

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

53

puncte n expresia funciei obiectiv z. Avem:


z(O) = 5 0 + 4 0 = 0
z(A) = 5 6 + 4 0 = 30
z(B) = 5 6 + 4 3/2 = 36
z(C) = 5 5 + 4 3 = 37
z(D) = 5 1 + 4 7 = 33
z(E) = 5 0 + 4 7 = 28
Valoarea maxim se obine pentru punctul
C(5, 3). Prin urmare, soluia optim a problemei
*
*
este x1 = 5, x 2 = 3. Valoarea corespunztoare a
*
z

funciei obiectiv este


= z max = 37.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

54

Exemplu. Fie problemele de PL:

[max] z = 5 x + 3 y
x + 2 y 4
3x + 2 y 9

x 0, y 0

[min] z = 5 x + 3 y
x + 2 y 4
3x + 2 y 9

x 0, y 0

Pentru problema de maximizare, curbele de


nivel au n comun cu tronsonul soluiilor admisibile
un segment, orict de mare ar fi distana de la origine
la respectivele drepte. Funcia obiectiv poate lua
valori orict de mari, are valoarea optim infinit.
Pentru problema de minimizare, valoarea
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

55

minim se obine cnd distana de la origine la


curbele de nivel este minim, n punctul (0, 2).

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

56

2.4. Metoda SIMPLEX

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

57

2.4.1. Fundamente teoretice


Cea mai utilizat metod pentru rezolvarea
problemelor de PL este metoda simplex datorat
matematicianului american G. B. Dantzig (1947).
Metoda simplex permite cercetarea sistematic
a mulimii soluiilor admisibile de baz ale unui
model de problem de PL n forma standard. Presupunnd cunoscut o astfel de soluie iniial, se
construiesc succesiv soluii realizabile de baz din ce
n ce "mai bune" pn la obinerea soluiei optime.
Metoda ofer i un criteriu de recunoatere a
optimului infinit.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

58

Prezentarea metodei simplex se va referi la


modelul de PL n forma standard de minimizare:

min c T x

Ax = b
x0

unde x, c Rn, b Rm, A Mm n , cu rang A = m < n.


Fie B o baz primal admisibil extras din
matricea A i xB = B-1b soluia de baz iniial asociat.
Coeficienii numerici ai problemei corespunztori bazei B se nscriu n tabelul simplex asociat bazei
B, de forma:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

59

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

60

Tabelul simplex conine:


- n prima coloan, variabilele de baz (V.B.);
- n a doua coloan, valorile variabilelor de baz
(V.V.B.);
y Bj
- n urmtoarele n coloane, vectorii , j = 1,..., n.
- pe ultima linie,
valoarea funciei
obiectiv n baza B,
B
B
z j - c j , j = 1, n
z
notat cu
; diferenele
.
La aplicarea algoritmului metodei simplex,
fiecrei baze B i corespunde un tabel simplex de
acest tip.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

61

2.4.2. Algoritmul simplex


Algoritmul simplex pentru problema de minimizare:

Pasul 1. Se determin o baz primal admisibil


iniial B.
B
B
B
B
y
Pasul 2. Se calculeaz x , z , j , z j c j , j = 1,..., n .
Pasul 3. Dac z Bj c j 0 , j = 1, n , atunci STOP:
este program optim; altfel se determin mulimea

J + = j J z Bj c j > 0

i se trece la pasul 4.
Pasul 4. Se determin indicele k J+ cu criteriul de
intrare n baz:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

62

max ( z Bj c j ) = zkB ck
j J +

Dac ykB 0, atunci STOP: problema are optim


infinit; altfel se determin indicele l I cu criteriul
de ieire din baz:
x iB x lB
min B = B
i I
yik ylk
B

y ik > 0
Pasul 5. Fie baza B obinut din B prin nlocuirea
coloanei A(l) cu coloana A(k) . Se trece la pasul 2,
nlocuind peste tot baza B cu baza B .
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

63

Algoritmul simplex pentru problema de maximizare:

Pasul 3. Dac z Bj c j 0, j = 1, n , atunci STOP: este


program optim; altfel se determin mulimea (nevid)

J = j J z Bj c j < 0

i se trece la pasul 4.
Pasul 4. Se determin indicele k J- cu criteriul de
intrare n baz:
min ( z Bj c j ) = zkB ck
j J

Dac ykB 0, atunci STOP: problema are optim


infinit; altfel se determin indicele l I cu criteriul
de ieire din baz.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

64

Observaie: Elementul y

B
lk

se numete pivot.

Formulele de schimbare a bazei sunt echivalente cu urmtoarele reguli de transformare ale


tabelului simplex asociat bazei B:
a) elementele situate pe linia pivotului se mpart la
pivot;
b) elementele situate pe coloana pivotului devin
zero, cu excepia pivotului, care devine 1;
c) celelalte elemente ale tabelului simplex se transform dup formula dreptunghiului. Se consider
dreptunghiul imaginar a crui diagonal este
determinat de elementul de transformat i de pivot:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

65

Formula dreptunghiului:
B
yij

yijB ylkB yljB yikB


ylkB

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

66

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

67

Construiete tabelul simplex iniial


Ct timp exist valori pozitive (negative) pe linia diferenelor
execut
Determin coloana pivotului
Exist valori pozitive n
coloana
Processpivotului ?
Da

Nu

Process

Determin linia pivotului


Calculeaz
noul tabel simplex

Nu exist
soluieProcess
optim finit
STOP

Prezint tabelul simplex final (ce conine soluia optim)


Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

68

Exemplu. S se rezolve cu algoritmul simplex


problema de PL:
min (4 x1 3 x2 + 5 x3 )
3 x1 2 x2 + x3 4

2 x1 + x2 + 2 x3 1
2 x1 + 4 x2 3 x3 6
x 0, x 0, x 0
2
3
1

Soluie. Se aduce problema la forma standard. Pentru


aceasta se introduc variabilele de compensare x4 , x5 ,
x6 nenegative n cele trei restricii. Se nmulete cea
de-a doua restricie cu -1 i obinem:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

69

min (4 x1 3 x2 + 5 x3 )
3x 2 x + x + x
=4
1
2
3
4

+ x5
=1
2 x1 x2 2 x3
2 x1 + 4 x2 3 x3
+ x6 = 6
x 0, i = 1, 6
i

Matricea sistemului de restricii a formei de mai


sus a problemei este:
3 2 1 1 0 0
A = 2 1 2 0 1 0

2
4

3
0
0
1

cu m = 3, n = 6, rang (A) = 3 < 6.


Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

70

Se poate forma o baz, B, cu ultimele trei coloane


ale matricei A, aceasta fiind matricea unitate:
1 0 0
B = 0 1 0

0 0 1
Pentru a putea aplica algoritmul simplex se
verific, n prealabil, dac baza B este primal
admisibil. ntr-adevr, B fiind matrice unitate, avem
B-1 = B, iar x B = B 1b = b = [4 1 6] T > 0.
Se construiesc tabelele simplex (v. fig. urm.).
Problema admite soluia optim finit: x1= 0;
x2= 1,5; x3= 0; x4= 7; x 5= 2,5; x6= 0; zmin= -4,5.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

71

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

72

Exemplu. S se rezolve problema de PL:


max ( x1 + 3 x2 + 2 x3 )

x1 x2 + x3 2
2x + 2x x 4
1
2
3

x1 , x2 , x3 0

Soluie. Se aduce problema la forma standard, prin


introducerea variabilelor de compensare x4 , x5:
max ( x1 + 3 x2 + 2 x3 )

=2
x1 x2 + x3 + x4
2x + 2x x
+ x5 = 4
1
2
3

xi 0, i = 1, 5
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

73

Cu ultimele dou coloane din matricea sistemului


de restricii (ecuaii) se poate forma baza B,
respectiv, matricea unitate.
Baza B verific condiia de baz primal admisibil:
T
B 1b = b = [2 4] > 0 ; aadar, se poate aplica algoritmul simplex.
Tabelele simplex corespunztoare sunt prezentate
n figurile urmtoare.
n ultimul tabel se constat c exist zk - ck < 0; J= {1, 2}, deci soluia obinut nu este optim. Pe de
alt parte, toi coeficienii yi1 de pe coloana
variabilei x1 sunt nepozitivi. Rezult c problema
dat are optim infinit (nu are soluie optim finit).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

74

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

75

2.4.3. Metoda coeficienilor de penalizare


Pentru a putea ncepe aplicarea algoritmului
simplex este necesar a fi ndeplinite dou condiii:
problema s fie n form standard;
s dispunem de o soluie de baz iniial.
Pentru cea de-a doua condiie, alegerea la
ntmplare a unei baze formate din m vectori oarecare
dintre vectorii coloan ai matricei A poate conduce la
soluii de baz nerealizabile cu care aplicarea
algoritmului simplex nu poate ncepe.
Determinarea unei soluii de baz iniial se
poate realiza cu metoda coeficienilor de penalizare.
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

76

Fie problema de PL de minimizare:


[min] z = c1x1 + c2 x2 + L + cn xn
a11x1 + a12 x2 + L + a1n xn b1

LLLLLLLLLLLLL
am1x1 + am 2 x2 + L + amn xn bm
x ,..., x 0
n
1

(98)

Presupunem c toi termenii liberi sunt pozitivi:


b1 0,..., bm 0 i c matricea A nu conine nici un
vector coloan unitar.
Prin adugarea variabilelor de compensare
(nenegative) cu semnul "- n fiecare restricie, se
obine sistemul de restricii n forma standard:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

77

a11 x1 + a12 x2 + L + a1n xn xn +1 = b1


a21 x1 + a22 x2 + L + a2 n xn xn + 2 = b2
LLLLLLLLLLLLLLL

am1 x1 + am 2 x2 + L + amn xn xn + m = bm

Considernd ca soluie iniial de baz:


x1 = x2 = ... = xn = 0, xn +1 = -b1 , xn +2 = -b2 ,...,
xn + m = = -bm
aceasta nu este realizabil (admisibil) i nu satisface
condiiile algoritmului simplex.
Pentru a obine o soluie admisibil de baz se
introduce n fiecare restricie cte o variabil
artificial (nenegativ) xn + m +1 , xn + m + 2 , ..., xn + 2m ,
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

78

cu semnul "+":
a11 x1 + a12 x2 + L + a1n xn xn +1 + xn + m +1 = b1
a21 x1 + a22 x2 + L + a2 n xn xn + 2 + xn + m + 2 = b2
LLLLLLLLLLLLLLLLLLL

am1 x1 + am 2 x2 + L + amn xn xn + m + xn + 2 m = bm

Se modific i funcia obiectiv a problemei iniiale


prin introducerea acestor variabile artificiale cu
coeficientul de penalizare +M.
Se consider c M are o valoare pozitiv foarte
mare (practic infinit).
Rezult problema extins de mai jos:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

79

[min] z = c1 x1 + L + cn xn + Mxn + m +1 + L + Mxn + 2 m


a11 x1 + a12 x2 + L + a1n xn xn +1 + xn + m +1 = b1

a21 x1 + a22 x2 + L + a2 n xn xn + 2 + xn + m + 2 = b2
(99)
LLLLLLLLLLLLLLLLLLL

am1 x1 + am 2 x2 + L + amn xn xn + m + xn + 2 m = bm
x1 , x2 ,..., xn , xn +1 ,..., xn + m , xn + m +1 ,..., xn + 2 m 0

Soluia iniial de baz pentru problema (99)


poate fi: x1 = x2 = ... = xn = xn +1 = xn +m = 0, xn +m +1 =
= -b1 , xn +m +2 = -b2 , xn +2m = -bm
Soluia conine variabilele artificiale, dar este
convenabil pentru aplicarea algoritmului simplex
problemei (99).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

80

Se rezolv problema extins (99) fiind posibile


urmtoarele cazuri:
1) Problema (99) are optim infinit. Atunci i
problema (98) are optim infinit.
2) Problema (99) are optim finit, dar n soluia optim cel puin o variabil artificial are o valoare nenul (pozitiv). Atunci problema (98) nu are soluie.
3) Problema (99) are optim finit i n soluia
optim toate variabilele artificiale au valoarea nul.
Atunci aceast soluie, din care se ignor variabilele
artificiale, este soluia optim a problemei (98).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

81

Fie problema de PL de maximizare:


[max] z = c1x1 + c2 x2 + L + cn xn
a11x1 + a12 x2 + L + a1n xn = b1

LLLLLLLLLLLLL
am1x1 + am 2 x2 + L + amn xn = bm
x ,..., x 0
n
1

(100)

Presupunem c toi termenii liberi sunt pozitivi:


b1 0,..., bm 0 i c matricea A nu conine nici un
vector coloan unitar.
Pentru a obine o soluie admisibil de baz se
introduce n fiecare restricie din (100) cte o
variabil artificial (nenegativ), xn +1 , xn + 2 ,..., xn + m ,
cu semnul "+".
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

82

Se introduc n funcia obiectiv variabilele artificiale cu coeficientul de penalizare -M.


Rezult problema extins:
[max] z = c1 x1 + L + cn xn Mxn +1 L Mxn + m
a11 x1 + a12 x2 + L + a1n xn + xn +1 = b1

a21x1 + a22 x2 + L + a2 n xn + xn + 2 = b2
LLLLLLLLLLLLLLL
(101)

am1x1 + am 2 x2 + L + amn xn + xn + m = bm
x1, x2 ,..., xn , xn +1 ,..., xn + m 0
Se rezolv problema (101) fiind posibile aceleai cazuri, relative la problema (100), ca cele
prezentate anterior la problema de minimizare (98).
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

83

Observaii:
1) Indiferent de tipul problemei (minimizare sau
maximizare), dac matricea restriciilor nu conine
vectori unitari, atunci numrul variabilelor artificiale
introduse va fi egal cu m.
2) Dac, la aplicarea algoritmului simplex pentru
rezolvarea problemei extinse, o variabil artificial
iese din baz, ea nu va mai intra niciodat n baz,
fapt care justific eliminarea (eventual) din calculele
ulterioare a coloanei variabilei respective.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

84

Exemplu. S se rezolve problema de PL cu metoda


coeficienilor de penalizare:
min (3x1 + 4 x2 + 7 x3 )
x1 + 3 x2 x3 10
x +x +x 6
2
3
1
x1, x2 , x3 0

Soluie. Se aduce mai nti problema la forma


standard prin introducerea n restricii a variabilelor de
compensare x4 i x5.
Se adaug variabilele artificiale x6 i x7; ele se
introduc n restricii cu coeficientul 1 i n funcia
obiectiv cu coeficienii de penalizare +M:
Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

85

min (3x1 + 4 x2 + 7 x3 + Mx6 + Mx7 )


x1 + 3x2 x3 x4
+ x6
= 10
x +x +x
x5
+ x7 = 6
1
2
3

xi 0, i = 1, 7

Soluia iniial de baz este x1 = x2 = x3 = x4 = x5 = 0,


x6 = 10, x7 = 6. Primul tabel simplex al problemei
extinse corespunztor acestei baze este:

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

86

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

87

Deoarece zk - ck 0, k = 1,..., 7 tabelul simplex


de mai sus conine soluia optim a problemei extinse,
n care variabilele artificiale x6 i x7 au valoarea zero.
Soluia optim a problemei iniiale: x1 = 4, x2 = 2,
x3 = 0. Valoarea optim a funciei obiectiv zopt = 20.

Cap.1. Modelare i optimizare matematic

MMI - Cursul 3

88

Observaie: n practic este important a cunoate n


cazul unei probleme care admite soluie optim
(finit) dac aceasta este unic sau nu. Dac exist
mai multe soluii exist posibilitatea ca ntr-un
context dat s alegem una dintre acestea pe baza
unor factori suplimentari neinclui n modelul
matematic.

Cap.1. Modelare i optimizare matematic