Sunteți pe pagina 1din 55

Universitatea POLITEHNICA din Bucureşti

Facultatea de Inginerie Industrială şi Robotică

Cercetări operaţionale
Cursul 1

© 2020 Conf. dr. ing. mat. Ovidiu Blăjină


CO - Cursul 1 Cap.1. Programare liniară 1
Cercetări operaționale – Cursul 1

Capitolul 1

PROGRAMARE LINIARĂ
(I)

© Blăjină Ovidiu Cap.1. Programare liniară 2/55


Cercetări operaționale – Cursul 1

1. Probleme de programare liniară


2. Elemente de programare liniară

© Blăjină Ovidiu Cap.1. Programare liniară 3/55


Cercetări operaționale – Cursul 1

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ă

© Blăjină Ovidiu Cap.1. Programare liniară 4/55


Cercetări operaționale – Cursul 1

Condiţiile în care se desfăşoară o anumită


activitate economică analizată conduc la un sistem
de relaţii - ecuaţii sau inecuaţii - care conţin varia-
bilele problemei şi coeficienţii tehnologici care o
caracterizează. Aceste relaţii reprezintă restricţiile
problemei.
Scopul studiului este optimizarea unui anumit
rezultat dependent de variabilele problemei. În
formularea problemelor de programare matematică,
obiectivul apare sub forma unei funcţii, denumită
funcţie obiectiv (scop), ale cărei valori maxime sau
minime sunt căutate.
© Blăjină Ovidiu Cap.1. Programare liniară 5/55
Cercetări operaționale – Cursul 1

Restricţiile problemei şi funcţia obiectiv, cu


anumite condiţii impuse variabilelor, constituie
modelul matematic al problemei.
Dacă atât funcţia obiectiv cât şi restricţiile sunt
funcţii liniare, atunci modelul este o problemă de
programare liniară.

© Blăjină Ovidiu Cap.1. Programare liniară 6/55


Cercetări operaționale – Cursul 1

1.1. Exemple de probleme de programare


liniară
Exemplu. Problemă de organizare a producţiei
O firmă trebuie să realizeze n tipuri de produse
Pj (j =1,..., n), folosind m tipuri de resurse Ri (i = 1,..,
m). Se cunosc: coeficienţii tehnologici aij (cantitatea
din resursa Ri necesară producerii unei unităţi din
produsul Pj şi care nu depinde de intensitatea la care
urmează să se desfăşoare procesul de producţie);
cantităţile disponibile bi din resursele Ri; profitul
unitar cj pentru fiecare produs Pj.
© Blăjină Ovidiu Cap.1. Programare liniară 7/55
Cercetări operaționale – Cursul 1

Să se întocmească programul (planul) optim


de producţie al firmei astfel încât 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ă.
Funcţia obiectiv este profitul total, care
trebuie maximizat:
[max] f = c1x1 + c2 x2 +  + cn xn
Restricţiile problemei se datorează limitării
resurselor. Consumul din fiecare resursă Ri (i = 1,..,

© Blăjină Ovidiu Cap.1. Programare liniară 8/55


Cercetări operaționale – Cursul 1

m) nu poate depăşi cantitatea disponibilă:


ai1x1 + ai 2 x2 +  + ain xn  bi , i = 1, m
Condiţiile asupra variabilelor sunt de nenega-
tivitate: xj  0 (j =1,…, n).
Modelul matematic al problemei are forma:
 [max] f = c1 x1 + c2 x2 +  + cn xn
 a11x1 + a12 x2 +  + a1n xn  b1

 
 am1 x1 + am 2 x2 +  + amn xn  bm
 x  0, x  0, ..., x  0
 1 2 n ❑

© Blăjină Ovidiu Cap.1. Programare liniară 9/55


Cercetări operaționale – Cursul 1

Exemplu. Problemă de amestec


Se efectuează un amestec din uleiurile
minerale Uj (j= 1,..., n), în vederea obţinerii unui
produs finit cu anumite caracteristici, în cantitate de
cel puţin q litri. Amestecul trebuie să conţină
substanţele Si (i = 1,..., m) în cantitate de cel puţin bi
grame fiecare.
Se cunosc: conţinutul aij în substanţele Si al
fiecărui tip de ulei Uj (în grame/l); costul unitar cj
al fiecărui tip de ulei Uj.
Cum trebuie efectuat amestecul cu cost total
minim ? Ce cantitate din fiecare ulei trebuie pusă în
© Blăjină Ovidiu Cap.1. Programare liniară 10/55
Cercetări operaționale – Cursul 1

amestec ?
Elaborarea modelului matematic al problemei:
Se notează cu xj (j= 1,…, n) cantitatea necu-
noscută din uleiul Uj care trebuie pusă în amestec.
Funcţia obiectiv este o funcţie cost - costul
amestecului - care trebuie minimizată:
[min] f = c1x1 + c2 x2 +  + cn xn
Restricţia referitoare la masa amestecului:
x1 + x2 +  + xn  q
Restricţia referitoare la substanţa minerală Si :
ai1x1 + ai 2 x2 +  + ain xn  bi , i = 1, m
© Blăjină Ovidiu Cap.1. Programare liniară 11/55
Cercetări operaționale – Cursul 1

Modelul matematic al problemei are forma:


 [min] f = c1 x1 + c2 x2 +  + cn xn
 x1 + x2 +  + xn  q

 a11x1 + a12 x2 +  + a1n xn  b1
 

 am1 x1 + am 2 x2 +  + amn xn  bm
 x j  0 , j = 1,n

Observaţie: O aplicaţie a problemei amestecului este
problema substituţiei unor mijloace de producţie cu
altele, în scopul realizării unui efect de producţie
optim.
© Blăjină Ovidiu Cap.1. Programare liniară 12/55
Cercetări operaționale – Cursul 1

Exemplu. Problemă de utilizare a capacităţii


utilajelor
O firmă realizează n tipuri de produse care
pot fi fabricate pe m utilaje, care au capacităţi de
producţie limitate pe o anumită perioadă.
Se cunosc: procentul aij din capacitatea utila-
jului i (i = 1,..., m) necesar pentru fabricarea unei
unităţi din produsul j (j = 1,..., n); profitul unitar cj
al produsului j.
Să se stabilească un program de fabricaţie
care să permită utilizarea optimă a capacităţii
disponibile a celor m utilaje.
© Blăjină Ovidiu Cap.1. Programare liniară 13/55
Cercetări operaționale – Cursul 1

Elaborarea modelului matematic:


Variabilele problemei sunt cantităţile de
produse fabricate în perioada considerată. Se notează
cu xj (j = 1,…, n) numărul de produse de tipul j.
Funcţia obiectiv este profitul total obţinut de
firmă pentru cele n tipuri produse; funcţia trebuie
maximizată:
n
[max] f =  c j x j
j =1

Restricţiile de capacitate ale celor m utilaje:


n
 aij x j  1, i = 1, m
j =1
© Blăjină Ovidiu Cap.1. Programare liniară 14/55
Cercetări operaționale – Cursul 1

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



© Blăjină Ovidiu Cap.1. Programare liniară 15/55


Cercetări operaționale – Cursul 1

1.2. Forme ale problemelor de programare


liniară
Definiţie. Forma generală a unei probleme de
programare liniară:
 [min] ([max]) z = c1x1 + c2 x2 +  + cn xn
 a x + a x +  + a x  ()(=)b 
 11 1 12 2 1n n 1
 a21 x1 + a22 x2 +  + a2 n xn  ()(=)b2 
  
 a x + a x +  + a x  ()(=)b 
 m1 1 m2 2 mn n m

unde coeficienţii cj R, aij R, bi R (i = 1,…,m;


j = 1,.., n).
© Blăjină Ovidiu Cap.1. Programare liniară 16/55
Cercetări operaționale – Cursul 1

Funcţia liniară z este funcţia obiectiv a proble-


mei; ea trebuie minimizată sau maximizată.
Celelalte relaţii constituie sistemul de restricţii
ale problemei. În fiecare relaţie apare doar unul din
simbolurile "  ", "  ", " = ". Membrul stâng al
fiecărei relaţii este o funcţie liniară în variabilele x1 ,
x2 ,..., xn .
Definiţie. O problemă de programare liniară (PL)
constă în optimizarea (minimizarea sau maximi-
zarea) unei funcţii liniare, cu respectarea unor
restricţii (egalităţi şi/sau inegalităţi) liniare.

© Blăjină Ovidiu Cap.1. Programare liniară 17/55


Cercetări operaționale – Cursul 1

Definiţie. O problemă de PL are forma standard


dacă toate restricţiile sunt ecuaţii şi toate variabilele
sunt supuse condiţiei de nenegativitate.
Problema de PL în forma standard scrisă explicit:
 [min] ([max]) z = c1x1 + c2 x2 +  + cn xn
 a11x1 + a12 x2 +  a1n xn = b1

 
 am1 x1 + am 2 x2 +  amn xn = bm
 x  0, x  0, ..., x  0
 1 2 n

© Blăjină Ovidiu Cap.1. Programare liniară 18/55


Cercetări operaționale – Cursul 1

Problema de PL în forma standard scrisă restrâns:


 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
 x0

© Blăjină Ovidiu Cap.1. Programare liniară 19/55
Cercetări operaționale – Cursul 1

Observaţie. Din punct de vedere algebric, sistemul


de restricţii (ecuaţii liniare) Ax = b poate fi: incom-
patibil, 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 soluţii pe cea
mai bună.
Definiţie. O restricţie a unei probleme PL se
numeşte concordantă dacă este o inegalitate de tipul
"  " când funcţia obiectiv este minimizată şi este de
tipul "  " când funcţia este maximizată.

© Blăjină Ovidiu Cap.1. Programare liniară 20/55


Cercetări operaționale – Cursul 1

Definiţie. O problemă de PL are forma canonică


dacă toate restricţiile sunt concordante şi toate
variabilele sunt supuse condiţiei de nenegativitate.
O problemă de PL de minimizare, în formă
canonică, se scrie explicit, respectiv, matriceal:
 min z = c1x1 + c2 x2 +  + cn xn
  min c T x
 a11 x1 + a12 x2 +  a1n xn  b1 
   Ax  b
 am1x1 + am 2 x2 +  amn xn  bm  x0
 
 x j  0, j = 1, n

© Blăjină Ovidiu Cap.1. Programare liniară 21/55


Cercetări operaționale – Cursul 1

O problemă de PL de maximizare, în formă


canonică, se scrie explicit, respectiv, matriceal:
 max z = c1 x1 + c2 x2 +  + cn xn
  T
 a x + a x +  a x  b max c x
11 1 12 2 1n n 1 
   Ax  b
 am1x1 + am 2 x2 +  amn xn  bm  x0


 x j  0, j = 1, n

© Blăjină Ovidiu Cap.1. Programare liniară 22/55


Cercetări operaționale – Cursul 1

Definiţie. O problemă de PL are forma mixtă dacă


toate restricţiile sunt fie ecuaţii, fie inegalităţi
concordante şi toate variabilele sunt supuse condiţiei
de nenegativitate:

 min (max) c T x
 A x  b
 1 1

 A2 x = b2
 x  0

© Blăjină Ovidiu Cap.1. Programare liniară 23/55


Cercetări operaționale – Cursul 1

Orice problemă de PL în forma generală poate


fi adusă la forma standard, canonică sau mixtă cu
următoarele transformări echivalente:
a) sensul unei inegalităţi se schimbă prin înmulţire
cu -1;
b) transformarea unei inegalităţi într-o egalitate se
realizează prin introducerea unei variabile, numită
variabilă de compensare (abatere sau ecart), y  0,
astfel încât:
 a T
x + y =  a T
x− y=
a x   
T
a x  
T

 y0  y0

© Blăjină Ovidiu Cap.1. Programare liniară 24/55


Cercetări operaționale – Cursul 1

c) o egalitate poate fi înlocuită cu două inegalităţi


de acelaşi semn:
 a T
x   aT x  
a x =   T
T
sau  T
 - a x  −  - a x  −
d) o variabilă nepozitivă se poate înlocui cu o
variabilă nenegativă prin substituţia:
 y = −x
x0  
 y0
e) o variabilă arbitrară se poate înlocui cu două
variabile nenegative prin substituţia:
© Blăjină Ovidiu Cap.1. Programare liniară 25/55
Cercetări operaționale – Cursul 1

 x= y−z
x arbitrar  
 y, z  0
f) transformarea operatorului maxim în minim
(sau invers) se realizează prin schimbarea semnelor
coeficienţilor din funcţia obiectiv:
 n
n 
min  ci xi = − max  −  ci xi 
i =1  i =1 
Observaţii:
1) Variabilele de compensare nu apar şi în expresia
funcţiei obiectiv a problemei (coeficienţii lor în
funcţia obiectiv sunt nuli).
© Blăjină Ovidiu Cap.1. Programare liniară 26/55
Cercetări operaționale – Cursul 1

2) În problemele de PL cu semnificaţie economică


concretă, variabilele de compensare introduse
primesc, la rândul lor, interpretări economice
precise; se motivează astfel includerea acestor
variabile în setul variabilelor iniţiale.
Rezolvarea unei probleme de PL constă în
determinarea valorilor variabilelor care satisfac
restricţiile problemei şi care optimizează funcţia
obiectiv.

© Blăjină Ovidiu Cap.1. Programare liniară 27/55


Cercetări operaționale – Cursul 1

Exemplu. Să se scrie formele echivalente ale pro-


blemei de PL:
 min (3x1 − 5 x2 + 2 x3 )
 x1 + 4 x2 + 3 x3 = 15

 2 x1 − x2 1
 3 x2 + x3  7
 x ,x ,x  0
 1 2 3
Soluţie. Problema din enunţ este în forma mixtă.
Forma standard a problemei se obţine prin intro-
ducerea variabilelor de compensare x4 şi x5, nene-
gative, în ultimele două restricţii:
© Blăjină Ovidiu Cap.1. Programare liniară 28/55
Cercetări operaționale – Cursul 1

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

 2 x1 − x2 − x4 =1
 3 x2 + x3 + x5 = 7
 x ,..., x  0
 1 5

Forma canonică de minimizare a problemei se


obţine prin transformarea primei restricţii a proble-
mei originale în două inegalităţi de tipul "  ":

© Blăjină Ovidiu Cap.1. Programare liniară 29/55


Cercetări operaționale – Cursul 1

 min (3x1 − 5 x2 + 2 x3 )
 x1 + 4 x2 + 3 x3  15
 - x − 4 x − 3 x  −15
 2x − x
1 2 3
 1
 1 2
 − 3x2 − x3  − 7
 x1 , x2 , x3  0

Forma canonică de maximizare a problemei este


următoarea:

© Blăjină Ovidiu Cap.1. Programare liniară 30/55


Cercetări operaționale – Cursul 1

 max (−3 x1 + 5 x2 − 2 x3 )
 x1 + 4 x2 + 3 x3  15
 − x − 4 x − 3 x  −15
− 2 x + x
1 2 3
 −1
 1 2
 3 x2 + x3  7
 x1 , x2 , x3  0 ❑

© Blăjină Ovidiu Cap.1. Programare liniară 31/55


Cercetări operaționale – Cursul 1

1.3. Interpretarea economică


Fie problema de PL:
 n
 min (max) z =  c j x j (1)
 j =1
 n
  aij x j  bi , 1  i  k (2)
 j =1
 n
  aij x j  bi , k + 1  i  l (3)
 j =1
 n
  aij x j = bi , l + 1  i  m (4)
 j =1
 x j  0, 1  j  n (5)


© Blăjină Ovidiu Cap.1. Programare liniară 32/55
Cercetări operaționale – Cursul 1

Relaţia (1) exprimă matematic funcţia obiectiv


z şi arată evaluarea volumului activităţilor desfăşurate
la nivelurile xj, prin intermediul coeficienţilor cj, ce
pot fi costuri unitare în cazul problemelor de minim,
sau profituri unitare, în cazul problemelor de maxim.
Relaţiile (2)-(4) constituie sistemul de restricţii
ale problemei, exprimă diverse cerinţe tehnico-econo-
mice de desfăşurare a activităţii, de plan, de piaţă etc.
Ele sunt scrise cu ajutorul coeficienţilor tehnico-
economici aij, constanţi într-un interval de timp
determinat.
Termenii liberi bi cuantifică, după caz, resursele
© Blăjină Ovidiu Cap.1. Programare liniară 33/55
Cercetări operaționale – Cursul 1

disponibile materiale, financiare, de capacităţi de


producţie sau normative minimale, capacitatea
minimă de absorbţie a pieţii etc.
Restricţiile (2) corelează volumul consumului
activităţilor cu cel al disponibilului din fiecare resursă.
Restricţiile (3) impun un volum al activităţilor
peste limitele minimale.
Restricţiile (4) impun realizarea strictă a unui
plafon prestabilit.
Relaţiile (5) exprimă condiţiile de nenegativi-
tate impuse variabilelor xj şi au ca sens economic
nivelul de desfăşurare al activităţilor.
© Blăjină Ovidiu Cap.1. Programare liniară 34/55
Cercetări operaționale – Cursul 1

2. Elemente de programare liniară


2.1. Soluţii 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ă

© Blăjină Ovidiu Cap.1. Programare liniară 35/55


Cercetări operaționale – Cursul 1

2.1. Soluţii ale problemelor de programare


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

 Ax = b (*)
 x0

unde x, c  Rn, b  Rm, A  Mm  n , cu rang A = m.
Definiţie. Vectorul xRn ale cărui componente
satisfac restricţiile şi condiţiile date în (*) se numeşte
soluţie posibilă (admisibilă sau realizabilă) a pro-
blemei de PL.
© Blăjină Ovidiu Cap.1. Programare liniară 36/55
Cercetări operaționale – Cursul 1

Vom nota mulţimea soluţiilor posibile ale


problemei (*) prin:
P = {x  R Ax = b, x  0}
n

Observaţie: Evident, prezintă interes practic situaţia


în care mulţimea P  .
Definiţie. Soluţia posibilă x1 este mai bună decât
soluţia posibilă x2, dacă z(x1)  z(x2) când pentru
funcţia obiectiv z se cere minimul, respectiv,
z(x1)  z(x2) când pentru funcţia obiectiv z se cere
maximul.

© Blăjină Ovidiu Cap.1. Programare liniară 37/55


Cercetări operaționale – Cursul 1

Definiţie. O soluţie x* este soluţie 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.
Definiţie. Vectorul x P se numeşte vârf (punct de
extremum) al mulţimii P dacă x nu poate fi scris ca o
combinaţie liniară convexă nebanală de vectori din P,
adică  x1, x2P, x1  x2,   (0,1) astfel încât
x = x + (1 - ) x .
1 2

Teoremă. O soluţie posibilă este soluţie de bază dacă


şi numai dacă este vârf pentru mulţimea P.
© Blăjină Ovidiu Cap.1. Programare liniară 38/55
Cercetări operaționale – Cursul 1

Definiţie. Se numeşte bază a unei probleme de PL în


forma standard un grup de m coloane din matricea A
liniar independente.
Definiţie. Baza B care satisface condiţia B −1b  0 se
numeşte bază primal admisibilă.

© Blăjină Ovidiu Cap.1. Programare liniară 39/55


Cercetări operaționale – Cursul 1

2.2. Interpretarea geometrică a unei probleme


de programare liniară
2.2.1. Geometria restricţiilor
Relaţia ai1 x1 + ai 2 x2 +  + ain xn = bi reprezintă
în spaţiul n-dimensional un hiperplan, care împarte
spaţiul în două semispaţii exprimate analitic prin
două inegalităţi.
În spaţiul R2 hiperplanul este o dreaptă care
împarte planul în două semiplane (sau regiuni). În
spaţiul R3 hiperplanul este un plan care împarte
spaţiul în două semispaţii.
© Blăjină Ovidiu Cap.1. Programare liniară 40/55
Cercetări operaționale – Cursul 1

Exemplu. Fie restricţia 2x + 3y  12 şi semispaţiul


închis format din punctele care satisfac restricţia.
Punctul O (0, 0) nu aparţine dreptei 2x + 3y = 12,
iar coordonatele sale verifică inegalitatea. Ca urmare,
semispaţiul conţine originea O:


© Blăjină Ovidiu Cap.1. Programare liniară 41/55
Cercetări operaționale – Cursul 1

Exemplu. Mulţimea soluţiilor admisibile P care


satisfac sistemul de restricţii:
 3x + 2 y  6
− x + 2 y  4 este domeniul haşurat din figură:
 x0

 y  0

© Blăjină Ovidiu Cap.1. Programare liniară 42/55


Cercetări operaționale – Cursul 1

Exemplu. Fie restricţia 4x + 2y + 5z  20 ce defineşte


un semispaţiu închis în R3. Acesta se poate reprezenta
în spaţiul tridimensional prin trasarea planului 4x + 2y
+ 5z = 20. Punctul origine O verifică restricţia.

© Blăjină Ovidiu Cap.1. Programare liniară 43/55


Cercetări operaționale – Cursul 1

Exemplu. Mulţimea soluţiilor admisibile P care satis-


fac sistemul de restricţii:
 5 x + 3 y + 5 z  15
10 x + 4 y + 5 z  20 este domeniul haşurat din figură:

 x0
 y0
 z0


© Blăjină Ovidiu Cap.1. Programare liniară 44/55
Cercetări operaționale – Cursul 1

2.2.2. Geometria funcţiei obiectiv


Funcţia obiectiv a unei probleme de PL este:
z = c1x1 + c2 x2 +  + cn xn
Relaţia de mai jos, în care k este o constantă
oarecare, reprezintă ecuaţia unui hiperplan:
c1x1 + c2 x2 +  + cn xn = k
Soluţia unei probleme de PL de maximizare
este reprezentată de punctul (punctele) x din mulţi-
mea soluţiilor admisibile P pentru care valoarea lui k
este cea mai mare posibilă. Din punct de vedere
geometric, soluţia este dată de hiperplanul care
intersectează mulţimea P, pentru care k este maxim.
© Blăjină Ovidiu Cap.1. Programare liniară 45/55
Cercetări operaționale – Cursul 1

Exemplu. Fie problema de programare liniară:


 [max] z = x + y
 x + 2 y  8
 3 x + 2 y  12

 x  0, y  0
Ecuaţia hiperplanului x + y = k reprezintă o dreaptă
numită şi curbă de nivel a funcţiei obiectiv.
Din geometria analitică se ştie că distanţa d de la
origine la dreapta de nivel x + y = k este d = k / 2.
Deci, valoarea maximă a lui k se obţine atunci când d
are valoarea maximă.
Deoarece soluţia optimă satisface atât sistemul de
restricţii, cât şi ecuaţia curbei de nivel, este necesar ca
© Blăjină Ovidiu Cap.1. Programare liniară 46/55
Cercetări operaționale – Cursul 1

dreapta să aibă un punct în comun cu poligonul.


Punctul respectiv are coordonatele (2, 3).


© Blăjină Ovidiu Cap.1. Programare liniară 47/55
Cercetări operaționale – Cursul 1

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.
Mulţimea P se reprezintă grafic. În spaţiul R2
oricare restricţie 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 aparţină dreptei, se decide care
dintre cele două semispaţii este cel care convine.

© Blăjină Ovidiu Cap.1. Programare liniară 48/55


Cercetări operaționale – Cursul 1

Soluţia (soluţiile) de bază optimă a problemei


se alege după compararea valorilor funcţiei obiectiv
calculate pentru soluţiile de bază.
Observaţii:
1) Soluţia optimă a unei probleme de PL este
chiar unul din vârfurile poligonului ce reprezintă
mulţimea soluţiilor posibile P.
2) În cazul în care curbele de nivel sunt drepte
paralele cu una din laturile poligonului soluţiilor
admisibile, soluţiile optime ale problemei sunt în
număr infinit; din punct de vedere geometric, ele
sunt punctele de pe acea latură a poligonului.
© Blăjină Ovidiu Cap.1. Programare liniară 49/55
Cercetări operaționale – Cursul 1

Exemplu. Să se rezolve problema de PL:


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

 x1  6
 x2  7

 x1 , x2  0
Soluţie. Condiţiile de nenegativitate ale variabilelor
implică utilizarea primului cadran al sistemului de
axe x1Ox2 pentru reprezentarea grafică a dreptelor
(obţinute din cele patru restricţii ale problemei):
© Blăjină Ovidiu Cap.1. Programare liniară 50/55
Cercetări operaționale – Cursul 1

(d1 ) : 3x1 + 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.
Intersecţia celor patru semiplane este repre-
zentată prin mulţimea haşurată din figură şi este
mulţimea P a soluţiilor admisibile (posibile). Cel
puţin unul din vârfurile acestui poligon convex,
O(0, 0), A(6, 0), B(6, 3/2), C(5, 3), D(1, 7), E(0, 7)
este soluţie optimă a problemei. Pentru a-l deter-
mina se înlocuiesc, pe rând, coordonatele acestor
© Blăjină Ovidiu Cap.1. Programare liniară 51/55
Cercetări operaționale – Cursul 1

© Blăjină Ovidiu Cap.1. Programare liniară 52/55


Cercetări operaționale – Cursul 1

puncte în expresia funcţiei 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 obţine pentru punctul
C(5, 3). Prin urmare, soluţia optimă a problemei
* *
este x1 = 5, x 2 = 3. Valoarea corespunzătoare a
funcţiei obiectiv este z *
= z max = 37. ❑

© Blăjină Ovidiu Cap.1. Programare liniară 53/55


Cercetări operaționale – Cursul 1

Exemplu. Fie problemele de PL:


 [max] z = 5 x + 3 y  [min] z = 5 x + 3 y
 x + 2 y  4  x + 2 y  4
 − 3x + 2 y  9  − 3x + 2 y  9
 
 x  0, y  0  x  0, y  0

Pentru problema de maximizare, curbele de


nivel au în comun cu tronsonul soluţiilor admisibile
un segment, oricât de mare ar fi distanţa de la origine
la respectivele drepte. Funcţia obiectiv poate lua
valori oricât de mari, are valoarea optimă infinită.
Pentru problema de minimizare, valoarea
© Blăjină Ovidiu Cap.1. Programare liniară 54/55
Cercetări operaționale – Cursul 1

minimă se obţine când distanţa de la origine la


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


© Blăjină Ovidiu Cap.1. Programare liniară 55/55

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