Sunteți pe pagina 1din 43

I.

PROGRAMARE LINIARA 84


6. Analiza sensitivitii. Postoptimizare. Programare parametric

Orice program liniar n form standard n care funcia obiectiv se
maximizeaz este perfect determinat de cunoaterea urmtoarelor trei masive:

A matricea coeficienilor sistemului de restricii
b vectorul (coloan) al termenilor liberi
c vectorul (linie) al coeficienilor funciei obiectiv

drept care va fi identificat n continuare prin sigla P(A,b,c):

P A b c
Ax b
x
f c
( , , )
(max)
=

0
x


Pn acum, elementele masivelor A, b, c au fost presupuse a fi
cunoscute cu exactitate i fixate, de unde i numele de constante atribuit lor. n
situaiile practice, suntem obligai s privim aceste "constante" i din alte
unghiuri de vedere. S presupunem c P(A,b,c) modeleaz activitatea unei
firme. Atunci elementele a
ij
ale matricii A au semnificaia de consumuri de
resurse, componentele b
i
ale vectorului b reprezint plafoanele resurselor
disponibile iar componentele c
j
ale vectorului c pot fi dup caz, preuri sau
profituri unitare.
Se poate ntmpla ca unele dintre aceste elemente s nu fie cunoscute
cu exactitate, ele oscilnd n jurul unor valori "probabile", ca n urmtoarele
exemple:
"experii firmei estimeaz c pentru luna urmtoare preul bunului ... va
fi n jur de 18 u.m." sau:
"directorul executiv apreciaz c pentru luna urmtoare disponibilul
resursei ... va fi cam de 130 uniti"
n asemenea situaii suntem interesai s tim dac la variaii "mici" ale
unor constante corespund variaii "mici" ale soluiei modelului, altfel spus,
dac soluia modelului depinde "continuu" de aceste constante. Dac este aa,
vom spune c soluia modelului este stabil.
Studiul stabilitii este important din punct de vedere economic
deoarece este posibil ca variaii mici ale unor constante s antreneze modificri
majore n soluia optim i n acest caz este necesar s tim cauzele i
proporiile instabilitii pentru a putea lua decizia adecvat.

6. Analiza sensitivitii. Postoptimizare. Programare parametric

85

n acest context, analiza sensitivitii are ca obiect studiul stabilitii
soluiei optime a unei probleme de optimizare. n cazul liniar, pentru fiecare
constant se poate determina un interval de variaie cu proprietatea c baza
optimal sau chiar soluia asociat rmn neschimbate. Acest interval se
numete interval de stabilitate al soluiei optime n raport cu coeficientul
considerat.

Relund problema firmei sunt situaii n care constantele modelului sunt
cunoscute cu exactitate i fixate doar pe o anumit perioad, o parte din ele
suferind modificri de mai mic sau mai mare amplitudine prin trecerea la o
nou perioad. Ce efect au aceste schimbri asupra soluiei optime este o alt
chestiune cu serioase motivaii economice. De exemplu, suntem interesai n a
afla dac optimalitatea unei combinaii de bunuri se mai menine cnd profitul
unui bun rentabil scade. Mai departe, ne putem ntreba ce se ntmpl dac
disponibilul de resurse sufer unele ajustri. Deasemeni este interesant de
vzut ce efect are introducerea unei noi activiti productive, considerarea
unei noi resurse al crei disponibil limitat face inoperant programul de
producie actual sau modificarea tehnologiei de transformare a resurselor n
bunuri.
Evident, la toate aceste ntrebri se poate rspunde rezolvnd de sine
stttor problema modificat. n continuare, vom arta cum se obine soluia
problemei modificate plecnd de la soluia problemei originale. Subiectul n
discuie este tentant din start, deoarece este din nou de ateptat ca, la mici
modificri ale datelor iniiale, s rezulte schimbri de mic amploare n soluia
optim original, schimbri ce se pot determina cu un efort de calcul relativ
mic, oricum mai mic dect n cazul n care problema modificat ar fi rezolvat
"de la capt".
Problematica relevat este cunoscut sub numele de postoptimizare.

n fine, programarea parametric se ocup de studiul comportrii
soluiei unei probleme de optimizare atunci cnd una sau mai multe constante
ale problemei depind de un sistem de parametri.(Ne vom mrgini aici numai la
cazul dependenei liniare de un singur parametru.)

Cele trei teme sunt strns legate ntre ele. n esen, determinarea unui
interval de stabilitate a soluiei optime n raport cu un coeficient este o
problem parametric n care nsui coeficientul respectiv este considerat ca
parametru. Deasemeni o problem de postoptimizare poate fi privit ca un caz
particular al unei probleme mai generale, parametrice etc.


I. PROGRAMARE LINIARA 86
6.1 Analiza sensitivitii. Studiu de caz

Conducerea firmei X, specializat n producerea de aparatur
electronic a iniiat un ambiios program de mbuntire a activitii sale. Ea
dorete n primul rnd s tie care este cel mai bun mod de utilizare a
resurselor sale interne: capaciti de producie, for de munc, spaii de
depozitare, etc. urmnd ca n funcie de rezultate s-i definitiveze programul
de aprovizionare cu materii prime i componente semifabricate precum i
programul de producie pe urmtoarele luni. Directorul executiv a apelat la o
echip de Cercetare Operaional care a propus programarea liniar ca mijloc
de investigare i analiz. Pentru exemplificare, au fost alese trei resurse mai
importante R
1
, R
2
, R
3
i trei produse reprezentative A
1
, A
2
, A
3
.Din analiza
situaiei curente a rezultat c pe durata unei luni activitile avnd drept scop
producerea celor trei bunuri pot fi considerate ca fiind liniare. n tabelul 6.1.1
sunt date cantitile din resursele considerate, disponibile la nivelul unei luni i
consumurile specifice pentru fiecare bun n parte.

Produse Consumuri specifice
Resurse A
1
A
2
A
3
Disponibil
R
1
1 2 1 130
R
2
1 1 2 100
R
3
2 1 3 140

Tabelul 6.1.1

Desigur, n compararea diferitelor moduri de utilizare a resurselor trebuie avut
n vedere un criteriu de performan cum ar fi maximizarea profitului total sau
a venitului total sau a ratei profitului, minimizarea costului produciei etc. Se
poate pune chiar problema elaborrii unui program de fabricaie acceptabil din
punctul de vedere al mai multor criterii ca n cadrul analizei multicriteriale,
dar acest subiect nu va fi tratat n lucrare.

Pentru nceput, directorul executiv a cerut echipei s elaboreze o
propunere de program de producie care, plecnd de la resursele sus amintite,
s maximizeze profitul total al firmei relativ la bunurile A
1
,A
2
,A
3
.

Profiturile pe unitatea de produs sunt estimate n momentul de fa la 3,
4 respectiv 2 uniti monetare (u.m.). Notnd cu x
1
, x
2
, x
3
cantitile n care
bunurile A
1
, A
2
, A
3
vor fi realizate i innd seama de ipoteza de liniaritate
rezult urmtorul model matematic:

6. Analiza sensitivitii. Postoptimizare. Programare parametric

87
( )
, ,
max
P
x x x
x x x
x x x
x x x
f x x x
1 2 3
1 2 3
1 2 3
1 2 3
1 2
2 130
2 100
2 3 140
0
3 4 2
+ +
+ +
+ +

= + +

3


Aducem problema (P) la forma standard prin introducerea variabilelor de
abatere x
4
, x
5
, x
6
. Reamintim coninutul economic al noilor variabile. Deoarece
expresia x
1
+ 2x
2
+ x
3
din membrul stng al primei restricii reprezint
cantitatea din resursa R
1
necesar pentru realizarea combinaiei de bunuri (x
1
,
x
2
, x
3
) iar termenul liber 130 este cantitatea disponibil din aceeai resurs,
urmeaz c diferena 130 - (x
1
+ 2x
2
+ x
3
), ce definete valoarea varibilei de
abatere x
4
, va semnifica tocmai cantitatea din R
1
nefolosit. Analog, x
5
i x
6
vor
reprezenta cantitile din R
2
i R
3
neutilizate.

Aplicm algoritmul simplex plecnd de la baza unitar de start
E = |A
4
,A
5
,A
6
|:

3 4 2 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
6
A
6

0 A
4
130 1 2 1 1 0 0
0 A
5
100 1 1 2 0 1 0
0 A
6
140 2 1 3 0 0 1
f 0 -3 -4 -2 * * *
4 A
2
65 1/2 1 1/2 1/2 0 0
0 A
5
35 1/2 0 3/2 -1/2 1 0
0 A
6
75 3/2 0 5/2 -1/2 0 1
f 260 - 1 * 0 2 * *
4 A
2
40 0 1 -1/3 2/3 0 -1/3
0 A
5
10 0 0 2/3 -1/3 1 -1/3
3 A
1
50 1 0 5/3 -1/3 0 2/3
f 310 * * 5/3 5/3 * 2/3

Tabelele 6.1.2 - 6.1.4

Pe baza informaiilor numerice cuprinse n tabelul 6.1.4 al soluiei optime
echipa C.O. a formulat urmtoarele concluzii:

Profitul maxim pe care firma l poate obine lund n calcul numai
datele prezentate este de 310 u.m. Aceast valoare reprezint limita superioar
a posibilitilor actuale i s-ar obine dac nu ar exista nici un fel de probleme

I. PROGRAMARE LINIARA 88
n legtur cu procurarea altor resurse, cu situaia vnzrilor i n general cu
tot ce ine de actul complex al aprovizionrii, produciei i desfacerii. Marja de
manevr a conducerii este limitat nu numai de plafoanele resurselor
considerate ci i de o mulime de ali factori (unii controlabili alii nu) astfel c
n realitate profitul este mai mic. Totui cifra obinut trebuie considerat ca o
valoare de referin n raport cu care este necesar s fie evaluate toate celelalte
decizii privind producia.

n contextul dat, combinaia optim de bunuri se compune din:

x
1
* = 50 uniti din A
1
i x
2
* = 40 uniti din A
2


Din punct de vedere economic, neincluderea produsului A
3
in combinaia
optim se justific astfel (vezi raionamentul din seciunea.7):
Notnd cu B baza optim |A
2
,A
5
,A
1
| din tabelul 6.1.4 rezult:

A BA A A A
3 3
1
3
2
2
3
5
5
3
1
= = + +

Se conchide c producerea unei uniti din A
3
ar implica creterea produciei
din A
2
cu 1/3 uniti i diminuarea produciei din A
1
cu 5/3 uniti. Variaia
profitului are expresia:

2 4 0 3
1
3
2
3
5
3
5
3 3
+ + = = ( ) . u m c .

Prin urmare profitul total ar scdea cu 5/3 u.m. la fiecare unitate din A
3
inclus
n programul de fabricaie. n consecin A
3
nu este rentabil a fi realizat dac se
are n vedere n exclusivitate criteriul de performan ales. Dup cum vom
vedea n continuare, situaia produsului A
3
se va schimba n raport cu alte
criterii de evaluare.

Resursele R
1
i R
3
sunt prevzute a se consuma n ntregime
deoarece n soluia optim . Din resursa R x x
4 6
0

= =
2
rmn nefolosite
uniti. Cum aceste consideraii premerg definitivarea programului de
fabricaie, analiza modului de utilizare a resursei R
x
5
10

=
2
poate fi continuat n mai
multe direcii. Astfel, conducerea firmei ar putea decide utilizarea celor 10
uniti n alte activiti productive care nu au fost luate n considerare.
Alternativ, se poate impune condiia utilizrii integrale a resursei R
2
(vezi
seciunea urmtoare). n fine, o a treia cale ar fi suplimentarea disponibilelor
din R
1
i R
3
n scopul utilizrii mai bune a resursei R
2
, firete n ipoteza c
acest lucru este posibil i c structura sortimental de producie gsit este n

6. Analiza sensitivitii. Postoptimizare. Programare parametric

89
concordan cu opiunile firmei. Analiza acestui scenariu ne va prilejui o
interesant aplicare a teoriei dualitii. ntr-adevr, preurile duale optime ale
celor trei resurse sunt u u u
1
5
3 2 3
2
3
0

= = = , , (vezi exemplul 4.4.2) i ele arat
cu ct crete profitul maxim la o suplimentare cu o unitate a disponibilului
acestora. Aa stnd lucrurile, conducerea firmei ar fi mai interesat s mreasc
disponibilul din R
1
dect pe cel din R
3
dar nici o cretere combinat nu poate fi
exclus din start. S notm cu b
1
i b
3
cantitile suplimentare din resursele
R
1
, R
3
pe care firma ar putea s le direcioneze ctre producerea bunurilor A
1
,
A
2
, A
3
. Noul vector al disponibilului ar fi:

b
b
b
b
b
b b ' =
+
+

(
(
(
=

(
(
(
+

(
(
(
= +
130
100
140
130
100
140
0
1
3
1
3



astfel c soluia asociat bazei B devine:

x
B
x
x
x
B b B b B b
b
b
' ' =

(
(
(
(
=

=

+

=

(
(
(
+

(
(
(
(

(
(
(
(
=
2
5
1
1 1 1
40
10
50
2
3
0
1
3
1
3
1
1
3
1
3
0
2
3
1
0
3



=
+

+

(
(
(
(
(
40
2
3 1
1
3 3
10
1
3 1
1
3 3
50
1
3 1
2
3 3



b b
b b
b b


Meninerea structurii sortimentale optime actuale nseamn:

x
B
b b
b b
b b
'
+
+

0
2
3 1
1
3 3
40
1
3 1
1
3 3
10
1
3 1
2
3 3
50





Variaia valorii (optime) a funciei obiectiv la modificrile survenite este dat
de formula:


I. PROGRAMARE LINIARA 90
f c
B
x
B
c
B
x
B
c
B
B b B b c
B
B b c
B
B b u b = =

+



=

=

= ' ( )
1 1 1 1

= +
5
3 1
2
3
3
b b

Maximiznd f pe domeniul determinat de inegalitile precedente se gsete
(fie grafic fie cu ajutorul algoritmului simplex):

( b
1
)* = 30 ( b
3
)* = 0 (max)f = 50

Recapitulnd, dac vectorul disponibilului ar fi:

b =
+
+

(
(
(
=

(
(
(
130 30
100
140 0
160
100
140


atunci resursele ar fi n intregime consumate, combinaia optim de bunuri ar
fi:

x
1
1
3
50 30 40

= = uniti din A
1
, x
2
2
3
40 30 60

= + = uniti din A
2
, x
3
0

=

iar profitul maxim ar avea valoarea 310 + 50 =360 u.m.

S presupunem acum c firma hotrte s pstreze pentru mai multe
perioade (luni) viitoare actuala structur sortimental n cadrul creia produce
numai bunurile A
1
i A
2
. Pe parcurs ns pot interveni modificri ale
profiturilor unitare sau schimbri de la o lun la alta n disponibilele resurselor
(urmare a unor modificri n structura costurilor de producie, scderi i/sau
creteri de preuri pe piaa de desfacere, schimbri n structura programelor de
aprovizionare cauzate de modificarea preurilor materiilor prime la furnizori
etc.)
n aceast situaie conducerea este interesat n a ti ntre ce limite
poate varia profitul unui produs sau disponibilul unei resurse astfel nct
actuala structur a produciei s se menin.

S considerm profitul unitar al bunului A
1
a crui valoare luat n
calculele anterioare este 3u.m. Recalculm costurile reduse c
3
,c
4
i c
6

nlocuind 3 cu profitul variabil c
1
(vezi tabelul 6.1.4) i impunem condiia de
optimalitate c
j
0. Obinem:


6. Analiza sensitivitii. Postoptimizare. Programare parametric

91
c c
c c
c c
3
1
3
2
3
5
3 1
5
3 1
10
3
4
2
3
1
3
1
3 1
8
3
1
3 1
6
1
3
1
3
2
3 1
2
3 1
4
3
4 0 2
4 0 0
4 0 0
= + + =
= + + =
= + + =
( )
( ) ( )
( ) ( )
c
c
c
0
0
0
=


din care rezult intervalul de stabilitate: 2 c
1
8. Deci att timp ct profitul
pe unitatea de produs A
1
se menine ntre 2 i 8 u.m. programul de producie
optim rmne neschimbat:

x x x
1 2 3
50 40 0

= =

numai profitul total maxim variaz: max f = 50 c
1
+4 40 = 160 + 50 c
1
.

Pentru profiturile unitare ale bunurilor A
2
i A
3
intervalele de stabilitate
corespunztoare sunt
3
2 2 3
11
3
6 c c , .

Recalculm valorile variabilelor bazice x
2
, x
5
i x
1
reunite n vectorul
x
B
, nlocuind disponibilul actual al resursei R
1
de 130 uniti cu disponibilul
variabil b
1
. Condiia de optimalitate x
B
0 conduce la inegalitile:

x
x
x
B
b b b
b
b
2
5
1
1
1
2
3
1
3
1
3
1
3
1
3
2
3
1
2
3 1
140
3
1
3 1
140
3
1
3 1
280
3
100
140
0
1
0
100
140
100 0

(
(
(
=

(
(
(
=

(
(
(

(
(
(
=

+
+

(
(
(

c


b b b
1 1 1
70 160 280 , ,

din care rezult intervalul de stabilitate: 70 b
1
160. n concluzie, dac firma
menine disponibilul resursei R
1
ntre 70 i 160 uniti n combinaia optim
vor intra numai bunurile A
1
i A
2
dar n cantitile variabile:

x b x b
1
280
3
1
3 1 2
2
3 1
140
3

= =

profitul maxim fiind i el variabil:

(max) ( ) ( ) f b b = b + = + 3 4
280
3
1
3 1
2
3 1
140
3
280
3
5
3 1



I. PROGRAMARE LINIARA 92
nc o dat remarcm faptul c viteza de cretere a profitului este dat
tocmai de preul dual optim u
1
5
3

= u.m. al resursei R
1
.

Pentru resursele R
2
i R
3
intervalele de stabilitate corespunztoare sunt
b
2
90 respectiv 65 b
3
170.


6.2 Postoptimizare: cazul n care se modific unii coeficieni din
funcia obiectiv

Fie:
Problema original Problema modificat
( )
(max)
P
Ax b
x
f c
=

0
x x
( ' )
(max) ' '
P
Ax b
x
f c
=

0

unde este vectorul noilor coeficieni ai funciei obiectiv. S
presupunem c (P) a fost deja rezolvat cu ajutorul algoritmului simplex i c
soluia optim x* este asociat unei baze B. Se remarc faptul c (P) i (P') au
aceeai mulime de soluii admisibile. n consecin, x* este o soluie de baz
admisibil pentru programul modificat (P'). Pentru a testa optimalitatea soluiei
x* n raport cu noua funcie obiectiv se recalculeaz costurile reduse:
c c c c
n
' ( , ,..., )
' ' '
=
1 2

=

c c B A c j
j
B j
j
' ,
1
J

Dac toi c'
j
0 , j J , x* este soluie optim i pentru (P'). n caz contrar,
rezolvarea programului (P') se face cu ajutorul algoritmului simplex primal,
lund x* ca soluie de start.

Exemplul 6.2.1 n studiul, de caz din seciunea 6.1 am determinat
intervalele de stabilitate ale soluiei optime x* n raport cu fiecare din
coeficienii c
1
, c
2
, c
3
ai funciei obiectiv. Deoarece valorile actuale 3, 4, 2 u.m.
ale acestor coeficieni sunt situate n interiorul intervalelor de stabilitate
corespunztoare, conchidem c soluia x* este stabil n raport cu fiecare din ei
i chiar cu ansamblul lor: variaii "mici" (de cteva procente, s zicem) ale
profiturilor unitare n jurul valorilor actuale nu modific soluia optim gsit
i implic doar o variaie "mic" a profitului total.


6. Analiza sensitivitii. Postoptimizare. Programare parametric

93
Pentru exemplificare, s presupunem c profiturile bunurilor A
1
i A
3

cresc cu 5% iar profitul bunului A
2
scade cu 10%:

= + = = = = + = c c c
1
5
100 2
10
100 3
5
100
3 3 315 4 4 3 6 2 2 , , 21 ,

nlocuind n tabelul 6.1.4 coeficienii c
1
= 3 , c
2
= 4 , c
3
= 2 cu coeficienii de
mai sus i recalculnd costurile reduse rezult tabelul:

3,15 3,6 2,1 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6

3,6 A
2
40 0 1 -1/3 2/3 0 -1/3
0 A
5
10 0 0 2/3 -1/3 1 -1/3
3,15 A
1
50 1 0 5/3 -1/3 0 2/3
f 301,5 * * 1,95 1,35 * 0,9

Tabelul 6.2.1

Prin urmare efectul combinat al schimbrilor survenite n structura vectorului
profiturilor unitare se materializeaz doar ntr-o reducere a profitului total cu
310 - 301,5 = 8,5 u.m. ceeace reprezint 2,74% din valoarea iniial!

Altfel stau lucrurile dac, de exemplu, profitul unitar al bunului A
1
ar fi
de 2 u.m. n loc de 3 u.m. Ne reamintim c 2 este extremitatea stng a
intervalului de stabilitate al soluiei x* n raport cu c
1
= 3! Introducem aceste
modificri n tabelul 6.1.4 obinnd tabelul 6.2.2.

2 4 2 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6

4 A
2
40 0 1 -1/3 2/3 0 -1/3
0 A
5
10 0 0 2/3 -1/3 1 -1/3
2 A
1
50 1 0 5/3 -1/3 0 2/3
f 260 * * 0 2 * 0

Tabelul 6.2.2

Se observ c c
3
= 0 , c
6
= 0 de unde tragem concluzia c problema are mai
multe soluii optime de baz (vezi seciunea 4.2). Acestea se obin introducnd
succesiv n baza curent coloanele A
3
i A
6
(vezi tabelele 6.2.3 - 6.2.4).





2 4 2 0 0 0
I. PROGRAMARE LINIARA 94
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
4 A
2
45 0 1 0 1/2 1/2 -1/2
2 A
3
15 0 0 1 -1/2 3/2 -1/2
2 A
1
25 1 0 0 3/2 -5/2 3/2
f 260 * * * 2 0 0

Tabelul 6.2.3

2 4 2 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6

4 A
2
65 1/2 1 1/2 1/2 0 0
0 A
5
35 1/2 0 3/2 -1/2 1 0
0 A
6
75 3/2 0 5/2 -1/2 0 1
f 260 0 * 0 2 * *

Tabelul 6.2.4

Celelalte dou soluii optime de baz au componentele:

x x x
1 2 3
25 45 15

= = = , , (val. var. de abatere: ) x x x
4 5 6
0

= = =

respectiv:

x x x
1 2 3
0 65

= = , , 0 = 75

(val. var. de abatere: ) x x x


4 5 6
0 35

= = = , ,

Ne reamintim c n aceast situaie exist o infinitate de soluii optime de
forma:

x x x x = + +


1 2 3
cu
1
,
2
,
3
0 i
1
+
2
+
3
= 1

(combinaii convexe ale soluiilor optime de baz),n care:

x
1
= 50
1
+ 25
2
x
4
= 0
x
2
= 40
1
+ 45
2
+ 65
3
x
5
= 10
1
+ 35
3

x
3
= 15
2
x
6
= 75
3


Dac se ia de exemplu:
1
= 3/5 ,
2
= 1/5 ,
3
= 1/5 se gsete soluia:

x
1
= 35 , x
2
= 46 , x
3
= 3 ( x
4
= 0 , x
5
= 13 , x
6
= 15 )


6. Analiza sensitivitii. Postoptimizare. Programare parametric

95
care, dei optim, nu este o soluie de baz avnd cinci componente nenule,
cu dou mai mult dect numrul restriciilor!

S ne ntoarcem la problema stabilitii soluiei x* n situaia micorrii
profitului bunului A
1
la 2 u.m.
Urmrind datele din tabelele 6.2.3 - 6.2.4 se constat c o nou scdere orict
de mic a profitului bunului A
1
face ca soluiile x** i x** s nu mai fie
optime! Soluia care maximizeaz profitul este x*** i ea prevede producerea
n exclusivitate a bunului A
2
spre deosebire de soluiile x* i x** care au o
structur sortimental mai larg! Astfel o mic scdere a profitului bunului A
1

sub valoarea actual de 2 u.m. antreneaz schimbri chiar n structura
sortimental a programului de producie! n consecin, soluia x* este
instabil n raport cu eventualele oscilaii ale profitului bunului A
1
n jurul
valorii de 2 u.m.

Exemplul 6.2.2 n studiul de caz din seciunea 6.1 a fost avansat o
propunere de program de producie care urmrea maximizarea profitului total.
n prezent, firma vinde produsele A
1
, A
2
, A
3
la preurile 12,18 respectiv
16 u.m. astfel c profitul maxim de 310 u.m. ar corespunde unui venit total de:

50 12 + 40 18 = 1320 u.m.
n varianta construit rata profitului ar fi de
310
1320
100 23 5% = , . Se pune firesc
ntrebarea dac propunerea de plan elaborat n 6.1 maximizeaz venitul total
al firmei, bineneles n ipotezele date adic mrginindu-ne numai la resursele
R
1
, R
2
, R
3
i la bunurile A
1
, A
2
, A
3
! Pentru a rspunde la ntrebare, n tabelul
simplex optim 6.1.4 schimbm coeficienii c
1
= 3, c
2
= 4, c
3
= 2 ai funciei
"profit total" f cu coeficienii = = = c c
1 2
12 18 , c
3
16 , ai funciei "venit total" f'
i recalculm costurile reduse c c c
3 4 6
, , .Gsim: = = = c c c
3 4 6
2 8 , , 2.
Deoarece < c
3
0, soluia care maximizeaz profitul total nu conduce i la un
venit maxim: introducerea bunului A
3
n combinaia actual ar majora venitul
actual de 1320 u.m. cu 2 u.m. pe unitatea de produs A
3
!

Aplicnd algoritmul simplex primal, ntr-o singur iteraie se obine
soluia care maximizeaz venitul total (vezi tabelele 6.2.5 - 6.2.6):

x
1
25

= u. din A
1
, u. din A x
2
35

=
2
, u. din A x
3
15

=
3




12 18 16 0 0 0
I. PROGRAMARE LINIARA 96
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
18 A
2
40 0 1 -1/3 2/3 0 -1/3
0 A
5
10 0 0 2/3 -1/3 1 -1/3
12 A
1
50 1 0 5/3 -1/3 0 2/3
f' 1320 * * -2 8 * 2
18 A
2
35 0 1 0 1/2 1/2 -1/2
16 A
3
15 0 0 1 -1/2 3/2 -1/2
12 A
1
25 1 0 0 1/2 -5/2 3/2
f' 1350 * * * 7 3 1

Tabelele 6.2.5 - 6.2.6

La un venit maxim de 1350 u.m. profitul firmei ar fi de: 25 3 + 35 4
+ 15 2 = 245 u.m. iar rata profitului ar fi n acest caz de numai 18,1%.

Dei rata profitului a sczut cu 23,5 - 18,1 = 5,4% noua soluie are o
serie de caliti: asigur o producie diversificat ntruct se produc toate
bunurile i utilizeaz integral resursele disponibile. S observm deasemeni c
preurile duale optime ale celor trei resurse s-au modificat:

u u u
1 2 3
7 3

= = , , 1 = fa de u u u
1
5
3 2 3
2
3
0

= = = , ,

Se justific astfel afirmaia din seciunea 2.4 potrivit creia preurile
duale nu reflect valoarea intrinsec a resurselor ci arat msura implicrii
acestora n procesul de optimizare a obiectivului urmrit.


Exemplul 6.2.3 Am vzut c n soluia care maximiza profitul, resursa
R
2
nu era folosit n ntregime. Se poate pune problema determinrii unei
soluii care s maximizeze profitul cu condiia utilizrii integrale a acestei
resurse. Pentru a obine un rspuns prin reoptimizare, transformm variabila de
abatere x
5
n variabil artificial nlocuind n funcia obiectiv coeficientul su
c
5
= 0 cu o constant negativ -M << 0. Introducem acest coeficient n tabelul
6.1.4 i aplicm algoritmul simplex primal. Invitm cititorul s fac calculele
necesare anunndu-l c va trebui s obin soluia care maximizeaz venitul
firmei.





6. Analiza sensitivitii. Postoptimizare. Programare parametric

97
6.3 Postoptimizare: cazul n care modificrile se produc n
vectorul termenilor liberi


x x
)
x
Problema original Problema modificat
( )
(max)
P
Ax b
x
f c
=

0 ( ' )
'
(max)
P
Ax b
x
f c
=

0

unde este noul vector de termeni liberi. Se observ uor c
(P) i (P') au aceleai baze dual admisibile. Fie B o baz optimal a
programului (P). Calculm soluia x' a programului modificat (P'), asociat
bazei B:
(
b b b b
m
T
' , ,...,
' ' '
=
1 2

x'
B
=B
-1
b' x'
S
=0

Cum am remarcat deja, x' este o soluie dual admisibil pentru (P'). Dac x'
B

0 atunci x' este i admisibil i deci optim. Altminteri, rezolvarea problemei
(P') se va face cu ajutorul algoritmului simplex dual, lund x' ca soluie de
start.


6.4 Postoptimizare: introducerea unei noi activiti n model

Problema original Problema modificat
( )
(max)
P
A x b
x
f c
j
j
j
n
j
j j
j
n
=

=
=

1
1
0 ( ' ) , ;
(max) '
P
A x A x b
x j n x
f c x c x
j
j
n
n
j
n
j n
j j
j
n
n n
+ =

= +

+
+
=
+
=
+ +
1
1
1
1
1
1 1
0 1 0

Dac este soluia optim a programului (P),
asociat unei baze B, atunci este evident o soluie
admisibil pentru (P') asociat aceleai baze B. Pentru a decide asupra
optimalitii soluiei x' calculm:
x x x x
n
T * * * *
( , ,..., ) =
1 2
x x x x
n
T '
( , ,..., , )
* * *
=
1 2
0



I. PROGRAMARE LINIARA 98
c c B A c
n
B n
n
+
+
+
=
1
1 1
1


Dac cn+ 1 0 atunci x' este soluie optim pentru problema (P'): noua
activitate A
n+1
nu este "rentabil" n raport cu grupul activitilor reprezentate
n x
*
.
Dac c , aplicm n continuare algoritmul simplex, lund x' ca soluie de
start; la prima iteraie, noua coloan A
n+ < 1 0
n+1
va intra n baz.

Exemplul 6.4.1 Considerm problema maximizrii profitului firmei X
din seciunea 6.1; firma dorete s introduc n fabricaie i produsul A' ale
crui consumuri specifice din resursele R
1
, R
2
, R
3
sunt 2 , 3 respectiv 1 uniti.
Remarcm faptul c A' realizeaz un consum superior din resursa R
2
i este de
ateptat ca includerea sa n programul de fabricaie s conduc la o utilizare
mai bun a acestei resurse (ne reamintim c n soluia care maximiza profitul
total resursa R
2
era excedentar!). Deocamdat preul produsului A' nu este
fixat i ca urmare nici profitul unitar nu este cunoscut. n ce condiii ar putea fi
inclus A' n combinaia care maximizeaz profitul?

Notm cu A
7
coloana consumurilor specifice relative la bunul A' i fie
c
7
profitul unitar al acestui bun. Din teoria general rezult c A' nu este inclus
n combinaia optim att timp ct costul su redus n raport cu baza optimal
B = |A
2
, A
5
,A
1
| este nenegativ. Calculm c
7
folosind datele din tabelul 6.1.4:

| |
c c B A c c c
B
7
1 7
7
2
3
1
3
1
3
1
3
1
3
2
3
7 7
4 0 3
0
1
0
2
3
1
4 = =

(
(
(

(
(
(
=



Atunci:
c
7
0 c
7
4 u.m.

n concluzie, dac profitul estimat pentru bunul A' este inferior valorii de 4
u.m. introducerea lui n fabricaie nu implic o cretere a profitului total.
Pentru a obine un profit superior, conducerea firmei poate aciona n dou
direcii: fie s creasc preul cu toate consecinele care decurg din aceast
decizie n ceea ce privete desfacerea pe pia fie s reduc costurile de
producie la acest bun. Dac, de exemplu, profitul unitar al bunului A' ar putea
atinge valoarea c
7
= 5 u.m. atunci c
7
= -1 i profitul total ar crete cu 1
u.m. la fiecare unitate din produsul A' inclus n programul de fabricaie.
Pentru a obine noua
6. Analiza sensitivitii. Postoptimizare. Programare parametric

99


combinaie optim adugm tabelului 6.1.4 coloana A
7
= B
-1
A
7
, costul redus
c
7
i aplicm algoritmul simplex primal.


3 4 2 0 0 0 5
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

4 A
2
40 0 1 -1/3 2/3 0 -1/3 1
0 A
5
10 0 0 2/3 -1/3 1 -1/3 2
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
f 310 * * 5/3 5/3 * 2/3 -1
4 A
2
35 0 1 -2/3 5/6 -1/2 -1/6 0
5 A
7
5 0 0 1/3 -1/6 1/2 -1/6 1
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
f 315 * * 2 3/2 1/2 1/2 *

Tabelele 6.4.1 - 6.4.2

Se obine soluia :

x x x f
1 2 7
50 35 5 315

= = = = (max) u.m.

Propunem cititorului s interpreteze rezultatul i s elaboreze o analiz
succint a acestuia inspirndu-se din comentariile din ntreg paragraful 6 (dac
nu cumva are idei mai bune...)



m
m
6.5 Postoptimizare: adugarea unei restricii

Problema original Problema modificat

( )
...
...
........................................
...
, ,...,
(max) ...
P
a x a x a x b
a x a x a x b
a x a x a x b
x x x
f c x c x c x
n n
n n
m m mn n
n
n n
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
1 2
1 1 2 2
0 0 0
+ + + =
+ + + =
+ + + =

= + + +

( ' )
...
...
.........................................
...
...
, ,...,
(max) ...
P
a x a x a x b
a x a x a x b
a x a x a x b
x x x
x x x
f c x c x c x
n n
n n
m m mn n
n n
n
n n
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
1 1 2 2
1 2
1 1 2 2
0 0 0
+ + + =
+ + + =
+ + + =
+ + +

= + + +


I. PROGRAMARE LINIARA 100


Fie B baza optim a programului (P) gsit prin aplicarea algoritmului simplex.
n consecin, forma explicit a problemei (P) n raport cu baza B:

( )
,
, ; , P
x a x b i
x i I x j
f c x f
B
i
ij
j
i
j J
i j
j
j
j J
+ =

+ =

0 0
I
J

(6.5.1)

este disponibil, constantele alctuitoare formnd tabelul simplex optim. Dac
soluia optim x
*
a programului (P) verific restricia suplimentar atunci x
*

este soluia optim i a problemei extinse. n caz contrar, adic atunci cnd :

(6.5.2)
1 1 2 2
x x x
n n
* * *
... + + + >

procedm dup cum urmeaz:

Transformm inegalitatea suplimentar n egalitate adugnd
variabila de abatere x
n+1
:

(6.5.3)
1 1 2 2 1
x x x x
n n n
+ + + + =
+
...

Folosind forma explicit (6.5.1.) eliminm din (6.5.3.) variabilele
bazice x
i
, iI (n caz c apar). Obinem o egalitate de forma:


j j n
j J
x x + =
+

1
(6.5.4.)

Se constat imediat c este negativ deoarece :

= <
=
j j
j
n
x
*
0
1

conform (6.5.2.)
Adugnd (6.5.4.) la (6.5.1) obinem forma explicit a programului extins P' n
raport cu baza B' format din coloanele bazei B (coloane extinse cu
coeficienii corespunztori din restricia suplimentar ! ) plus coloana unitar:

A
n+1
=(0,0,...,o,1)
T
R
n+1


6. Analiza sensitivitii. Postoptimizare. Programare parametric

101
Soluia asociat acestei baze:




4
b
=
4
b
x
i
=b
i
,iI ; x
n+1
=<0 ; x
j
=0 , jJ (6.5.5)

nu este admisibil dar verific criteriul de optimalitate, altfel spus este dual
admisibil. n consecin, pentru rezolvarea problemei extinse (P') vom aplica
algoritmul simplex dual, pornind de la soluia (6.5.5).

Exemplul 6.5.1 n studiul de caz din seciunea 6.1, la elaborarea
programului de producie care maximizeaz profitul total, au fost avute n
vedere numai resursele R
1
, R
2
, R
3
. Dac n procesul de producie sunt folosite
i alte resurse, se nate ntrebarea dac nu cumva soluia gsit implic
consumuri ce depesc disponibilul din acestea. Pentru exemplificare, s
considerm o a patra resurs R
4
al crei stoc disponibil b
4
nu este deocamdat
stabilit. Pentru cele trei bunuri A
1
, A
2
, A
3
consumurile specifice din R
4
sunt de
2, 2 respectiv 1 uniti. Condiia de ncadrare a consumului din R
4
n disponibil
conduce la inegalitatea:
2 (6.5.6) 2
1 2 3
x x x + +
Pentru ca soluia care maximizeaz profitul total:
(6.5.7) x x x
1 2 3
50 40 0

= =
s satisfac restricia de mai sus este necesar ca:

2 50 + 2 40 +1 0 b
4
b
4
180

Prin urmare dac firma reuete s asigure un disponibil de cel puin 180
uniti din R
4
, programul (6.5.7) nu sufer modificri. Dac b
4
< 180, soluia
(6.5.7) nu mai satisface restricia suplimentar (6.5.6).S vedem ce se ntmpl
n acest caz!
Transformm (6.5.6) n egalitate, adugnd variabila de abatere x
7
:

2 2
1 2 3 7
x x x x + + + = (6.5.8)

Exprimm variabilele bazice x
1
, x
2
n funcie de cele nebazice folosind datele
din tabelul 6.1.4:


40 40
50 50
2
1
3 3
2
3 4
1
3 6 2
1
3 3
2
3 4
1
3 6
1
5
3 3
1
3 4
2
3 6 1
5
3 3
1
3 4
2
3 6
= + = + +
= + + = +
x x x x x x x x
x x x x x x x x
(6.5.9)
I. PROGRAMARE LINIARA 102

Eliminnd x
1
, x
2
din (6.5.8) se gsete n final:


+ =
5
3 3
2
3 4
2
3 6 7 4
180 x x x x b (6.5.10)

Introducem coeficienii egalitii (6.5.10) n tabelul simplex 6.1.4:

3 4 2 0 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

4 A
2
40 0 1 -1/3 2/3 0 -1/3 0
0 A
5
10 0 0 2/3 -1/3 1 -1/3 0
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
0 A
7
b
4
- 180 0 0 -5/3 -2/3 0 -2/3 1
f 310 * * 5/3 5/3 * 2/3 *

Tabelul 6.5.1

Conform instruciunilor algoritmului simplex dual, A
7
prsete baza curent.
Raportnd costurile reduse c
j
la elementele corespunztoare, dar negative din
linia "A
7
" a tabelului 6.5.1 gsim c A
3
sau A
6
trebuie s intre n baz pentru a
asigura dual admisibilitatea noii soluii (adic satisfacerea testului de
optimalitate). Din punct de vedere economic,se impune introducerea lui A
3

pentru c aceasta ar nsemna includerea bunului A
3
n programul de
fabricaie, bineneles n ipoteza c noua soluie ar fi i primal admisibil!

nlocuind A
7
cu A
3
n baza curent obinem soluia dual admisibil din
tabelul 6.5.2 (pivotul transformrii este deja marcat n tabelul 6.5.1):

CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

4 A
2
76 - (1/5)b
4
0 1 0 4/5 0 -1/5 -1/5
0 A
5
(2/5)b
4
- 62 0 0 0 -3/5 1 -3/5 2/5
3 A
1
b
4
- 180 1 0 0 -1 0 0 1
2 A
3
108 -(3/5)b
4
0 0 1 2/5 0 2/5 -3/5
f 130 + b
4
* * * 1 * 0 1

Tabelul 6.5.2
Condiia de admisibilitate primal conduce la inegalitile:


6. Analiza sensitivitii. Postoptimizare. Programare parametric

103


76 0 380
62 0 155
130 0 130
108 0 180
155 180
1
5 4 4
2
5 4 4
4 4
3
5 4 4
4




b b
b b
b b
b b
b (6.5.11)
n concluzie, dac b
4
satisface (6.5.11) atunci soluia din tabelul 6.5.2 adic:
x b x b x b
1 4 2
1
5 4 3
3
5 4
130 76 108 = = = (6.5.12)
este optim, aducnd firmei, n caz de realizare un profit de 130 + b
4
u.m.
Toate resursele sunt prevzute a fi utilizate integral cu excepia lui R
2
din care
rmn x b
2
62 =
5 5 4
uniti.
Observm c dac b
4
= 155 uniti din R
4
, toate resursele sunt folosite,
programul de fabricaie (6.5.12) va avea componentele :
x
1
= 25 x
2
= 45 x
3
= 15
i profitul corespunztor ar fi de 130 +155 = 285 u.m.
Pe msur ce b
4
se apropie de valoarea maxim 180 crete i profitul
ctre valoarea 130 + 180 = 310 u.m. n acelai timp cantitatea nefolosit din
R
2
se mrete apropiindu-se de valoarea 10 iar producia bunului A
3
tinde ctre
0. Pentru b
4
= 180 regsim soluia (6.5.7).

Exemplul 6.5.2 Relum problema maximizrii profitului firmei X.
Care va fi programul de producie dac se impune cerina ca cel puin 8% din
venitul firmei s fie realizat din desfacerea bunului A
3
?
Folosind preurile anunate n exemplul 6.2.2 noua condiie se formalizeaz
prin inegalitatea:

16 (6.5.13) 12 18 16 6 9 92 0
3 1 2 3 1 2
8
100
x x x x x x x + + + ( )
3


Introducem variabila de abatere x
7
i eliminm variabilele bazice x
1
, x
2
folosind
relaiile (6.5.9). Rezult egalitatea:

+ = 99 4 660
3 4 6 7
x x x x
ai crei coeficieni se ataeaz tabelului simplex 6.1.4, dup care se aplic
algoritmul simplex dual (vezi tabelele 6.5.3 - 6.5.4)

I. PROGRAMARE LINIARA 104

ntr-o singur iteraie se obine programul optim:

x x x f
1
8
9 2
2
9 3
2
3
8
9
38 42 6 298
** ** **
(max) = = = = (6.5.14)

(valorile variabilelor de abatere: x x x
4 6 5
4
9
0 5
** ** **
, = = = )

3 4 2 0 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

4 A
2
40 0 1 -1/3 2/3 0 -1/3 0
0 A
5
10 0 0 2/3 -1/3 1 -1/3 0
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
0 A
7
-660 0 0 -99 -4 0 -1 1
f 310 * * 5/3 5/3 * 2/3 *
A
2
380/9
A
5
50/9
A
1
350/9
A
3
20/3
f 2690/9

Tabelele 6.5.3 - 6.5.4

Acest exemplu ne ofer ocazia de a semnala i discuta un aspect nou,
care nu a fost avut n vedere n consideraiile teoretice dezvoltate pn acum.
Deoarece firma X produce aparatur electronic este de presupus c bunurile
A
1
, A
2
, A
3
se msoar n uniti indivizibile ca de exemplu n buci. Dac
bunul A
1
este n fapt un calculator, a produce o fracie din el este lipsit de
sens; ori se fabric un ntreg calculator ori nu. Prin urmare n orice soluie
admisibil valorile variabilelor x
1
, x
2
, x
3
trebuie s fie nu numai nenegative
dar i ntegi! Iat de ce soluia (6.5.14) nu poate fi nsuit.

Vom proceda la rotunjirea componentelor fracionare n ideea c soluia
optim ntreag se afl n "apropierea" soluiei optime "fracionare". Operaia
de rotunjire trebuie astfel fcut nct rezultatul s fie o soluie admisibil adic
s verifice restriciile problemei. Este firesc s acceptm soluia obinut n
acest mod cel puin ca soluie suboptimal - n unele contexte practice acest
lucru este perfect justificat de faptul c valorile permise variabilelor sunt
suficient de mari astfel nct efectul rotunjirii s fie neglijabil.

Rotunjind superior x i inferior , se gsete combinaia:
1
**
x
2
**
x
3
**

x x x
1 2 3
39 42 6 = = =
6. Analiza sensitivitii. Postoptimizare. Programare parametric

105

care se ncadreaz n disponibilele date dar nu verific restricia suplimentar
(6.5.13), deoarece valoarea produciei din A
3
reprezint numai 7,3% din
valoarea ntregii producii.
Rotunjind inferior x , x i superior se obine o soluie admisibil
ntreag:
1
**
2
**
x
3
**


x x x f x
1 2 3
38 42 7 296 = = = = ( ) u.m.

care nu este optim. Cea mai bun soluie ntreag este:

u.m. (6.5.15) x x x f x
1
0
2
0
3
0 0
37 43 7 297 = = = = ( )

n cadrul acestui program, valoarea produciei din bunul A
3
reprezint 8,4%
din valoarea ntregii producii.
Soluia (6.5.15) va fi obinut n paragraful urmtor prin aplicarea unei
proceduri care const ntr-o suit de postoptimizri cu adugare de restricii.


6.6 Postoptimizare: modificarea unei coloane din matricea
coeficienilor

Fie:

Problema original Problema modificat
( ) , , ,
(max)
P
A x A x A x b
x x x
f c x c x c x
n
n
n
n n
1
1
2
2
1 2
1 1 2 2
0 0 0
+ + + =

= + + +

L
L
L
( ' )
( )'
, , ,
(max)
P
A x A x A x b
x x x
f c x c x c x
n
n
n
n n
1
1
2
2
1 2
1 1 2 2
0 0 0
+ + + =

= + +

L
K
K

unde:
( )' , A A A c c
1 1 1
1 1
= + = + c
1


Dup cum se observ, modificrile apar n prima coloan a matricii A i ele
sunt incluse n vectorul A
1
. A fost prevzut i o modificare c
1
coeficientului
variabilei x
1
n funcia obiectiv i aceasta din raiuni economice: de regul,
schimbarea tehnologiei de realizare a unui bun duce la modificarea costurilor
de producie, cu efect nemijlocit asupra preului i profitului. Formal, cazul
strict indicat n titlul seciunii se obine pentru c
1
= 0.


I. PROGRAMARE LINIARA 106


Presupunem ca i pn acum c problema original (P) a fost rezolvat
cu ajutorul algoritmului simplex primal; se cunoate deci soluia sa optim x*
i baza B creia i este asociat. Dou situaii sunt posibile:

1) Coloana A
1
care se modific, nu face parte din baza B. Atunci n
soluia optim x* vom avea astfel c x* va fi o soluie admisibil a
problemei modificate (P') i chiar o soluie de baz fiind asociat aceleeai
x
1
0

=

baze B. Perturbarea coloanei A
1
are efect direct numai asupra costului redus al
variabilei x
1
conform formulei:

= = + = +

c c B A c c B A c c B A c c
B B B
1
1 1
1
1 1
1
1 1
1 1
( )' ( ) ( ) c
1
(6.6.1)

Atunci:

dac c
1
0 atunci x* este soluie optim i pentru (P');
dac c
1
< 0 , pentru rezolvarea problemei (P') vom aplica n
continuare algoritmul simplex primal lund x* ca soluie de start. Bineneles,
n tabelul simplex asociat soluiei x* vom nlocui A B A
1 1
=
1
cu :

( )' ( )' ( ) A B A B A B A A
1 1 1 1 1 1 1 1
= = + = +

A
1
(6.6.2)

i c
1
cu c
1
calculat n (6.6.1).
Dup cum se vede modul de tratare al acestui caz este foarte asemntor cu cel
prezentat n seciunea 6.4 la adugarea unei noi activiti n model.

Exemplul 6.6.1 Relum problema maximizrii profitului firmei X din
seciunea 6.1. Ne reamintim c n raport cu criteriul de performan amintit,
bunul A
3
nu era inclus n combinaia optim. Departamentul de cercetare al
firmei a realizat ns o nou tehnologie de fabricare a acestui bun care necesit
consumurile unitare 5/4 , 7/4 , 5/2 din resursele R
1
, R
2
, R
3
.Costurile de
producie fiind altele, conducerea firmei dorete s cunoasc n ce condiii
bunul A
3
- realizat dup noua tehnologie - ar putea deveni rentabil.

Suntem n condiiile cazului tratat mai sus. Plecnd de la:





6. Analiza sensitivitii. Postoptimizare. Programare parametric

107

( )' A A A
3 3 3
5
4
7
4
5
2
1
4
1
4
1
2
1
2
3
= +
(

(
(
(
=

(
(
(
+

(
(
(



i folosind elementele tabelului simplex 6.1.4, evalum:

A B A
3 1 3
2
3
1
3
1
3
1
3
1
3
2
3
1
4
1
4
1
2
1
3
1
6
5
12
0
1
0
= =

(
(
(

(
(
(
=

(
(
(

( )

astfel c:
( )' A A A
3 3 3
1
3
2
3
5
3
1
3
1
6
5
12
1
2
5
4
0
= + =

(
(
(
+

(
(
(
=

(
(
(

Cu formula 6.6.1 calculm costul redus asociat bunului A
3
:
| |
c c c c c c
3 3 3
5
3
1
3
1
6
5
12
3
5
3
1
12 3
7
4 3
4 0 3 ' = + = +

(
(
(
= + =
Bunul A
3
rmne n afara combinaiei optime atta timp ct:

c c
3 3
7
4
0 '

Dac de exemplu c
3
= 2 c
3
' = c
3
+ c
3
=2 + 2 = 4 u.m. atunci c = -1/4 i
A
3
3
devine rentabil aa cum rezult din tabelele simplex 6.6.1 - 6.6.2:

3 4 4 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6

4 A
2
40 0 1 0 2/3 0 -1/3
0 A
5
10 0 0 1/2 -1/3 1 -1/3
3 A
1
50 1 0 5/4 -1/3 0 2/3
f 310 * * -1/4 5/3 * 2/3
4 A
2
40 0 1 0 2/3 0 -1/3
4 A
3
20 0 0 1 -2/3 2 -2/3
3 A
1
25 1 0 0 1/2 5/2 3/2
f 315 * * * 3/2 1/2 1/2

Tabelele 6.6.1 - 6.6.2

I. PROGRAMARE LINIARA 108
A rezultat programul optim
u.m. x x x f
1 2 3
25 40 20 315
** ** **
max = = = =
Se obine o cretere a valorii funciei obiectiv:
uniti monetare,conform formulei (4.2.3).
f x c = = =
3 3
20 1 4 5
**
( ) ( / )

2) Coloana A
1
care se modific face parte din baza optim B. Plecnd
de la problema original (P) vom rezolva problema intermediar :



(6.6.3) ( )
( )
, , ,
(max) ( )
P
A x A x A x A x b
x x x x
f c x c x c x c x
n
n n
n n
n n n
1
1
1
2
2
1
1
1 2 1
1 1 2 2 1 1
0 0 0 0
+ + + + =

= + + +

+
+
+
K
K
K


urmrind instruciunile date n seciunea 6.4 (adugarea unei noi activiti n
model). Este clar atunci c problema modificat (P') se deduce din (P
1
) prin
adugarea restriciei egalitate:

x
1
= x
n+1
(6.6.4)

Pentru a putea folosi instruciunile seciunii 6.5 (adugarea unei restricii)
transformm (6.6.4) n dou inegaliti de tip " ":

x x
x x
x x
x x
x x
n
n
n
n
n
1 1
1 1
1 1
1 1
1 1
0
0
=

+
+
+
+
+


Observaie: Este posibil ca programul intermediar (P
1
) s aibe optim
infinit. n aceast situaie revenim n rezolvarea problemei originale (P) i mai
precis la iteraia n care coloana A
1
(care se modific) a intrat n baza
curent B. Acolo, nlocuim coloana A
1
cu ( ) , recalculm
costul redusc
( ) A B A
1 1
=
1
1
i relum aplicarea algoritmului simplex.

Exemplul 6.6.2 Ne plasm din nou n cadrul studiului de caz din
seciunea 6.1. Am vzut c bunul A
2
intr n combinaia care asigur profitul
maxim. S presupunem c tehnologia de fabricaie a acestui bun se modific
astfel:



6. Analiza sensitivitii. Postoptimizare. Programare parametric

109


A A A A
2 2 2 2
2
1
1
3 2
1
3 4
2
1
1
1 2
0
1 4
=

(
(
(
=

(
(
(
= + =

(
(
(
+

(
(
(
( )'
/
/
/
/


Lsm variabil profitul bunului A
2
:

= + = + c c c c
2 2 2
4
2


propunndu-ne s studiem toate situaiile posibile. Obinem urmtoarea
problem modificat:

( ' )
(max) ( )
P
x x x x
x x x x
x x x x
x
f x c x x
j
1
3
2 2 3 4
1 2 3 5
1
3
4 2 3 6
1 2 2 3
130
2 100
2 3 140
0
3 4 2
+ + + =
+ + + =
+ + + =

= + + +




(am inclus deja i variabilele de abatere x
4
, x
5
, x
6
) Programul intermediar (P
1
)
din (6.6.3) are urmtoarea form:

( )
(max) ( )
P
x x x x x
x x x x
x x x x x
x
f x x x c x
j
1
1 2 3
1
2 7 4
1 2 3 5
1 2 3
1
4 7 6
1 2 3 2 7
2 130
2 100
2 3 140
0
3 4 2
+ + + =
+ + + =
+ + + =

= + + +




Dup cum se vede programul (P
1
) se deduce din (P) adugnd activitatea
A
7
A
2
cu coeficientul c
7
c
2
n funcia obiectiv f. Calculm costul redus
c
7
asociat noii activiti:

A A B A
7 2 1 2
2
3
1
3
1
3
1
3
1
3
2
3
1
2
1
4
1
4
1
4
0
1
0
0
0
= = =

(
(
(

(
(
(
=

(
(
(

( )


I. PROGRAMARE LINIARA 110

| |
c c A c c c
B
7
7
7
1
4
1
4 2 2
4 0 3
0
1 = =

(
(
(
=

Avem de examinat dou situaii:

1) c c
7 2
0 1 c
2
3

Soluia optim a programului (P
1
) se obine din soluia optim x* a
programului original (P) adugnd x
7
= 0. Tabelul simplex optim pentru
programul (P
1
) se obine formal din tabelul simplex optim (6.1.4) al
programului (P) adugnd A
7
i c
7
calculate mai sus:


3 4 2 0 0 0 c
2

CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

4 A
2
40 0 1 -1/3 2/3 0 -1/3 -1/4
0 A
5
10 0 0 2/3 -1/3 1 -1/3 1/4
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
f 310 * * 5/3 5/3 * 2/3 -1-c
2


Tabelul 6.6.3

Trecem la rezolvarea programului modificat (P') completnd (P
1
) cu restricia:

x x
x x
x x
x x x
x x x
2 7
2 7
2 7
2 7 8
2 7 9
0
0
0
0
=

+


+ =
+ + =

(6.6.5)

Eliminm din (6.6.5) variabila bazic x
2
. Din tabelul 6.6.3 obinem:

x x x x x x x x x
2
1
3 3
2
3 4
1
3 6
1
4 7 2
1
3 3
2
3 4
1
3 6
1
4 7
40 40 + x = = + + +

nlocuind n (6.6.5) rezult ecuaiile:

1
3 3
2
3 4
1
3 6
3
4 7 8
1
3 3
2
3 4
1
3 6
3
4 7 9
40
40
x x x x x
x x x x x
+ + =
+ + + =


ai cror coeficieni i atam la tabelul 6.6.3.

6. Analiza sensitivitii. Postoptimizare. Programare parametric

111


3 4 2 0 0 0 c
2
0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7
A
8
A
9

4 A
2
40 0 1 -1/3 2/3 0 -1/3 -1/4 0 0
0 A
5
10 0 0 2/3 -1/3 1 -1/3 1/4 0 0
3 A
1
50 1 0 5/3 -1/3 0 2/3 0 0 0
0 A
8
-40 0 0 1/3 -2/3 0 1/3 -3/4 1 0
0 A
9
40 0 0 -1/3 2/3 0 -1/3 3/4 0 1
f 310 * * 5/3 5/3 * 2/3 -1-c
2
* *

Tabelul 6.6.4

Tabelul 6.6.4 ofer o soluie dual admisibil pentru programul (P'). Coloana A
8

va iei din baza curent. Pentru a gsi coloana care intr n baz evalum
rapoartele:


5 3
2 3
5 2
1
3 4
4
3
1
2
2
/
/
/
/
( )


c
c

(prin ipotez -1-c
2
0 ! )

Exist dou cazuri de examinat.

1.1)
5
2
4
3 2 2
23
8 2
9
8
1 ( ) c c c

Coloana A
4
intr n baz. ntr-o singur iteraie (cu pivotul ncadrat -2/3 ),
algoritmul simplex dual produce urmtoarea soluie optim pentru programul
modificat (P'): u.m. x x x f
1 2 3
70 0 210
** ** **
(max) = = = =

1.2)
5
2
4
3 2
23
8 2
9
8 2
1 1 > 3 < < ( ) c c c
c
2


Coloana A
7
intr n baz. Aplicm algoritmul simplex dual pivotnd tabelul
6.6.4 cu pivotul ncadrat -3/4. n dou iteraii se obine urmtoarea soluie
optim pentru problema modificat (P'):

x x x f
1 2 3
52 48 0 348 48
** ** **
(max) = = = = +

2) c c c
2
3
7 2
0 1 < > > u.m.

I. PROGRAMARE LINIARA 112
Tabelul simplex 6.6.3 arat c soluia optim a problemei originale (P)
completat cu x
7
= 0 nu mai este optim i pentru programul intermediar (P
1
).
Pivotm 6.6.3 cu pivotul ncadrat 1/4 obinnd tabelul:

3 4 2 0 0 0 c
2

CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7
4 A
2
50 0 1 1/3 1/3 1 -2/3 0
c
2
A
7
40 0 0 8/3 -4/3 4 -4/3 1
3 A
1
50 1 0 5/3 -1/3 0 2/3 0
f 350+400c
2
* * 13/3+(8/3)c
2
1/3 -(4/3)c
2
4+4c
2
-2/3-(4/3)c
2
*

Tabelul 6.6.5

Costurile reduse c
3
, c
4
, c
5
, c
6
sunt expresii liniare n c
2
. Determinm ,
n urmtorul tabel, semnul valorilor acestora.


c
2
-1 -1/2 1/4 +
c
3
= (13/3)+(8/3) c
2 + + + + + + + + + + + + + + + +
c
4
= (1/3)-(4/3) c
2
+ + + + + + + + + + 0 - - - - - -
c
5
= 4+4 c
2

0 + + + + + + + + + + + + + + +
c
6
= -(2/3)-(4/3) c
2 + + + + + 0 - - - - - - - - - - - -

Tabelul 6.6.6

2.1) Din tabelul 6.6.6 rezult c pentru:

< < 1 3
2
1
2 2
7
2
c c

tabelul 6.6.5 ofer soluia optim a problemei intermediare (P
1
).Procednd n
continuare exact ca n cazul 1) trecem la rezolvarea prin postoptimizare a
problemei modificate (P').Se obine soluia:

x x x f
1 2 3
40 60 0 360 60
** ** **
(max) = = = = + c
2


Invitm cititorul s fac calculele necesare.

2.2) Dac c
2
1
2 2
7
2
> c > tabelul 6.6.6 arat c c
6
< 0 astfel
c soluia din tabelul simplex 6.6.5 nu mai este optim. Efectum o pivotare cu
pivotul ncadrat; rezult tabelul simplex:



6. Analiza sensitivitii. Postoptimizare. Programare parametric

113

3 4 2 0 0 0 c
2

CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7
4 A
2
100 1 1 2 0 1 0 0
c
2
A
7
140 2 0 6 -2 4 0 1
0 A
6
75 3/2 0 5/2 -1/2 0 1 0
f 400+140c
2
1+2c
2
* 6+6c
2
-2c
2
4+4c
2
* *

Tabelul 6.6.7

Cercetnd semnele costurilor reduse din tabelul 6.6.7 i raionnd ca mai sus se
conchide c:

2.2.1) Dac < <
1
2 2
7
2 2
0 4 c c soluia optim a
programului modificat (P') coincide cu cea obinut n cazul 2.1).

2.2.2) Dac c
2
> 0 c'
2
> 4 din tabelul simplex 6.6.7 rezult c
programul intermediar (P
1
) are optim infinit, astfel c el nu mai poate fi folosit
la rezolvarea prin postoptimizare a programului modificat (P')! Suntem nevoii
s relum (P') de la capt deoarece, dac revedem tabelele simplex 6.1.2 - 6.1.4
(ntocmite pentru rezolvarea problemei originale (P)), constatm c n prima
iteraie a intrat n baz chiar coloana modificat!

3 4+c
2
2 0 0 0
CB B VVB A
1

2
A
3
A
4
A
5
A
6
0 A
4
130 1 3/2 1 1 0 0
0 A
5
100 1 1 2 0 1 0
0 A
6
140 2 3/4 3 0 0 1
f 0 -3 -4-c
2
-2 * * *
4+c
2
A
2
260/3 2/3 1 2/3 2/3 0 0
0 A
5
40/3 1/3 0 4/3 -2/3 1 0
0 A
6
75 3/2 0 5/2 1/2 0 1
f (1040/3)+
(260/3) c
2

-(1/3)+
(2/3)c
2

* (2/3)
+(2/3)c
2

(8/3)
+(2/3)c
2

* *
A

Tabelele 6.6.8 - 6.6.9

Deoarece c
2
> 0 costurile reduse c
3
i c
4
sunt pozitive.

2.2.2.1) Dac: c c c c
1
1
3
2
3 2 2
1
2 2
9
2
0 = +



I. PROGRAMARE LINIARA 114

criteriul de optimalitate este satisfcut i soluia optim a problemei modificate
este:
x x x f
1 2
260
3 3
1040
3
260
3 2
0 0
** ** **
(max) = = = = + c

2.2.2.2) Dac: c c
1 2
1
2 2
9
2
0 0 4 c < < < < <

soluia din tabelul 6.6.9 nu mai este optim. Dup pivotarea tabelului 6.6.9 cu
pivotul ncadrat 1/3 se obine:

3 4+c
2
2 0 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6

4+c
2
A
2
60 0 1 -2 2 -2 0
3 A
1
40 1 0 4 -2 3 0
0 A
6
15 0 0 -7/2 5/2 -9/2 1
f 360+60c
2
* * 2-2c
2
2+2c
2
1-2c
2
*

Tabelul 6.6.10

Ipoteza implic nenegativitatea tuturor costurilor reduse i ca urmare soluia
otim a problemei modificate (P') este n acest caz:

x x x f
1 2 3
40 60 0 360 60
** ** **
(max) = = = = + c
2


Rezultatele acestui studiu, mai precis dependena soluiei optime i a valorii
maxime a funciei obiectiv de parametrul c
2
, sunt sintetizate n urmtorul
tabel:

c
2

c
2
=4+c
2

Soluia optim Valoarea maxim
a funciei obiectiv
-4 c
2
-(23/8) 0 c
2
(9/8)
x
1
=70 , x
2
= o ,x
3
= 0 210
-(23/8) c
2
-1
(9/8) c
2
3
x
1
= 52 , x
2
= 48 , x
3
= 0 348+48c
2

-1 c
2
(1/2) 3 c
2
(9/2)
x
1
= 40 , x
2
= 60 , x
3
= 0 360+60c
2

c
2
(1/2)
c
2
(9/2)
x
1
= 0, x
2
= (260/3), x
3
= 0 (1040/3)+(260/3)c
2


Tabelul 6.6.11

Este util de asemenea s vizualizm dependena maximului funciei obiectiv de
costul . Pentru aceasta, n expresiile din ultima coloan a tabelului 6.6.11
nlocuim c
c
2
2
= c - 4. Rezultatul este o funcie convex, liniar pe poriuni:
2

6. Analiza sensitivitii. Postoptimizare. Programare parametric

115


300
(260/3)c
2

156 +48 c
2

120 +60c
2

390
9/2 3
9/8
(max) f
c
2

Fig.6.6.1
210
210



















6.7 Programare parametric

Dup cum s-a specificat deja n introducere, programarea parametric
are ca obiectiv studiul comportrii optimului unui program liniar atunci cnd
unele din elementele sale constitutive depind de un set de parametri.
Seciunea nu introduce ceva esenialmente nou n raport cu
problematica discutat anterior; ntr-adevr, determinarea intervalelor de
stabilitate ca i alte probleme n care anumite constante erau lsate "libere",
constituie exemple de analiz parametric. O deosebire exist totui:
postoptimizarea ofer o imagine "local" asupra dependenei dintre soluia
optim a unui program liniar i elementele sale constitutive n timp ce
programarea parametric i propune s dea o imagine "global" asupra acestei
dependene.
Obiectul precis al programrii parametrice va fi prezentat n
urmtoarele dou cazuri relativ simple dar cu multe aplicaii economice:

1) Vectorul c al coeficienilor funciei obiectiv depinde liniar de un
parametru:

I. PROGRAMARE LINIARA 116
{ }
P
c x Ax b x R
c c c c j
c
j j j
( )
( ) max ( ) , ,
( ) , , ,




Sa se determine functia:
unde:
c( ) = c
0
= =
+ = + =

0
1
1 0 1
L n


2)Vectorul b al termenilor liberi depinde liniar de un parametru:

{ }
P
cx Ax b R
b b b b b b i
b
i i i
( )
,
( ) ( ) , , ,



Sa se determine functia:
( ) = max = ( ) , x 0
unde:

= + = + =

0 1 0 1
1 L m


Indiferent de situaie, domeniul valorilor admisibile ale parametrului poate fi
mai mic dect R , funcie de specificul problemei. Att P
c
() ct i P
b
() cu
variabil n R se identific cu nite familii de programe liniare uzuale, cte unul
pentru fiecare valoare a lui . Toate programele din P
c
() au aceeai mulime
de soluii admisibile, numai funcia obiectiv se modific "continuu", n timp ce
programele din P
b
() au aceeai funcie obiectiv, mulimea soluiilor admisibile


x
deformndu-se "continuu". Vom presupune c exist cel puin o valoare
admisibil
0
pentru care programele corespunztoare au optim finit; fr a
restrnge generalitatea, putem considera c
0
= 0.


6.7.1 Parametrizarea vectorului coeficienilor funciei obiectiv

n principiu, un program parametric de tipul P
c
() , R se studiaz
astfel:

1)Cu ajutorul algoritmului simplex se rezolv programul corespunztor
valorii particulare
0
= 0:

P
Ax b
x
f c
c
( )
(max)
0 0
0
=



6. Analiza sensitivitii. Postoptimizare. Programare parametric

117
Fie B baza optim a acestui program. Componentele bazice ale soluiei
optime x* reunite n vectorul b = B
-1
b nu depind de i ca urmare x* este o
soluie de baz admisibil pentru oricare dintre programele P
c
() , R .

2) Recalculm costurile reduse asociate soluiei x*, privit ca soluie de
baz a programului "generic" P
c
() :

| | | |
c c B A c c B A c c B A c
c c
j
B j
j
B j
j
B j
j
j j
( ) ( ) ( ) ( ) ( )

= = +
= +
1 0 1 0 1 1
0 1
=
1


unde j J mulimea indicilor coloanelor A
j
care nu sunt n baza B.tim din 1)
c aceste costuri sunt nenegative pentru
0
= 0. Cercetm dac exist i valori
0 pentru care ele rmn nenegative deci pentru care soluia x* este optim.
Pentru aceasta:

3) Se rezolv sistemul de inecuaii liniare:

c c (6.7.1) c
j j j
( ) + 0
0 1
j J 0



Mulimea soluiilor acestui sistem este un interval | , | care va conine cu
siguran valoarea
0
= 0. Se conchide c pentru orice | , | baza B i
soluia x* asociat sunt optime pentru programul P
c
() corespunztor.

4) Pentru < cel puin una din inecuaiile (6.7.1) este violat.
Presupunnd "foarte aproape" de se gsete c c
k
( ) min ( )
j
= . c
k
va fi
cu siguran < 0. Se actualizeaz B i x* introducnd n baz coloana A
k
dup
care se repet operaiile 2) i 3) determinndu-se un alt interval de optimalitate
de forma | ' , |.

5) Se repet operaia 4) - urmat de operaiile 2) i 3) - pn la
epuizarea "spre stnga" a domeniului valorilor admisibile ale parametrului ,
dup care se iau n studiu, n manier analoag, valorile > .

n final, domeniul valorilor admisibile ale lui este partiionat ntr-un
numr finit de intervale printr-o secven de puncte:

.....< ' < < < ' < .....

I. PROGRAMARE LINIARA 118
numite puncte critice, pe fiecare interval existnd o singur baz
optim.Funcia () = max c().x se dovedete a fi o funcie convex, liniar
pe poriuni; De exemplu pe intervalul | , | avem:

( ) ( ) = = +

c b c b c
i i i i
i I
i i
i I i I
0 1
b
} x
3


mulimea I fiind ca de obicei mulimea indicilor coloanelor bazice.

Exemplul 6.7.1 Considerm programul parametric:

( ( )
, ,
( ) max{ ( ) ( ) (5 )
P
x x x
x x x
x x x
x j
f x x
c
j


1 2 3
1 2 3
1 2 3
1 2
7
2 2 13
3 5
0 1 2 3
2 3 3 2
+ +
+ + =
+
=
= = + + + + +

R

Aducem problema la forma bun introducnd variabilele de abatere x
4
, x
5
i
variabilele artificiale x
6
, x
7
. Rezult programul:


7

x x x x
x x x x
x x x x x R
x j
f x x x Mx Mx
j
1 2 3 4
1 2 3 6
1 2 3 5 7
1 2 3 6
7
2 2 13
3 5
0 1 7
2 3 3 2 5
+ + + =
+ + + =
+ + =
=
= + + + + +



, ,
(max) ( ) ( ) ( )
K

Rezolvm problema corespunztoare valorii = 0. Plecnd cu baza
| A
4
, A
6
, A
7
|,n trei iteraii se obine tabelul simplex:

2 3 5 0 0 -M -M
CB B VVB A
1
A
2
A
3
A
4
A
5
A
6
A
7

0 A
4
1/2 1/2 0 0 1 0 -1/2 0
0 A
5
3/2 -5/2 2 0 0 1 1/2 -1
5 A
3
13/2 1/2 1 1 0 0 1/2 0
f 65/2 1/2 2 * * * M+1/2 M

Tabelul 6.7.1

6. Analiza sensitivitii. Postoptimizare. Programare parametric

119
din care extragem baza optim | A
4
, A
5
, A
3
|.
n continuare facem abstracie de coloanele "artificiale" A
6
i A
7
deoarece n
fapt lucrm cu forma standard a programului P
c
() .Recalculm costurile
reduse c
1
i c
2
n funcie de coeficienii "parametrizai" din funcia obiectiv:

c
c
1
1
2
5
2
1
2
1
2
5
2
2
0 0 5 2 3
0 0 0 2 5 1 3 2 2
( ) ( ) ( ) ( )
( ) ( ) ( )


= + + + + =
= + + + + =


Variaia semnului celor dou mrimi poate fi urmrit n tabelul urmtor:

- 1/5 2 +
c
1
() + + + + + + + 0 - - - - - - - - - - - - - - - - - - - - - - -
-
c
2
() + + + + + + + + + + + + + 0 - - - - - - - - - - - - - - -

Tabelul 6.7.2
n concluzie, pentru orice (- , 1/5| soluia asociat bazei |A
4
, A
5
, A
3
| este
optim. Ea are componentele:

x x x
1 2 3
13
2
0 0

= = = , ,



iar valoarea maxim a funciei obiectiv este:
( ) ( ) max ( ) = = + = + f 5
3
2
65
2
13
2

Presupunem acum c > 1/5 i "foarte aproape" de 1/5. Din tabelul 6.7.2
rezult c c
1
() < 0 astfel c soluia asociat bazei |A
4
, A
5
, A
3
| nu mai este
optim. Introducem coloana A
1
n baza curent i efectum o iteraie simplex:

2+3 3+2 5+ 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5

0 A
4
1/2 1/2 0 0 4 0
0 A
5
3/2 -5/2 2 0 0 1
5+ A
3
13/2 1/2 1 1 0 0
f (65/2)+(3/2) (1/2)-(5/2) 2- * * *
2+3 A
1
1 1 0 0 2 0
0 A
5
4 0 2 0 5 1
5+ A
3
6 0 1 1 -1 0
f 32+9 * 2- * -1+5 *
Tabelele 6.7.3 - 6.7.4
I. PROGRAMARE LINIARA 120

n urmtorul tabel este dat variaia semnului costurilor reduse c
2
() =2 - i
c
4
() = -1 + 5 corespunztoare bazei |A
1
, A
5
, A
3
|:

1/5 2 +
c
2
() + + + + + + + 0 - - - - - - - - - - - - - - - - - - - - - -
c
4
() 0 + + + + + + + + + + + + + + + + + + + + + + +

Tabelul 6.7.5

Deducem c pentru toi |1/5 , 2|, soluia asociat bazei |A
1
, A
5
, A
3
|

x x x
1 2 3
1 0

= = = , , 6

este soluia optim a programului P
c
() ,iar ( ) = + 32 9 .

Pentru > 2 (i foarte aproape de 2 dei nu mai este necesar ...) constatm c
c
2
() < 0 deci soluia de mai sus nu mai este optim. n tabelul simplex 6.7.4
vom introduce coloana A
2
n baza curent:

2+3 3+2 5+ 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5

2+3 A
1
1 1 0 0 2 0
3+2 A
2
2 0 1 0 5/2 1/2
5+ A
3
4 0 0 1 -7/2 -1/2
f 28+11 * * * -6+(15/2) -1+(1/2)

Tabelul 6.7.6


Se vede imediat c pentru 2 costurile reduse c
4
() = -6 + (15/2) i
c
5
() = -1+ (1/2) sunt nenegative.

n concluzie, programele P
c
() cu |2, + ) au ca soluie optim
soluia asociat bazei |A
1
, A
2
, A
3
|:

x x x
1 2 3
1 2

= = = , , 4

Valoarea maxim a funciei obiectiv este: ( ) = + 28 11 .

Urmtoarea diagram red sintetic rezultatele studiului
6. Analiza sensitivitii. Postoptimizare. Programare parametric

121




Soluia optim
x
1
= 1
x
2
= 2
x
3
= 4

( ) = 28 + 11
Soluia optim
x
1
= 1
x
2
=0
x
3
= 6

( ) = 32 + 9
Soluia optim
x
1
= 0
x
2
= 0
x
3
= 13/2

( ) = (65/2) + (13/2)
2 1/5

+ -











Figura 6.7.1

169/5
50

2 1/5
( )
Figura 6.7.2

n figura 6.7.2 este vizualizat variaia valorii maxime a funciei
obiectiv n raport cu parametrul . Se confirm faptul, deja anunat, potrivit
cruia ( ) este o funcie convex, liniar pe poriuni.


6.7.2 Parametrizarea vectorului termenilor liberi

Un program parametric de tipul P
b
() , R se studiaz n mod asemntor:

I. PROGRAMARE LINIARA 122
1) Cu ajutorul algoritmului simplex se rezolv programul
corespunztor valorii
0
= 0:

P
Ax b
x
f c
b
( )
(max)
0 0
0
=

x


De aceast dat, costurile reduse c c corespunztoare
bazei optime B nu depind de i ca urmare B i soluia de baz asociat sunt
dual admisibile pentru oricare din programele P
B A c j
j
B j
j
=
1
, J
b
() , R .

2) Se determin vectorul componentelor bazice ale soluiei programului
"generic" P
b
() , asociat bazei B:


x B b B b B b b b x b
B
i i
( ) ( ) ( ) = = + = + = +
1 1 0 1 1 0 1 0
b
i

1
(6.7.2)

unde i I mulimea indicilor coloanelor A
i
din B.
Ipoteza ne asigur c aceste componente sunt nenegative pentru
0
= 0.
Cercetm dac exist i valori 0 pentru care aceste componente sunt n
continuare nenegative. Pentru acele valori , soluia asociat bazei B este
soluia optim a programului P
b
() corespunztor.Drept care:

3) Se rezolv sistemul de inecuaii liniare:

x b b
i i i
( ) + 0
0 1
i I 0 (6.7.3)

Mulimea soluiilor acestui sistem va fi un interval | , | care n mod cert
conine i valoarea particular
0
= 0, conform celor amintite mai sus. n
concluzie oricare ar fi | , | soluia asociat bazei B este soluie optim
pentru programul P
b
() .

4) n situaia n care -, fie < . Cel puin una din inecuaiile
(6.7.3) nu va mai fi satisfcut i ca urmare soluia asociat bazei B nu mai este
admisibil. Presupunnd "foarte aproape" de se determin:

x
r
( ) min ( ) x
i
= (cu siguran x
r
() < 0 !)

6. Analiza sensitivitii. Postoptimizare. Programare parametric

123
Dac toate elementele a
rj
( j J mulimea indicilor coloanelor din A
care nu sunt n B) sunt nenegative, programele P
b
() cu < sunt
incompatibile.Altminteri se efectueaz o iteraie cu algoritmul simplex dual
eliminnd din baz coloana A
r
. Pentru noua baz se repet operaiile 2) i 3) de
mai sus determinndu-se un alt interval |', | de admisibilitate - deci de
optimalitate - pentru soluia asociat.

5) Se repet operaia 4) - urmat de operaiile 2) i 3) pn la epuizarea
"spre stnga" a domeniului valorilor admisibile ale parametrului dup care se
cerceteaz n manier analoag valorile > .

Ca i n cazul precedent se obine un ir de intervale consecutive
delimitate de punctele critice:

.....< ' < < < ' < .....

Pe fiecare din aceste intervale exist o singur baz optim sau nici una
(a doua posibilitate nu poate avea loc dect n cazul primului i ultimului
interval !) iar maximul funciei obiectiv, adic funcia (), este liniar pe
intervalul respectiv. De exemplu, pe intervalul | , |, () are expresia:

( ) ( ) = = +

c x cb cb
i i i i
i I
i i
i I i I
0 1


"Global", () apare ca o funcie convex, liniar pe poriuni.

Exemplul 6.7.2 Considerm programul parametric:

P
x x x
x x x
x x x
x j
f x x x
R
b
j
( )
, , ,
(max)


1 2 3
1 2 3
1 2 3
1 2 3
7 2
2 2 13
3 5 2
0 1 2 3
2 3 5
+ + +
+ + = +
+ +
=
= + +



Dup adugarea variabilelor de abatere i artificiale pentru crearea bazei
unitare de start se obine programul n form bun:

I. PROGRAMARE LINIARA 124
x x x x
x x x x
x x x x x
x j
f x x x Mx Mx
R
j
1 2 3 4
1 2 3 6
1 2 3 5 7
1 2 3 6 7
7 2
2 2 13
3 5
0 1 7
2 3 5
+ + + = +
+ + + = +
+ + = +
=
= + +


, , ,
(max)
K
2



Se constat c problema particular, corespunztoare valorii
0
= 0 coincide cu
cea rezolvat n exemplul 6.7.1. Reamintim c n trei iteraii a fost obinut
baza optim B = [ A
4
, A
5
, A
3
]. Vom determina acum soluia programului
"generic" P
b
() asociat aceleiai baze,folosind formula (6.7.2). Avem:

b b b b B b x
B
( ) ; ( )

=
+
+
+

(
(
(
= + =

(
(
(
+

(
(
(
= = =

(
(
(

7 2
13
5 2
7
13
5
2
1
1
0
0 1 0 1 0
1
2
3
2
13
2



b B A A A b
1 1 4 6 7 1
1
2
1
2
1
2
3
2
3
2
1
2
1 0
0 1
0 0
2
1
2
= = =

(
(
(

(
(
(
=

(
(
(

[ [ , , ]]

astfel c:

x
x
x
x
b b
B
( )
( )
( )
( )

(
(
(
= + =

(
(
(
+

(
(
(
=
+

(
(
(
4
5
3
0 1
1
2
3
2
13
2
3
2
3
2
1
2
1
2
3
2
3
2
3
2
13
2
1
2


Deoarece costurile reduse asociate bazei B nu depind de i sunt nenegative,
soluia calculat este dual admisibil oricare ar fi R. Ea va fi optim pentru
toi acei pentru care este i admisibil. Variaia semnului componentelor
vectorului x
B
() poate fi urmrit n urmtorul tabel:

- -13 -(1/3) 1 +
x
4
() - - - - - - - - - - 0 + + + + + + + + +
x
5
() + + + + + + + + + + + + + 0 - - - - - -
x
3
) - - - - - 0 + + + + + + + + + + + + +

Tabelul 6.7.7

6. Analiza sensitivitii. Postoptimizare. Programare parametric

125
din care rezult c:

Pentru toi [-(1/3) , 1] programul parametric P
b
() are soluia
optim:

x x x
1 2 3
13
2
1
2
0 0

= = = + , , cu: ( ) (max) = = + f
65
2
1
2
.

Dac este < - (1/3) i foarte aproape de - (1/3) din tabelul 6.7.7 rezult c

2 3 5 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5

0 A
4
(1/2)+(3/2) 1/2 0 0 1 0
0 A
5
(3/2) - (3/2) -5/2 2 0 0 1
5 A
3
(13/2) + (1/2) 1/2 1 1 0 0
f (65/2) + (5/2) 1/2 2 * * *

Tabelul 6.7.8

numai x
4
() este < 0; soluia asociat bazei [ A
4
, A
5
, A
3
] nu mai este
admisibil dar rmne dual admisibil, aa cum se vede din tabelul
simplex 6.7.8; se mai constat c n linia "A
4
" a acestui tabel nu exist nici o
valoare negativ.

n concluzie, oricare ar fi < -(1/3) programul parametric P
b
() este
incompatibil.

Presupunem acum c > 1. Din tabelul 6.7.7 rezult c x
5
() < 0 i din
nou soluia asociat bazei [ A
4
, A
5
, A
3
] nu mai este admisibil fiind n
continuare dual admisibil. Examinnd tabelul simplex 6.7.8 se constat c se
poate efectua o iteraie a algoritmului simplex dual. Obinem:

2 3 5 0 0
CB B VVB A
1
A
2
A
3
A
4
A
5

0 A
4
(4/5) +(6/5) 0 2/5 0 1 1/5
2 A
1
-(3/5) + (3/5) 1 -4/5 0 0 -2/5
5 A
3
(34/5) + (1/5) 0 7/5 1 0 1/5
f (164/5) +(11/5) * 12/5 * * 1/5

Tabelul 6.7.9

Se vede imediat c dac 1 soluia asociat bazei [A
4
, A
1
, A
3
] este
admisibil. n concluzie:
I. PROGRAMARE LINIARA 126

Pentru 1 programul parametric P
b
() are soluia optim:

x x x
1
3
5
3
5 2 3
34
5
1
5
0

= + = = + , , cu: ( ) (max) = = + f
164
5
11
5


Rezultatele studiului sunt sintetizate n diagrama din fig. 6.7.3. Propunem
cititorului s vizualizeze grafic dependena maximului funciei obiectiv de
parametrul ; va constata uor c () este o funcie convex, liniar pe
poriuni.


+ -
Soluia optim:
x
1
= 0
x
2
= 0
x
3
= (13/2) +(1/2)
( ) (max) = = + f
65
2
1
2

Soluia optim
x
1
= -(3/5) +(3/5)
x
2
= 0
x
3
= (34/5) +(1/5)
( ) ( ) f
164 11

Programul P
b
()
este incompatibil
1 -(1/3)









Figura 6.7.3