Sunteți pe pagina 1din 55

TDCO - Cursul 1 1

Universitatea POLITEHNICA din Bucureşti

Teoria Deciziei
şi
Cercetări Operaţionale

Autor curs: Conf. dr. ing. mat. Ovidiu Blăjină


Cap.1. Programare liniară
TDCO - Cursul 1 2

Capitolul 1

PROGRAMARE LINIARĂ
(I)

Cap.1. Programare liniară


TDCO - Cursul 1 3

1. Probleme de programare liniară


2. Elemente de programare liniară

Cap.1. Programare liniară


TDCO - Cursul 1 4

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ă

Cap.1. Programare liniară


TDCO - Cursul 1 5

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.
Cap.1. Programare liniară
TDCO - Cursul 1 6

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ă.

Cap.1. Programare liniară


TDCO - Cursul 1 7

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.
Cap.1. Programare liniară
TDCO - Cursul 1 8

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 = c1 x1 + c2 x2 + L + cn xn
Restricţiile problemei se datorează limitării
resurselor. Consumul din fiecare resursă Ri (i = 1,..,

Cap.1. Programare liniară


TDCO - Cursul 1 9

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


ai1x1 + ai 2 x2 + L + 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 + 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
⎩ 1 2 n ‰

Cap.1. Programare liniară


TDCO - Cursul 1 10

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.
Cap.1. Programare liniară
TDCO - Cursul 1 11

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
Cap.1. Programare liniară
TDCO - Cursul 1 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. Programare liniară


TDCO - Cursul 1 13

1.2. Forme ale problemelor de programare


liniară
Definiţie. 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 ⎫
⎪ 11 1 12 2 1n n 1
⎨ a21 x1 + a22 x2 + L + a2 n xn ≤ (≥)(=)b2 ⎪⎪
⎪ LLLLLLLLLLLLLLL ⎬
⎪ a x + a x + L + 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).
Cap.1. Programare liniară
TDCO - Cursul 1 14

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.

Cap.1. Programare liniară


TDCO - Cursul 1 15

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 = 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
⎩ 1 2 n

Cap.1. Programare liniară


TDCO - Cursul 1 16

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

Cap.1. Programare liniară
TDCO - Cursul 1 17

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ă.

Cap.1. Programare liniară


TDCO - Cursul 1 18

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 + L + cn xn
⎪ ⎧ min c T x
⎪⎪ a11 x1 + a12 x2 + L a1n xn ≥ b1 ⎪
⎨ LLLLLLLLLLL ⎨ Ax ≥ b
⎪ am1 x1 + am 2 x2 + L amn xn ≥ bm ⎪ x≥0
⎪ ⎩
⎪⎩ x j ≥ 0 , j = 1, n

Cap.1. Programare liniară


TDCO - Cursul 1 19

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


canonică, se scrie explicit, respectiv, matriceal:
⎧ max z = c1 x1 + c2 x2 + L + cn xn
⎪ ⎧ max c T
x
⎪⎪ a x + a x + L a x ≤ b
11 1 12 2 1n n 1 ⎪
⎨ LLLLLLLLLLL ⎨ Ax ≤ b
⎪ am1 x1 + am 2 x2 + L amn xn ≤ bm ⎪ x≥0


⎪⎩ x j ≥ 0 , j = 1, n

Cap.1. Programare liniară


TDCO - Cursul 1 20

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

Cap.1. Programare liniară


TDCO - Cursul 1 21

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

Cap.1. Programare liniară


TDCO - Cursul 1 22

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:
Cap.1. Programare liniară
TDCO - Cursul 1 23

⎧ 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).
Cap.1. Programare liniară
TDCO - Cursul 1 24

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.

Cap.1. Programare liniară


TDCO - Cursul 1 25

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 generală.
Forma standard a problemei se obţine prin intro-
ducerea variabilelor de compensare x4 şi x5, nene-
gative, în ultimele două restricţii:
Cap.1. Programare liniară
TDCO - Cursul 1 26

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

⎨ 2 x1 − x2 − x4 =1
⎪ 3x2 + 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 " ≥ ":

Cap.1. Programare liniară


TDCO - Cursul 1 27

⎧ 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


următoarea:

Cap.1. Programare liniară


TDCO - Cursul 1 28

⎧ 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. Programare liniară


TDCO - Cursul 1 29

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)

⎪⎩ Cap.1. Programare liniară
TDCO - Cursul 1 30

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
Cap.1. Programare liniară
TDCO - Cursul 1 31

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.
Cap.1. Programare liniară
TDCO - Cursul 1 32

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ă

Cap.1. Programare liniară


TDCO - Cursul 1 33

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ă) sau
program al problemei de PL.
Cap.1. Programare liniară
TDCO - Cursul 1 34

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.

Cap.1. Programare liniară


TDCO - Cursul 1 35

Definiţie. Vectorul x’∈Rn se numeşte soluţie de


bază pentru sistemul de ecuaţii Ax = b dacă:
a) x’ este soluţie a sistemului Ax = b;
b) coloanele din matricea A corespunzătoare
componentelor nenule ale lui x’ formează o mulţime
liniar independentă.
Definiţie. O soluţie de bază 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.

Cap.1. Programare liniară


TDCO - Cursul 1 36

Exemplu. Se consideră problema de PL în forma


standard:
⎧ [min] f = 3 x1 + x2 + 4 x3 + x4
⎪ x + 2x + x − 2x = 9
⎪ 1 2 3 4

⎨ x1 − x2 + x4 = 4
⎪ − x1 + x2 + x3 + 3 x4 = 6
⎪ x ≥ 0, j = 1, 4
⎩ j
x1 = (11 / 3, 2/3, 6, 1) T este o soluţie posibilă, deoarece
verifică sistemul de restricţii şi condiţiile de
nenegativitate; f ( x1 ) = 110 / 3 .

Cap.1. Programare liniară


TDCO - Cursul 1 37

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


T
o soluţie de bază
nedegenerată, deoarece verifică sistemul de restricţii,
condiţiile de nenegativitate şi are m = 3 componente
2
strict pozitive; f ( x ) = 274 / 7 .
x = (17 / 3, 25/6, 0, 5/2) este o soluţie de bază
3 T

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

Cap.1. Programare liniară


TDCO - Cursul 1 38

Mulţimea programelor (soluţiilor admisibile) P


este o mulţime convexă şi închisă. Frontiera sa este
compusă din toate punctele ale căror coordonate
satisfac, cu egalitate, cel puţin una dintre restricţii.
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 = λx1 + (1 - λ) x 2.
Teoremă. O soluţie posibilă este soluţie de bază
dacă şi numai dacă este vârf pentru mulţimea P.
Cap.1. Programare liniară
TDCO - Cursul 1 39

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ă.

Cap.1. Programare liniară


TDCO - Cursul 1 40

2.2. Interpretarea geometrică a unei probleme


de programare liniară
2.2.1. Geometria restricţiilor
Relaţia ai1 x1 + ai 2 x2 + L + 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.
Cap.1. Programare liniară
TDCO - Cursul 1 41

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:

‰
Cap.1. Programare liniară
TDCO - Cursul 1 42

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

Cap.1. Programare liniară


TDCO - Cursul 1 43

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.

Cap.1. Programare liniară


TDCO - Cursul 1 44

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

‰
Cap.1. Programare liniară
TDCO - Cursul 1 45

2.2.2. Geometria funcţiei obiectiv


Funcţia obiectiv a unei probleme de PL este:
z = c1 x1 + c2 x2 + L + cn xn
Relaţia de mai jos, în care k este o constantă
oarecare, reprezintă ecuaţia unui hiperplan:
c1 x1 + c2 x2 + L + 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.
Cap.1. Programare liniară
TDCO - Cursul 1 46

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
Cap.1. Programare liniară
TDCO - Cursul 1 47

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


Punctul respectiv are coordonatele (2, 3).

‰
Cap.1. Programare liniară
TDCO - Cursul 1 48

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.
O soluţie posibilă a problemei este soluţie de
bază dacă şi numai dacă este vârf pentru mulţimea P.
Cap.1. Programare liniară
TDCO - Cursul 1 49

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 reprezentând
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.
Cap.1. Programare liniară
TDCO - Cursul 1 50

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):
Cap.1. Programare liniară
TDCO - Cursul 1 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.
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
Cap.1. Programare liniară
TDCO - Cursul 1 52

Cap.1. Programare liniară


TDCO - Cursul 1 53

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. ‰

Cap.1. Programare liniară


TDCO - Cursul 1 54

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
Cap.1. Programare liniară
TDCO - Cursul 1 55

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


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

‰
Cap.1. Programare liniară

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