Sunteți pe pagina 1din 65

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

9
CAPITOLUL 2
PROGRAMAREA LINIAR

2.1. Probleme de programare liniar

Orice activitate industrial se desfoar n condiiile existenei
unor resurse limitate de materii prime i materiale, de resurse umane, iar
folosirea eficient, a acestora, conduce la rezultate optime att din punct
de vedere tehnic ct i economic.
Modelele de programare matematic i mai ales modelele de
programare liniar, constituie o clas special, att n teorie ct i n
practica industrial.
Pentru decizii referitoare la structura optim de producie, la
cantitatea ce urmeaz a se produce, la sortimente, abordarea acestora cu
modele ale programrii matematice conduce la rezultate optime.
Programarea matematic reprezint un instrument deosebit de util
fundamentrii deciziilor n practica industrial.

2.1.1. Formularea problemei de programare liniar

Principala problem cu caracter decizional, cu care se confrunt
producia o constituie determinarea structurii optime de producie pe
termen mediu i scurt printr-o folosire eficient a resurselor.
Condiiile n care se desfoar activitatea de producie analizat,
conduc la un sistem de relaii tip ecuaii i inecuaii ce cuprind variabilele
problemei i coeficienii tehnico economici ce o caracterizeaz .
Modelul matematic de programare liniar se constituie din
mulimea de activiti (operaii){A
1
, A
2
, ..A
j
,.. A
n
}, (j=1,...,n) pentru
producerea unei uniti din produsul P
j
(ca rezultat al activitii A
j
),
mulimea de resurse disponibile materiale, financiare, de capaciti de
producie {b
1
, b
2
, ... b
m
}, (i = 1,...,m) precum i din relaiile tehnico-
economice dintre acestea.
n practica industrial, legtura dintre activiti (operaii) i
resurse este determinat de procesul tehnologic de fabricaie
corespunztor realizrii produsului.
Elementele a
ij
, (i = 1,...,m; j = 1,...,n) se numesc coeficieni
tehnico-economici, acetia fiind constani ntr-un interval de timp
determinat i arat ce cantitate din resursa b
i
(i = 1,...,m) se consum
pentru producerea unei uniti din produsul P
j
.
Programare liniar
10
Toate aceste legturi (restricii) definite de vectorii coloan a
(j)
se
pot organiza ntr-o matrice A cu m linii i n coloane (2.1); fiecare linie se
refer la o resurs b
i
i fiecare coloan se refer la o activitate a
j
.

AeMm.n; A= ( a
i,j
), i = 1,..,m, j= 1,...,n; A =
|
|
|
.
|

\
|
mn 1 m
n 1 11
a .......... a
a ......... a
(2.1)

b
m
R e , b =
|
|
|
|
|
.
|

\
|
m
2
1
b
b
b
.
(2.2)

Notnd cu x
j
(j = 1,...,n) (2.3) programul activitii a
j
ntr-o
perioad dat i cu b
i
cantitile disponibile din resursele b
i
, se pot scrie
matematic restriciile tehnico-economice. Aceste restricii reprezint
restriciile problemei de programare liniar (2.4).
x e R
n
, x =
|
|
|
|
|
.
|

\
|
n
x
x
x
.
2
1
(2.3)

m n mn 2 m2 1 m1
2 n 2n 2 22 1 21
1 n 1n 2 12 1 11
b x a ... x a x a
b x a ... x a x a
b x a ... x a x a
s + + +
s + + +
s + + +


(2.4)

Fiecare restricie (inecuaie de tipul s) cuprinde afirmaia prin
care cantitatea consumat dintr-o resurs nu poate depi volumul
disponibil din resursa respectiv.
Obiectivul studiului l constituie optimizarea unui anumit rezultat
dependent de aceleai variabile ce figureaz n restricii.
Obiectivul este sub forma unei funcii ale crei valori maxime sau
minime le cutam i care se numete funcia obiectiv (scop, eficien).
n practica industrial, ea reprezint criteriul de performan
urmrit: maximizarea beneficiului, maximizarea produciei marf,
minimizarea costului produciei, maximizarea gradului de ncrcare al
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

11
utilajelor sau minimizarea timpului de staionare al acestora,
maximizarea veniturilor etc.
Variaia funciei obiectiv arat evoluia volumului activitilor,
prin intermediul coeficienilor
j
c , ce pot fi costuri unitare n cazul
problemelor de minim, sau profituri unitare pentru probleme de maxim
(2.5).

R c
j
e , c e R
n
c =
|
|
|
|
|
.
|

\
|
n
2
1
c
c
c
.
; ) ... ... (
n j 2 1
T
c c c c c = (2.5)

Decizia cu scopul unei eficiene maxime presupune minimizarea
efortului i maximizarea rezultatului,
Conceptul de optim se definete, n acest caz, ca un program
(soluie) xe R
n
care minimizeaz sau maximizeaz o funcie obiectiv i,
n acelai timp, satisface toate restriciile tehnico-economice.
Presupunnd c fiecare coeficient .c
j
msoar eficiena unei
uniti din rezultatul activitii A
j
, atunci se poate introduce funcia
obiectiv liniar (2.6) :

z = c
1
x
1
+ c
2
x
2
+ ... + c
n
x
n
(2.6)

Sintetiznd toate datele de mai sus, obinem urmtorul model
(2.7, 2.8, 2.9)de programare liniar.
Relaiile (2.7), (2.8) i (2.9) constituie mpreun modelul
matematic al unei probleme de programare liniar, avnd fiecare un rol
specific:
1. relaia (2.7), denumit funcia obiectiv a problemei, evalueaz
eficiena/performana fiecrei soluii (program) x;

s s >
s s + >
s s s
=
=
=
=
n j 1 0 x
l i 1 k b x a
k i 1 b x a
x c z
j
n
1 j
i j ij
n
1 j
i j ij
n
1 j
j j
x
min(max)

(2.7)
(2.8)
(2.9)
Programare liniar
12
2. relaiile (2.8) de tipul s
=
n
1 j
i j ij
b x a reprezint restricii ce coreleaz
volumul consumului activitilor cu cel al disponibilului pentru
fiecare resurs; iar restriciile de tipul >
=
n
1 j
i j ij
b x a impun un
consum peste limitele minimale, sunt restricii tehnico-economice de
tip calitativ;
3. relaia (2.9) x
j
> 0 j = 1,...,n, numit condiia de nenegativitate a
variabilelor, asigur obinerea unei soluii realizabile n practica
industrial.
Decizia obinut cu ajutorul modelului nu poate fi recomandat
nemijlocit pentru realizare, deoarece modelul face abstracie de o serie de
aspecte ale fenomenului studiat, cele ce au la baz o serie de factori ce nu
pot fi formalizai.
n practica industrial programarea liniar ofer soluii care pot
motiva tiinific luarea unor decizii de natur strategic, tactic sau a
unor decizii cu coninut tehnico organizatoric.

2.1.2. Forme ale problemei de programare liniar

O problem de programare liniar este, un caz particular al
problemelor de programare matematic i, innd cont de forma oricrei
funcii liniare, se poate defini forma general a problemei de programare
liniar.
Funcia liniar (2.10), notat cu z reprezint funcia obiectiv a
problemei.
Relaiile (2.11) reprezint sistemul de restricii ale problemei, iar
membrul stng al fiecrei relaii aste o funcie liniar n variabilele x
1
,
x
2
,,x
n
, la fel ca i funcia obiectiv.
Problema de programare liniar const n optimizarea unei funcii
liniare cu restricii liniare.

- Forma general a problemei de programare liniar

( )( )
( )( )
( )( )

= > s + +
= > s + +
= > s + +
+ + + =
m n mn 2 2 m 1 1 m
2 n 2 22 1 21
1 n n 1 2 12 1 11
n n 2 2 1 1
b x a x a x a
b x 2 a x a x a
b x a x a x a
x c x c x c z
...
.... .......... .......... .......... .......... ..........
...
...
... min(max)

(2.10)
(2.11)
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

13
unde: ) , ( ), , , , ( ), , ( m 1 i R b n 1 j m 1 i R a n 1 j R c
i ij j
= e = = e = e
Din analiza mai multor probleme de programare liniara
deducem c ntr-o astfel de problema pot apare restricii scrise sub forma
de inegaliti sau egaliti, iar criteriul de optimizare ales impune n unele
cazuri maximizarea iar n alte cazuri minimizarea funciei obiectiv.
Rezolvarea problemei de programare liniar presupune
determinarea valorilor variabilelor x
i
, care satisfac restriciile i
optimizeaz funcia obiectiv a problemei.

- Forma standard a problemei de programare liniar

O problema de programare liniar este dat sub form standard
dac toate restriciile sale sunt date sub form de ecuaii (egaliti) i
tuturor variabilelor li se impun condiii de nenegativitate.
Problema de programare liniar dat n form standard se scrie n
mod explicit (2.12):

s s >
s s =
=
=
=
n j x
m i b x a
x c z
j
n
j
i j ij
n
j
i j
1 0
1
max(min)
1
1
(2.12)

Problema de programare liniar n form standard poate fi scris
i sub form matricial (2.13) :

>
=
0 x
b Ax
x c
T
min(max)
, unde

e
e
e
m
n m
n
R b
R M A
R x c
,
) (
,
(2.13)

unde c
T
reprezint componentele matricei c transpus.
Sistemul de restricii liniare ( Ax=b ) poate fi un sistem
compatibil, compatibil unic determinat sau nedeterminat de m ecuaii i n
necunoscute. Pentru ca problema de optimizare s aib sens, numrul de
ecuaii trebuie s fie mai mic dect numrul de necunoscute
(m<n)(sistem compatibil nedeterminat).

Programare liniar
14
- Forma canonic a problemei de programare liniar

O restricie a unei probleme de programare liniar se numete
concordant (neconcordant) dac pentru o inegalitate de tip ( ) " " " s >
funcia obiectiv este minimizat sau respectiv pentru o inegalitate de tip
( ) " " " " > s funcia obiectiv este maximizat .
O problem de programare liniar este data sub form canonic
dac toate restriciile sale sunt concordante i toate variabilele sunt
supuse condiiei de nenegativitate.
Problema de programare liniar dat n form canonic se scrie n
mod explicit (2.14):

s s >
s s s >
=

=
=
n j x
m i b x a
x c z
j
n
j
i j ij
n
j
i j
1 0
1 ) (
min(max)
1
1
(2.14)
Problema de programare liniar n form canonic poate fi scris
i sub form matricial (2.15) :

>
s >
0 x
b Ax
x c
T
) (
min(max)
unde

e
e
e
m
n m
n
R b
M A
R x C
,
,
(2.15)

Orice problem de programare liniar n form general poate fi
adus la forma standard sau canonic cu ajutorul unor transformri
elementare efectuate asupra operatorului aplicat funciei obiectiv
restriciilor i variabilelor:

a) o problem de minimizare n form matricial se poate transforma
ntr-o problem de maximizare i invers, schimbnd semnul
coeficienilor din funcia obiectiv, astfel:

max c x c x
T T
) min( = ; min c x c x
T T
) max( = (2.16)

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

15
b) o variabil x arbitrar (variabil creia nu i se impune restricie de
semn) se poate nlocui cu dou variabile nenegative
2 , 1
x x , prin
relaia :

0 x x unde x x x
2 1 2 1
> = , , (2.17)

c) o variabil x supus condiiei de nepozitivitate ( 0 s x ) se transform
ntr-o variabil nenegativ prin substituia

0 x unde x x
1 1
> = , (2.18)

d) Restriciile de tip inecuaie se transform n restricii de tip ecuaii
innd cont de urmtoarele :

>
=

>
>
0 y x
b y x a
0 x
b x a
T T
,
i

>
= +

>
s
0 y x
b y x a
0 x
b x a
T T
,
(2.19)
unde y se numete variabil ecart.
Variabilele ecart nu apar n funcia obiectiv sau astfel spus apar n
funcia obiectiv dar cu coeficieni nuli:

0 =
e
j
c (unde =
e
j
c coeficieni ai variabilelor ecart).

e) sensul unei inegaliti se schimb prin nmulirea cu 1.

n aplicaiile practice apar frecvent situaii n care modelul
conine simultan restricii de toate tipurile (concordante, neconcordante,
egaliti), problema fiind dat n form general, iar rezolvarea ei poate fi
abordat fr a restrnge generalitate.

Exemplul 2.1

S se scrie formele echivalente ale problemei de programare
liniar:

Problema dat este n forma general. Pe baza transformrilor
echivalente vom construi formele echivalente ale problemei iniiale.
Deoarece variabila x
3
nu are restricii de semn, o vom nlocui, cu
diferena a dou variabile
Programare liniar
16
( )

>
s +
> +
> +
=
+
oarecare x 0 x x
0 x 2 x 3 x 2
2 x 4 x
3 x 2 x 5 x
4 x x 3
x 2 x x 3
3 2 1
3 2 1
3 1
3 2 1
2 1
3 2 1
, , ,
,
,
,
,
max

) (
) (
) (
) (
4
3
2
1


pozitive: x
3
= x
4
x
5
. Pentru ca problema s aib forma standard, toate
restriciile trebuie s fie egaliti, de aceea n restriciile (2), (3) i (4)
vom introduce variabilele de egalizare x
6
, x
7
, x
8
. Forma standard va fi:

( )

>
= + + +
= +
= +
=
+
0 x x x
0 x x x x 3 x 2
2 x x 4 x 4 x
3 x x 2 x 2 x 5 x
4 x x 3
x 2 x 2 x x 3
8 2 1
8 5 4 2 1
7 5 4 1
6 5 4 2 1
2 1
5 4 2 1
,..., ,
,
,
,
,
max


Forma canonic se obine transformnd restricia (1) n dou
inegaliti i toate inegalitile > le transformm n inegaliti s
deoarece problema este dat de maximizare. Astfel, x
3
trebuie nlocuit cu
diferena x
4
x
5
.
Se obine astfel forma canonic

( )
.
, , ,
,
,
,
,
,
max

>
s + +
s +
s + +
s +
s
+
0 x x x x
0 x x x 3 x 2
2 x 4 x 4 x
3 x 2 x 2 x 5 x
4 x x 3
4 x x 3
x 2 x 2 x x 3
5 4 2 1
5 4 2 1
5 4 1
5 4 2 1
2 1
2 1
5 4 2 1





Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

17
2.1.3. Modelul matematic al problemei de programare liniar

Pentru a nelege modelul matematic al problemelor de
programare liniar sub forma general, vom analiza cteva exemple din
practica industrial:

- Alocarea optim a resurselor n producia industrial
O firm urmeaz s produc n tipuri de produse P
j
, n j , 1 = ,
folosind m tipuri de resurse R
i
m i , 1 = .
Se cunosc coeficienii tehnologici a
ij
; cantitile disponibile b
i
din
resursele R
i
; profitul unitar c
j
pentru fiecare produs P
j
.
S se ntocmeasc planul optim de producie al firmei astfel nct
profitul total realizat s fie maxim.


Elaborare modelului matematic al problemei

Condiii generale de desfurare a activitii analizate :

- restriciile problemei apar din urmtoarea condiie:
cantitatea totala din resursa i folosit pentru producerea celor n produse
nu poate fi mai mare dect cantitatea disponibila:

m i b x a
i j
n
j
ij
, 1 ,
1
= s

=
(2.20)

- condiiile de nenegativitate asigur obinerea unei soluii realizabile
din punctul de vedere al logicii practice industriale.

x
j
> 0 , n j , 1 = (2.21)

Sistemul de inecuaii (2.20) i (2.21) poate avea o infinitate de
soluii, deci putem organiza procesul de producie pentru realizarea
produsului P ntr-o infinitate de moduri dar respectnd condiiile
anterioare .
Acest fapt face evident imposibilitatea practic a managerului de
a compara toate variantele de plan posibile deci este necesar
introducerea unui alt criteriu.
Programare liniar
18
Adoptarea unei variante de plan (n fapt fundamentarea deciziei)
se face, preferabil, pe baza unui criteriu economic (cel mai uzual
maximizarea profitului sau n alte cazuri minimizarea costurilor).
Aplicarea acestui criteriu economic, presupune cunoaterea profitului
total.
Deci :
j j
n
j
x c

=1
reprezint profitul total pentru produsele P
j

Funcia obiectiv (scop, eficien) va fi :

max
j
n
j
j
x c f

=
=
1
(2.22)

Deci, modelul de programare liniar ce urmeaz a fi rezolvat
pentru determinarea planului optim de producie astfel nct profitul total
realizat s fie maxim este:

>
s
=
=
0 x
b x a
x c f
j
i j ij
n
1 j
j j
max
(2.23)

- Problema de transport
Un produs omogen P este stocat n m depozite D
i
, n cantitile a
i
,
m i , 1 = i este cerut de spre a fi transportat la n centre de consum C
j
,n
cantitile b
j
, n j , 1 = . Se cunosc costurile c
ij
pe unitatea de produs
transportat de la centrul D
i
la centrul C
j
. Se cere determinarea unui plan
de transport astfel nct costul total de transport s fie minim.

Elaborarea modelului matematic al problemei

Notaii : a
i
= cantitatea din produs care se afl n depozitul i;
b
j
= cantitatea cerut de consumatorul j ( 1<j<n);
x
ij
= cantitatea ce urmeaz a fi transportat de la
depozitul i
la consumatorul j ;
c
ij
= costul unitar al transportului din depozit la
consumator.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

19
Cu aceste notaii se pot exprima urmtoarele mrimi ce ne ajut s
stabilim restriciile problemei i funcia obiectiv:
- cantitatea transportat de la depozitele D
i
la toate cele n centre de
consum este cantitatea sa disponibil:

i
n
j
ij
a x =

=1
, m i , 1 = (2.24)

- cantitatea transportat de la toate cele m depozite la consumatorul C
j

reprezint necesarul acestuia, b
j
, n j , 1 = .

=
=
m
i
j ij
b x
1
n j , 1 = (2.25)

- pentru scrierea modelului se pleac de la forma echilibrat a
problemei de transport i anume cantitatea total expediat de la cele
m depozite este egal cu cantitatea sa disponibil:



= =
=
n
j
j
m
i
i
b a
1 1
(2.26)

- variabilele satisfac evident condiia de nenegativitate :

x
ij
>0 (2.27)

- funcia obiectiv este urmtoarea :

ij
m
i
n
j
ij
x c

= = 1 1
min (2.28)

Se obine un program liniar, ce se va supune metodelor programrii
liniare i poart denumirea de program de transport :
Programare liniar
20

= = >
= =
= =
=


=
=
= =
n j m i x
n j b x
m i a x
x c f
ij
n
j
i ij
n
j
i ij
m
i
n
j
ij ij
, 1 , , 1 , 0
, 1 ,
, 1 ,
) min(
1
1
1 1
(2.29)
- Problem de repartizare a sarcinilor de producie
ntr-un atelier de montaj echipele n j E
j
, 1 , = , pot monta cu
randamente diferite, produsele m 1 i P
i
, , = . Activitatea atelierului este
caracterizat de urmtoarele date cunoscute:
ij
a - timpul necesar pentru
montajul unei cantiti de produs P
i
de ctre echipa ;
j
E
ij
c - cheltuielile
necesare pentru montajul unei uniti de produs P
i
de ctre echipa ;
j
E
i
b
- cantitatea planificat din produsul P
i
, m i , 1 = ;
j
t - timpul de lucru
disponibil al echipei n j E
j
, 1 , = .
S se stabileasc o repartizare a produselor, echipelor, din
atelierul de montaj astfel nct cheltuielile totale necesare s fie minime.

Elaborarea modelului matematic al problemei:
Variabilele de decizie (necunoscutele) se noteaz cu
ij
x i
reprezint cantitatea din produsul P
i
ce trebuie realizat de echipa E
j
.
Funcia obiectiv este o funcie de cost, respectiv, cheltuielile celor
n echipe, necesare pentru montajul cantitilor repartizate din cele m
produse; funcia trebuie minimizat:

=
= =
m
1 i
n
1 j
ij ij
x c f min (2.30)

Cantitatea de produse de fiecare tip planificat trebuie realizat:

m i b x
i
n
j
ij
, 1 ,
1
= =

=
(2.31)

Oricare echip poate executa produse n limita fondului de timp
disponibil:
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

21

=
= s
m
i
j ij ij
n j t x a
1
, 1 , (2.32)

Variabilele
ij
x se supun condiiei de nenegativitate:

n j m i x
ij
, 1 , , 1 , 0 = = > (2.33)

Deci, modelul matematic al problemei este:

= = >
= s
= =
=
=
=
= =
n 1 j m 1 i 0 x
n 1 j t x a
m 1 i b x
x c f
ij
m
1 i
j ij ij
i
n
1 j
ij
m
1 i
n
1 j
ij ij
, , , ,
, ,
, ,
min
(2.34)

- Problem de utilizare a capacitii utilajelor
O firm produce n tipuri de produse care pot fi fabricate pe m
utilaje care au capaciti de producie limitate pe o anumit perioad. Se
cunosc: procentul
ij
a din capacitatea utilajului i necesar pentru
producerea unei uniti din produsul j; profitul unitar c
j
al produsului
n j , 1 = .
S se stabileasc un program de fabricaie care s permit
utilizarea optim a capacitii disponibile a celor m utilaje.

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

=
=
n
1 j
j j
x c f max (2.35)

Programare liniar
22
Restriciile de capacitate ale celor m utilaje se exprim sub forma:

=
= s
m
j
ij ij
m i x a
1
, 1 , 1 (2.36)

Variabilele x
j
se supun condiiei de nenegativitate:

n j x
j
, 1 , 0 = > (2.37)

Atunci, modelul matematic al problemei este:

= >
= s
=
=
=
n 1 j 0 x
m 1 i 1 x a
x c f
j
m
1 j
ij ij
n
1 j
j j
, ,
, ,
max
(2.38)

2.2. Consideraii generale privind problemele de
programarea liniar

2.2.1. Soluii i fundamente ale problemei de programare liniar

Fie problema de programare liniar dat n form
standard matricial:

>
=
0 x
b Ax
x c
T
min(max)
, unde

e
e
e
m
n m
n
R b
M A
R x C
,
,
(2.39)

Sistemul de ecuaii Ax=b are o infinitate de soluii, deci trebuie s
se gseasc n mulimea soluiilor o soluie ce realizeaz valoarea optim
(minim sau maxim ) a funciei obiectiv.

- Soluie admisibil
Un vector x = ( )
n
n
R x x x e ...
2 1
care satisface restriciile si
condiia de nenegativitate se numete soluie admisibil sau posibil a
problemei de programare liniar.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

23
Mulimea soluiilor admisibile, S, este:

} { 0 x b Ax R x S
n
> = e = , / (2.40)

Sistemul de ecuaii, avnd m ecuaii i n necunoscute, cu m<n i
rang A=m are m necunoscute principale i n-m necunoscute secundare.
O soluie de baz se obine prin anularea celor n-m necunoscute
secundare, deci are cel mult m componente nenule.

- Soluie admisibil de baz
Se numete soluie admisibil de baz pentru sistemul Ax=b,
vectorul

x , ce satisface condiiile :
a) x soluie a sistemului : Ax=b ;
b) coloanele din A, corespunztoare componentelor lui x
nenule, formeaz o mulime liniar independent.
n cazul cnd o soluie de baz are mai puin de m componente
diferite de zero, atunci ea se numete soluie degenerat, n caz contrar
ea fiind nedegenerat.

- Soluie optimal
O soluie admisibil care face optim funcia z=min(max)c
T
x se
numete soluie optimal.
Este posibil ca problema de programare liniara s aib soluie
optim unic, s aib mai multe soluii optime sau s nu admit soluie
optim.

- Soluie grafic
Acest tip de soluie va fi studiat detaliat n paragraful 2.2.3.

Teoremele i definiiile care urmeaz, specific unele
proprieti ale soluiilor ce justific clasificarea realizat anterior.

Teorema 2.1 (Teorema fundamental a programrii liniare):
Dac problema de programare liniar n form standard admite
un program (soluie admisibil), atunci ea are cel puin un program de
baz. Dac problema are un program optim, atunci are un program
optim de baz.

Demonstraie:

Programare liniar
24
Fie xeS un program al urmtoarei problemei de programare
liniar:

>
=
0 x
b Ax
x c
T
min
. (2.41)

Notm cu p numrul componentelor nenule ale vectorului x.
Fr a restrnge generalitatea problemei putem presupune c cele
p componente nenule sunt chiar primele componente din cele n ale
vectorului x adic:
x = ( x
1
, x
2
, x
3
, x
p
, 0, 0 ,0)
T
(2.42)

- Dac p = 0, atunci x = 0 deci afirmaia teoremei este evident.
- Dac p > 0, atunci exist dou posibiliti:
- dac vectorii a
1
, a
2
, ..a
p
e A corespunztori celor p
componente nenule ale lui x sunt liniari independeni, atunci x este
program de baz.
- dac vectorii a
1
, a
2
, ..a
p
e A corespunztori celor p
componente nenule ale
lui x sunt liniari dependeni atunci exist numerele reale: y
1,
y
2
,.. y
p
nu
toate nule astfel nct s fie satisfcut relaia:

a
1
y
1
+ a
2
y
2
+..+a
p
y
p
= 0 (2.43)

Relaia (2.43) se poate scrie sub urmtoarea form echivalent :
Ay = 0 cu y =0.
Notm cu y vectorul cu primele p componente nenule i
urmtoarele componente n-p nule: y = (y
1,
y
2
, y
p,
0, 0 .0 )
T
.
Atunci, obinem: A( x + y ) = Ax + Ay = b, ( ) e R
Deci, x + y este soluia sistemului Ax=b astfel putem determina
valori ale lui pentru care x + y este program pentru problema (2.41),
deci este ndeplinit i condiia: x + y > 0
Notm: I
1
= mulimea indicilor i , 1< i < p , y
i
> 0;
I
2
= mulimea indicilor i , 1< i <p , y
i
< 0.
Fie:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

25

1
=

u =
u =
e
1
1
i
i
I i
I
I
y
x
1
,
), ( max

2
=

u = +
u =
e
2
2
i
i
I i
I
I
y
x
2
,
), ( min
(2.44)

Deci pentru oricare ] , [
2 1
e , avem ndeplinit condiia: x +
y > 0, deci vectorul x + y este program.
Rezult c 0 y c
T
= ,deoarece n caz contrar alegnd pe de semn
contrar valorii lui y c
T
, avem urmtoarele:
x c y c x c y x c
T T T T
< + = + ) ( , ceea ce contrazice faptul c x este
program optim. Prin urmare x c y x c
T T
= + ) ( , adic x+ y este program
optim.
Astfel putem alege o valoare
0
pentru care vectorul x +
0
y s
aib cel mult p-1 componente nenule, deci
0
) (
2 1
+ e (
2 1
, nu pot
fi ambele infinit)
n caz particular, =
0
= ) ( min
0
i
i
i
y y
x
<
deci se va obine programul
soluie x +
0
y cu p-1 componente pozitive i astfel vom avea dou
cazuri :
- Dac coloanele corespunztoare componentelor sunt liniar
independente atunci programul anterior este program de baz.
- Dac coloanele corespunztoare componentelor sunt liniar
dependente atunci se reia algoritmul ntr-un numr finit de pai, cel
mult p pn se va ajunge la primul caz i se obine un program optim
de baz pentru problema dat.

Definiia 2.1: Fie V un spaiu liniar peste corpul R i x, y doi
vectori din V. Mulimea vectorilor
| | { } 1 0 y x 1 X V X y x s s + = e = , ) ( / , se numete segment al lui
V (unete vectorul x cu vectorul y ).
Definiia 2.2: O mulime M de vectori din V se numete mulime
convex dac () x, y e M i
() e| 0,1| , atunci | x, y| _ M .
Deci se poate spune c mulimea M din V este convex, dac
odat cu doi vectori x, y e M conine i segmentul determinat de aceti
vectori.

Programare liniar
26
Definiia 2.3: Vectorul X e M se numete vrf sau punct extrem al
mulimii M dac nu exist vectorii x, y e M astfel nct
{ } 1 0 , ) 1 ( s s + = y x X . n caz contrar X se numete punct interior
mulimii M .

Definiia 2.4 : Prin combinaie liniar convex a vectorilor x
1
,x
2

,x
m
e M se nelege o expresie de forma
1
x
1
+
2
x
2
+ +
m
x
m
cu
e| 0,1 | i
1
+
2
+ +
m
= 1
Concluzie: Orice punct interior X al unei mulimi convexe M se
poate exprima ca o combinaie liniar convex de un numr finit de
puncte extreme.

Teorema 2.2: Mulimea soluiilor admisibile ale unei probleme de
programare liniar este o mulime convex .

Demonstraie :
Fie mulimea soluiilor admisibile dat de relaia (2.40).
Fie dou soluii: x
1
, x
2
e S. Atunci pentru e |0,1| avem

x = x
1
+(1- )x
2
>0 (2.45)

nlocuind relaia (2.45) n relaia (2.40) obinem :

Ax= A|x
1
+( 1- )x
2
|=Ax
1
+ (1- ) Ax
2
= b + (1- )b = b+ b
- b = b,

deci mulimea soluiilor problemei de programare liniar este o
mulime convex.

Teorema 2.3: Orice soluie admisibil de baz a unei probleme
de programare liniar este vrf sau punct de extrem al mulimii soluiilor
admisibile.

Demonstraie.
Presupunem c soluia admisibil de baz x are forma
x=(x
1
x
2
x
m
0 0
T
.
Aceasta nseamn c 0 >
i
x (i = 1, m), vectorii p
1
, p
2
, ,p
m
sunt
liniar independeni i x satisface sistemul de restricii, deci

x
1
P
1
+ x
2
P
2
+ + x
m
p
m
+0p
m+1
+ + 0p
n
= p
0
(2.46)

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

27
Trebuie artat c x este vrf al mulimii S a soluiilor admisibile.
Presupunem prin absurd c x nu este vrf, ci punct interior, adic
exist doi vectori S x x e ' ' , ' astfel nct: ( ) ' ' 1 ' x x x + = , ( ) 1 , 0 e
Scris pe componente:

( )
'
1
'
1 1
1 x x x + = , ( )
' '
2
'
2 2
1 x x x + = ,., ( )
' ' '
1
m m m
x x x + = ,..
, ( )
' ' '
1 0
n n
x x + =

ns ( ) 1 , 0 e , deci 0 1 > , iar 0
'
>
i
x ( ) n i , 1 = i 0
' '
>
i
x
( ) n i , 1 = deoarece S x x e ' ' , ' , astfel c, din cele n m relaii se obin:
0 0
' '
1
= =
+ n m
x x ; 0 0
' ' ' '
1
= =
+ n m
x x i deci vectorii ' ' , ' x x au formele:

( )
T
m
x x x x 0 0 '
' '
2
'
1
= , ( )
T
m
x x x x 0 0 ' '
' ' ' '
2
' '
1
=
(2.47)

Exprimm faptul c S x x e ' ' , ' verific restriciile

0 m m 2 2 1 1
p p x p x p x = + + +
' ' '
(2.48)
0 m m 2 2 1 1
p p x p x p x = + + +
' ' ' ' ' '
(2.49)

ns vectorii p
i
,,p
m
sunt liniari independeni. Rezult:

' ' ' ' '
2
'
2
' '
1
'
1
, ,
m m
x x x x x x = = = adic ' ' ' x x = (2.50)

Aceasta nseamn c nu exist vectorii S x x e ' ' , ' astfel ca
( ) ( ) 1 , 0 ' ' 1 ' e + = x x x prin urmare x este vrf sau punct de extrem n
S.

Teorema 2.4: Funcia obiectiv a unei probleme de programare
liniar ia valoare optim ntr-un punct extrem a mulimii convexe M a
tuturor soluiilor admisibile ale problemei de programare liniar.

Demonstraie:
Presupunem c se cere ca funcia obiectiv s fie minimizat.
Notam cu M
~
= { x
i
, i e I } mulimea punctelor extremale ale lui
M i fie x
1
punct extrem pentru care
1
T
x c = } { min
i
T
I i
x c
e
= z
1

Programare liniar
28
Presupunem prin absurd c aceast afirmaie nu este adevrat,
atunci exist x
0
e{ } M M
~
astfel nct :
0
T
x c = z
0
< z
1
, deoarece x
0
nu
este punct extrem atunci :

x
0
=
i
I i
i
x

e
,
I
> 0 ,

eI i
i
= 1 (2.51)

Dar z
0
=
0
T
x c =
i
T
I i
i
x c
'

e
>
1
T
I i
i
x c
e
= c
T
x
1
= z
1,
ceea ce este
o contradicie. Deci x
1
este un program minimal pentru problema de
programare liniar.

Consecin :
Dac funcia obiectiv ia aceeai valoare optim n mai multe
puncte extremale, atunci orice combinaie liniar convex a acestora
este soluie optim a problemei de programare liniar.

2.2.2. Baze ale problemei de programare liniar

Fie problema de programare liniar n forma standard (2.13), n
care matricea A are m linii i n coloane, iar rang A = m < n. Ecuaiile ce
compun sistemul liniar Ax = b sunt liniar independente, iar sistemul are o
infinitate de soluii.
Astfel, n matricea A exist cel puin un grup de m coloane liniar
independente, care formeaz o baz a spaiului R
m
.
Definiiile ce urmeaz reprezint fundamente ce stau la baza
rezolvrii modelelor de programare liniar.

Definiia 2.5 Se numete baz a problemei de programare liniar n
form standard un grup de m coloane liniar independente.
Problema (2.13) are un numr finit de baze i anume
m
n
C .
Fie B o baz format cu m coloane, ale matricei A. Matricea A se
poate scrie partiionat sub forma:

| | S B A , = , cu
( )
| |
I i
i
a B
e
= ,
( )
| |
J j
j
a S
e
= (2.52)

unde prin I i J s-au notat mulimile de indici corespunztori coloanelor
din baza B i, respectiv, a celorlalte coloane:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

29

( )
{ }
{ } I n J
B a n i I
i
/ ,..., 2 , 1
, 1
=
e = =
(2.53)

Partiionarea vectorului x al variabilelor problemei este
urmtoarea:


(

=
S
B
x
x
x , cu | |
I i i
B
x x
e
= , | |
J j
j
S
x x
e
= (2.54)

iar partiionarea vectorul c al coeficienilor funciei obiectiv este:

(

=
S
B
c
c
c , cu | |
I i i
B
c c
e
= , | |
J j
j
S
c c
e
= (2.55)

n raport cu baza B aleas, variabilele ( ) I i x
i
e se vor numi
variabile de baz, iar ( ) J j x
j
e variabile secundare.
Sistemul de ecuaii Ax = b se poate scrie dup partiionare sub
forma:

| | b Sx Bx b
x
x
S B
S B
S
B
= + =
(

, (2.56)

Matricea B fiind o baz a spaiului R
m
este inversabil. Astfel prin
nmulirea relaiei (2.56) la stnga cu B
-1
se obine forma explicit a
sistemului de ecuaii:

S B
Sx B b B x
1 1
= (2.57)

Notm cu:

b B x
B
1
= (2.58)
( )
n j a B y
j B
j
, 1 ,
1
= =

(2.59)

nlocuind relaiile (2.58) i (2.59) n relaia (2.57) obinem:

Programare liniar
30

e
=
J j
B
j
B
j
B
B
x y x x (2.60)

Scris pe componente relaia (2.60) devine:
I i x y x x
J j
B
j
B
ij
B
i
B
i
e =

e
, (2.61)

Definiia 2.6. Soluia de baz corespunztoare bazei B este:

n
B
B
R
x
x e
(
(

=
0
(2.62)

O soluie de baz este o soluie admisibil (program) a unei
probleme de programare liniar dac 0 >
B
x .

Definiia 2.7 Baza B care satisface condiia

0
1
>

b B (2.63)

se numete baz primal admisibil.

innd seama de relaiile (2.54) i (2.55), funcia obiectiv a
problemei de programare liniar, x c z
T
= , poate fi exprimat prin:

| | ( )
S T
S
S 1 1 T
B
S T
S
B T
B
S
B
S B
x c Sx B b B c x c x c
x
x
c c z + = + =
(

=

'

( )
S T
S
1 T
B
1 T
B
x c S B c b B c z
' '
=

(2.64)

Notm cu:

B
T
B
B
x c z = (2.65)
n 1 j y c z
B
j
T
B
B
j
, , = = (2.66)

nlocuind relaiile (2.65) i (2.66) n relaia (2.64) obinem:

( )

e
=
J j
B
j j
B
i
B
x c z z z (2.67)
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

31

Definiia 2.7. Constanta
B
z din relaia (2.67) reprezint valoarea
funciei obiectiv n soluia asociat bazei B.

Diferentele
j
B
j
c z ( ) J j e se mai numesc costuri reduse i au
rolul esenial n caracterizarea optimalitii unei soluii admisibile de
baz a unei probleme de programare liniar.


2.2.3. Interpretarea geometric a problemei de programare liniar

O interpretare geometric a unei probleme de programare liniara
se poate obine simplu n cazul cnd problema are dou variabile (spaiu
R
2
) i se prezint sub forma canonic.
Fie modelul de programare liniar (2.11) exprimat n funcie de
dou variabile de decizie x
1
i x
2
.
1) Restriciile unui astfel de model pot fi exprimate prin
a) egaliti :
1 2 12 1 11
b x a x a = +

b) inegaliti : sau
2 2 22 1 21
2 2 22 1 12
b x a x a
b x a x a
s +
> +
(2.68)

2) Condiii de nenegativitate : 0 , 0
2 1
> > x x (2.69)

3) Funcia obiectiv (2.10) poate fi:

2 2 1 1
x c x c z + = min(max) (2.70)

Realiznd o analiz din punct de vedere grafic putem observ
urmtoarele :
- egalitatea
1 2 12 1 11
b x a x a = + , reprezint o dreapta. Mulimea soluiilor
( )
2 1
x x , aparine acestei drepte (d), iar aceast dreapt (curb de
nivel), mparte planul ( )
2 1
0 x x n dou semiplane.
- inegalitatea
1 2 12 1 11
b x a x a < + , - mulimea soluiilor fiind reprezentat
n acest caz printr-o arie, dreapta mparte planul ( )
2 1
0 x x n doua
semiplane ce au o arie comun i n final un punct comun.
Pentru aflarea soluiei optime, dac ea exist, trebuie aflat mai
nti mulimea soluiilor admisibile S mulime ce satisface sistemul de
restricii i condiiile de nenegativitate.
Programare liniar
32
n reprezentarea grafic acesta va fi o mulime convex,
reprezentat printr-un domeniu, numit admisibil.

Exemplul 2.2 S se rezolve problema de programare liniar:

0 x 0 x
5 x x
2 x 2 x
2 x x 2
x x 2 z
2 1
2 1
2 1
2 1
2 1
> >

s +
s
>
+ =
,
) max(


Pentru determinarea domeniului admisibil se procedeaz n modul
urmtor: se afl domeniul care satisface cele trei restricii i condiiile
0 , 0
2 1
> > x x .
Se figureaz dreptele:

(d
1
) 2x
1
- x
2
= -2, trece prin A
1
(-1,0), B
1
(0,2)
(d
2
) x
1
- 2x
2
= 2, trece prin A
2
(2,0), B
2
(0,-1)
(d
3
) x
1
+ x
2
= 5, trece prin A
3
(5,0), B
3
(0,5)

i apoi se ia, n cadranul nti intersecia domeniilor ce reprezint
soluiile, respectiv, ale celor trei inecuaii, fig. 2.1.
Prin intersecia celor trei semiplane s-a obinut domeniul
admisibil, ce este o mulime convex. Coordonatele oricrui punct din
acest domeniu satisfac toate restriciile i condiiile de nenegativitate ale
problemei. Conform teoremei 2.4, dac funcia obiectiv i atinge
valoarea maxim, atunci z ia valoarea maxim ntr-un vrf ( punct extrem
al mulimii convexe). Acestea sunt vrfurile poligonului, notate cu: O,
A, B, C, D.
Coordonatele acestor puncte se afl uor astfel:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

33
0
d2
x1
D(0,2)
x2
d1
A(2,0)
B(4,1)
C(1,4)
d3
(
D
)

Fig.2.1

( ) ( )

= +
=
e
5
2 2
2 1
2 1
3 2
x x
x x
d d B ( ) 1 , 4 B
( ) ( )

= +
=
e
5
2 2 2
2 1
2 1
3 1
x x
x x
d d C ( ) 4 , 1 C

Aflarea soluiei optime se bazeaz pe faptul c funcia obiectiv,
avnd dou variabile se poate reprezenta printr-o dreapt (D).

(D): c
1
x
1
+ c
2
x
2
= z

Adus la forma y = mx + n unde m este panta, iar n ordonata la
origine, rezult:

(D):
1
1
2
1
2
c
z
x
c
c
x + =

care reprezint o mulime de drepte paralele ntre ele, avnd panta
constant
2
1
c
c
m = i ordonata la origine variabil,
1
c
z
n = .
n problemele de maxim vom alege poziia care are ordonata la
origine astfel ca ea s furnizeze valoarea maxim pentru z.
Analog pentru problemele de minim.

Pentru exemplul de mai sus rezult:
(D) : x
2
= -2x
1
+ z ; se alege acea dreapt ce trece prin unul din
vrfuri, ce are m = -2 i ordonata n = z = max
Programare liniar
34
Ea este figurat punctat n figura 2.1. Ordonata la origine maxim
corespunde punctului B deci:

x
1
= 4 i x
2
= 1 z = 2*4 +1*1 = 9 = max

Deoarece panta dreptei (D) este m = -2 = tg o, rezult c unghiul o
= 116,56
0
.


Exemplul 2.3.
Pentru fabricarea a dou produse P
1
i P
2
, o firm dispune de patru
tipuri de resurse R
i
( ) 4 , 1 . Cantitile de resurse R
i
folosite pentru
fabricarea fiecrei uniti din produsele P
1
i P
2
, n uniti convenionale
(tone etc) sunt date n tabelul 2.1.
Se mai cunosc cantitile disponibile ale firmei din fiecare resurs
R
i
( ) 4 , 1 = i i beneficiile pentru fiecare unitate din cele dou produse.
S se determine planul de producie astfel ca beneficiul total s fie
maxim.

Tabelul 2.1







Introducnd variabilele de decizie: x
1
= numrul de uniti din
produsul P
1
i

x
2
= numrul de uniti din produsul P
2
, rezult urmtorul
model matematic de P.L.:

s
s
s +
s +
12 4
16 4
8 2
12 2 2
2
1
2 1
2 1
x
x
x x
x x
max , , = + = > >
2 1 2 1
x 3 x 2 z 0 x 0 x

Soluia grafic (2.2) se obine determinnd domeniul admisibil:

Resurse R
1
R
1
Disponibil
R
1
2 2 12
R
2
1 2 8
R
3
4 0 16
R
4
0 4 12
Beneficiu 2 um 3 um
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

35
( )
( )
( )
( )

=
=
= +
= +
12 x 4 d
16 x 4 d
8 x 2 x d
12 x 2 x 2 d
2 4
1 3
2 1 2
2 1 1

(D) 2x
1
+ 3x
2
= z

Se observ c dreptele ( )
1
d , ( )
2
d i ( )
3
d sunt concurente
n punctul B(4,2), iar ( ) ( )
3 2
d d C e are coordonatele C(2,3).

0
d2
x1
D(0,3)
x2
d1
A(4,0)
B(4,2)
C(2,3)
(
D
)
d3
d4

Fig.2.2

Soluia optim a problemei este:

x
1
= 4; x
2
= 2 f(x) = 14 = max

Verificm soluia n restriciile problemei.

Rezult c resursele R
1
, R
2
i R
3
sunt resurse rare, utilizate n
ntregime n timp ce resursa R
4
nu a fost n ntregime utilizat.
Cantitatea din resursa R
4
, ce rmne disponibil poate fi
determinat i ulterior folosit cunoscnd preul umbr (dual).
Aceast analiz urmeaz a fi detaliat n subcapitolul 2.4.

2.3. Metoda Simplex

Metoda Simplex sau metoda mbuntirilor succesive evit
cercetarea exhaustiv a tuturor soluiilor de baz ale unei probleme de
programare liniar, construind succesiv soluii realizabile de baz din ce
Programare liniar
36
n ce mai bune ale modelului pn cnd este obinut o soluie de baz
optim. Prin soluie mai bun nelegnd soluia ce d funciei de
eficien (obiectiv) o valoare mai mic, respectiv mai mare dect cele
precedente dup cum funcia de eficien este de minim sau de maxim.
Deci acest algoritm este o metod de examinare sistematic a
programelor de baz ce d funciei de eficien o valoare optim.
Aceast metod pune n eviden cazul n care problema admite
un optim infinit sau mulimea programelor este vid.

2.3.1. Fundamente teoretice n aplicarea metodei Simplex

Prezentarea metodei simplex se realizeaz pe un model de
programare liniar dat n form standard i n care funcia obiectiv este o
funcie de minimizare.

>
=
0 x
b Ax
x c
T
min
, unde

e
e
e
m
n m
n
R b
M A
R x C
,
,
(2.71)

Fie B o baz primal admisibil extras din matricea A i
b B
B
x
1
= o soluie de baz iniial a problemei de programare liniar.
Pentru ordonarea i facilitarea calculelor se utilizeaz n aplicarea
practic a algoritmului tabele ce poart denumirea de tabele simplex.
Aceste tabele sunt tabele simple ce au m+1 linii i n+1 coloane i
cuprind coeficienii numerici al problemei (2.71) corespunztori bazei
primal admisibile B (tab 2.2).
Tabelul conine n prima coloan, variabilele de baz (V.B.), n
coloana a doua valoarea variabilelor de baz (V.V.B), iar n urmtoarele
n coloane vectorii n 1 j y
B
j
, , = .
Pe ultima linie a tabelului se trece valoarea funciei obiectiv
pentru baza B notat cu
B
z i diferenele n 1 j c z
j
B
j
, , = .
Acestui tabel se ataeaz o linie deasupra variabilelor
j
x i o
coloan la stnga coloanei V.B cu coeficienii corespunztori funciei
obiectiv n 1 j c
j
, , = .




Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

37
Tabelul 2.2


Tabelul simplex se ataeaz fiecrei baze B din algoritm i are ca
fundamente rezultatele teoretice ce sunt prezentate n continuare.

Teorema 2.5 Criteriu de optimalitate
Fie B o baz primal admisibil pentru probleme de programare
liniar (2.71). Dac 0 s
j
c z
B
j
, oricare ar fi j J e , atunci programul de
baz asociat bazei B, b B
B
x
1
= este o soluie optim a problemei de
programare liniar considerat.

Teorema 2.6 Criteriu de infinitudine a soluiilor
Fie B o baz primal admisibil pentru probleme de programare
liniar (2.71). Dac exist indicele k J e astfel nct 0 >
k
c z
B
k
i
0 s
B
ik
y , oricare ar fi I i e atunci problema are un optim infinit.

Teorema 2.7 Criteriu de mbuntire a soluiilor
Fie B o baz primal admisibil pentru probleme de programare
liniar 2.71. Fie k J e astfel nct 0 >
k
c z
B
k
(2.72) i
{ } u = > e =
+
0 /
B
ik
y I i I . Pentru indicele
+
eI i determinat cu relaia:

Programare liniar
38

B
lk
B
l
B
ik
B
y
x
y
i
x
I i
=
+
e
min (2.73)

se obine un nou program de baz
B
x
~
cel puin la fel de bun ca
B
x ,
corespunztor unei noi baze B
~
care are aceleai coloane ca i B, cu
excepia coloanei
) (l
a ce se nlocuiete cu coloana
) (k
a .

Observaii:
Baza B
~
este primal admisibil i verific toate teoremele
anterioare.
Relaia (2.73) reprezint criteriul de ieire din baz i ne arat
indicele
+
eI l , al coloanei
) (l
a ce urmeaz s prseasc baza B.
n cazul n care exist mai muli indici k J e pentru care se
ndeplinesc (2.72) i (2.73) atunci se pot construi mai multe baze
primal admisibile i fiecare dintre acestea modific valoarea funciei
obiectiv.
Pentru a obine mai repede optimul cutat este indicat a alege acel
indice pentru care se verific relaia.

) ( ) ) ((
max
k
c z
y
x
y
x
j
c
B
j
z
B
k
B
lk
B
l
B
lk
B
l
J j
=
e
(2.74)

n practic utilizndu-se pentru evitarea calculelor urmtorul
criteriu:

k
c
B
k
z
j
c
B
j
z
J j
=
e
) (
max
(2.75)

Relaia 2.75 reprezint criteriul de intrare n baz i ne arat
indicele
J k e al coloanei
) (k
a ce urmeaz s intre n baza B.
Elementul
lk
y din tabelul simplex poart denumirea de pivot.
Pentru calculul elementelor tabelului simplex asociat bazei B
~
n
raport cu elementele tabelului simplex asociat bazei B se utilizeaz
formulele de schimbare a bazei n cadrul unei operaii numit pivotare
gaussin.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

39
n practic formulele de schimbare a bazei se echivaleaz cu
urmtoarele reguli de transformare a tabelelor simplex :
Elementele situate pe linia pivotului se mpart la valoarea
pivotului ;
Elementele situate pe coloana pivotului devin zero cu excepia
pivotului ce va avea valoarea unu ;
Celelalte elemente ale tabelului simplex se transform dup
regula
dreptunghiului. Se consider dreptunghiul imaginar a crui diagonal
este determinat de elementul
B
ij
y i pivotul
B
ij
y (fig. 2.3) ; noua valoare
B
ij
y
~
se obine mprind la pivot diferena dintre produsul
B
lk
B
ij
y y i
B
ik
B
lj
y y
dup formula :

B
lk
B
ik
B
lj
B
lk
B
ij
B
ij
y
y y y y
y

=
~
(2.76)

B
ij
y
B
ij
y
B
ik
y
B
ik
y
elementul de
transformat
pivotul

Fig.2.3

2.3.2. Algoritmul simplex primal.

Rezultatele teoretice obinute anterior permit enunarea
algoritmului simplex. Acest algoritm pentru rezolvarea problemelor de
programare liniar date n form standard (2.13) este diferit n raport cu
tipul funciei obiectiv, respectiv, probleme de minimizare sau
maximizare.
Algoritmul simplex primal pentru probleme de minimizare

- Pasul 1 : Se determin o baza B primal admisibil.
- Pasul 2 : Se determin urmtoarele elemente :
B
j
y
j
c
B
j
z
B
z
B
x , , ,
- Pasul 3 : Se analizeaz toate diferenele
j
c z
B
j
:
Programare liniar
40
Dac toate diferenele
j
c z
B
j
0 s , n j , 1 = atunci programul
B
x este optim.
Dac exist cel puin un indice j
+
eJ , { } 0 / > e =
+ j
B
j
c z J j J
astfel nct
j
c z
B
j
> 0 se trece la pasul 4.
Pasul 4 Se determin indicele k
+
eJ cu criteriul de intrare n
baz
=
k
c z
B
k
) ( max
j
c z
B
j
J j

+
e

Dac 0 s
B
k
y atunci problema are un optim infinit.
Dac
+
e - J k ) ( pentru care 0 >
B
k
y se trece la pasul 5.
Pasul 5: Se determin indicele l I e cu criteriul de ieire din baz:
B
lk
B
l
B
ij
B
i
B
ik
y
I i y
x
y
x
=
|
|
.
|

\
|
>
e
min
0

- Pasul 6 : Se nlocuiete n baza iniial B vectorul
) (l
a cu vectorul
) (k
a , obinndu-se astfel o nou baz B
~
, iar pivotul corespunztor
este
lk
y .
Mrimile tabelului simplex corespunztor noii baze B
~
, se vor
determina cu ajutorul unei reguli denumit regula dreptunghiului
(pivotare n jurul elementului
lk
y ), dup care se trece la Pasul 2.

Algoritmul simplex primal pentru probleme de maximizare

Acest algoritm are paii 1,2,5,6 identici cu algoritmul pentru
probleme de minimizare.
- Pasul 3 : Se analizeaz toate diferenele
j
c z
B
j
:
Dac toate diferenele
j
c z
B
j
0 > , n j , 1 = atunci programul
B
x este optim.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

41
Dac exist cel puin un indice j

eJ , { } 0 / < e =
j
B
j
c z J j J
astfel nct
j
c z
B
j
< 0 se trece la pasul 4.
Pasul 4 Se determin indicele k
+
eJ cu criteriul de intrare n
baz
=
k
c z
B
k
) ( min
j
c z
B
j
J j

e

Dac 0 s
B
k
y atunci problema are un optim infinit.
Dac
+
e - J k ) ( pentru care 0 >
B
k
y se trece la Pasul 5.
Algoritmul simplex poate fi exprimat sintetic sub urmtoarea schem
logic ( fig.2.4).
START
Construieste
tabel simplex
initial
Exista
valori pozitive (negative) pe
linia diferentelor?
Indica
solutia optima STOP
Nu
Da
Determina
coloana pivotului
Exista
valori pozitive in coloana
pivotului?
Nu
Indica
solutia optima STOP
Da
Determina
linia pivotului
Calculeaza un nou
tabel simplex

Fig.2.4


Exemplul 2.4 . S se rezolve urmtoarea problem de programare liniar:

Programare liniar
42
( )

+
>
s +
s
s
. 2 max
0 ,
, 6 2
, 18 3
, 4
2 1
2 1
2 1
2 1
2 1
x x
x x
x x
x x
x x


Pentru a aplica algoritmul simplex, vom aduce mai nti problema la
forma standard. n acest scop introducem variabilele ecart x
3
, x
4
i x
5
:

( )

+
s
= + +
= +
= +
. 2 max
0 ,..., ,
, 6 2
, 18 3
, 4
2 1
6 2 1
5 2 1
4 2 1
3 2 1
x x
x x x
x x x
x x x
x x x

Iteraia 1
Pasul 1 Fie B o baz admisibil a problemei format din coloanele
matricii A i anume a
3
, a
4
i a
5
:
( )
|
|
|
.
|

\
|
= =
1 0 0
0 1 0
0 0 1
a a a B
5 4 3
, ,
Pasul 2 Baza B este matricea unitate, astfel vom calcula urmtoarele
elemente:
I B B = =
1
i | | 6 18 4
1
= = =

b b B x
B
;
1
= B y
B
j j j
a a = , elementele matricii A.
( ) ) 0 0 0 1 2 ( 0 0 0
1 '
= = = =

j j j j j
B
j
B
j
c c a c a B c c z
. 0
1
= =

b B c z
B
B


Cunoscnd toate aceste date, putem forma tabelul simplex iniial (
tab.2.3).
Pasul 3. Deoarece exist j

eJ , { } 0 / < e =
j
B
j
c z J j J astfel nct
0 <
j
B
j
c z , baza iniial nu este optim.
Pasul 4 Se determin indicele k
+
eJ cu criteriul de intrare n baz
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

43
=
k
c z
B
k
) ( min
j
c z
B
j
J j

e
=min ( 1 , 2 )=-2. Deci indicele k = 1, astfel
variabila x
1
va intra n noua baz B
~
i
+
e - J k ) ( pentru care 0 >
B
k
y .
Pasul 5: Se determina indicele l I e cu criteriul de ieire din baz
B
lk
B
l
B
ij
B
i
B
ik
y
I i y
x
y
x
=
|
|
.
|

\
|
>
e
min
0
=
1
4
3
18
,
1
4
min =
)
`

,
deci indicele l = 3. Variabila x
3
va prsi baza B. Pivotul este y
31
= 1
Pasul 6: Se nlocuiete n baza iniial B variabila x
3
cu variabila x
1
obinndu-se astfel o noua baza B
~
ceea ce nsemn c se vor transforma
toate mrimile urmtorului tabel simplex cu regula dreptunghiului.

Interaia 2 Se realizeaz un pivotaj n jurul elementului y
42
(tab.2.3).

Interaia 3. Se realizeaz un pivotaj n jurul elementului y
53
(tab.2.3).

Interaia 4 Deoarece 0 >
j j
c z pentru toi j, baza actual este optim.
Deci programul optim al problemei noastre este
5
42
1
= x ,
5
36
2
= x ,
5
14
3
= x , 0
4
= x , 0
5
= x (
4
x i
5
x au valoarea 0, deoarece sunt variabile
secundare).

Interpretare geometric.

Pentru problema examinat mai sus se poate da o interpretare
geometric simpl n spaiu R
2
.
n planul x
1
Ox
2
, mulimea punctelor (x
1
, x
2
) care satisfac restricia
4
2 1
s x x constituie unul din semiplanele determinate de dreapta
4 x x d
2 1 1
= : ) ( , i anume semiplanul care conine originea.
Celelalte dou restricii determin analog alte dou semiplane.
Mulimea programelor problemei va fi format din mulimea
punctelor din primul cadran ( ) 0 , 0
2 1
> > x x care se afl la intersecia
celor trei semiplane.
Aceast mulime este poligonul OABCD (fig. 2.5).
Programare liniar
44
Funcia obiectiv este max(2x
1
+x
2
). Ecuaia 2x
1
+x
2
= z reprezint
o familie de drepte paralele ntre ele.
n figura 2.4 sunt reprezentate punctat cteva din aceste drepte.
Pentru z=z
2
, funcia obiectiv ia valori mai mari dect pentru z = z
1
, iar
pentru z = z
3
valori i mai mari.
Tabelul 2.3
2
V.V.B V.B. C
B
x
2
x
3
x
4
x
5
1 0 0 0
x
3
x
4
x
5
0
0
0
x
l
4
18
6
1
3
-1
-1
-1
2
0 -2 -1 0 0 0
1 0 0
0 1 0
0 0 1
C
B
V.B. V.V.B
x
2
x
3
x
4
x
5 x
l
x
2
x
3
x
4
x
5 x
l
x
2
x
3
x
4
x
5 x
l
2 1 0 0 0
2 1 0 0 0
2 1 0 0 0
2
0
0
x
1
x
4
x
5
x
1
x
2
x
5
x
3
2
1
0
2
1
0
C
B
V.B. V.V.B
C
B
V.B. V.V.B
4
6
10
1
0
0
-1
2
1
1
-3
1
0
0
0
0 1
1
8 0 -3 2
0 0
7
3
7
17
1
0
0
1
0
0
-1/2
-3/2
5/2
1/2
1/2
-1/2
0
0
1
0 0 -5/2 -3/2 0
42/5
36/5
14/5
24
1
0
0
1
0
0
0
0
1
2/5
1/5
-2/5
1/5
3/5
2/5
0 0 0 1 1
x
1
x
2


Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

45

Fig.2.5

ns, dup cum se vede din figur, nu exist nici un program care
s dea funciei obiectiv valoarea z
3
(dreapta

2x
1
+x
2
=z
3
nu intersecteaz
poligonul OABCD domeniul soluiilor).
Cea mai mare valoare pe care o poate lua z pentru punctele din
poligonul OABCD se obine atunci cnd dreapta 2x
1
+x
2
= z trece prin
punctul C. Valoarea lui z n acest caz este 2. 42/5 + 36/5 = 24.
Cnd am aplicat algoritmul simplex, drept baz iniial am luat
baza B = (a
3
, a
4
, a
5
). Variabilele x
1
i x
2
sunt variabile secundare, deci au
valoarea 0; reiese c ne-am gsit n vrful O (0,0) al poligonului OABCD,
iar valoarea funciei obiectiv era z = 0. n continuare, variabila x
1
intr n
baz i am obinut programul x
1
= 4, x
2
= 0.
Geometric aceasta nseamn c din vrful O ne-am deplasat pn
n vrful A (4,0) de-a lungul muchiei OA. n continuare, din vrful A am
ajuns n vrful B, mergnd pe muchia AB (variabila x
3
a pstrat tot
valoarea 0, deci ne gseam pe dreapta d
1
). De aici am ajuns n vrful
optim C, urmnd muchia BC.
Valoarea funciei obiectiv a crescut de la 0 la 8, apoi la 17 (n
vrful B) i, n sfrit, la valoarea maxim 24.
Acest lucru este valabil i n cazul general: fiecrei baze
admisibile a problemei adus la forma standard i corespunde un vrf al
domeniului soluiilor.
Concluzie: Fiecare iteraie simplex reprezint o deplasare de la un
vrf al domeniului soluiilor, pe o muchie, pn la un vrf, care confer
funciei obiectiv o valoare mai bun.

Exemplul 2.5.
O companie produce trei tipuri de produse A, B, C. Fiecare dintre
aceste produse trebuie prelucrate tehnologic aceeai main unealt, timp
Programare liniar
46
de 2 ore, 3 ore respectiv 1 or. Maina unealt este disponibil pentru
perioada analizat, 400 ore.
Pentru produsele A i C se folosesc componente speciale, cte o
bucat pentru fiecare produs, firma avnd un stoc disponibil pe perioada
analizat de 150 de uniti din aceste componente. Tot pentru produsele
A i C se utilizeaz un aliaj special: pentru o unitate din produsul A se
utilizeaz 2 kg de aliaj special, iar pentru o unitate din produsul C, 4 kg.
Stocul disponibil este de 200 kg din acest aliaj special.
Studiul de pia pentru produsul B arat c se pot vinde pe
perioada analizat cel mult 50 de uniti din acest produs.
Beneficiul unitar al produselor A, B i C este respectiv: 8 um
(uniti monetare), 5 um, 10 um.
Compania dorete s stabileasc planul de producie care
maximizeaz beneficiul total pe perioada analizat.

Elaborarea modelului matematic
Notm x
1
= numrul de produse A
x
2
= numrul de produse B
x
3
= numrul de produse C
unde x
1
, x
2
, x
3
pentru modelul analizat reprezint variabilele de decizie.

s
s +
s +
s + +
50
200 4 2
150
400 3 2
2
3 1
3 1
3 2 1
x
x x
x x
x x x

0
1
> x , 0
2
> x , 0
3
> x
) 10 5 8 max(
3 2 1
x x x z + + =
Se observ c problema nu are form standard.
Introducem variabilele de compensare x
4
, x
5
, x
6
, x
7
i nlocuim
max(z)=min(-z), dorind s aplicm algoritmul simplex pentru probleme
de minim.
Calculele efectuate sunt grupate n tabelele simplex reunite n
tabelul 2.4.
Soluia optim este: x = (100, 50, 0, 50, 50, 0, 0), iar funcia
obiectiv este min (f)= -1050, deci max(z) = 1050
Interpretarea soluiei:
Variabilele de decizie au valorile : x
1
= 100, x
2
= 50, x
3
= 0
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

47

= +
= + +
= + +
= + + +
50
200 4 2
150
400 3 2
7 2
6 3 1
5 3 1
4 3 2 1
x x
x x x
x x x
x x x x

0 >
i
x ) 7 , 1 ( = i
) 10 5 8 min(
3 2 1
x x x f =
Matricea coeficienilor tehnico - economici este:
(
(
(
(

=
1 0 0 0 0 1 0
0 1 0 0 4 0 2
0 0 1 0 1 0 1
0 0 0 1 1 3 2
A
Se vor fabrica 100 uniti din produsul A, 50 uniti din produsul
B, zero uniti din produsul C.
Se va obine beneficiul maxim, egal cu 1050 uniti monetare.
Semnificaia variabilelor de compensare rezult din modul cum
au fost introduse. Verificnd restriciile iniiale ale problemei cu soluia
optim x
1
= 100, x
2
= 50, x
3
= 0 i comparnd cu sistemul de restricii n
care s-au introdus variabilele de compensare, rezult:
- orele de lucru pe main nu s-au folosit integral, rmnnd
disponibile x
4
= 50 ore;
- componentele nu s-au folosit integral, rmnnd x
5
= 50
uniti.
- stocul de aliaj dup efectuarea prelucrrilor este nul x
6
= 0
- este satisfcut condiia de vnzare pentru B, x
7
= 0.














Programare liniar
48
Tabelul 2.4
C
B
C
B
C
B
C
B
-8
V.V.B V.B.
x
2
x
3
x
4
x
5
-5 -10 0 0
x
4
x
6
x
5
0
0
0
x
l
400
150
200
2
1
2
3
0
0
0 8 5
10
0 0
1 1 0
1 0 1
4 0 0
V.B. V.V.B
x
2
x
3
x
4
x
5 x
l
x
2
x
3
x
4
x
5
x
l
x
2
x
3
x
4
x
5 x
l
-8 -5 -10 0 0
0
0
0
x
3
x
4
x
5
0
0
-8
V.B. V.V.B
V.B. V.V.B
350
100
50
3/2
1/2
3
0
0
0
0
1
1
0
0
1 0
0
-500 3 5 0 0 0
200
100
50
-750
3/2
1/2
0
0
0
0
0
1
0
0
0
1
0
3 0 0 0 0
-1050
0
0
1
0
0
0
-3
-1
2
1
0
0
0
1
0
0 0 -6 0 0
x
6
x
7
0 0
0 0
0 0
0 0
0 1
0 0
-1/4
1/4
0
0 -1/4
0
5/2 0
-1/4
1/4
1/4
-3
0
0
5/2 -5
-1
-1/2
1/2
-3
0
0
-4 -5
0 x
7
0 1 0 0 0 0 1 50
-5 -10 0 0 0 0 -8
x
6
x
7
x
7
-10
50
1/2
0 1 0 0
0 0 1
x
6
x
7
0
0
-5
-10
x
3
x
4
x
5
x
2
50
1/2
1
0 1
0 0 0 0
1
-5 -10 0 0 0 0 -8
x
6 x
7
x
1
x
4
x
5
x
2
-5
50
50
50
100
0 1
0
0
0 0 1


2.3.3. Metode de determinarea unei soluii de baz iniiale

Algoritmul simplex necesit, pentru pornire, ca problema s fie
dat n forma standard i s aib o soluie admisibil de baz.
Prima dintre condiii se realizeaz folosind transformri utilizate
n programarea liniar.
Pentru cea de-a doua condiie alegerea la ntmplare a unei baze
format din m vectori ai matricei A, conduce la soluii de baz
nerealizabile cu care algoritmul simplex nu poate ncepe.
Gsirea unei baze pur i simplu prin ncercri repetate nu este
indicat, aceast cutare putnd dura foarte mult.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

49
Rezolvarea problemei pleac de la observaia c singura baz
pentru care calculul de mai sus se poate face imediat este matricea
unitate, caz n care soluia de baz corespunztoare este chiar vectorul
termenilor liberi.
Aceasta presupune ca problema s aib toi termenii liberi mai
mari sau egali cu 0 i n matricea A s existe toate coloanele matricei
unitate.
n acest sens plecm de la observaia c existena unui vector din
matricea unitate este echivalent cu existena unei variabile care apare
doar n ecuaia corespunztoare lui 1 din acel vector, cu coeficientul 1.
Acest lucru poate fi obinut n dou moduri:
1) Alegem o nou funcie obiectiv care s-i ating extremul
printre soluiile pozitive chiar pentru y = 0 i n momentul cnd am
obinut soluia respectiv pornim cu aceasta ca soluie iniial
algoritmul simplex pentru fosta problem (Metoda celor dou faze).
2) Adugm la vechea funcie obiectiv noi variabile y cu
coeficieni alei astfel nct aportul variabilelor la valoarea funciei
s fie contrar scopului dorit (infinit pozitiv ntr-o problem de
minim i infinit negativ ntr-o problem de maxim) (Metoda
coeficienilor de penalizare)
Vom detalia n continuare cele dou metode:

Metoda celor dou faze
Fie dat problema de programare liniar la forma standard de
maxim:

>
=

0 x
b x A
x c
T'
max
(2.77)
n care am aranjat deja ca toi termenii liberi s fie pozitivi .

Faza 1
Const n rezolvarea unei probleme de programare liniar auxiliar,
asociat problemei iniiale. Astfel construim problema:

>
= +
+ + + =
+ + +
0 x , x
b x I Ax
x x x x f
a
a
m
a
n m
a
2 m
a
1 m
a
) ... min( ) (
(2.78)

Programare liniar
50
unde x
a
sunt variabilele artificiale ce se introduc n restriciile
problemei att ct sunt necesare n scopul formrii bazei unitare; I
m

matricea unitate de ordin m.
Rezolvm cu algoritmul simplex aceast problem, pornind
rezolvarea de la baza matrice unitate, putem ajunge la dou situaii:

1. minimul funciei f este strict pozitiv, aceasta fiind echivalent cu faptul
c egalitatea Ax + I
m
x
a
= b se poate obine doar pentru I
m
x
a
> 0 sau altfel
spus Ax > b pentru orice x > 0, deci sistemul Ax = b nu are soluii
admisibile i n concluzie problema iniial nu are soluie.
2. minimul funciei f este 0, n acest caz, soluia optim obinut verific
Ax = b, fiind n concluzie o soluie admisibil de baz a primei probleme.

Faza 2
ncepnd de la soluia gsit la Faza 1 se rezolv problema
iniial cu algoritmul simplex. Se ndeprteaz din tabelul simplex toate
elementele corespunztoare variabilelor artificiale (cu excepia celor care
rmn n baz), introducnd coeficienii funciei obiectiv din problema
iniial.
Dezavantajul metodei const n faptul c tabelul simplex final de
la faza 1 trebuie modificat pentru a se obine tabelul simplex iniial de la
faza 2, eliminndu-se coloanele corespunztoare lui y i totodat nu vom
avea n tabelele simplex ale problemei iniiale inversa bazei (se gsea n
dreptul coloanelor matricei unitate din prima faz) necesar n anumite
variante ale algoritmului simplex.

Metoda coeficienilor de penalizare
Fie problema de programare liniar la forma standard de
minimizare:

>
=
0 x
b x A
x c
T
min
(2.79)

n care toi termenii liberi sunt pozitivi i matricea A nu conine nici un
vector coloan unitar.
Construim problema:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

51

>
= +
=
0 y x,
b y x A
My) x c f
T
max(
(2.80)

n care M este o constant presupus foarte mare (mai mare dect
orice constant care ar putea apare n rezolvarea problemei).
Rezolvm problema cu algoritmul simplex pornind rezolvarea de
la baza matrice unitate, putnd ajunge la trei situaii:
1) problema are optim infinit, n acest caz, problema iniial
are optim infinit ( nu prezint interes din punct de vedere tehnico-
economic).
2) problema are optim finit i n soluia de baz avem cel puin
o variabil din vectorul y. n acest caz problema iniial nu are
soluii admisibile.
3) problema are optim finit i n soluia de baz nu avem nici o
variabil din vectorul y. n acest caz problema iniial are optim
finit, soluia optim i maximul funciei fiind aceleai cu cele ale
problemei modificate.
Se remarc faptul c variabilele y nu au aceeai semnificaie
economic ca celelalte variabile, ele fiind introduse doar ca un artificiu
de calcul pentru a putea porni algoritmul simplex.

Observaii :
- Dac matricea restriciilor conine vectori unitari, atunci
numrul variabilelor artificiale introduse este egal cu m, numrul
vectorilor unitari, indiferent de tipul funciei obiectiv.
- Dac la aplicarea algoritmului simplex, o variabil artificial
iese din baz ea nu va mai intra niciodat, ceea ce arat
eliminarea din calculele ulterioare.

Exemplu 2.6
Un atelier de prelucrri mecanice fabric dou produse P
1
i P
2
.
Din structura de dezagregarea produselor se deduce c pentru
realizarea produsului P
1
sunt necesare 3 componente de tip A i un
component de tip B, iar pentru realizarea produsului P
2
sunt necesare 1
component de tip A i 4 componente de tip B.
Atelierul dispune n stoc de 10 componente de tip A.
Contractele cu furnizorii pentru componentele de tip B, arat c se
poate realiza aprovizionarea cu acesta n cantitate de cel puin dou
componente B.
Programare liniar
52
Beneficiul unitar pentru produsele P
1
i P
2
sunt de 2 um, respectiv
de 3um.
Se dorete s se stabileasc planul de producie care s
maximizeze beneficiul total.

Modelul matematic este urmtorul:

>
> +
s +
+ =
0 x x
2 x 4 x
10 x x 3
x 3 x 2 f
2 1
2 1
2 1
2 1
,
) max(

unde
2 1
x x , , reprezint numrul de produse de tip P
1
respectiv P
2
.
Forma standard a problemei va fi:
( )

>
= +
= + +
+ =
0 x x x x
2 x x 4 x
10 x x x 3
x 3 x 2 f max
4 3 2 1
4 2 1
3 2 1
2 1
, , ,

n matricea A vom introduce variabila x
5
cu coeficientul 1 n a
doua ecuaie i mpreun cu coeficienii variabilei x
3
n final vom avea de
rezolvat problema prin cele dou metode:
Metoda celor dou faze Metoda coeficienilor de
penalizare

>
= + +
= + +
0 x x x x x
2 x x x 4 x
10 x x x 3
x
5 4 3 2 1
5 4 2 1
3 2 1
5
, , , ,
) min(

>
= + +
= + +
+
0 x x x x x
2 x x x 4 x
10 x x x 3
Mx x 3 x 2
5 4 3 2 1
5 4 2 1
3 2 1
5 2 1
, , , ,
) max(


Aplicnd Metoda celor dou faze vom obine succesiv tabele:

0 0 0 0 1
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5

0 x
3
10 3 1 1 0 0
1 x
5
2 1 4 0 -1 1
2 1 4 0 -1 0
0 0 0 0 1
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5

0 x
3
19/2 11/4 0 1 1/4 -1/4
0 x
2
1/2 1/4 1 0 -1/4 1/4
0 0 0 0 0 -1
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

53
Am obinut optimul egal cu 0 n soluia de baz (x
3
,x
2
) care va fi
soluia iniial pentru algoritmul simplex aplicat problemei iniiale n a
doua faz.
Eliminm din tabel coloana lui x
5
, nlocuim valorile coeficienilor
funciei obiectiv i deci i valoarea acesteia, valorile
j
B
j
c z i rezolvm
problema n continuare, plecnd de la baza primal admisibil
determinat, cu algoritmul simplex primal, obinnd tabelele de mai jos:

2 3 0 0
c
B
x
B
x
B
x
1
x
2
x
3
x
4

0 x
3
19/2 11/4 0 1 1/4
3 x
2
1/2 1/4 1 0 -1/4
3/2 -5/4 0 0 -3/4
2 3 0 0
c
B
x
B
x
B
x
1
x
2
x
3
x
4

0 x
3
4 0 -11 1 3
2 x
1
2 1 4 0 -1
4 0 5 0 -2
2 3 0 0
c
B
x
B
x
B
x
1
x
2
x
3
x
4

0 x
4
4/3 0 -11/3 1/3 1
2 x
1
10/3 1 1/3 1/3 0
20/3 0 -7/3 2/3 0
2 3 0 0
c
B
x
B
x
B
x
1
x
2
x
3
x
4

0 x
4
38 11 0 4 1
3 x
2
10 3 1 1 0
30 7 0 3 0

Soluia optim a primei probleme este deci x
1
= 0 i x
2
= 10 care d
un maxim al funciei egal cu 30.
Aplicnd Metoda coeficienilor de penalizare vom obine succesiv
urmtoarele tabele:

2 3 0 0 -M
c
B
x
B
x
B
x
1
x
2
x
3
X
4
x
5

0 x
3
10 3 1 1 0 0
-M x
5
2 1 4 0 -1 1
-2M -M -4M 0 M -M
-M-2 -4M-3 0 M 0
2 3 0 0 -M
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5

0 x
3
19/2 11/4 0 1 -1/4
3 x
2
1/2 1/4 1 0 -1/4 1/4
3/2 -5/4 0 0 -3/4 M+3/4
Programare liniar
54
2 3 0 0 -M
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5

0 x
3
4 0 -11 1 3 -3
2 x
1
2 1 4 0 -1 1
4 0 5 0 -2 2+M
2 3 0 0 -M
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5
0 x
4
4/3 0 -11/3 1/3 1 -1
2 x
1
10/3 10/3 1 1/3 0 0
20/3 0 -7/3 2/3 0 M
2 3 0 0 -M
c
B
x
B
x
B
x
1
x
2
x
3
x
4
x
5
0 x
4
38 11 0 4 1 -1
3 x
2
10 3 1 1 0 0
30 7 0 3 0 M

2.3.4. Interpretarea a algoritmului simplex primal

Se consider problema de optimizare a activitii unei firme
productoare. Aceasta realizeaz n produse , cu un profit unitar c
j
,
n , j 1 = . Firma utilizeaz mai multe resurse prime R
i
, m , i 1 = ,
disponibile n cantitile limitate b
i
. Consumurile specifice de resurse
pentru fiecare produs sunt a
ij
, m , i 1 = , n , j 1 = .
Obiectivul firmei este obinerea unui profit total maxim, cu
restriciile ce provin din consumul integral al resurselor disponibile .
Modelul de optimizare a activitii firmei este reprezentat de
problema de programare liniar n forma standard :

>
=
=
0 x
b Ax
x c z
T
(max)
(2.81)

n care x
j
, n j , 1 = , este cantitatea din produsul j ce urmeaz a fi
fabricat.
Consumarea (utilizarea) integral a resurselor nu este strict,
deoarece n lista operaiilor productive se poate include un numr de
operaii fictive (corespunztoare variabilelor ecart) ale cror valori s
reprezinte cantitatea din resurse neconsumat.
n soluia de baz a algoritmului simplex numrul componentelor
nenule nu depete numrul restriciilor.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

55
De aceea, n orice soluie optim a problemei, numrul produselor
ce urmeaz a fi fabricate nu depete numrul resurselor folosite .
Coloanele a
(j)
din baza B ce corespund operaiilor j le vom numi
operaii de baz, celelalte fiind operaii secundare.
Programul optim prevede obinerea, numai prin operaiile de
baz, a produselor, astfel nct s fie consumate integral resursele
disponibile.
O posibilitate de a obine un program mai bun const n
identificarea unor operaii secundare care s nlocuiasc o parte din
operaiile de baz curente. Pentru acesta este necesar un criteriu de
comparare a operaiilor secundare cu cele de baz .
n ipoteza c baza B=[a
(1)
, a
(2)
, ..,a
(m)
], din relaia (2.59)

y
B
j
=B
-1
a
(j)
, n j , 1 = (2.82)

deducem :

A
(j)
= By
B
j
, n j , 1 = (2.83)

care se poate scrie

) ( ) ( ) ( ) (
...
m B
mj
2 B
j 2
1 B
j 1
j
A y A y A y A + + + = (2.84)

Relaia de mai sus are urmtoarea semnificaie din punct de
vedere tehnico-economic, fabricarea unei uniti de produs j este
echivalent cu fabricarea cantitilor
B
mj
B
j 2
B
j 1
y y y ,..., ,
,
din produsele
operaiilor de baz. Ca urmare, pentru fabricarea unei uniti din produsul
j este necesar a diminua producia operaiilor de baz cu cantitile
B
mj
B
j 2
B
j 1
y y y ,..., , .
Aportul produsului j la creterea profitului firmei poate fi
comparat cu aportul valoric al cantitilor
B
mj
B
j 2
B
j 1
y y y ,..., ,
,
.
n consecin, dac:

0 c y c y c y c c z
j
B
mj m
B
j 2 2
B
j 1 1 j
B
j
> + + + = ... (2.85)

fabricarea produsului j nu este rentabil ntruct nu conduce la o
majorarea valorii (profitului) produciei curente.
Dac pentru toate operaiile secundare avem
Programare liniar
56

n , j , c z
j
B
j
1 0 = > (2.86)

atunci programul de fabricaie curent este optim. Acesta este, criteriul de
optimalitate al algoritmului simplex.
Dac 0 <
j
B
j
c z , atunci activitatea secundar j conduce la o
majorare a profitului realizabil prin programul curent, egal cu
) c z (
j
B
j
.
Dintre operaiile secundare J j e rentabile n raport cu operaiile
de baz se va alege acea operaie k care asigur cea mai mare vitez de
cretere a valorii curente a produciei ( interpretarea criteriului de intrare
n baz).
O alt problem care se mai pune este stabilirea cantitii din
produsul j care se poate realiza n condiiile date.
Fabricarea unei cantiti u din acest produs implic diminuarea
produciei din produsele operaiilor de baz astfel:


B
mk
B
m m
B
k
B B
k
B
y x x ,..., y x x , y x x u u u = = =
2
2 2
1
1 1
(2.87)

Evident, desfurarea unei activiti la un nivel negativ este lipsit
de sens economic.
Astfel este necesar ca :

m , i , y x x
B
ik
B
i i
1 0 = > = u (2.88)

de unde obinem condiia:


B
ik
B
i
B
ik
y
i
y
x
min
0
0
>
= su u (2.89)

Presupunem c valoarea
0
u se obine pentru indicele 1. Atunci:

0
0
= = =
B
lk
B
lk
B
l B
l
B
lk
B
l l
y
y
x
x y x x u (2.90)

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

57
Ca urmare, operaia l nu va mai fi folosit, iar n locul ei se va
utiliza operaia k, care asigur creterea maxim a valorii curente a
produciei i, implicit, maximizeaz profitului firmei.
Aceasta este interpretarea a criteriului de ieire din baz al
algoritmului simplex.
Cazul optimului infinit, ca soluie a problemei de programare
liniar, nu este semnificativ din punct de vedere economic.

2.4. Dualitatea n programarea liniar

2.4.1. Problema dual. Fundamente teoretice.

Problema dual
Dualitatea n programarea liniar ocup un rol important att din
punct de vedere teoretic ct i din punct de vedere practic. Pe teoremele
de dualitatea se bazeaz muli algoritmi de rezolvare a problemelor de
programare liniar.
Fie problema de programare liniara dat sub forma general
numit problema primal :

( )

+ +
s >
s + +
= + +
> + +
3 3 2 2 1 1
3 2 1
3 3 33 2 32 1 31
2 3 31 2 22 1 21
1 3 13 2 12 1 11
0 0
x c x c x c min
x ; arbitrar x ; x
b x a x a x a
b x a x a x a
b x a x a x a
problema primal (2.91)

Numim problem dual a problemei de programare liniara
urmtoarea problema de programare liniara:

( )

s >
>
'
+
'
+
'
=
'
+
'
+
'
s
'
+
'
+
'
'
+
'
+
'
0 0
3 2 1
3 3 33 2 23 1 13
2 3 32 2 22 1 12
1 3 31 2 21 1 11
3 3 2 2 1 1
u ; arbitrar u ; u
c u a u a u a
c u a u a u a
c u a u a u a
u b u b u b max
problema dual (2.92)

Observm c duala problemei dualei este chiar problema primal.
Datorit legturii strnse ce se stabilete ntre aceste probleme care sunt
Programare liniar
58
duale una celeilalte, vom spune ca problema (2.91) i problema (2.92)
formeaz un cuplu de probleme duale.
Problema dual se obine din problema primal folosind
urmtoarele transformri :

- Termenii liberi din problema primal devin coeficieni ai
funciei obiectiv din problema dual.
- Coeficienii funciei obiectiv din problema primal devin
termeni liberi n problema dual.
- O problem de maximizare primal devine problem de
minimizare dual.
- Matricea coeficienilor din problema dual este transpusa
matricei coeficienilor din problema primal
- Variabilele duale corespunztoare unor restricii concordante
din problema primal sunt nenegative, iar cele
corespunztoare unor restricii primale neconcordante sunt
nepozitive.
- Variabilele primale negative le corespund n problema dual
restricii concordante, iar variabilelor primale pozitive le
corespund n problema dual restricii neconcordante.

- Variabilele duale corespunztoare restriciilor primale care
sunt ecuaii, pot fi de semn oarecare.
- Variabilelor primale oarecare le corespund restricii duale care
sunt ecuaii.

Exemplul 2.7 Determinai duala problemei de programare liniar:

f = max(2x
1
5x
2
+ 4x
3)

> +
s +
= +
> +
8 5 2
3 2
6 3 5
7 4
2 1 3
3 1
3 1 2
3 2 1
x x x
x x
x x x
x x x

x
1
s 0, x
2
oarecare, x
3
> 0

Conform regulilor de mai sus vom avea:
duala este de minim deoarece primala este de maxim;
variabilele dualei vor fi:
u
1
corespunztoare restriciei: x
1
x
2
+ 4x
3
> 7
u
2
corespunztoare restriciei: x
2
5x
1
+ 3x
3
= 6
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

59
u
3
corespunztoare restriciei: x
1
+ 2x
3
s 3
u
4
corespunztoare restriciei: x
3
+ 2x
1
- 5x
2
> 8

funcia obiectiv a dualei va fi produsul dintre termenii liberi ai
restriciilor primalei cu variabilele corespunztoare din dual:
g = 7u
1
+ 6u
2
+ 3u
3
+ 8u
4

duala va avea 3 restricii, cte variabile are primala, ele obinndu-se
astfel:
Prima restricie (asociat variabilei x
1
)
- termenul stng al restriciei se obine nmulind coeficienii
variabilei x
1
din cele 4 restricii ale primalei cu variabilele
corespunztoare acestora din dual: u
1
5u
2
+ u
3
+ 2u
4
- termenul liber al restriciei va fi coeficientul lui x
1
din funcia
obiectiv a primalei, adic b
1
= c
1
= 2
- deoarece variabila corespunztoare acestei restricii, x
1
, este
negativ, restricia va fi neconcordant i deoarece duala este problem
de minim rezult c va fi cu s.
n concluzie, prima restricie va fi: u
1
5u
2
+ u
3
+ 2u
4
s 2
Analog se vor determina i celelalte dou restricii:
-u
1
+ u
2
- 5u
4
= -5
4u
1
+ 3u
2
+ 2u
3
- u
4
> 4
restriciile de semn ale variabilelor dualei vor fi:
u
1
s 0, deoarece restricia corespunztoare este neconcordant;
u
2
oarecare, deoarece restricia corespunztoare este egalitate;
u
3
> 0, deoarece restricia corespunztoare este concordant;
u
4
s 0, deoarece restricia corespunztoare este neconcordant.
n final, problema dual este:

(min) 7u
1
+ 6u
2
+ 3u
3
+ 8u
4

> + +
= +
s + +
4 2 3 4
5 5
4 2 5
4 3 2 1
4 2 1
4 3 2 1
u u u u
u u u
u u u u

u
1
s 0, u
2
oarecare, u
3
> 0, u
4
> 0

Exemplul 2.8

S se scrie duala problemei de programare liniar dat n form canonic:
Programare liniar
60
( )

>
s +
s
s + +
+ + +
0 ,...,
10 2
5 2
15 3
5 2 3 max
4 1
4 3 2
4 3 1
4 3 2 1
4 3 2 1
x x
x x x
x x x
x x x x
x x x x


Se construiete tabelul cu datele problemei iniiale:

Aadar, problema dual este:

( )

>
>
> +
> +
> +
+ +
0 , ,
1
5 2 3
2
3
10 5 15 min
3 2 1
3 2 1
3 2 1
3 1
2 1
3 2 1
x u u
u u u
u u u
u u
u u
u u u


Fundamente teoretice
Fr a restrnge din generalitate ne vom ocupa n continuare de
cuplul de probleme duale (2.91) - (2.92), prima fiind considerat
problema primal, iar cea de-a doua, problema dual.
Se noteaz

{ } 0 , > = e = x b Ax R x P
n
(2.93)
{ } 0 , > s e = u c u A R u D
T m
2.94)
Mulimile soluiilor admisibile (sau programelor) ale problemei
primale (2.91), respectiv, duale (2.92).
Teorema 2.8. Dac P x e i D u e , atunci u b x c
T T
> .

max
min
3 2 1 5
15
10
u
1
u
2
u
3
1 -1 3
1
-1 -1
-1
2 0
0
1 2
5
x
1
x
2
x
3
x
4
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

61
Teorema 2.9. Fie P x e
*
, D u e
*
i
* *
u b x c
T T
> . Atunci x
*
nu este
soluie optim a problemei primale, iar u
*
este soluie optim a
problemei duale

Propoziia 2.1. Dac L este o matrice antisimetric (L
T
= -L), atunci
sistemul de inegaliti liniare

>
>
0
0
t
t l
(2.95)

are cel puin o soluie t astfel nct

0 > t L (2.96)

Teorema 2.10. (Teorema fundamental a dualitii) Fie cuplul de
probleme duale (2.91) - (2.92). Atunci una i numai una din urmtoarele
situaii este posibil :
a) Ambele probleme au soluii admisibile. n acest caz, ambele
probleme au soluii optime i valori optime ale funciilor obiectiv
sunt egale.
b) Una din probleme are soluii admisibile, iar cealalt nu are (este
incompatibil). n acest caz, problema compatibil are optim
infinit.
c) Nici una dintre probleme nu are soluii admisibile.

Teorema 2.11. (Teorema ecarturilor complementare). Fie cuplul de
probleme duale canonice (2.91) - (2.92). Atunci P x e i D u e sunt
soluii optime pentru cele dou probleme dac i numai dac:


( )
( )

=
=
0
0
u A c u
b x A u
T
T
T
(2.97)

Exemplul 2.9
ntr-un atelier mecanic se produc dou de tipuri de piese P
1
, P
2
.
Timpii unitari de prelucrarea celor dou piese pe cele dou maini
unelte M
1
, M
2
, profitul unitar i disponibilul de timp al mainilor unelte
sunt date n tabelul de mai jos:


Programare liniar
62
P
1
P
2
Disponibil
resurse
M
1
4 3 16sp
M
2
1 2 6sp
Profit
unitar
3um 7um

Modelul matematic pentru problema dat este:

>
s +
s +
+ =
0 x x
6 x 2 x
16 x 3 x 4
x 7 x 3 f
2 1
2 1
2 1
2 1
,
) max(


Mulimea soluiilor admisibile ale problemei (primale) este
reprezentat n fig. 2.6.
Problema admite soluia optim 0
*
1 = x , 3
*
2 = x , pentru fiecare
funcia obiectiv are valoarea 21
max
= f .

d2
0 x1
x2
A(4,0)
C(0,3)
d1
B(14/5,8/5)


Fig.2.6
Problema dual este:

>
> +
> +
+ =
0 u u
7 u 2 u 3
3 u u 4
u 6 u 16 g
2 1
2 1
2 1
2 1
,
) min(


Mulimea soluiilor admisibile ale problemei duale este
reprezentat n fig.2.7.

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

63
Fig.2.7

Problema admite soluia optim 0
*
1 = u , 2 / 7
*
2 = u .Valoarea
funciei obiectiv este 21
min
= g , evident aceeai ca i n cazul problemei
primale.
Din cele artate se constat c prin rezolvarea uneia dintre cele
dou probleme duale se poate determina i soluia celeilalte. Tabelul
simplex final corespunztor uneia dintre probleme conine componentele
soluiilor optime ale ambelor probleme.
Aceste rezultate teoretice se utilizeaz n practica industrial n
cazul cnd planul de producie conine o varietate mare de produse ce se
fabric n aceleai condiii tehnico economice.

2.4.2. Algoritmul simplex dual

Fie problema de programare liniar n forma standard

>
=
0 x
b Ax
x c
T
min
(2.98)
unde
n
R c x e , ,
m
R be ,
n m
M A

e , cu rang A = m < n.
Duala acestei probleme este :

s
arbitrar u
c u A
u b
T
'
max
(2.99)


d2
B(0,7/2)
A(0,3/4) 0 u1
u2
d1
Programare liniar
64
Definiia 2.9 O baz B format cu m coloane liniar independente a lui A
se numete dual admisibil dac sunt satisfcute condiiile

n j c z
j
B
j
, 1 , 0 = s (2.100)

Propoziia 2.2. Dac B este o baz dual admisibil, atunci

1
= B c u
T
B
T
B
(2.101)

este o soluie a problemei duale (2.98).

Teorema 2.12. (Teorema de optimalitate). Fie B o baz dual admisibil
pentru problema primal (2.98). Fie mulimea { } 0 _ < e =
B
i x I i I I_=C,
atunci soluia de baz asociat bazei B, b B x
B
1
= , este o soluie optim
a problemei (2.98).

Teorema 2.13. (Teorema de incompatibilitate a problemei primale). Fie
B o baz dual admisibil pentru problema primal (2.92), iar I_=C,
Deci exist _ I i e astfel nct J j y
B
ij
e > , 0 , atunci problema (2.92) nu
are soluii.

Teorema 2.14. (Teorema de mbuntire a soluiei) Fie B o baz dual
admisibil pentru problema primal (4.29), iar I_=C. Dac pentru orice
_ I i e exist J j e astfel nct 0 <
B
ij
y , i dac se alege _ I l e
arbitrar, iar J k e astfel nct s fie satisfcut condiia :

B
lk
k
B
k
B
lj
j
B
j
y
j
y
c z
y
c z
B
lj


<0
min (2.102)

atunci matricea B obinut din B prin nlocuirea coloanei A
(l)
cu
coloana A
(k)
este o baz dual admisibil, iar programul dual asociat u
B

este cel puin la fel de bun ca programul u
B


Algoritmul simplex dual

Pentru problema primal de minimizare sau maximizare este:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

65
Pasul 1. Se determin o baz dual admisibil iniial B.

Pasul 2. Se calculeaz
B
x ,
B
z ,
B
j
y ,
B
j
z ,
j
c , n j , 1 = .

Pasul 3. Se determin mulimea
{ } 0 _ < e =
B
i x I i I
Dac I_=C, atunci STOP :
B
x este program optim al problemei; astfel se
trece la pasul urmtor.

Pasul 4. Se determin indicele _ I k e cu criteriul de ieire din baz

{ }
B
l
B
i
I i
x x =
e _
min

Dac n j y
B
ij
, 1 , 0 = > , atunci STOP : problema nu are soluii; astfel se
determin indicele J k e cu criteriul de intrare n baz:

B
lk
k
B
k
B
lj
j
B
j
y
j
y
c z
y
c z
B
lj


<0
min

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.

Algoritmul simplex dual poate fi exprimat sintetic sub forma
schemei logice din fig.2.8

Programare liniar
66
START
Exista
variabile de baza cu valori
negative ?
STOP
Nu
Da
Determina
linia pivotului
Nu
Determina
coloana pivotului
Construieste
tabel simplex
initial
Indica
solutia optima
Exista
valori negative in linia
pivotului?
STOP
Da
Calculeaza un nou
tabel simplex
Nu exista
solutii


Fig.2.8


Exemplul 2.10

S se rezolve problema de programare liniar:

( )

>
> +
> +

0 , ,
2 2
4 3 2
2 3 max
3 2 1
3 2 1
3 2 1
2 1
x x x
x x x
x x x
x x


Se aduce problema la forma standard prin introducerea variabilelor de
compensare x
4
, x
5
i se nmulesc cu 1 cele dou restricii:

( )

>
= + +
= + +

0 ,...,
2 2
4 3 2
2 3 max
5 1
5 3 2 1
4 3 2 1
2 1
x x
x x x x
x x x x
x x


Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

67
Baza iniial B este matricea unitate format cu coloanele A
(4)
, A
(5)
.
Tabelul simplex asociat are ca variabile de baz pe x
4
i x
5
:

c
B V.B. V.V.B.
-3 -2
0 0 0
x
1
0
0
x
2
x
3
x
4
x
5
-1 2
-1
1
0
-2
x
4
x
5 -2
3
-1 1 0 1
0
0
0 2 0
-4


Baza iniial este dual admisibil deoarece 0 >
j
B
j
c z . Se poate
aplica deci algoritmul simplex dual. Soluia asociat bazei B admisibil
ntruct: 0 3 2 1 = = = x x x , 4 4 = x , 2 5 = x .
Mulimea { } 5 , 4 _ = I . Conform criteriului de ieire din baz
avem: { } { }
B
I i
B
i x x 4
_
4 2 , 4 min min = = =
e
; se obine 4 = l , deci din baz
va iei vectorul A
(4)
. Conform criteriului de intrare n baz avem:

0
4
min
<
B
j
y
j


B
j
j
B
j
y
c z
4
=
0
4
min
<
B
j
y
j
B
B
y
c z
43
3 3
0
1
0
,
1
3
= =
)
`


;

se obine k = 3, deci n baz va intra vectorul corespunztor variabilei x
3
.
Noul tabel simplex este:
c
B V.B. V.V.B.
-3 -2 0 0 0
x
1
0
0
x
2
x
3
x
4
x
5
1 -2
-1 1 0
-6
x
4
x
5 -3
3
1 1 0 1
0 0 0 2 0
4

Soluia nu este optim ntruct 6 5 = x . Din baz va iei vectorul
corespunztor variabilei x
3=5
i va intra vectorul corespunztor variabilei
x
1
. Se obine tabelul simplex :

Programare liniar
68
c
B V.B. V.V.B.
-3 -2
0 0 0
x
1
0
-3
x
2
x
3
x
4
x
5
0
-5/3 1
2
x
4
x
5
1
1
0 3 0
2
-2/3 1/3
-1/3 -1/3 0 -1/3 1
0


2.4.3 Interpretarea economic a dualitii

Introducerea dualitii este motivat din mai multe puncte de vedere:

Teoretic. Una din problemele centrale ale programrii matematice este
caracterizarea situaiilor n care exist optimul unei probleme i gsirea
unor metode prin care s recunoatem optimalitatea unei soluii.
Teorema fundamental a dualitii i teorema ecarturilor
complementare reprezint rezultate chiar n acest sens, n care se
folosete dualitatea.
Practic. Putem rezolva o problem rezolvnd problema dual a acesteia
sau cunoscnd soluia dualei.
n unele cazuri, rezolvarea dualei este mult mai uoar dect
rezolvarea primalei, de exemplu cnd numrul de restricii al primalei
este mai mare dect numrul de variabile al acesteia sau cnd primala
necesit mai multe variabile suplimentare dect duala.
Economic. n cele mai multe probleme economice, a cror rezolvare se
face printr-un model de programare liniar, soluia dualei aduce o serie
de informaii suplimentare despre problema studiat.
Semnificaia economic a soluiei dualei depinde de specificul problemei
i trebuie gsit de la caz la caz.
Avnd n vedere c max[f(x)] = min [g(u)], rezult c, dac,
cantitatea disponibil din resursa R
i
crete cu o unitate, atunci valoarea
funciei obiectiv crete cu u
i
, deci u
i
msoar creterea valorii funciei
obiectiv determinat de creterea cu o unitate a cantitii disponibile b
i
.
Aceste evaluri obinute dintr-un program optim au fost denumite
n literatura de specialitate "preuri umbr"(shadow price).
Preul umbr u
i
arat cu ct se modific funcia obiectiv a
problemei duale, atunci cnd termenul liber al restriciei R
i
se "relaxeaz"
cu o unitate. A "relaxa" are semnificaia de a spori cantitatea disponibil
b
i
a unei resurse deficitare sau, pentru restriciile de tip calitativ cu limit
inferioar impus (

=
n
1 j
j ij
x a > b
i
), de a reduce nivelul termenului liber b
i
.
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

69
Este evident c, dac o resurs nu este utilizat n ntregime
pentru satisfacerea programului optimal x
B
(

=
n
1 j
j ij
x a < b
i
), atunci u
i
= 0
iar funcia obiectiv nu este afectat de sporire a cantitii disponibile b
i
.
Preurile umbr (preuri duale) aduc informaii suplimentare pentru
analiza eficienei economice a resurselor i a diferiilor indicatori
economici sau tehnici care apar n restriciile unei probleme de
programare liniar.
Pe baza lor se pot fundamenta deciziile privind alocarea
judicioas a resurselor, se pot stabili msuri de stimulare a consumului
raional al resurselor, se determin ct mai corect nivelul minim i maxim
al diferiilor indicatori tehnici i economici de care depinde structura
planului optim.
Soluia optim obinut prin utilizarea datelor iniiale poate
constitui un punct de plecare pentru analiza economic privind alocarea
eficient a resurselor.
Pentru problemele n care se cere maximizarea funciei f(x),
indicatorii z
j
reprezint costul unitar de fabricaie al produsului j, rezultat
din evaluarea coeficienilor a
ij
prin preurile umbr ataate restricii1or.
Rezult c, prin calcularea diferenei z
j
-c
j
, se compar acest cost
unitar cu coeficientul c
j
(pre unitar, beneficiu unitar etc.) din funcia
obiectiv.
Dac exist diferene negative (z
j
-c
j
< 0) nseamn c, la
activitile respective, preul umbr al produsului j (costul unitar de
fabricaie exprimat n indicatori u
i
) este mai mic dect venitul realizat i
de aceea activitatea a
j
este eficient.
Aa se explic faptul c va intra n baz vectorul a
(k)
ce
corespunde diferenei (z
j
-c
j)
minime.
n momentul n care toate diferenele sunt pozitive (z
j
-c
j
> 0)
rezult c nu mai exist activiti eficiente i prin urmare soluia de baz
analizat este optim.
n cazul problemelor de minim, indicatorii z
j
se pot interpreta ca
venituri, exprimate n preurile umbr ale restriciilor, ce se obin prin
realizarea unei uniti din produsul j.
Prin urmare, dac exist diferene pozitive (z
j
-c
j
> 0), activitile
a
j
corespunztoare sunt eficiente, deoarece se realizeaz un venit unitar
mai mare dect costul unitar de fabricaie (z
j
> c
j
).
De aceea, va intra n baz activitatea a
k
, corespunztoare
diferenei maxime, iar soluia de baz se consider optim atunci cnd
toate diferenele (z
j
-c
j
) sunt nepozitive .

Programare liniar
70
Exemplul 2.11

O firm fabric trei tipuri de produse P
1
, P
2
, P
3
, utiliznd patru
tipuri de resurse R
1
, R
2,
R
3,
R
4
.
Procesul tehnologic de realizare a celor trei produse, timpul
disponibil al fiecrei resurse, cererea minim i maxim din fiecare
produs conform studiului de marketing, precum i profitul unitar sunt
date n tabelul 2.5.
Tabelul 2.5
Produs Cerere Timp de prelucrare pe
unitatea de produs
Profitul
unitar
um/buc
min max R
1
SN
400
R
2
FU32
R
3

RU320
R
4

Banc
de
control
P
1
20 200 0.10 0.06 0.18 0.13 10
P
2
0 100 0.12 0.05 0 0.10 12
P
3
70 180 0.15 0.09 0.07 0.08 15
Timp disponibil pe
resurs
36 30 37 38 -

S se determine programul de producie astfel nct s se asigure
satisfacerea cererii cu un profit total maxim.

Not m cu x
1
, x
2
x
3
variabilele de decizie ce reprezint cantitile
din produsele P
1
, P
2
respectiv P
3
ce trebuie fabricate astfel nct s se
ating obiectivul propus.
Modelul matematic liniar al problemei cuprinde restriciile
problemei, ce provin din limitarea disponibilitii resurselor i a cererii
produselor pe pia, funcia obiectiv ce maximizeaz profitul total i
condiiile de nenegativitate care sunt evidente din punct de vedere
economic.

Modelul matematic al problemei este urmtorul:

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

71

>
s s
s s
s s
s + +
s +
s + +
s + +
+ + =
0 x x x
180 x 70
100 x 0
200 x 20
38 x 08 0 x 1 0 x 13 0
37 x 07 0 x 18 0
30 x 09 0 x 05 0 x 06 0
36 x 15 0 x 12 0 x 1 0
x 15 x 12 x 10 f
3 2 1
3
2
1
3 2 1
2 1
3 2 1
3 2 1
3 2 1
, ,
. . .
. .
. . .
. . .
) max(


Programul de producie este dat de variabilele de decizie i este
urmtorul:

=
=
=
=
m u 600 3 O F
70 x
100 x
135 x
3
2
1
. . . .


Din produsul P
1
se produc 135 uniti, din produsul P
2
se produc
100 uniti, din produsul P
3
se produc 70 uniti. n aceste condiii
valoarea funciei obiectiv este de 3.600 uniti monetare.
Variabilele de compensare (ecart) arat utilizarea resurselor astfel:
- 100 Y 0 x
1 4
= = , - pre umbr
36 36 70 15 0 100 12 0 135 1 0 = = + + . . .
Prima restricie este satisfcut cu semnul = ceea ce nseamn
c resursa R
1
este utilizat n totalitate, deci R
2
este o resurs rar
resurs a crei lips / indisponibil ar limita sau modifica.
n acelai timp dac n prima restricie mrim timpul disponibil cu
o unitate (din 36u.t. la 37u.t.), valoarea F.O. se modific n sens pozitiv
tocmai cu valoarea preului umbr, deci profitul va fi de 3.700 u.m.
- 0 Y 6 10 x
2 5
= = . - pre umbr
30 4 19 70 09 0 100 05 0 135 06 0 < = + + . . . . cu 10.6 u.t.
A doua restricie este satisfcut cu semnul <, deci din resursa
R
2
rmne un timp disponibil de 10.6 u.t. care nu este utilizat n procesul
de producie, astfel resursa R
2
nu este o resurs rar ns lipsa ei poate
limita producia, preul ei umbr fiind nul.
Programare liniar
72
- 0 Y 7 5 x
3 6
= = . - pre umbr
37 3 31 100 07 0 135 18 0 < = + . . . cu 5.7 u.t.
A treia restricie este satisfcut cu semnul <, deci din resursa
R
3
rmne un timp disponibil de 5.7 u.t. care nu este utilizat n procesul
de producie, astfel resursa R
3
nu este o resurs rar ns lipsa ei poate
limita producia, preul ei umbr fiind nul.
- 0 Y 85 4 x
4 7
= = . - pre umbr
38 15 33 70 08 0 100 1 0 135 13 0 < = + + . . . . cu 4.85 u.t.
A patra restricie este satisfcut cu semnul <, deci din resursa
R
4
rmne un timp disponibil de 4.85 u.t. care nu este utilizat n procesul
de producie, astfel resursa R
4
nu este o resurs rar ns lipsa ei poate
limita producia, preul ei umbr fiind nul.
- 0 Y 65 x
5 8
= = - pre umbr
200 135 135 1 < = cu 65 uniti de produs P
1
.
Restricia cinci este satisfcut cu semnul <, deci din produsul
P
1
rmn nevndute o cantitate de 65 uniti de produs (u.p), astfel P
1
nu
este o resurs rar deci are preul umbr nul.
- 0 Y 115 x
6 9
= = - pre umbr
20 135 135 1 > = cu 115 uniti de produs P
1
.
Restricia ase este satisfcut cu semnul >, deci produsul P
1

are o cerere maxim de 115 u.p., astfel P
1
nu este o resurs rar deci are
preul umbr nul.
- 0 Y 0 x
7 10
= = - pre umbr
100 100 100 1 = =
Restricia apte este satisfcut cu semnul = ceea ce arat c
produsul P
2
este vndut n totalitate deci este o resursa rar, deci preul
umbr ar trebui s fie nenul. El totui este nul, lucru uor de explicat din
teorema ecarturilor complementare: condiia necesar i suficient ca
dou soluii admisibile X,Y s fie soluii optime respectiv la problema
primal i dual este s fie simultan satisfcute relaiile:

=
=
0 X C A Y
0 AX P Y
T
0
T
) (
) (

Pentru ca un produs s fie zero este necesar ca un termen sa fie
zero sau ambii egali cu zero. Prin creterea cu o unitate a restriciei n loc
de 100 s avem 101 valoarea funciei obiectiv rmne aceeai
F.O.=3.600u.m.
- 0 Y 110 x
8 11
= = - pre umbr
180 70 70 1 < = cu 110 uniti de produs P
3

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

73
Restricia opt este satisfcut cu semnul <, deci din produsul P
3

rmn nevndute o cantitate de 110 uniti de produs (u.p), astfel P
3
nu
este o resurs rar deci are preul umbr nul.
- 0 Y 0 x
9 12
= = - pre umbr
70 70 70 1 = =
Restricia apte este satisfcut cu semnul = ceea ce arat c
produsul P
3
este vndut n totalitate i cererea maxim este corect deci
este o resursa rar, deci preul umbr ar trebui s fie nenul.
El totui este nul, lucru uor de explicat din teorema ecarturilor
complementare. Prin creterea cu o unitate a restriciei n loc de 70 s
avem 71 valoarea funciei obiectiv rmne aceeai F.O.=3.600u.m.

n concluzie acelai plan de producie se putea face, cu acelai
profit i dac restriciile problemei erau urmtoarele:

>
s s
s s
s s
s + +
s +
s + +
s + +
+ + =
0 x x x
70 x 65
100 x 0
135 x 115
15 33 x 08 0 x 1 0 x 13 0
3 31 x 07 0 x 18 0
4 19 x 09 0 x 05 0 x 06 0
36 x 15 0 x 12 0 x 1 0
x 15 x 12 x 10 f
3 2 1
3
2
1
3 2 1
2 1
3 2 1
3 2 1
3 2 1
, ,
. . . .
. . .
. . . .
. . .
) max(