Sunteți pe pagina 1din 62

Universitatea POLITEHNICA din Bucureti

Facultatea Ingineria i Managementul


Sistemelor Tehnologice

Cercetri Operaionale

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


CO - Cursul 1

Cap.1. Programare liniar

Capitolul 1

PROGRAMARE LINIAR
(I)

CO - Cursul 1

Cap.1. Programare liniar

1. Probleme de programare liniar


2. Elemente de programare liniar

CO - Cursul 1

Cap.1. Programare liniar

1. Probleme de programare liniar


1.1. Exemple de probleme de programare
liniar
1.2. Forme ale problemelor de programare
liniar
1.3. Interpretarea economic

CO - Cursul 1

Cap.1. Programare liniar

Condiiile n care se desfoar o anumit


activitate economic 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.
CO - Cursul 1

Cap.1. Programare liniar

Restriciile problemei i funcia obiectiv, cu


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

CO - Cursul 1

Cap.1. Programare liniar

1.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.
CO - Cursul 1

Cap.1. Programare liniar

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,..,
CO - Cursul 1

Cap.1. Programare liniar

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
CO - Cursul 1

Cap.1. Programare liniar

Exemplu. Problem de amestec


Se efectueaz un amestec din uleiurile
minerale Uj (j= 1,..., n), n vederea obinerii unui
produs finit cu anumite caracteristici, n cantitate de
cel puin q litri. Amestecul trebuie s conin
substanele Si (i = 1,..., m) n cantitate de cel puin bi
grame fiecare.
Se cunosc: coninutul aij n substanele Si al
fiecrui tip de ulei Uj (n grame/l); costul unitar cj
al fiecrui tip de ulei Uj.
Cum trebuie efectuat amestecul cu cost total
minim ? Ce cantitate din fiecare ulei trebuie pus n
CO - Cursul 1

Cap.1. Programare liniar

10

amestec ?
Elaborarea modelului matematic al problemei:
Se noteaz cu xj (j= 1,, n) cantitatea necunoscut din uleiul Uj care trebuie pus n amestec.
Funcia obiectiv este o funcie cost - costul
amestecului - care trebuie minimizat:
[min] f = c1 x1 + c2 x2 + L + cn xn

Restricia referitoare la masa amestecului:


x1 + x2 + L + xn q
Restricia referitoare la substana mineral Si :
ai1x1 + ai 2 x2 + L + ain xn bi , i = 1, m
CO - Cursul 1

Cap.1. Programare liniar

11

Modelul matematic al problemei are forma:


[min] f = c1 x1 + c2 x2 + L + cn xn
x1 + x2 + L + xn q

a11 x1 + a12 x2 + L + a1n xn b1


LLLLLLLLLLL

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

Observaie: O aplicaie a problemei amestecului este


problema substituiei unor mijloace de producie cu
altele, n scopul realizrii unui efect de producie
optim.
CO - Cursul 1

Cap.1. Programare liniar

12

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.
CO - Cursul 1

Cap.1. Programare liniar

13

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

CO - Cursul 1

Cap.1. Programare liniar

14

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

CO - Cursul 1

Cap.1. Programare liniar

15

1.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).
CO - Cursul 1

Cap.1. Programare liniar

16

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.
CO - Cursul 1

Cap.1. Programare liniar

17

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

CO - Cursul 1

Cap.1. Programare liniar

18

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

CO - Cursul 1

Cap.1. Programare liniar

19

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.
CO - Cursul 1

Cap.1. Programare liniar

20

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
CO - Cursul 1

Cap.1. Programare liniar

min c T x

Ax b
x0

21

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

CO - Cursul 1

Cap.1. Programare liniar

22

Definiie. O problem de PL are forma mixt dac


toate restriciile sunt fie ecuaii, fie inegaliti
concordante i toate variabilele sunt supuse condiiei
de nenegativitate:

min (max) c T x
A x b
1
1

A2 x = b2
x 0

CO - Cursul 1

Cap.1. Programare liniar

23

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

CO - Cursul 1

a
x y=
T
a x
y0

Cap.1. Programare liniar

24

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:
CO - Cursul 1

Cap.1. Programare liniar

25

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

CO - Cursul 1

Cap.1. Programare liniar

26

2) n problemele de PL cu semnificaie economic


concret, variabilele de compensare introduse
primesc, la rndul lor, interpretri economice
precise; se motiveaz astfel includerea acestor
variabile n setul variabilelor iniiale.
Rezolvarea unei probleme de PL const n
determinarea valorilor variabilelor care satisfac
restriciile problemei i care optimizeaz funcia
obiectiv.

CO - Cursul 1

Cap.1. Programare liniar

27

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:
CO - Cursul 1

Cap.1. Programare liniar

28

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 " ":

CO - Cursul 1

Cap.1. Programare liniar

29

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:

CO - Cursul 1

Cap.1. Programare liniar

30

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

CO - Cursul 1

Cap.1. Programare liniar

31

1.3. Interpretarea economic


Fie problema de PL:

CO - Cursul 1

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

n
aij x j bi , 1 i k
j =1
n
aij x j bi , k + 1 i l
j =1
n
aij x j = bi , l + 1 i m
j =1
x j 0, 1 j n

Cap.1. Programare liniar

(1)
(2)
(3)
(4)
(5)
32

Relaia (1) exprim matematic funcia obiectiv


z i arat evaluarea volumului activitilor desfurate
la nivelurile xj, prin intermediul coeficienilor cj, ce
pot fi costuri unitare n cazul problemelor de minim,
sau profituri unitare, n cazul problemelor de maxim.
Relaiile (2)-(4) constituie sistemul de restricii
ale problemei, exprim diverse cerine tehnico-economice de desfurare a activitii, de plan, de pia etc.
Ele sunt scrise cu ajutorul coeficienilor tehnicoeconomici aij, constani ntr-un interval de timp
determinat.
Termenii liberi bi cuantific, dup caz, resursele
CO - Cursul 1

Cap.1. Programare liniar

33

disponibile materiale, financiare, de capaciti de


producie sau normative minimale, capacitatea
minim de absorbie a pieii etc.
Restriciile (2) coreleaz volumul consumului
activitilor cu cel al disponibilului din fiecare resurs.
Restriciile (3) impun un volum al activitilor
peste limitele minimale.
Restriciile (4) impun realizarea strict a unui
plafon prestabilit.
Relaiile (5) exprim condiiile de nenegativitate impuse variabilelor xj i au ca sens economic
nivelul de desfurare al activitilor.
CO - Cursul 1

Cap.1. Programare liniar

34

2. Elemente de programare liniar


2.1. Soluii ale problemelor de programare
liniar
2.2. Interpretarea geometric a unei
probleme de programare liniar
2.3. Metoda grafic de rezolvare a
problemelor de programare liniar

CO - Cursul 1

Cap.1. Programare liniar

35

2.1. Soluii ale problemelor de programare


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

Ax = b
x0

(*)

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 (*) se numete
soluie posibil (admisibil sau realizabil) sau
program al problemei de PL.
CO - Cursul 1

Cap.1. Programare liniar

36

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.
CO - Cursul 1

Cap.1. Programare liniar

37

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.

CO - Cursul 1

Cap.1. Programare liniar

38

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.
CO - Cursul 1

Cap.1. Programare liniar

39

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:
x = 1x1 + 2 x 2 + L + s x s

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

CO - Cursul 1

Cap.1. Programare liniar

40

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 .
CO - Cursul 1

Cap.1. Programare liniar

41

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

CO - Cursul 1

Cap.1. Programare liniar

42

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,
CO - Cursul 1

Cap.1. Programare liniar

43

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
CO - Cursul 1

Cap.1. Programare liniar

44

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.
CO - Cursul 1

Cap.1. Programare liniar

45

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.

CO - Cursul 1

Cap.1. Programare liniar

46

2.2. Interpretarea geometric a unei probleme


de programare liniar
2.2.1. 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.
CO - Cursul 1

Cap.1. Programare liniar

47

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:

CO - Cursul 1

Cap.1. Programare liniar

48

Exemplu. Mulimea soluiilor admisibile P care


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

y 0

CO - Cursul 1

este domeniul haurat din figur:

Cap.1. Programare liniar

49

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.

CO - Cursul 1

Cap.1. Programare liniar

50

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

CO - Cursul 1

Cap.1. Programare liniar

51

2.2.2. 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.
CO - Cursul 1

Cap.1. Programare liniar

52

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
CO - Cursul 1

Cap.1. Programare liniar

53

dreapta s aib un punct n comun cu poligonul.


Punctul respectiv are coordonatele (2, 3).

CO - Cursul 1

Cap.1. Programare liniar

54

2.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.
CO - Cursul 1

Cap.1. Programare liniar

55

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 ce reprezint
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.
CO - Cursul 1

Cap.1. Programare liniar

56

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):
CO - Cursul 1

Cap.1. Programare liniar

57

(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
CO - Cursul 1

Cap.1. Programare liniar

58

CO - Cursul 1

Cap.1. Programare liniar

59

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.
CO - Cursul 1

Cap.1. Programare liniar

60

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
CO - Cursul 1

Cap.1. Programare liniar

61

minim se obine cnd distana de la origine la


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

CO - Cursul 1

Cap.1. Programare liniar

62