Sunteți pe pagina 1din 55

CAPITOLUL III

*)

OPTIMIZAREA PROCESELOR ECONOMICE UTILIZND PROGRAMAREA LINIAR


3.1. Forma general a unei probleme de programare liniar

Problemele de maxim i de minim apar frecvent n cele mai diferite domenii ale
matematicilor pure sau aplicate. n domeniul economic, asemenea probleme sunt foarte naturale.
Astfel, firmele ncearc s maximizeze profiturile sau s minimizeze costurile. Experii n
planificare macroeconomic se preocup de maximizarea bunstrii unei comuniti economico-
sociale. Consumatorii doresc s cheltuiasc venitul lor ntr-un mod care s le maximizeze satisfacia
(de natur material dar i spiritual etc.)

Programarea liniar se ocup de o clas special de probleme de optimizare care apar
deseori n aplicaiile economice. Aceste probleme constau n maximizarea sau minimizarea unei
funcii liniare, numit funcie obiectiv, ale crei variabile trebuie s satisfac:
- un sistem de relaii date sub forma unor ecuaii i/sau inecuaii liniare nestricte, denumite
generic restricii;
- cerina de a lua numai valori numerice nenegative (>0).

3.1.1. Exemple

1) Problema firmei. Considerm un sistem de producie, de exemplu o firm, care produce n
bunuri G
1
,G
2
,...,G
n
utiliznd pentru aceasta m categorii de resurse R
1
,R
2
,...,R
m
(materii prime, for
de munc, capaciti de producie, combustibili i energie etc.). Adoptm ipoteza c tehnologia de
transformare a resurselor n bunuri este liniar n sensul c:
- Pentru fiecare bun, consumul dintr-o anumit resurs este direct proporional cu cantitatea
produs.
- Consumurile dintr-o resurs sau alta nu se condiioneaz reciproc.
Fie atunci a
ij
cantitatea din resursa i utilizat pentru producerea unei uniti din bunul G
j
. Fie
deasemeni b
i
cantitatea disponibil din resursa R
i
i c
j
preul (sau profitul) unitar al bunului G
j
.
- Preul unui bun nu depinde de cantitatea produs i nici de situaia vnzrilor celorlalte
bunuri.

Problema const n determinarea unui program de fabricaie care s maximizeze venitul
(sau profitul) firmei.

S notm cu x
j
cantitatea din bunul G
j
care urmeaz a fi produs. Problema enunat mai
nainte devine:
S se gseasc valorile numerice x
1
,x
2
,...,x
n
care maximizeaz funcia:

f c x c x c x
n n
= + + +
1 1 2 2
...
cu satisfacerea restriciilor:
a x a x a x b
a x a x a x b
a x a x a x b
n n
n n
m m mn n m
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
+ + + s
+ + + s
+ + + s



*

)
Suportul de curs al Capitolelor 1 i 2 are la baz lucrarea: Nica, V., Ciobanu, Gh., Musta Floare, Mrcine Virginia, Cercetri
operaionale I - Programare liniar, Probleme de optimizare n reele de transport i distribuie, Teoria jocurilor strategice
Editura MATRIX ROM, Bucureti 1998
CURSUL 6
I. PROGRAMARE LINIARA


32
i a condiiilor de nenegativitate:
x x x
n 1 2
0 0 0 > > > , ,

Observaie: Ipotezele de liniaritate fcute nu sunt verificate ntotdeauna n practic. Raiunea
lor este dubl:
- conduc la modele matematice n general simple;
- pe baza modelelor liniare se pot formula concluzii calitative i legiti economice care i
menin valabilitatea - n anumite limite - i ntr-un context neliniar.

2) Problema dietei a devenit o ilustrare clasic a programrii liniare, fiind ntlnit n mai
toate textele de specialitate. Ea se ocup cu hrnirea unei colectiviti, s zicem un grup de militari,
n cel mai economic mod cu condiia satisfacerii anumitor cerine de nutriie. Mai concret, este vorba
de a prepara un aliment complex pornind de la n sortimente de hran F
1
,F
2
,...,F
n
. Un numr de
elemente sau principii nutritive N
1
,N
2
,...,N
m
- proteine, glucide, grsimi calciu,etc. sunt avute n
vedere n sensul c alimentul combinat trebuie s conin cel puin b
1
,b
2
,...,b
m
uniti specifice
din fiecare. S presupunem cunoscute urmtoarele:
- cantitatea a
ij
din principiul nutritiv N
i
coninut ntr-o unitate din tipul de hran F
j
;
- preul unitar c
j
al tipului de hran F
j
.

Notm cu x
1
,x
2
,...,x
n
cantitile din felurile de hran F
1
,F
2
,...,F
n
care trebuie cumprate n
vederea elaborrii dietei. Formal, x
1
,x
2
,...,x
n
vor trebui determinate astfel nct:
- costul f c x c x c x
n n
= + + +
1 1 2 2
... al alimentelor cumprate s fie minim.
- amestecul s conin principiile nutritive N
1
,N
2
,...,N
m
n cantiti cel puin egale cu
b
1
,b
2
,...,b
m
, adic:
a x a x a x b
a x a x a x b
a x a x a x b
x x x
n n
n n
m m mn n m
n
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
1 2
0 0 0
+ + + >
+ + + >
+ + + >
> > >

...
...
................................
...
, ,...,

Din nou au fost tacit utilizate ipotezele de liniaritate ntlnite i n modelul precedent.

3.1.2 Soluii admisibile ale unei probleme de programare liniar

Considerm o problem de programare liniar (P) cu m restricii egaliti i/sau inegaliti
nestricte, n variabile i cu funcia obiectiv f. Un ansamblu de n valori numerice care satisfac
restriciile se va numi Soluie a programului (P). Dac n plus sunt verificate i condiiile de
nenegativitate, ansamblul se numete Soluie Admisibil. O soluie admisibil care maximizeaz sau
minimizeaz - dup caz - funcia obiectiv se va numi soluie optim. Notnd cu A mulimea
soluiilor admisibile, problema (P) se scrie:

S se determine x
*
e A cu proprietatea: f(x
*
) =max min ( ) sau
x
f x
eA


Este posibil ca (P) s aib soluii dar nici una din ele s fie admisibil: A = C. Spunem n acest caz
c problema (P) este incompatibil. Chiar dac A = C, este posibil ca funcia obiectiv s fie
nemrginit pe A , adic s existe un ir de soluii admisibile de-a lungul cruia funcia obiectiv s




33
tind spre + sau -, dup caz. n aceast situaie vom spune c (P) are optim infinit. Dac (P) are
(cel puin) o soluie optim, zicem c (P) are optim finit.
Deoarece eventualele restricii inegaliti sunt nestricte mulimea A este nchis (n topologia
uzual a spaiului R
n
), adic o dat cu un ir convergent de puncte conine i limita acestuia.
Aceast proprietate este esenial pentru existena unei soluii optime a problemei (P)! Conform unui
rezultat clasic al analizei matematice, dac A este mrginit, atunci f i atinge efectiv extremele pe
A, i deci (P) are optim finit. n consecin, dac (P) are optim infinit, cu siguran A este
nemrginit. Reciproca nu este n general adevrat: este posibil ca A s fie nemrginit i totui
(P) s aib optim finit.

3.1.3 Forma canonic a unei probleme de programare liniar

O restricie a unei probleme (P) de programare liniar se zice concordant dac este o
inegalitate de tipul "s" cnd funcia obiectiv se maximizeaz i de tipul ">" cnd funcia obiectiv se
minimizeaz. O restricie inegalitate care nu este concordant se va numi neconcordant. Restriciile
egaliti nu fac obiectul acestei clasificri.
Spunem c o problem de programare liniar este n form canonic dac toate restriciile ei
sunt inegaliti concordante.
n consecin, o problem n form canonic de maximizare arat astfel:


a x b i m
x j n
f c x
ij j
j
n
i
j
j j
j
n
=
=
s =
> =
=

1
1
1
0 1
,...,
,...,
(max)
sau matricial
Ax b
x
f cx
s
>
=

0
(max)
unde:

A
a a a
a a a
a a a
b
b
b
b
x
x
x
x
n
n
m m mn m n
=

(
(
(
(
=

(
(
(
(
=

(
(
(
(
11 12 1
21 22 2
1 2
1
2
1
2



| |
c c c c
n
=
1 2


O problem n form canonic de minimizare se va scrie:


a x b
x
f c x
ij j
j
n
i
j
j j
j
n
=
=
>
>
=

1
1
0
(min)

Ax b
x
f cx
>
>
=

0
(min)


De exemplu, problema firmei (1.1, exemplul 1)) este o form canonic de maximizare n timp ce
problema dietei (1.1, exemplul 2)) este o form canonic de minimizare.
Orice problem de programare liniar se poate pune sub o form canonic de maximizare sau
minimizare, fr modificarea mulimii soluiilor admisibile, observnd c:
- o egalitate se poate nlocui cu dou inegaliti de sens contrar;
- o restricie neconcordant devine concordant prin nmulire cu -1;
I. PROGRAMARE LINIARA


34
- putem schimba sensul optimizrii funciei obiectiv, graie formulei generale:


| |
x
f x
x
f x
e
=
e

A A
min
( )
max
( ) (1.3.1)

n consecin, putem face anumite raionamente teoretice pe o form canonic (ca de exemplu n
teoria dualitii liniare), fr ca prin aceasta s restrngem generalitatea.

Exemplul 1.3.1
(max)
, ,
f x x x
x x x
x x
x x
x x x
= +
+ =
+ >
+ s
> > >

2 3 4
3 5 3
3 5
2 10
0 0 0
1 2 3
1 2 3
1 2
1 3
1 2 3

(min)( )
, ,
= +
+ >
+ >
+ >
>
> > >

f x x x
x x x
x x x
x x
x x
x x x
2 3 4
3 5 3
3 5 3
3 5
2 10
0 0 0
1 2 3
1 2 3
1 2 3
1 2
1 3
1 2 3

Programul (P) Forma canonic de minimizare a programului (P)

3.1.4 Forma standard a unei probleme de programare liniar

Spunem c o problem de programare liniar este n form standard dac toate restriciile ei
sunt egaliti. Importana acestei forme particulare rezult din faptul c metoda de rezolvare a
problemelor de programare liniar care va fi expus mai departe cere ca problema s fie n aceast
prezentare.
n consecin, o problem (P) care are i restricii inegaliti va fi nlocuit - n vederea
rezolvrii ei - cu o alta n care toate restriciile sunt egaliti. Noua problem, numit forma
standard a problemei (P) i notat (FSP), se construiete astfel:
- O restricie inegalitate din problema original (P) de tipul "s" (respectiv de tipul ">") se
transform n egalitate prin adugarea (respectiv prin scderea) unei variabile nenegative din
membrul su stng. Aceste variabile se numesc variabile de abatere sau de ecart.
- Restriciile egaliti nu se modific.
- Noile variabile introduse nu apar n funcia obiectiv a problemei originale (alternativ,
spunem c ele apar cu coeficieni nuli)

Exemplul 1.4.1
( )
(max)
, ,
P
f x x x
x x x
x x x
x x x
x x x
= + +
+ >
+ + =
+ + s
> > >

7 9 8
5 2 4
3 5
2 3 9
0 0 0
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
( )
(max)
, , ...,
FSP
f x x x
x x x x
x x x
x x x x
x j
j
= + +
+ =
+ + =
+ + + =
> =

7 9 8
5 2 4
3 5
2 3 9
0 1 5
1 2 3
1 2 3 4
1 2 3
1 2 3 5


Problema care apare n acest context este aceea de a explica modul n care se obine soluia
optim a problemei (P) dac se cunoate soluia optim a formei sale standard (FSP). Se poate arta
uor c ntre mulimile de soluii admisibile A
P
, ale problemei (P) i A
FSP
, ale problemei (FSP),
exist o coresponden bijectiv care conserv soluiile optime. Vom arta cum funcioneaz aceast
coresponden pe exemplul precedent.
Notnd-o cu u, aceasta coresponden va asocia unei soluii admisibile x = ( x x x
1 2 3
, , ) a
problemei (P) vectorul:




35
u( ) ( , , , , ) x x x x x x x x x x = +
1 2 3 1 2 3 1 2 3
5 2 4 9 2 3

care prin construcie se dovedete a fi o soluie admisibil a problemei (FSP). Reciproc, unei soluii
admisibile
~
(
~
,
~
,
~
,
~
,
~
) x x x x x x =
1 2 3 4 5
a problemei (FSP) corespondena invers u
-1
i asociaz vectorul
(
~
,
~
,
~
) x x x
1 2 3
care satisface n mod clar restriciile problemei originale (P). Dac x este soluia optim
a problemei (P) atunci u( x ) este soluia optim a problemei (FSP) i reciproc, dac cunoatem
soluia optim
~
x a problemei (FSP) , u
1
(
~
) x reprezint soluia optim a problemei (P).

n problemele concrete, variabilele de abatere au interpretri economice precise aa c n
analiza soluiei optime valorile lor vor fi luate n considerare laolalt cu valorile variabilelor
originale. Astfel, n problema firmei (1.1, exemplul1)) variabilele de abatere x
n+1
, x
n+2
, ..., x
n+m

definite prin:
x b a x i m
n i i ij j
j
n
+
=
= = 1
1
,...,
reprezint cantiti de resurse neconsumate i prin urmare cunoaterea valorilor lor n soluia optim
ofer indicaii utile n analiza modului n care sunt utilizate resursele firmei: materii prime, capaciti
de producie, for de munc, etc.
n problema dietei (1.1,exemplul 2)) variabilele de abatere:
x a x b i m
n i ij j i
j
n
+
=
= = 1
1
,...,
reprezint cantitile de principii nutritive cu care sunt depite nivelele minimale specificate n
reet.

3.1.5 Rezolvarea grafic a problemelor de programare liniar

S considerm problema:
(max)
,
f x x
x x
x x
x x
x x
= +
+ s
+ s
+ s
> >

3 4
3 4 12
6
2 2
0 0
1 2
1 2
1 2
1 2
1 2

Identificm x
1
, x
2
cu abscisa, respectiv ordonata unui punct din planul raportat la un sistem ortogonal
de axe. Este cunoscut faptul c mulimea punctelor din plan ale cror coordonate satisfac prima
restricie coincide cu unul din semiplanele determinate de dreapta d
1
de ecuaie -3x
1
+4x
2
= 12. Mai
precis, este vorba de semiplanul care conine originea (0,0), deoarece coordonatele acesteia satisfac
evident prima restricie. n mod analog, urmtoarele restricii sunt verificate n semiplanele
determinate de dreapta d
2
de ecuaie x
1
+x
2
= 6 i respectiv d
3
de ecuaie -2x
1
+x
2
= 2 i care conin
originea. n fine, condiia x
1
> 0 are loc n semiplanul din dreapta axei verticale, n timp ce condiia
x
2
> 0 are loc deasupra axei orizontale.
Soluiile admisibile ale problemei se identific cu punctele comune celor cinci semiplane.
Acestea formeaz interiorul i frontiera poligonului OABCD din figura 1.5.1.
Funcia obiectiv determin - pentru f variabil - o mulime de drepte paralele care
intersecteaz sau nu mulimea A. Astfel punctele situate pe dreapta 3x
1
+4x
2
=12 reprezint diferite
combinaii ale mrimilor x
1
, x
2
care dau funciei obiectiv f aceeai valoare 12. ntruct aceast
dreapt taie A, rezult c problema are soluii admisibile - chiar o infinitate - care ofer funciei
obiectiv valoarea 12. Dreapta 3x
1
+4x
2
=24 nu mai taie A i deci nici o soluie admisibil a problemei
I. PROGRAMARE LINIARA


36
nu este capabil s asigure funciei obiectiv valoarea 24. Conchidem c maximul funciei f este
undeva ntre 12 i 24. Se observ uor c acest maxim se atinge n vrful C al frontierei lui
A. Punctul C este intersecia dreptelor d
1
i d
2
i deci coordonatele sale, care reprezint soluia
optim a problemei, se determin rezolvnd sistemul format din ecuaiile celor dou drepte. Se
gsete x x
1
12
7 2
30
7
* *
, = = maximul lui f fiind 22
2
7
. Soluia optim satisface cu egalitate primele
dou restricii i cu inegalitate strict pe ceea de a treia.















Figura 1.5.1

n mod asemntor se arat c dac funcia de maximizat ar fi fost f = - x
1
+x
2
atunci optimul
ar fi fost atins n vrful B de coordonate x
1
=4/5, x
2
=18/5 .
Examinnd acest exemplu putem trage urmtoarele concluzii:
1. Mulimea A este convex, adic o dat cu dou puncte conine i segmentul care le
unete. O consecin intuitiv a acestei proprieti este c soluia optim, dac exist, se gsete
undeva pe frontiera lui A .
2. Frontiera lui A este un contur poligonal cu un numr finit de vrfuri i o soluie optim
se gsete neaprat ntr-unul din ele.
Aceste concluzii, care se confirm pe orice alt problem n dou sau trei variabile (mulimea
soluiilor admisibile putnd fi vizualizat n planul R
2
sau spaiul R
3
) au constituit sursa ntregii
teorii a programrii liniare.















D
C
B
A
O
d
2

d
1

d
3

x
1

x
2

f=12
f=22
2
7

f=24
A




37

3.2. Dualitatea n programarea liniar

n principiu, oricrei probleme de programare liniar i se asociaz o alta, numit duala sa i
n esen teoria dualitii const n studiul relaiilor dintre cele dou probleme. Firete, construcia
problemei duale depinde nemijlocit de structura problemei iniiale denumit i problema primal.
ntotdeauna sensul optimizrii n cele dou probleme este diferit: dac n primal funcia obiectiv se
maximizeaz (minimizeaz) n dual funcia obiectiv se minimizeaz (maximizeaz). Studiul i
interpretarea economic a problemei duale aduc informaii suplimentare n analiza proceselor
economice i n fundamentarea deciziilor.

3.2.1 Reguli de construire a problemei duale

Pentru a conferi construciei problemei duale maxima generalitate vom slbi condiia de
nenegativitate impus tuturor variabilelor, admind c unele din ele nu pot lua dect valori
nepozitive (s 0) n timp ce altele pot lua orice valoare real.
Cu aceast observaie duala unei probleme de programare liniar cu m restricii i n variabile
se construiete dup urmtoarele reguli:
1) Dac n primal funcia obiectiv se maximizeaz (respectiv se minimizeaz) n problema
dual funcia obiectiv se minimizeaz (respectiv se maximizeaz).
2) Restriciei de rang i , i=1,...,m din primal i corespunde n dual o variabil u
i
; dac
restricia primal este o inegalitate concordant (respectiv neconcordant, respectiv o egalitate)
variabila dual asociat este nenegativ (>0), ( respectiv nepozitiv (s0), respectiv fr restricie de
semn).
3) Variabilei x
j
, j=1,...,n din problema primal i corespunde n dual restricia de rang j.
Membrul stng al acestei restricii este o combinaie liniar a variabilelor duale u
i
realizat cu
coeficienii variabilei x
j
din toate restriciile primalei (acetia sunt a
ij
, i=1,...,m). Termenul su liber
este coeficientul c
j
al lui x
j
din funcia obiectiv primal. n fine, dac variabila primal x
j
este
nenegativ (respectiv nepozitiv, respectiv fr restricie de semn) restricia dual asociat va fi o
inegalitate concordant (respectiv neconcordant, respectiv o egalitate).
4) Coeficienii funciei obiectiv ai problemei duale sunt termenii liberi b
i
ai restriciilor
problemei primale.

Exemplul 2.1.1

Problema primal Problema dual

3 2 4 6
2 2 5 9
6 2 3
0
0
0
8 3 5 7
1 2 3 4 5
1 3 4 5
1 2 3 4
1
2
3
4
5
1 2 3 4 5
x x x x x
x x x x
x x x x
x
x
x f r s
x f r s
x
f x x x x x
+ + s
+ + + =
+ + + >
>
>
s
= + + + +

. . .
. . .
max

u
u f r s
u
u u u
u u
u u u
u u u
u u
g u u u u
1
2
3
1 2 3
1 3
1 2 3
1 2 3
1 2
1 2 3
0
0
3 2 8
2 6 3
2 1
4 5 2 5
7
6 9 3
>
s
+ + >
+ >
+ + =
+ + =
+ s
= + +

. . .
min ( )


CURSUL 7
I. PROGRAMARE LINIARA


38
Observaii: 1) Problema dual are attea variabile (respectiv restricii) cte restricii
(respectiv variabile) are problema primal.
2) Regulile 1) - 4) pun n eviden urmtoarele corespondene de termeni prin trecere la
dual:
min
(restricie) concordant
(restricie) neconcordant
(restricie) egalitate
termen liber al unei restricii





max
(variabil) nenegativ
(variabil) nepozitiv
(variabil) fr restricie de
semn
coeficient al funciei obiectiv
3) Din construcia de mai sus rezult urmtoarea concluzie:
Duala dualei este problema primal.
Spunem c dualitatea n programarea liniar are un caracter involutiv.

n consecin, fiind dat o problem de programare liniar (P) i duala sa (Q), vom vorbi
despre cuplul de probleme n dualitate (P,Q), fr a mai specifica n mod expres care din probleme
este primala i care duala.

3.2.2. Dualele unor forme particulare de probleme de programare liniar

1) Duala unei forme canonice de maximizare este o form canonic de minimizare i
reciproc.
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 m
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
+ + + s
+ + + s
+ + + s
>
>
>
= + + +

..............................................
max

u
u
u
a u a u a u c
a u a u a u c
a u a u a u c
g b u b u b u
m
m m
m m
n n mn m n
m m
1
2
11 1 21 2 1 1
12 1 22 2 2 2
1 1 2 2
1 1 2 2
0
0
0
>
>
>
+ + + >
+ + + >
+ + + >
= + + +

. ..........
.............................................

min


Cu notaiile matriciale introduse n (1.3) la care se adaug:
| |
u u u u
m
=
1 2
, ,..., cuplul format din cele
dou probleme de mai sus devine:
( )
max ( )
P
Ax b
x
f x cx
s
>
=

0 (Q)
uA c
u
g u ub
>
>
=

0
min ( )

2) Conservarea formei de prezentare se pierde atunci cnd se consider duala unei
probleme n form standard.
a x b i m u f r s i m
x j n a u c j n
f c x g b u
ij j i
j
n
i
j ij i j
i
m
j j i i
i
m
j
n
= = =
> = > =
= =

=
=
= =
1
1
1 1
1 1
0 1 1
,..., . . . ,...,
,..., ,..,
max min

sau matricial:




39
( )
max ( )
P
Ax b
x
f x cx
=
>
=

0 ( ) ( . . . )
min ( )
Q
uA c
u R f r s
g u ub
m
>
e
=


(f.r.s. fr restricie de semn!)
n mod analog se construiete duala formei standard n care funcia obiectiv se minimizeaz:
( )
min ( )
P
Ax b
x
f x cx
=
>
=

0 ( ) . . .
max ( )
Q
uA c
u f r s
g u ub
s
=



Observaie: De reinut este faptul c dualele a dou probleme de programare liniar
echivalente sunt ele nsele echivalente adic au aceeai mulime de soluii admisibile i aceleai
soluii optime.

3.2.3. Teoreme de dualitate

Cu notaiile matriciale din (2.2) s considerm cuplul de probleme n dualitate n form
canonic:
( )
(max) ( )
P
f x cx
Ax b
x
=
s
>

0
( )
(min) ( )
Q
g u ub
uA c
u
=
>
>

0


Teorema 2.3.1 Fie
| |
x x x x
n
T
=
1 2
, ,..., o soluie admisibil a problemei (P) i
| |
u u u u
m
=
1 2
, ,..., o soluie admisibil a problemei (Q). Atunci:
1) f x g u ( ) ( ) s
2) Dac f x g u ( ) ( ) = atunci x este o soluie optim a problemei (P) iar u este o soluie
optim a problemei (Q).

Demonstraie: 1) Prin ipotez Ax b x s > , 0 i uA c > , u > 0.Deducem c uAx ub s i
uAx cx > (nenegativitatea vectorilor x i u este esenial!) de unde:
f x cx uAx ub g u ( ) ( ) = s s =
2) Dac f x g u ( ) ( ) = i dac x nu ar fi soluie optim a problemei (P) ar exista o
soluie admisibil x' mai bun, adic f x f x ( ' ) ( ) > .Rezult inegalitatea f x g u ( ' ) ( ) > contrar
celor demonstrate la punctul precedent.

Clasificarea cuplurilor de probleme de programare liniar n dualitate este fcut de
urmtoarea teorem:

Teorema 2.3.2 (Teorema fundamental a dualitii) Pentru un cuplu de probleme n
dualitate una i numai una din urmtoarele situaii este posibil:
1) Ambele probleme au soluii admisibile; atunci ambele au soluii optime i valorile optime
ale funciilor obiectiv coincid: f x g u ( ) ( ) = .
2) Numai una din probleme are soluii admisibile, iar cealalt nu are; atunci problema
compatibil are optim infinit.
3) Nici una din probleme nu are soluii admisibile.

I. PROGRAMARE LINIARA


40
Simetria teoremei 2.3.2 nu constituie totui un rspuns pentru reciproca teoremei 2.3.1
Specificm acest lucru n mod expres pentru c n programarea neliniar el nu are loc.

Teorema 2.3.3 Dac una din problemele unui cuplu de probleme n dualitate are soluie
optim atunci i cealalt are i valorile optime ale funciilor obiectiv coincid.

Nu dm demonstraia teoremei 2.3.2 deoarece pregtirile necesare depesc cadrul impus acestui
curs. Vom demonstra ns teorema 2.3.3 dup ce vom prezenta metoda general de rezolvare a
problemelor de programare liniar.

Teorema 2.3.4 (Teorema ecarturilor complementare - TEC) Fie (P,Q) un cuplu de
probleme canonice n dualitate:
( )
min ( )
P
Ax b
x
f x cx
s
>
=

0 Q
uA c
u
g u ub
>
>
=

0
min ( )

Un cuplu de soluii admisibile ( x , u ) este un cuplu de soluii optime dac i numai dac:

( )
( )
uA c x
u b Ax
=
=

0
0
(2.3.1)
Demonstraie: S presupunem relaiile (2.3.1) verificate de cuplul ( x , u ):
uAx cx
ub uAx
cx ub x u
=
=

`
)
=
0
0
( , ) este un cuplu de soluii optime n virtutea teoremei
2.3.1.Reciproc, s presupunem c ( x , u ) constituie un cuplu de soluii optime. Atunci cx ub = ,n
virtutea teoremei fundamentale a dualitii i prin urmare:
( ) ( ) uA c x u b Ax + = 0
Deoarece x , u sunt soluii admisibile avem: ( ) , ( ) uA c x u b Ax > > 0 0 i deci
( ) , ( ) uA c x u b Ax = = 0 0 relaii care arat c x , u verific (2.3.1).

n notaiile seciunii (2.2) relaiile matriciale (2.3.1) se pot scrie:
a u c x
u b a x
ij i j
i
m
j
j
n
i
i
m
i ij j
j
n

|
\

|
.
|
=

|
\

|
.
|
=
= =
= =
1 1
1 1
0
0

Aceste relaii sunt echivalente cu:
a u c x j n
u b a x i m
ij i j
i
m
j
i i ij j
j
n

|
\

|
.
| = =

|
\

|
.
|
= =
=
=
1
1
0 1
0 1
,...,
,...,

Verificarea acestor egaliti de ctre un cuplu de soluii admisibile
| |
x x x x
n
T
=
1 2
, ,..., i
| |
u u u u
m
=
1 2
, , , reprezint deci o condiie necesar i suficient de optimalitate.

Pe lng formularea precedent, teorema 2.3.4. mai are urmtoarea interpretare:

Cuplul ( x , u ) de soluii admisibile este un cuplu de soluii optime dac i numai dac verific
seturile de implicaii:




41

x a u c
a u b u
j ij i j
i
m
ij i i
j
n
i
> =
< =

=
=
0
0
1
1

u a x b
a u c x
i ij j
j
n
i
ij i
i
m
j j
> =
> =

=
=
0
0
1
1

Observaie. Dei prezentat pe un cuplu de probleme canonice, teorema 2.3.4. este valabil
pentru orice cuplu de probleme n dualitate. Astfel pentru cuplul:
max f cx
Ax b
x
=
=
>

0

min
. . .
g ub
uA c
u f r s
=
>


ele se reduc la: ( ) ,..., . uA c x a u c u j n
ij i j
i
m
j
=
|
\

|
.
| = =
=
0 0 1
1

i mai concret, considerm cuplul din:

Exemplul 2.3.1
( )
min
, ,
P
f x x x
x x x
x x x
x x x
x x x
=
+ s
+ + =
+ >
>

5 2
6 2 3 6
3 2 12
2 4 4
0
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
( )
max
, . . .,
Q
g u u u
u u u
u u u
u u u
u u f r s u
= + +
+ + s
+ s
+ + s
s >

6 12 4
6 2 5
2 3 2
3 2 4 1
0 0
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3

Conform TEC, condiia necesar i suficient pentru ca dou soluii admisibile ale celor dou
probleme:
x x x x
T
= ( , , )
1 2 3
i u u u u = ( , , )
1 2 3

s fie optime este satisfacerea relaiilor:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) (5)
5 6 2 0 1
2 2 3 0 2
1 3 2 4 0 3
6 6 2 3 0 4
2 4 4 0
1 2 3 1
1 2 3 2
1 2 3 3
1 2 3 1
1 2 3 3
=
+ =
+ =
+ =
+ =
u u u x
u u u x
u u u x
x x x u
x x x u

O consecin important a TEC este faptul c rezolvarea unei probleme de programare liniar
este echivalent cu rezolvarea dualei sale n sensul c dac se cunoate soluia optim a uneia din ele
putem deduce relativ simplu soluia optim a celeilalte. Pentru ilustrare vom determina soluia
optim a problemei (P) din exemplul precedent tiind c duala (Q) are soluia optim u
*
de
componente: u u u
1 2
9
14 3
1
14
0
* * *
, , = = = .
nlocuind u
*
n (1) - (5) se constat c relaiile (2),(3),(4) sunt satisfcute de orice valori
numerice acordate variabilelor x
1
, x
2
, x
3
. n schimb din (1) i (5) obinem relaiile: x
1
=0 i 2x
1
- x
2
+
4x
3
- 4 = 0 care mpreun cu restricia egalitate din (P) constituie un sistem liniar:
x
x x x
x x x
1
1 2 3
1 2 3
0
2 4 4
3 2 12
=
+ =
+ + =


Rezolvnd sistemul, obinem soluia optim a problemei (P):
x x x f f x g u g
1 2
20
7 3
12
7
52
7
0
* * *
max
* *
min
, , ( ) ( ) = = = = = = =
Echivalena amintit mai nainte este folositoare n rezolvarea efectiv a problemelor de
programare liniar tiut fiind c efortul de calcul este relativ mai mic dac numrul restriciilor este
I. PROGRAMARE LINIARA


42
mai mic. n consecin, pentru o problem cu multe restricii i un numr restrns de variabile, va fi
mai comod s rezolvm duala sa.

3.2.4. Interpretarea economic a dualitii

Relum problema firmei din seciunea 1.1 exemplul 1).Considerm o ntreprindere care
produce bunurile G
1
,G
2
,...,G
m
la preurile c
1
,c
2
,...,c
n
folosind pentru aceasta mai multe resurse
R
1
,R
2
,...,R
m
disponibile n cantitile limitate b
1
,b
2
,...,b
m
. Consumurile specifice de resurse pentru
unul sau altul din bunurile realizabile de ctre firm sunt specificate n matricea:
A
a a a
a a a
a a a
n
n
m m mn
=

(
(
(
(
11 12 1
21 22 2
1 2


Obiectivul firmei este maximizarea veniturilor rezultate din vnzarea bunurilor produse. n
ipotezele de liniaritate uzuale, programul liniar pentru determinarea combinaiei optime de bunuri
este:
(P)
(max) ( )
, , ,
f x c x c x c x
a x a x a x b
a x a x a x b
a x a x a x b
x x x
n n
n n
n n
m m mn n m
n
= + + +
+ + + s
+ + + s
+ + + s
> > >

1 1 2 2
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
1 2
0 0 0

............................................

S notm cu x x x x
n
* ( , ,..., )
* * *
=
1 2
combinaia de bunuri care aduce firmei venitul maxim:
V f f x c x c x c x
n n
* max ( *) ...
* * *
= = = + + +
1 1 2 2

Dac admitem c singura posibilitate a firmei de a obine venitul V* const n transformarea
resurselor disponibile n bunuri conform programului x* i vnzarea acestora este natural s ne
ntrebm care este contribuia fiecrei resurse n parte la formarea acestui venit.
La baza discuiei vom pune aceleai ipoteze de liniaritate care ne-au condus la modelul
matematic (P) i anume:
- contribuia unei resurse la venitul maxim al firmei este - pn la o anumit limit - direct
proporional cu cantitatea disponibil;
- nivelul contribuiei unei resurse nu este condiionat de celelalte resurse , ci numai de
cantitatea n care ea se afl disponibil.

S notm atunci cu u u u
m 1 2
* * *
, ,..., aportul unei uniti din resursa R
1
, din resursa R
2
, .a.m.d. la
formarea venitului maxim V*.n virtutea ipotezelor de liniaritate amintite putem scrie:

V b u b u b u
m m
* ...
* * *
= + + +
1 1 2 2
(2.4.1)
Producerea unei uniti din bunul G
j
necesit a
1j
uniti din resursa R
1
, a
2j
uniti din resursa
R
2
, ....., a
mj
uniti din resursa R
m
.
Partea din venitul maxim V* corespunztoare acestor cantiti este:

a u a u a u
j j mj m 1 1 2 2
* * *
... + + +

Aceast mrime trebuie s acopere preul pe care firma l ncaseaz prin vnzare de vreme ce ea
nu are alte resurse de formare a venitului n afara transformrii resurselor n bunuri. Se conchide
c sistemul u u u u
m
* ( , ,..., )
* * *
=
1 2
trebuie s satisfac relaiile:




43

a u a u a u c
a u a u a u c
a u a u a u c
m m
m m
n n mn m n
11 1 21 2 1 1
12 1 22 2 2 2
1 1 2 2
* * *
* * *
* * *
...
...
...
+ + + >
+ + + >
+ + + >

..........................
(2.4.2)
i de asemenea condiiile de nenegativitate:
u u u
m 1 2
0 0 0
* * *
, ,..., > > > (2.4.3)
Sunt suficiente relaiile (2.4.1) - (2.4.3) pentru determinarea efectiv a valorilor u u u
m 1 2
* * *
, ,..., ? Teoria
dualitii d un rspuns afirmativ pe baza urmtoarelor observaii:
1) Relaiile (2.4.2) i (2.4.3) arat c u u u u
m
* ( , ,..., )
* * *
=
1 2
constituie o soluie admisibil a
dualei (Q) asociat problemei (P):
( )
(min) ( ) ...
...
...
. ..................................
...
, , ...,
Q
g x b u b u b u
a u a u a u c
a u a u a u c
a u a u a u c
u u u
m m
m m
m m
n n n mn m n
m
= + + +
+ + + >
+ + + >
+ + + >
> > >

1 1 2 2
11 1 21 2 1 1
12 1 22 2 2 2
1 1 2
1 2
0 0 0


2) Relaia (2.4.1) rescris n forma f(x*) = g(u*), coroborat cu teorema de dualitate 2.3.1, ne
arat c u* este chiar soluia optim a problemei duale Q.

Astfel, am gsit un coninut economic coerent variabilelor duale u
1
, u
2
,..., u
m
din problema dual
(Q). Ele reprezint nite valori bneti asociate la cte o unitate din fiecare resurs disponibil a
firmei i exprim aportul unitar al fiecrei resurse la formarea venitului maxim. Strict dimensional,
variabilele u
1
, u
2
,..., u
m
au semnificaia unor preuri ataate resurselor. Totui aceste preuri nu au
nimic comun cu valoarea intrinsec a resurselor ci - aa cum a rezultat din interpretarea dat -
reflect numai msura participrii lor la formarea venitului maxim. Tocmai pentru a preveni
identificarea lor cu preurile reale ale resurselor, n literatura de specialitate, aceste entiti au fost
denumite preuri umbr (shadow prices). A rezultat de asemenea i o modalitate de calcul a acestor
mrimi: se rezolv problema dual (Q).

Teoria dualitii arat c venitul maxim V* al firmei - privit ca funcie de cantitile
disponibile de resurse - depinde liniar de aceste disponibile prin intermediul preurilor duale optime
- vezi relaia (2.4.1)
n consecin :

c
c
V
b
u i m
i
i
*
*
,..., = = 1 (2.4.4)
Prin urmare preurile duale optime ne arat cu ct se modific venitul maxim V* al firmei la
o variaie cu o unitate a disponibilului unei resurse.

Este important de reinut faptul c aceste concluzii rmn valabile numai n situaia n care
componentele vectorului b variaz ntre anumite limite! n cazul general, atunci cnd se iau n
considerare toate valorile posibile ale lui b, adic b R
m
e
+
, funcia V
*
(b) este subaditiv i pozitiv
omogen. Aceasta nseamn:
V b b V b V b b b R
V tb tV b t b R
m
m
* * *
* *
( ' ) ( ) ( ' ) ( ) , '
( ) ( ) ,
+ s + e
= > e
+
+
( ) 0

I. PROGRAMARE LINIARA


44
Reamintim c n baza TEC soluiile optime x*, u* al problemelor (P) i (Q) satisfac relaiile:

x a u a u a u c
a x a x a x b u
u a x a x a x b
a u a u a u c x
j j j mj m j
i i in n i i
i i i in n i
j j mj m j j
* * * *
* * * *
* * * *
* * * *
...
...
...
...
> + + + =
+ + + < =
> + + + =
+ + + > =
0
0
0
0
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2

( . . )
( . . ' )
( . . )
( . . ' )
2 4 5
2 4 5
2 4 6
2 4 6


- (2.4.5) arat c dac bunul G
j
intr n combinaia optim atunci preul su este egal cu partea din
venitul maxim al firmei corespunztoare resurselor ncorporate ntr-o unitate din el.
- (2.4.5') arat c dac o resurs nu este prevzut a se consuma n ntregime - spunem c este
excedentar - preul su dual este 0. Aceast concluzie reprezint versiunea liniar a
legii cererii i ofertei - preul unei mrfi pentru care oferta este mai mare dect cererea
trebuie s scad.
- (2.4.6) arat c o resurs cu pre dual semnificativ trebuie consumat n ntregime; creterea cu o
unitate a disponibilului aducnd o cretere a venitului maxim conform (2.4.4).
- (2.4.6') arat c dac pentru un bun valoarea resurselor ncorporate ntr-o unitate - valoare
msurat n preurile duale optime - depete preul su atunci acesta nu intr n
combinaia optimal. Diferena a u c
ij j j
i
m
*

=1
reprezint pierderea potenial de venit pe
care firma o va nregistra dac totui decide realizarea unei uniti din bunul j.
Condiiile (2.4.5), (2.4.5'), (2.4.6), (2.4.6') date de TEC se mai numesc i condiii de
echilibru de unde i numele de preuri de echilibru dat uneori preurilor duale optime.

3.3. Structura mulimii soluiilor admisibile ale unei probleme de
programare liniar

n aceast seciune ne vom opri asupra principalelor proprieti geometrice pe care le posed
mulimea soluiilor unui sistem de ecuaii i inecuaii liniare. Aceste proprieti sunt determinante n
nelegerea mecanismului metodei simplex de rezolvare a programelor liniare.
Parcurgerea acestei seciuni necesit cteva rudimente de calcul matricial i algebr liniar.
Vectorii cu care se va opera vor fi subnelei, dup caz, fie linii fie coloane. De regul, scrierea n
text a unui vector se va face n linie ca de exemplu v a a a
m
= ( , ,..., )
1 2
; dac este necesar ca v s fie
considerat vector coloan se va folosi operatorul de transpunere: v a a a
m
= ( , ,..., )
1 2
T
.

3.3.1 Cteva elemente de analiz convex liniar

Fiind date dou puncte x y R
n
, e mulimea:
| | { } x y z x y , ( ) , = = + s s 1 0 1 o o o

se numete segment (nchis) cu extremitile x i y. Se tie c n R
2
sau n R
3
acest concept se
suprapune peste conceptul geometric uzual. Pentru o = 0, respectiv o = 1, avem z x , respectiv
z y . Punctele z x y = + ( ) 1 o o corespunztoare valorilor o e( , ) 0 1 se numesc puncte
interioare ale segmentului
| |
x y , . Pentru o =
1
2
gsim z x y = +
1
2
( ) mijlocul segmentului
| |
x y , .
O mulime X R
n
_ se zice convex dac o dat cu dou puncte conine i segmentul care le
unete.





45
Formal :

| |
X convex x y X z x y X e e = + e ( ) , , ( ) , , ( ) o o o 01 1

Se verific imediat c intersecia mai multor mulimi convexe este o mulime convex.
Fie a a a a
n
= ( , ,..., )
1 2
un vector nenul i b un scalar. Este uor de vzut c mulimea:
{ }
S x x x x ax b a x a x a x b
n
T
n n
= = s + + + s ( , ,..., ) ...
1 2 1 1 2 2

este convex. Ea se numete semispaiu, n timp ce mulimea:

{ }
H x x x x ax b a x a x a x b
n
T
n n
= = = + + + = ( , ,..., ) ...
1 2 1 1 2 2

se numete hiperplan. Este clar c i H este o mulime convex ca intersecie a semispaiului S de
mai sus, cu semispaiul:
{ }
S x R ax b a x b a x a x a x b
n
n n
'
( ) ... = e > s s
1 1 2 2

O intersecie finit de semispaii se numete mulime poliedral. Evident, o mulime
poliedral este convex, reciproca nefiind n general adevrat.
n figura 3.1.1 sunt prezentate cteva mulimi convexe i neconvexe n plan. Este clar c
mulimile a) i b) nu sunt convexe. Discul c) este o mulime convex dar nu este poliedral, fiind n
fapt intersecia infinit a tuturor semispaiilor care conin discul i sunt mrginite de tangentele la
circumferin. Poligonul convex d) este intersecia a 4 semispaii aa cum se arat n fig.3.1.2





























S
1

S
2

S
3

S
4

Figura 3.1.2

a) poligon concav b) coroan circular c) disc

d) poligon convex e) mulime poliedral nemrginit

Not: Toate mulimile specificate sunt presupuse, nchise adic i conin frontierele.

Figura 3.1.1
I. PROGRAMARE LINIARA


46
Din cele de mai sus rezult c orice mulime poliedral n R
n
se identific cu mulimea
soluiilor unui sistem de ecuaii i/sau inecuaii liniare n n variabile. n particular:

Mulimea A
P
a soluiilor admisibile ale unui program liniar (P) este o mulime convex,
poliedral i nchis. Frontiera sa se compune din toate punctele ale cror coordonate satisfac cu
egalitate cel puin una din restricii.

Se numete vrf al unei mulimi convexe X R
n
_ un punct v X e cu proprietatea c nu
exist un segment [x,y] c X care s conin pe v ca punct interior. n R
2
sau R
3
regsim conceptul
geometric uzual.
O mulime poliedral are ntotdeauna un numr finit de vrfuri (posibil nici unul); de
exemplu, poligonul d) din fig. 3.1.1 are patru vrfuri n timp ce un semispaiu nu are vrfuri. Discul
c) are o infinitate de vrfuri: orice punct de pe circumferin are aceast calitate.
Mulimile d) i e) din fig.3.1.1 sunt amndou poliedrale dar e) este nemrginit. Pentru a
caracteriza aceast proprietate avem nevoie de un nou concept, cel de raz extrem. Pentru a nu
depi cadrul orar al cursului vom lsa la latitudinea cititorului aprofundarea conceptului utiliznd ca
suport bibliografic www.asecib.ase.ro Cursuri on-line 9. Nica V. i colectiv, Cercetri
Operaionale I. Vom caracteriza ns n detaliu aceast situaie n cadrul metodei Simplex de
rezolvare a programelor liniare (vezi seciunea 4 a Cap. 1).

3.3.2 Teorema central a programrii liniare

S considerm acum un program liniar (P) n care funcia obiectiv se maximizeaz i s ne
situm n cazul n care programul (P) este compatibil adic mulimea soluiilor sale admisibile A
P

este nevid. Am vzut c A
P
este o mulime poliedral i convex avnd un numr finit de vrfuri
v v v
1 2
, ,.....,
p
. Aa cum va rezulta din seciunea 4.1, A
P
are cel puin un vrf, adic p > 1. Vom
enuna acum teorema central a programrii liniare.

TEOREMA
*)
. Dac programul (P) are optim finit, atunci o soluie optim se gsete ntr-
unul din vrfurile mulimii soluiilor admisibile A
P
.
Importana acestei teoreme este covritoare: ea reduce problema gsirii unei soluii optime
x * din mulimea, n general infinit, A
P
a tuturor soluiilor admisibile ale programului (P), la
identificarea acestei soluii n mulimea finit a vrfurilor lui A
P
.

Recapitulnd modul n care diferitele proprieti discutate au fost implicate n obinerea
acestui rezultat fundamental s reinem c:
- Convexitatea mulimii soluiilor admisibile A
P
situeaz soluiile optime, dac acestea
exist, pe frontiera lui A
P
;
- Deoarece A
P
este poliedral, iar funcia obiectiv este liniar, cel puin una din soluiile
optime este un vrf al lui A
P
.

Teorema furnizeaz urmtorul procedeu "naiv" de rezolvare a unui program liniar (P):
- se "genereaz" lista (finit) a vrfurilor mulimii A
P
;

*)
NOT: Pentru demonstraiile Teoremelor i Lemelor din acest capitol, vezi www.asecib.ase.ro Cursuri on-line 9.
Nica V. i colectiv, Cercetri Operaionale I.




47
- prin nlocuire succesiv n funcia obiectiv se reine vrful care ofer acesteia valoarea
maxim (sau minim, dup caz).

Procedeul ridic la rndul su urmtoarele probleme principiale:
1) Cum recunoatem compatibilitatea programului (P) ?
2) Cum "calculm" un vrf al mulimii A
P
sau mai corect spus cum se caracterizeaz
"algebric" un vrf ?
3) Pentru obinerea soluiei optime este necesar s generm toate vrfurile mulimii A
P
?
ntrebarea este serioas deoarece i pentru programe liniare de dimensiuni reduse (adic cu un numr
relativ mic de restricii i variabile) numrul vrfurilor este foarte mare.
4) Chiar dac reuim, prin enumerarea explicit a tuturor vrfurilor, s gsim pe acela care
maximizeaz funcia obiectiv, aceasta nu nseamn obligatoriu c am rezolvat programul dat! Este
posibil ca programul respectiv s aib optim infinit! Cum se recunoate acest fapt?
Vom rspunde progresiv la toate chestiunile menionate n seciunile urmtoare.

3.3.3 Corespondena A
P
~ A
FSP


Considerm o problem de programare liniar (P) care conine cel puin o restricie
inegalitate i fie (FSP) forma sa standard (vezi seciunea 1.4) Pentru simplificarea notaiilor, vom
presupune c (P) este n form canonic de maximizare:
( )
max
P
f cx
Ax b
x
=
s
>

0

unde:

| |
A
a a a
a a a
a a a
b
b
b
b
x
x
x
x
c c c c
n
n
m m mn m n
n
=

(
(
(
(
=

(
(
(
(
=

(
(
(
(
=
11 12 1
21 22 2
1 2
1
2
1
2
1 2

(3.3.1)

tim din seciunea 1.3 c orice program liniar poate fi scris n aceast form. Forma standard a
programului (P) va fi:
( )
max
,
FSP
f cx
Ax y b
x y
=
+ =
> >

0 0
n care: y
y
y
y
m
=

(
(
(
(
1
2

este vectorul variabilelor de abatere.


ntre mulimile de soluii admisibile A
P
c R
n
i A
FSP
c R
n+m
exist o coresponden bijectiv u(x)
= (x , y), unde y = b - Ax, a crei invers este proiecia u
-1
(x,y) = x. Am remarcat deja n seciunea
1.4 c prin corespondena u, soluiile optime ale celor dou probleme se corespund. n fapt, u are
urmtoarea proprietate mai general.

Teorema 3.3.1 Dac x este un vrf al mulimii A
P
atunci u(x) = (x,y) cu y = b - Ax este un
vrf al mulimii A
FSP
. Reciproc, dac (x,y) este un vrf al mulimii A
FSP
atunci u
-1
(x,y) = x este un
vrf al mulimii A
P
.
I. PROGRAMARE LINIARA


48

n baza acestei teoreme precum i a teoremei centrale a programrii liniare (seciunea 3.2), pentru a
rezolva problema (P) este suficient s cutm soluia optim a formei sale standard (FSP) printre
vrfurile mulimii A
FSP
.

Vom vedea n seciunea urmtoare cum se caracterizeaz algebric vrfurile mulimii soluiilor
admisibile ale unui program liniar n form standard. Tot acolo vom arta c dac un program (P)
este compatibil atunci A
P
are cel puin un vrf i n orice caz un numr finit de asemenea elemente.
Pe baza acestor rezultate, vom putea descrie n paragraful 4 o metod efectiv de rezolvare a unei
probleme de programare liniar.



3.3.4. Soluii de baz ale unui program liniar

S considerm acum un program liniar (P) n form standard:
( )
max
P
f cx
Ax b
x
=
=
>

0

n care masivele A,b,c,x au semnificaiile din (3.3.1). Vom pune n eviden coloanele matricii A:
A = [A
1
, A
2
, , A
n
]

Definiie: Soluia x x x x
n
T
=( , ,..., )
1 2
a problemei n form standard (P), nu neaprat
admisibil, se numete soluie de baz dac mulimea coloanelor A
i
corespunztoare componentelor
x
i
= 0 este liniar independent.

Fie I( x ) mulimea indicilor i e {1, 2,, m} cu proprietatea c x
i
= 0.

Lema 1 Dac x i ' x sunt soluii de baz ale programului (P) i I( ' x ) _ I( x ) atunci x
= ' x (i deci I( x ) = I( ' x )).

Demonstraie: Este clar c x
i
= ' x
i
= 0 pentru indicii ie I( x ). Atunci egalitile:
x A x A b
i
i
i I x
i
i
i I x e e '
= ' =
( ) ( )

implic:
( )
( )
x x A
i i
i
i I x
' =
e
0
de unde rezult x
i
= ' x
i
pentru toi ie I( x ), deoarece prin ipotez coloanele A
i
, ie I( x ) sunt
liniar independente.

Lema 2 Fie x x x x
n
T
=( , ,..., )
1 2
o soluie admisibil a problemei (P) care nu este soluie de
baz. Atunci exist un vector ye R
n
i un interval [ , ]c R
n
{- , +} astfel nct:
1) Ay = 0;
2) [ , ] conine pe 0 i nu se reduce la acest punct; i nu sunt simultan infinite;
3) pentru orice e[ , ] vectorul x() =x + y este o soluie admisibil a problemei (P);
4) Dac de exemplu, este finit i ' x = x( ) atunci I( ' x ) _ I( x ) dar I( ' x ) s I( x ) - 1
adic ' x are mai puine componente nenule dect x .

CURSUL 8




49
Demonstraie: Din ipotez rezult c mulimea coloanelor A
i
, ie I( x ) este liniar independent.
Exist prin urmare scalarii y
i

, ie I( x ) nu toi nuli astfel nct:
y A
i
i
i I x e
=
( )
0
Punnd y
i
= 0 pentru ie I( x ) obinem un vector y = (y
1
,y
2
,,y
n
) e R
n
cu proprietatea c:
y A Ay
i
i
i
n
=
= =
1
0 0
Afirmaia 1) este demonstrat.
Pentru orice e R vectorul x() = x + y este o soluie a problemei (P) deoarece Ax() =
A x + Ay =b.
Impunnd condiia de admisibilitate x()> 0 obinem pentru intervalul de valori permise [ ,
] n care:
= i I x y
i
i
i
x
y
e >


`
)
s

( ),
max
0
0 daca toti y
i
= i I x y
i
i
i
x
y
e <


`
)
+ >

( ),
min
0
0 daca toti y
i

Avem < 0 < i deoarece y = 0, cel puin una din extremitile , este finit. Astfel i
afirmaiile 2) , 3) sunt probate.
S presupunem, n final c este finit. Atunci va exista un indice re I( x ) astfel c: y
r
<
0 i = -
x
y
r
r
.Dac ' x = x( ) este clar c I( ' x ) _ I( x ) i cum ' = + = x x y
r r r
0iar
x
r
> 0urmeaz c I( ' x ) < I( x ) i ultima afirmaie este dovedit.


Teorema 3.4.1 O soluie admisibil x x x x
n
T
=( , ,..., )
1 2
a problemei (P) este un vrf al
mulimii A
P
dac i numai dac x este o soluie de baz.

Demonstraie: S presupunem c x este vrf dar nu este soluie de baz. Conform lemei 2 exist
y e R
n
cu Ay = 0 i intervalul [ , ] care conine pe 0 i nu se reduce la acesta, astfel nct x()
= x + y s fie o soluie a programului (P) oricare ar fi e [ , ]. Alegem c > 0 suficient de
mic astfel nct [-c ,+c ] c [ , ] i punem: x
1
= x -cy, x
2
= x +cy . Atunci x
1
,x
2
e A
P
, x
1
= x
2
i
x x x = +
1
2
1 2
( ) n contradicie cu ipoteza c x este vrf al mulimii A
P
.
Pentru reciproc s presupunem c x este o soluie de baz fr a fi vrf. Atunci exist
x
1
,x
2
e A
P
, x
1
= x
2
i oe (0,1) astfel nct x = (1-o )x
1
+ ox
2
. Pentru ieI( x ) avem
( ) 1 0
1 2
+ = o o x x
i i
i cum x x
i i
1 2
0 0 > > , rezult x x
i i
1 2
0 = = . n consecin, I(x
1
) _ I( x ),
I(x
2
) _ I( x ) i n virtutea lemei 1 rezult x
1
= x
2
= x , n contradicie cu ipoteza fcut.

Teorema 3.4.2 Dac programul n form standard (P) este compatibil atunci mulimea
soluiilor sale admisibile A
P
are cel puin o soluie de baz, deci un vrf.

Demonstraie Fie x = ( , ,..., ) x x x
n
T
1 2
o soluie admisibil a problemei (P). Vom proceda prin
inducie dup numrul k al componentelor x
i
> 0.Dac k = 0 atunci x = (0,0,...,0) este o soluie
de baz ntruct o mulime vid de vectori este, prin convenie,liniar independent. Dac k > 0
exist dou situaii de examinat:
1) Coloanele A
i
, i e I( x ) sunt liniar independente. Atunci x este o soluie de baz.

2) Coloanele A
i
, i e I( x ) sunt liniar dependente. Conform lemei 2 va exista o soluie
I. PROGRAMARE LINIARA


50
admisibil ' x cu I( ' x ) c I( x ) dar cu mai puine componente nenule dect x . Repetnd
raionamentul, este clar c ntr-un numr finit de pai se ajunge la situaia 1) adic la o soluie de
baz.

Consecin Mulimea A
P
a soluiilor admisibile ale unui program liniar compatibil are cel
puin un vrf.

Demonstraie: S presupunem c (P) nu este n form standard, altminteri avem teorema 3.4.2.
Fie (FSP) forma standard a programului (P). Deoarece avem corespondena bijectiv u: A
P
~ A
FSP

deducem c A
FSP
= C pentru c prin ipotez A
P
= C. Prin teorema 3.4.2 mulimea A
FSP
are cel puin
un vrf; acesta, prin proiecia u
-1
va fi un vrf al mulimii A
P
, graie teoremei 3.3.1.

Avnd n vedere caracterizarea algebric a vrfurilor dat n teorema 3.4.1, teorema central
a programrii liniare poate fi formulat i n urmtorii termeni.

Teorema 3.4.3 Dac un program liniar n form standard are optim finit, cel puin una din
soluiile sale optime este o soluie de baz.

Mai rmne de artat c mulimea soluiilor admisibile ale unui program liniar are un numr
finit de vrfuri. n virtutea teoremelor 3.3.1 i 3.4.1, aceasta revine la a arta c un program liniar n
form standard (P) are un numr finit de soluii admisibile de baz. Faptul rezult nemijlocit din
aceea c numrul sistemelor liniar independente ce pot fi extrase dintr-o mulime finit de vectori
este finit. Vom preciza acest lucru sub forma unei teoreme n seciunea urmtoare, n care vom
introduce un concept uor diferit de cel de soluie de baz, acela de soluie asociat unei baze a
programului (P). Noul concept are avantajul de a fi mai uor de manipulat n practic.

3.3.5. Baze ale unui program liniar n form standard. Soluia asociat unei baze

n notaiile seciunii precedente facem ipoteza:
rangA = m < n (3.5.1)
Ipoteza ne asigur c ecuaiile ce compun sistemul liniar Ax = b al restriciilor sunt independente i
c acest sistem are o infinitate de soluii. S notm c ipoteza nu implic n mod necesar i existena
soluiilor admisibile (adic cu toate componentele nenegative) pentru sistemul considerat. Dup cum
vom vedea n seciunea 4.6 ipoteza fcut nu este deloc restrictiv.

Deoarece rangA = m, n matricea A va exista cel puin un grup de m coloane liniar
independente, constituind deci o baz a spaiului R
m
. Un asemenea grup se va numi baz a
programului (P) i numrul acestora este finit , nedepind C
n
m n m
n
m
=

!
!( )!
.
Fie B o baz a programului (P), I mulimea indicilor coloanelor din B i J mulimea indicilor
coloanelor din A care nu sunt n B. Renumerotnd convenabil variabilele programului vom scrie
matricea A n forma:
A = [B , S] cu B = [A
i
]
i e I
, S = [A
j
]
j e J

Partiionm corespunztor vectorul (coloan) x al variabilelor:
| | | |
x
x
x
x x x x
B
S
B
i
i I
S
j
j J
=

(
= =
e
e
cu ,

ca i vectorul (linie) al coeficienilor funciei obiectiv:




51
c = [c
B
,c
S
] cu c
B
= [c
i
]
i e I
, c
S
= [c
j
]
j e J

n raport cu baza B aleas, variabilele x
i
, i e I se vor numi variabile bazice, iar toate celelalte
nebazice sau secundare.
Scriem sistemul Ax = b n forma:
| | B S
x
x
b Bx Sx b
B
S
B S
,

(
(
= + =
Deoarece B este o baz a spaiului R
m
, B (ca matrice!) este nesingular deci inversabil. nmulind la
stnga cu B
-1
obinem:

| | | |
x Sx b S B S a b B b b
B S
ij
i I j J
i
i I
+ = = = = =

e e

e
cu
1 1
,
, (3.5.2)

Va fi util s punem n eviden coloanele matricii S:

| | | | | |
S B A B A A
j
j J
j
j J
j
j J
= == =

e

e e
1 1

cu

| |
A B A a
j j
ij
i I
= =

e
1
(3.5.3)

Utilizm (3.5.2) pentru a elimina din expresia funciei obiectiv variabilele bazice:
| | f c c
x
x
c x c x c b Sx c x
B S
B
S
B B S S B S S S
=

(
(
= + = + = , ( )
= = c b c S c x f c x
B B S S S S
( ) (3.5.4)

unde:
f c b c B b c b
B B
i i
i I
= = =

e
( )
1
(3.5.5)
i:
| |
c c S c c B S c c
S B S B S
j
j J
= = =

e
( )
1

n care:
c c A c c B A c c a c
j
B j
j
B j
j i ij j
i I
= = =

e
( )
1
(3.5.6)
Astfel, n raport cu baza B, programul (P) poate fi adus la urmtoarea form echivalent, conform
(3.5.2) i (3.5.4):
( )
max
,
P
f f c x
x Sx b
x x
B
S S
B S
B S
=
+ =
> >

0 0

max
, ; ,
f f c x
x a x b i I
x i I x j J
j j
j J
i ij j
j J
i
i j
=
+ = e
> e > e

e
e
0 0
(3.5.7)

(P
B
) se numete forma explicit a programului (P) n raport cu baza B. Comparnd (P
B
) cu (P)
constatm c efectul nmulirii cu B
-1
a sistemului Ax = b este explicitarea variabilelor bazice x
i
, i
e I n funcie de cele nebazice x
j
, j e J.
Lund n (P
B
):
x
S
= 0 x
j
= 0 , j e J (3.5.8)
obinem:
I. PROGRAMARE LINIARA


52
x b x b i I
B
i i
= = e (3.5.9)
Vectorul:
x
b x
x
B
S
=

0
(3.5.10)
este evident o soluie a programului (P), numit soluia asociat bazei B. Vom spune c B este o
baz admisibil dac soluia asociat (3.5.10) este admisibil, ceea ce revine la a spune c
b i I
i
> e 0 , .

Prin construcie, soluia asociat unei baze a programului (P) este o soluie de baz n sensul
definiiei din seciunea precedent. Reciproca nu este n general adevrat. Astfel, dac x =
( , ,..., ) x x x
n
T
1 2
este o soluie de baz a programului (P), numrul componentelor nenule este s m.
Dac acest numr este exact m atunci x este soluia asociat bazei formate din coloanele matricii A
corespunztoare celor m componente nenule. Spunem n acest caz c x este o soluie de baz
nedegenerat. Dac numrul componentelor nenule este < m, coloanele corespunztoare acestor
componente pot fi completate pn la o baz n mai multe moduri, astfel c x se asociaz la mai
multe baze! Dac se ntmpl aa spunem c x este o soluie degenerat.

Deoarece (P) are un numr finit de baze, el va avea i un numr finit de soluii asociate
acestor baze i de aici un numr finit de soluii de baz.

n baza relaiilor (3.5.8), (3.5.9) constanta f din (3.5.5) reprezint valoarea funciei obiectiv
a programului (P) n soluia (3.5.10) asociat bazei B. Componentele c
j
, j e J (definite n (3.5.6))
ale vectorului c
S
din (3.5.4) vor juca un rol esenial n caracterizarea optimalitii unei soluii
admisibile de baz. Ele se numesc costuri reduse(notate A
j
n alte materiale de specialitate) i sunt
ntotdeauna asociate variabilelor nebazice. Coeficienii numerici ai formei explicite (3.5.7) se trec
ntr-un tabel (T
B
) al crui format este indicat n tabelul 3.5.1. Tabelul (T
B
) se numete tabelul
simplex asociat bazei B. Coloana B conine vectorii bazei B, coloana CB conine Coeficienii
din funcia obiectiv ai variabilelor Bazice iar n coloana VVB apar Valorile Variabilelor Bazice. n
ultima linie a tabelului, numit i linia test, apar valoarea f a funciei obiectiv n soluia asociat
bazei B precum i costurile reduse c
j
, j e J corespunztoare coloanelor nebazice. Formula (3.5.5)
arat c f este produsul scalar al coloanelor CB i VVB n timp ce relaia (3.5.6) arat c c
j
se
obine din produsul scalar al coloanelor CB i A
j
scznd costul c
j
scris deasupra coloanei A
j
.
Tabelul 3.5.1
c
i
c
r
c
j
c
k

CB B VVB

A
i


A
r


A
j


A
k













c
i
A
i
b
i

1

0
a
ij
a
ik

(T
B
)










c
r
A
r
b
r

0

1
a
rj
a
rk












f
f

*

*
c
j
c
k



Extindem definiia costului redus i la coloanele A
i
, ie I : c c c
i i i
= = 0.Aceste costuri
reduse au fost notate n linia test cu asteriscuri (*) spre a le deosebi de eventualele costuri reduse
nule c
j
, j e J care, dup cum vom vedea n seciunea 4.2, indic - la optim - prezena mai multor
soluii optime de baz.




53
3.4. Metoda simplex

Deoarece tim c dac programul n form standard (P) are optim finit o soluie optim va fi
cu necesitate o soluie de baz i deci va fi asociat unei baze B*, este natural s ne ntrebm cum
gsim aceast baz optimal B*. Traducnd n termeni algebrici procedeul geometric naiv, descris
n finalul seciunii 3.2, rezult urmtoarea procedur:

- se genereaz toate bazele programului (P) i se calculeaz soluiile asociate acestora;
- se elimin soluiile de baz neadmisibile i dintre cele admisibile se reine acea soluie
care ofer funciei obiectiv valoarea maxim.

Nu mai insistm asupra dezavantajelor i lipsurilor acestei scheme deoarece ele au fost deja
menionate n seciunea 3.2. Metoda descris are o alternativ care, din fericire, s-a dovedit a fi
deosebit de eficient din punct de vedere practic. Este vorba de metoda simplex datorat
matematicianului american George B. Dantzig (1947).
Aceast metod este un procedeu de cercetare sistematic a soluiilor admisibile de baz ale
unui program liniar n form standard (P). Ea presupune cunoscut o asemenea soluie, numit
soluie iniial sau de start i n continuare construiete un ir de soluii admisibile de baz de-a
lungul cruia valoarea funciei obiectiv crete progresiv. Metoda simplex ofer un test simplu de
recunoatere a optimalitii unei soluii de baz i de asemenea un test de recunoatere a optimului
infinit. Practica numeric a artat c numrul soluiilor admisibile de baz efectiv generate este de
regul mult mai mic dect numrul total al acestora.
Cu anumite precauii, uor de ndeplinit, metoda simplex garanteaz convergena procesului
iterativ n sensul c o baz admisibil cercetat la un moment dat nu mai revine n iteraiile
ulterioare (vezi seciunea 4.5). Cum numrul bazelor este finit, urmeaz c ntr-un numr finit de
pai se ajunge fie la soluia optim fie la concluzia c programul are optim infinit.
Firete, n aceast descriere succint, am plecat de la ipoteza cunoaterii unei soluii
admisibile de baz iniiale, adic de la premiza c (P) este un program compatibil. n seciunea 4.3
vom vedea cum se face recunoaterea incompatibilitii unui program liniar.

3.4.1. Teoremele fundamentale ale metodei simplex

n prezentarea fundamentelor teoretice ale metodei simplex vom folosi notaiile introduse n
seciunea 3.5. n mod constant vom presupune c soluia (3.5.10), asociat bazei B, este admisibil,
adic b i I
i
> e 0 , .

Teorema A. Dac toi c j J
j
> e 0 , atunci soluia (3.5.10) asociat bazei B este optim.
Dac n plus c j J
j
> e 0 , ,atunci ea este i unica soluie optim a programului (P).

Demonstraie: Fie y = (y
1
,y
2
,...,y
n
)
T
e A

o soluie admisibil arbitrar aleas. Deoarece y
1
> 0, y
2
>
0, ...,y
n

> 0 vom avea:
f y f c y f f x
j j
j J
( ) ( ) = s =
e

Inegalitatea de mai sus arat c, dintre toate soluiile admisibile ale programului(P),soluia x din
(3.5.10) ofer funciei obiectiv f cea mai mare valoare posibil. Dac costurile reduse sunt pozitive
i y = x atunci inegalitatea de mai sus este strict, fapt care probeaz unicitatea soluiei optime
x .

I. PROGRAMARE LINIARA


54
Teorema B. Presupunem c exist indicele keJ astfel c c
k
< 0 i toi
a i I A
ik
k
s e s 0 0 , ( ) .Atunci programul (P) are optim infinit.

Demonstraie: Pornind de la soluia x din (3.5.10) construim o soluie admisibil variabil dup
cum urmeaz. nlocuim n (3.5.7):
x
k
= u > 0 ; x
j
= 0 , j e J , j = k (4.1.1)
Rezult:
x b a i I
i i ik
= e u , (4.1.2)
Notm cu x (u) soluia ale crei componente sunt definite n (4.1.1) i (4.1.2). Condiia enunului
face ca x (u) e A
,
() u > 0. Evalum funcia obiectiv n soluia x (u) :
f x f c
k
( ( )) u u = (4.1.3)
Rezult imediat c:
u
u

= +
lim
( ( )) f x .Deci f este nemrginit superior pe A i ca urmare (P) are
optim infinit.

Teorema C Presupunem c exist ke J astfel nct c
k
< 0dar exist i indici ie I cu
a 0
ik
> . Fie re I indicele determinat prin formula:

b
a
b
a
r
rk
i I a
i
ik ik
=


`
)
e >0
min
(4.1.4)

Atunci grupul de coloane B' obinut din B nlocuind coloana A
r
cu coloana A
k
este o baz admisibil
a programului (P) i soluia ' x asociat ei este cel puin la fel de bun ca i soluia x asociat
bazei B, adic f( ' x ) > f( x ).

Demonstraie: Din (4.1.4) rezult c a 0
rk
> . Din A
k
= B
-1
A
k
avem:
A BA a A a A
k k
ik
i
i I i r
rk
r
= = +
e = ,

Deoarece a 0
rk
= putem exprima A
r
n funcie de A
i
, i = r i A
k
:
A
a
a
A
a
A
r ik
rk
i
i I i k
rk
k
= +
e = ,
1

Din teorema substituiei rezult c sistemul B', format din coloanele A
i
, i = r i A
k
, este o baz a
problemei (P).
S lum n soluia variabil x (u) construit n demonstraia teoremei B:
u =
b
a
r
rk
(4.1.5)
Din formulele (4.1.1) , (4.1.2) rezult:
x
b
a
x j J j k
x b
b
a
a i I
k
r
rk
j
i i
r
rk
ik
= = e =
= e

; , ,
,
0

Pentru i = r avem x b
b
a
a
r r
r
rk
rk
= = 0 aa c soluia de mai sus poate fi rescris astfel:

x j J j k x
x b
b
a
a i I i r x
b
a
j r
i i
r
rk
ik k
r
rk
= e = =
= e = =

0 0 , , ;
, , ;
(4.1.6)




55

Notm cu ' x soluia ale crei componente sunt definite n (4.1.6). Vom observa mai nti
c ' x este soluie admisibil a problemei (P), adic are toate componentele nenegative. ntr-adevr:

- dac a 0
ik
s atunci x
i
> 0;
- dac a 0
ik
> atunci b
b
a
a
b
a
b
a
i
r
rk
ik
i
ik
r
rk
> > 0 care are loc conform alegerii
indicelui r (vezi (4.1.4)).
n al doilea rnd remarcm c ' x este soluia asociat bazei B'. ntr-adevr, din (4.1.6) rezult c n
' x toate variabilele secundare n raport cu baza B' au valoarea 0. Afirmaia rezult acum din
unicitatea soluiei asociate unei baze.
Utiliznd formulele (4.1.3) i (4.1.5) obinem:

f x f
b
a
c f f x
r
rk
k
( ) ( ) ' = > = (4.1.7)
n concluzie, ' x este cel puin la fel de bun ca i x .

Observaii: 1) Bazele B i B' aprute n enunul teoremei C difer una de alta printr-o
singur coloan a matricii A. Dou baze ale programului (P) cu aceast proprietate se vor numi n
continuare baze vecinei tot vecine se vor numi i soluiile asociate.
2) Teoremele B i C afirm c dac o soluie de baz admisibil x nu satisface criteriul de
optimalitate al teoremei A atunci sau (P) are optim infinit sau, printre soluiile vecinecu x exist cel
puin una la fel de bun ca i x dac nu chiar mai bun.

Recapitulnd materialul expus n aceast seciune constatm c testarea optimalitii soluiei
x asociate bazei B presupune cunoaterea formei explicite (3.5.7) a problemei iniiale n raport cu
baza B. Mai mult, dac x nu verific criteriul de optimalitate al teoremei A, construcia soluiei de
baz mai bune ' x se face cu ajutorul elementelor aceleiai forme (3.5.7). n consecin, testarea
optimalitii soluiei ' x asociat bazei vecine B' va necesita cunoaterea formei explicite a
problemei iniiale n raport cu noua baz B':
( )
max
,
, ,...,
'
,
,
,
P
f f c x c x
x a x a x b i I i r
x a x a x b
x x x
B
j j
j J j k
r r
i ij j
j J j k
ir r i
k kj j
j J j k
kr r k
n
= ' '
+ ' + ' = ' e =
+ ' + ' = '
>

e =
e =
e =
1 2
0
(4.1.8)
(Vom remarca faptul c unele elemente din (4.1.8) sunt deja evaluate! Astfel, termenii liberi, adic
valorile noilor variabile bazice, sunt dai de (4.1.6) n timp ce constanta ' f , care este valoarea
funciei obiectiv n noua soluie de baz ' x , a fost obinut n (4.1.7).)
Firete, (4.1.8) se poate obine ca i (3.5.7) prin nmulirea la stnga a sistemului original de
restricii Ax = b cu matricea invers (B')
-1
. Putem deduce (4.1.8) direct din (3.5.7) cu ajutorul
urmtoarelor operaii:

Din ecuaia r a sistemului (3.5.7):
x a x a x b
r rj j
j k
rk k r
+ + =
=

explicitm x
k
, mprind relaia cu a
rk
:
I. PROGRAMARE LINIARA


56
x
a
a
x
a
x
b
a
k
rj
rk
j
j k
rk
r
r
rk
+ + =
=
1
(4.1.9)
Substituim x
k
dat de (4.1.9) n celelalte ecuaii ale sistemului din (3.5.7). Obinem:

x a
a
a
x
a
a
x b
b
a
a i I i r
i ij
rj
rk
j
j k
ik
rk
r i
r
rk
ik
+ = e =
=
( ) , , (4.1.10)

Ecuaiile (4.1.9) , (4.1.10) reprezint sistemul Ax = b explicitat n noile variabile bazice x
i
i e I,i = r
i x
k
.

Mai departe substituim acelai x
k
i n expresia funciei obiectiv din (3.5.7). Gsim:

f f
b
a
c c
a
a
c x
c
a
x
r
rk
k j
rj
rk
k j
k
rk
r
j k
= +
=
( ) ( ) (4.1.11)

Astfel, am exprimat funcia obiectiv cu ajutorul noilor variabile nebazice x
j,
j e J,j = k i x
r
.

Prin urmare (4.1.9) , (4.1.10) , (4.1.11) constituie forma explicit a problemei originale n
raport cu noua baz B'. Identificnd coeficienii din aceste ecuaii cu coeficienii corespunztori din
(4.1.8) rezult formulele:

' =
e =
e =
' = e = a a
a
a
a
i I i r
j J j k
a
a
a
i I i r
ij ij
rj
rk
ik ir
ik
rk
,
,
; ,

' = e = ' = a
a
a
j J j k a
a
kj
rj
rk
kr
rk
, ;
1
(4.1.12)

' = ' = e = ' = f f
b
a
c c c
a
a
c j J j k c
c
a
r
rk
k j j
rj
rk
k r
k
rk
; , ;

cunoscute i sub numele de formule de schimbare a bazei.

3.4.2. Algoritmul simplex

Rezolvarea efectiv a unui program liniar n form standard (P) se face cu ajutorul
algoritmului simplex. Acesta este un pachet invariabil de instruciuni logice i de calcul care,
aplicate unei soluii admisibile de baz a programului (P), stabilete dac soluia respectiv este
optim i, n caz contrar, pune n eviden situaia de optim infinit sau construiete efectiv o soluie
admisibil de baz mai bun dect cea curent.
S considerm o baz admisibil B precum i forma explicit (P
B
) a programului (P) n
raport cu aceast baz. (vezi notaiile seciunii 3.5)
n raport cu aceste date de intrare, coninutul unei iteraii simplex este urmtorul:

Pasul 1. (Test de optimalitate) Dac toi c j J
j
> e 0 , soluia de baz curent (adic soluia
(3.5.10), asociat bazei B) este optim: STOP. Altminteri:

Pasul 2. Se alege indicele nebazic k e J astfel ca:




57
c c
k
j J
j
=
e
min
(4.2.1)
Pasul 3. Dac:
a i I A
ik
k
s e s 0 0 , ( )
programul (P) are optim infinit:STOP. Altminteri:

Pasul 4. Se determin indicele bazic r e I cu formula:

b
a
b
a
r
rk
i I a
i
ik ik
=
|
\

|
.
|
e >0
min
(4.2.2)

Pasul 5. Se construiete forma explicit a programului (P) n raport cu baza B' dedus din B
prin nlocuirea coloanei A
r
cu coloana A
k
. Se revine la Pasul 1 n cadrul unei noi iteraii.

Observaii 1) La pasul 2 avem cu necesitate c
k
< 0. Despre coloana nebazic A
k
vom
spune c intr n baza curent. n demonstraia teoremei C s-a artat c variaia valorii funciei
obiectiv la schimbarea coloanei bazice A
r
cu coloana A
k
este dat de formula:
f x f x
b
a
c
r
rk
k
( ) ( ) ' =
|
\

|
.
|
(4.2.3)
Cum
b
a
r
rk
> 0 (vezi (4.2.2)) urmeaz c introducerea n baz a oricrei coloane nebazice A
j
cu
c
j
< 0 mbuntete valoarea curent a funciei obiectiv. Alegerea coloanei nebazice care va intra
n baza curent dup formula (4.2.1) asigur funciei obiectiv cea mai mare vitez de variaie i n
general conduce la terminarea algoritmului n mai puine iteraii.

2) Se poate arta uor c dac situaia descris n pasul 3 are loc atunci vectorul w =
(w
1
,w
2
,...,w
n
)
T
definit prin:
w a i I w j J j k w
i ik j k
= e = e = = , ; , , ; 0 1 (4.2.4)
este o raz extrem a mulimii poliedrale A
P
.

3) Despre coloana bazic A
r
al crei indice se determin cu formula (4.4.2) vom spune c
prsete baza curent. Alegerea ei dup formula amintit asigur admisibilitatea soluiei asociate
noii baze B'.

4) Elementul a
rk
, unde k este indicele coloanei care intr n baz iar r este indicele coloanei
care iese din baz se numete pivot i operaia de calculare a elementelor formei explicite n raport
cu baza B' din elementele formei explicite n raport cu baza veche B prin aplicarea formulelor de
schimbare a bazei (4.1.12) poart numele de pivotare gaussian.

5) n principiu, problemele de minimizare se reduc la cele de maximizare n baza relaiei
(1.3.1). Algoritmul simplex descris mai sus este aplicabil i problemelor de minimizare cu
urmtoarele mici modificri:
- n pasul 1: soluia curent este optim dac c j J
j
s e 0 , ;
- n pasul 2: pentru determinarea indicelui coloanei nebazice care intr n baza curent se va
utiliza formula
c c
k
j J
j
=
e
max

De aceast dat vom avea c
k
> 0.
I. PROGRAMARE LINIARA


58

6) S presupunem c baza curent B este optimal (adic soluia asociat ei verific testul de
optimalitate) i c exist indici nebazici jeJ cu c
j
= 0. Formula (4.2.3) arat c introducerea n baza
curent a oricrei coloane A
k
pentru care c
k
= 0 conduce la soluii de baz la fel de bune ca i cea
curent, deci optime. Se poate arta c dac x x x p
p 1 2
2 , ,..., , > sunt toate soluiile de baz optime
ale programului (P) atunci acesta are o infinitate de soluii optime care au forma:
x x x x cu si
p
p
p p
= + + + > + + + = o o o o o o o o o
1
1
2
2
1 2 1 2
0 1 ... , ,..., ...
(altfel spus, orice soluie optim este o combinaie convex a soluiilor optime de baz)

7) n rezolvarea manual a programelor liniare (firete de mici dimensiuni) se utilizeaz
tabelele simplex (3.5.1) asociate diferitelor baze cercetate. Aceste tabele se deduc unul din altul prin
pivotare gaussian.
n continuare vom aplica algoritmul simplex pe o problem simpl, n dou variabile, pentru
a putea ilustra grafic modul n care acioneaz procedura.

Exemplul 4.2.1 Considerm programul:

( )
max
; ;
,
P
f x x
x x x x x x
x x
= +
s s + s
> >

2
4 3 18 2 6
0 0
1 2
1 2 1 2 1 2
1 2


a crui mulime de soluii admisibile A
P
este vizualizat n figura 4.2.1.














Figura 4.2.1
Aducem (P) la forma standard adugnd variabilele de abatere x
3
, x
4
, x
5
:

( )
max
, ,...,
FSP
f x x
x x x
x x x
x x x
x j
j
= +
+ =
+ =
+ + =
> =

2
4
3 18
2 6
0 1 5
1 2
1 2 3
1 2 4
1 2 5


A
P

S
0
: x
1
=0, x
2
=0
S
1
: x
1
=4, x
2
=0
S
2
: x
1
=7, x
2
=3
S
3
: x
1
=42/5, x
2
=36/5
x
2

x
1





59
Se observ c matricea A a coeficienilor formei standard (FSP) conine baza unitar E = [ A
3
,A
4
,A
5
]
(deci FSP este chiar forma bun a lui P pentru aplicarea algoritmului Simplex Primal) a crei soluie
asociat:

1 = 0 , x
2
= 0 , x
3
= 4 , x
4
= 18 , x
5
= 6

este admisibil. n continuare sunt date tabelele rezultate prin aplicarea algoritmului simplex
(tabelele 4.2.1 - 4.2.4). n partea dreapt am indicat formele explicite ale problemei (FSP) n raport
cu bazele cercetate. n trei iteraii s-a obinut soluia optim x x
1
42
5
2
36
5
- -
= = , , valoarea maxim a
funciei obiectiv fiind 24; variabilele de abatere au n soluia optim valorile x x x
3
14
5 4 5
0
- - -
= = = , .

2 1 0 0 0 Formele explicite ale problemei (FSP) n
c
B
B VVB A
1
A
2
A
3
A
4
A
5
raport cu bazele cercetate
0 A
3
4 1 -1 1 0 0 x
1
- x
2
+ x
3
= 4
0 A
4
18 3 -1 0 1 0 3x
1
- x
2
+x
4
= 18
0 A
5
6 -1 2 0 0 1 -x
1
+2x
2
+x
5
= 6
f 0 -2 -1 * * * -2x
1
-x
2
+f = 0
22 A
1
4 1 -1 1 0 0 x
1
-x
2
+ x
3
= 4
0 A
4
6 0 2 -3 1 0 2x
2
-3x
3
+x
4
= 6
0 A
5
10 0 1 1 0 1 x
2
+ x
3
+x
5
= 10
f 8 * -3 2 * * -3x
2
+2x
3
+f = 8
2 A
1
7 1 0 -1/2 1/2 0 x
1
- 1/2x
3
+1/2x
4
= 7
1 A
2
3 0 1 -3/2 1/2 0 x
2
-3/2x
3
+1/2x
4
= 3
0 A
5
7 0 0 5/2 -1/2 1 5/2x
3
- 1/2x
4
+x
5
= 7
f 17 * * -5/2 3/2 *
-5/2x
3
+3/2x
4
+f = 17
2 A
1
42/5 1 0 0 2/5 1/5 x
1
+2/5x
4
+1/2x
5
= 42/5
1 A
2
36/5 0 1 0 1/5 3/5 x
2
+1/5x
4
+3/5x
5
= 36/5
0 A
3
14/5 0 0 1 -1/5 2/5 x
3
-1/5x
4
+2/5x
5
= 14/5
f 24 * * * 1 1 x
4
+ x
5
+f = 24
Tabelele 4.2.1 - 4.2.4



Soluia


Baza
Componentele
soluiei de baz
generat de algoritm

Soluia
programului

Valoarea
funciei
x
1
x
2
x
3
x
4
x
5
(P) obiectiv
S
0
B
0
= [A
3
, A
4
, A
5
] 0 0 4 18 6 (0 , 0) 0
S
1
B
1
= [A
1
, A
4
, A
5
] 4 0 0 6 10 (4 , 0) 8
S
2
B
2
= [A
1
, A
2
, A
5
] 7 3 0 0 7 (7 , 3) 17
S
3
B
3
= [A
1
, A
2
, A
3
] 42/5 36/5 14/5 0 0 (42/5 , 36/5) 24
Tabelul 4.2.5

Este util s recapitulm ntr-un tabel soluiile admisibile de baz ale programului (FSP) , efectiv
generate de algoritm , mpreun cu soluiile programului (P), asociate prin corespondena u din
finalul seciunii 3.3 (vezi tabelul 4.2.5).
Urmrind imaginea grafic (fig. 4.2.1), deducem sensul geometric al algoritmului simplex:
procedura pleac dintr-un vrf al mulimii soluiilor admisibile apoi se deplaseaz ctre un vrf
vecin mai bun .a.m.d. pn la gsirea soluiei optime.





I. PROGRAMARE LINIARA


60

3.4.3. Determinarea unei soluii admisibile de start (Metoda bazei artificiale)

Dup cum s-a specificat, aplicarea algoritmului simplex necesit cunoaterea unei baze
admisibile de start precum i a formei explicite asociate acesteia, celelalte forme explicite
deducndu-se una din alta prin pivotare gaussian. Chiar i pentru probleme de dimensiuni mici,
gsirea unei asemenea baze de start prin simpla inspectare a coloanelor matricii A, se dovedete a fi
o treab complicat, ne mai vorbind de faptul c este posibil ca problema s nu aib soluii
admisibile. n plus, s nu uitm c teoria metodei simplex s-a bazat esenial pe ipoteza c restriciile
problemei sunt liniar independente, lucru iari greu de verificat n practic. Pentru obinerea formei
explicite iniiale avem nevoie de cteva pregtiri.

Vom spune c programul n form standard (P) este n form bun dac matricea A conine
o submatrice unitate de ordinul m (= numrul restriciilor) iar termenii liberi sunt nenegativi. Dac
este aa, (P) satisface condiia (3.5.1) iar soluia asociat bazei unitare este admisibil i poate fi
considerat ca soluie de start pentru aplicarea algoritmului simplex. Dac (P) nu este n form bun,
el se poate aduce la aceast form, notat (FBP), n felul urmtor:
- n caz c unele restricii ale programului iniial au termeni liberi negativi nmulim aceste
restricii cu -1; n acest fel toi termenii liberi ai restriciilor problemei de rezolvat vor fi > 0.
- Se aduce problema la forma standard adugnd variabile de abatere n restriciile
inegaliti.
- Dac matricea programului rezultat nu conine toate coloanele matricii unitate de
ordinul m, n anumite restricii se vor aduga noi variabile nenegative pentru crearea coloanelor
lips; aceste noi variabile se numesc variabile artificialei, spre deosebire de cele de abatere, apar
i n funcia obiectiv cu un coeficient comun, foarte mare n valoare absolut. Coeficientul va fi
negativ dac funcia obiectiv se maximizeaz i pozitiv n caz contrar.

Se observ imediat c dac programul iniial (P) este compatibil, soluiile sale admisibile se
identific cu acele soluii ale formei bune n care variabilele artificiale au valoarea zero. Prin faptul
c variabilele artificiale sunt nsoite n expresia funciei obiectiv de nite penalizri foarte mari,
metoda simplex este instruit s caute tocmai asemenea soluii! i astfel, rezolvarea formei bune
ne conduce la unul din urmtoarele cazuri:
1. Forma bun are optim infinit. Atunci i programul iniial are optim infinit.
2. Forma bun are optim finit dar n soluia optim cel puin o variabil artificial are
valoare nenul. Atunci programul original este incompatibil.
3. Forma bun are optim finit i n soluia optim toate variabilele artificiale au valoarea
zero. Ignornd valorile acestor variabile se obine soluia optim a programului iniial.

Exemplul 4.3.1 Considerm urmtorul program mpreun cu forma sa standard:
( )
(max)
,
P
f x x
x x
x x
x x
x x
= +
+ >
+ >
+ s
> >

2 3
2 40
3 30
30
0 0
1 2
1 2
1 2
1 2
1 2
( )
(max)
, ,...,
FSP
f x x
x x x
x x x
x x x
x j
j
= +
+ =
+ =
+ + =
> =

2 3
2 40
3 30
30
0 1 5
1 2
1 2 3
1 2 4
1 2 5

Se constat c (FSP) nu este n forma bun neconinnd dect un singur vector al matricii unitare de
ordinul 3. Vom creea o asemenea matrice introducnd n primele dou restricii variabilele artificiale
x
6
i x
7
. Obinem programul:
CURSUL 9




61
( )
(max)
, ,... ,
, FBP
f x x Mx Mx
x x x x
x x x x
x x x
x j
M
j
= +
+ + =
+ + =
+ + =
> =

>>
2 3
2 40
3 30
30
0 1 7
0
1 2 6 7
1 2 3 6
1 2 4 7
1 2 5

Putem aplica algoritmul simplex programului (FBP) plecnd de la baza unitar E = [A
6
, A
7
, A
5
] i
de la soluia asociat acesteia:
x
1
= x
2
= x
3
=x
4
= 0 x
5
= 30 , x
6
= 40 , x
7
= 30

Dup trei iteraii (vezi tabelele 4.3.1 - 4.3.4) se obine soluia optim a programului (FBP) n care
variabilele artificiale x
6
, x
7
au valoarea zero. Ignornd aceste valori se obine soluia optim a
formei standard (FSP) i implicit soluia optim a programului original (P):

x x f
1 2
10 20 80
- -
= = = ,
max


variabilele de abatere avnd valorile: x x x
3 4 5
0 40 0
- - -
= = = , , .

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

-M A
6
40 2 1 -1 0 0 1 0
-M A
7
30 1 3 0 -1 0 0 1
0 A
5
30 1 1 0 0 1 0 0
f -70M -3M-2 -4M-3 M M * * *
-M A
6
30 5/3 0 -1 1/3 0 1 -1/3
3 A
2
10 1/3 1 0 -1/3 0 0 1/3
0 A
5
20 2/3 0 0 1/3 1 0 -1/3
f -30M+30 -5/3M-1 * M -M/3-1 * * 4M/3+1
2 A
1
18 1 0 -3/5 1///5 0 3/5 -1/5
3 A
2
4 0 1 1/5 -2/5 0 -1/5 2/5
0 A
5
8 0 0 2/5 1/5 1 -2/5 -1/5
f 48 * * -3/5 -4/5 * M+3/5 M+4/5
2 A
1
10 1 0 -1 0 -1 1 0
3 A
2
20 0 1 1 0 2 -1 0
0 A
4
40 0 0 2 1 5 -2 -1
f 80 * * 1 * 4 M-1 M
Tabelele 4.3.1 - 4.3.4

Punctele din R
2
corespunztoare celor patru soluii generate de algoritm sunt S
0
= (0,0) , S
1
= (0,10),
S
2
= (18,4), S
3
= (10,20). Urmrind fig. 4.3.1 se constat c punctele S
0
i S
1
, ce corespund unor
soluii ale programului (FBP) n care cel puin o variabil artificial are valoare nenul, sunt n afara
mulimii A
P
n timp ce S
2
i S
3
, corespunztoare unor soluii n care x
6
= x
7
= 0, sunt vrfuri ale
acestei mulimi.







I. PROGRAMARE LINIARA


62















Figura 4.3.1

Pentru determinarea unei soluii admisibile de baz de start, n situaia n care programul
iniial (P) nu este n form bun, se poate aplica i aa numita metod a celor dou faze:
- se introduc n restricii variabile artificiale, bineneles acolo unde este cazul, n scopul
formrii unei baze unitare de start (termenii liberi ai restriciilor se presupun a fi nenegativi);
- n faza I se minimizeaz suma w a variabilelor artificiale introduse. Deoarece i aceste
variabile sunt supuse condiiei de nenegativitate, urmeaz c (min)w > 0. n caz c (min)w > 0 este
clar c programul iniial (P) este incompatibil; dac (min)w = 0 se trece la:
- faza a II-a, n care se optimizeaz funcia obiectiv a programului iniial (P) plecnd de la
soluia de baz rezultat la finele fazei I. (Atenie, la nceputul acestei faze, vom avea grij s
recalculm costurile reduse c
j
n raport cu coeficienii funciei obiectiv din (P)!)

3.4.4. Inversa bazei curente. Soluia optim a problemei duale

S considerm un program liniar (P) n form bun. Renumerotnd convenabil variabilele
programului, matricea coeficienilor sistemului de restricii are forma:
A = [A , E],
unde E este matricea unitate de ordinul m = numrul restriciilor din (P). Dup cum am vzut, E se
ia ca baz de start n procesul rezolvrii programului (P) prin algoritmul simplex. Dac B este o
baz cercetat de algoritm, atunci matricea formei explicite asociat bazei B va fi:

B
-1
A = [B
-1
A , B
-1
]

Cum matricea B
-1
A apare n corpul mare al tabelului simplex corespunztor bazei B, deducem
urmtoarea concluzie important:

La fiecare iteraie, algoritmul simplex pune n eviden inversa B
-1
a bazei curente. Ea este
format din coloaneleA
j
corespunztoare coloanelor unitare A
j
care au format baza de start.

Exemplul 4.4.1 Ne referim la programul (P) rezolvat n exemplul 4.3.1. Deoarece baza de
start a fost matricea unitate E = [A
6
,A
7
,A
5
], inversa bazei optime B = [A
1
,A
2
,A
4
] se citete din
ultimul tabel simplex:
S
0
: x
1
=0 , x
2
=0
S
2
: x
1
=18 , x
2
=4
S
1
: x
1
=0 , x
2
=10
S
3
: x
1
=10 , x
2
=20
x
2

x
1

A
P





63
| |
B A A A

= =

(
(
(
1 6 7 5
1 0 1
1 0 2
2 1 5
, ,
O calitate remarcabil a algoritmului simplex este aceea c produce nu numai soluia
optim a problemei creia i se aplic ci i soluia optim a problemei duale.

S considerm un cuplu de probleme n dualitate n care una este n form standard (vezi seciunea
2.2):

( )
max ( )
P
f x cx
Ax b
x
=
=
>

0
( )
min ( )
Q
g u ub
uA c
u
=
>

oarecare


Cu notaiile seciunii 3.5 avem urmtoarea:

Teorema 4.4.1 Presupunem c (P) are o soluie optim x* asociat unei baze B. Atunci:
u* = c
B
B
-1
(4.4.1)
este o soluie optim a problemei duale (Q).

Demonstraie: Vom arta c u* satisface restriciile uA
j
> c
j
, j = 1,,n ale problemei duale (Q).
ntr-adevr u*A
j
- c
j
=c
B
B
-1
A
j
-c
j
= c
j
, conform (3.5.6). Avem c
j
> 0 , j = 1,,n, deoarece x* este
prin ipotez soluia optim a programului (P), astfel c u* este o soluie a dualei (Q). Mai departe
f(x*) = g(u*) = c
B
B
-1
b. Concluzia teoremei decurge acum din teorema 2.3.1.

Practic, pentru determinarea soluiei optime duale se procedeaz astfel. Am artat c
rezolvarea unei probleme n form standard se reduce la rezolvarea unei probleme de acelai tip a
crei matrice conine o submatrice unitate avnd ordinul egal cu numrul restriciilor.

Atunci inversa bazei optimale B
-1
se citete n tabelul simplex asociat acestei baze pe
coloanele A
j
corespunztoare vectorilor care au format baza unitar de start!

Extrgnd B
-1
din tabel se poate aplica formula (4.4.1).

Procedeul descris este valabil i pentru un cuplu general de probleme n dualitate (P,Q). ntr-
adevr, dup cum am vzut deja, aducerea problemei (P) la o form (P
1
) convenabil aplicrii
algoritmului simplex se face prin adugare de variabile: de abatere i/sau artificiale. n consecin,
duala (Q
1
) a problemei (P
1
) va avea aceleai variabile i aceeai funcie obiectiv ca i duala (Q) a
problemei iniiale (P), diferena constnd n numrul restriciilor i n condiiile impuse variabilelor.
Se poate arta fr dificultate c aceast diferen nu nseamn altceva dect dou modaliti de
scriere a uneia i aceleiai probleme, altfel spus (Q) i (Q
1
), n esen, coincid! n acest fel, teorema
de dualitate 2.3.3 este probat.

Exemplul 4.4.2 Ilustrm cele de mai sus, determinnd soluia optim a programului liniar:

( )
min ( )
;
, ,
Q
g u u u u
u u u u u u
u u u
= + +
+ + > + + >
s s >

40 30 30
2 2 3 3
0 0 0
1 2 3
1 2 3 1 2 3
1 2 3

I. PROGRAMARE LINIARA


64
care este dualul programului (P) rezolvat n exemplul 4.3.1. Dup adugarea variabilelor de abatere
i a celor artificiale, din (P) s-a obinut programul (P
1
) = (FBP) al crui dual este:
( )
min ( )
, ,
Q
g u u u u
u u u
u u u
u
u
u
u M
u M
u u u
1
1 2 3
1 2 3
1 2 3
1
2
3
1
2
1 2 3
40 30 30
2 2
3 3
0
0
0
= + +
+ + >
+ + >
>
>
>
>
>






f. r.s.

Restricia u
3
> 0 este de fapt condiia de nenegativitate impus variabilei u
3
n (Q) iar -u
1
> 0 , -u
2
>
0 nseamn u
1
s 0 , u
2
s 0. Ultimele dou restricii din (Q
1
) sunt superflue pentru c M este prin
definiie >>0. Prin urmare (Q) i (Q
1
) coincid. Din tabelul simplex 4.3.4 extragem inversa bazei
optimale comune B = [ A
1
,A
2
,A
4
] a programelor (P) i (P
1
) - vezi exemplul precedent - astfel c
soluia optim a problemei duale (Q) este :
| | | |
u c B
B -
= =

(
(
(
=
1
2 3 0
1 0 1
1 0 2
2 1 5
1 0 4
adic: u u u
1 2 3
1 0 4
- - -
= = = , , .

Observaie: Folosind notaiile din 3.5 punem n eviden componentele vectorului linie c
B
B
-1
:
t
j
B j
i ij
i I
c A c a j J = = e
e


Pentru coloanele unitare A
i
corespunztoare vectorilor A
i
din baza curent punem:
t
i
= c
i
i e I

Din (3.5.6) rezult atunci c:
c
j
=t
j
- c
j
j=1,,n

i deci mrimile t
j
sunt efectiv calculate n procesul evalurii coeficienilor c
j
! Acesta este i
motivul pentru care de multe ori mrimile t
j
sunt puse n eviden ntr-o linie separat plasat n
tabelul simplex deasupra liniei test. Cu aceste pregtiri, formula (4.4.1) arat c:

Soluia optim a problemei duale este dat de coeficienii t
j
din tabelul simplex al problemei
primale, corespunztori coloanelor unitare care au format baza de start.

3.4.5. Convergena algoritmului simplex

Se arat uor c dac minimul din (4.2.2) nu este unic atunci noua soluie de baz ' x este
degenerat, adic are un numr de componente nenule < m. Aceast situaie este delicat prin faptul
c poate implica neconvergena algoritmului. Mai precis, este posibil ca algoritmul s genereze un
ir de soluii de baz neoptimale x x x
p 1 2
, ,..., , dealungul cruia valoarea funciei obiectiv
staioneaz, adic f x f x f x
p
( ) ( ) ( )
1 2
= = = , astfel nct x x
p
=
1
!! Fenomenul descris, numit




65
ciclare, dei teoretic posibil, nu a fost ntlnit n nici o aplicaie practic, existena lui fiind probat
doar prin cteva exemple artificial construite.

Exemplul 4.5.1 [Beale] Se consider programul liniar:

x x x x
x x x x x
x
x x x x
1 4 5 7
2 4 5
1
2 6 7
3
4 5
1
2 6 7
8 9 0
12 3 0
20 6
+ x
+
+ x =1
(max)f =
1
4 6
1
2
6
3
4
+ =
+ =
+



O baz admisibil de start este B
0
= E = [A
1
,A
2
,A
3
] a crei soluie asociat x
0
este degenerat. ntr-
adevr, variabilele bazice au valorile:

x
1
= 0 , x
2
= 0 , x
3
= 1 (toate celelalte variabile fiind nule)

Propunem cititorului s arate c succesiunea de baze admisibile:

B
1
= [A
4
,A
2
,A
3
] , B
2
= [A
4
,A
5
,A
3
] , B
3
= [A
6
,A
5
,A
3
] , B
4
= [A
6
,A
7
,A
3
], B
5
= [A
6
,A
2
,A
3
] , B
6

=[A
4
,A
2
,A
3
]

poate fi dedus din B
0
prin aplicarea regulilor algoritmului simplex. Se constat fr dificultate c
valoarea funciei obiectiv n soluiile de baz asociate este zero i c nici una din aceste soluii, toate
degenerate, nu verific criteriul de optimalitate. Pe de alt parte observm c baza B
6
este identic cu
baza B
1
i deci algoritmul intr ntr-un ciclu infinit fr a putea determina soluia optim (care exist
i este unic dup cum vom vedea).
Pentru problemele ale cror soluii de baz admisibile sunt toate nedegenerate convergena
algoritmului este asigurat de urmtoarea:

Teorema 4.5.1 Dac programul n form standard (P) este compatibil i toate soluiile sale
admisibile de baz sunt nedegenerate atunci aplicarea algoritmului simplex descris n 4.2 se
termin ntr-un numr finit de iteraii, fie cu gsirea soluiei optime, fie cu concluzia c programul
are optim infinit.

Demonstraie: Fie x x x
0 1 2
, , ,... soluiile cercetate n cursul aplicrii algoritmului , x
0
fiind soluia
iniial. Avem f x f x f x ( ) ( ) ( ) ....
0 1 2
s s s
Ipoteza nedegenerrii precum i formula (4.2.3) arat c de fapt f x f x f x ( ) ( ) ( )
0 1 2
< < ... i deci
nici o soluie admisibil de baz nu va fi cercetat de dou ori. Concluzia teoremei rezult acum
din faptul c numrul soluiilor de baz este finit (vezi seciunea 3.5).

Din fericire, exist proceduri de evitare a ciclrii care constau ntr-o mic modificare a regulii
(4.2.2). Ele sunt ncorporate n orice pachet de programe destinat rezolvrii problemelor de
programare liniar. O asemenea metod este descris n www.asecib.ase.ro Cursuri on-line 9.
Nica V. i colectiv, Cercetri Operaionale I.

3.4.6. Interpretarea economic a algoritmului simplex

S considerm cazul n care problema de maximizare n form standard:
I. PROGRAMARE LINIARA


66
max f cx
Ax b
x
=
=
>

0

reprezint modelul de optimizare a activitii unei firme (seciunea 1.1, exemplul 1). Se cere
determinarea combinaiei de bunuri ce urmeaz a fi realizate precum i a cantitilor n care acestea
vor fi produse astfel nct venitul firmei s fie maxim cu condiia consumrii integrale a resurselor
disponibile. Ultima cerin nu este deloc restrictiv ntruct n lista activitilor productive putem
include la nevoie un numr de activiti fictive ale cror nivele s reprezinte resursele neconsumate
(aceste activiti fictive corespund variabilelor de abatere).

O prim concluzie care se desprinde din teoria metodei simplex este aceea c n orice soluie
optim a modelului numrul bunurilor ce vor fi efectiv realizate este cel mult egal cu numrul
resurselor folosite.
Aceasta rezult din faptul c n orice soluie de baz numrul componentelor nenule nu
depete numrul restriciilor. n consecin, realizarea unor bunuri ce nu sunt incluse n "lista
optim" implic adugarea unor noi restricii n model, fapt care duce la diminuarea optimului
iniial.

S considerm acum un program de producie "de baz", adic o soluie admisibil de baz,
asociat unei baze B. Activitile i corespunztoare coloanelor A
i
din B vor fi numite n continuare
activiti de baz, iar celelalte activiti secundare. Conform definiiei, acest program nu prevede
folosirea activitilor secundare iar cantitile de bunuri realizate n activitile de baz trebuie astfel
dimensionate nct s se asigure consumarea ntregului stoc de resurse. n notaiile seciunii 3.5 :

Bx
B
= b , x
S
= 0 de unde x
B
= B
-1
b =b

Dup cum se vede, lista activitilor de baz determin n mod unic cantitile de bunuri ce pot fi
produse i ca atare detectarea unui program mai bun se poate face numai studiind oportunitatea
utilizrii unor activiti secundare care s nlocuiasc o parte din activitile bazice curente. Pentru
aceasta avem nevoie de un criteriu care s permit compararea unei activiti secundare j cu grupul
activitilor de baz. S examinm coloana A
j
a tabelului simplex asociat bazei B. Conform (3.5.3)
A
j
= B
-1
A
j
de unde A
j
= B.A
j
sau:

A a A a A a A
j
j j mj
m
= + + +
1
1
2
2
.... (4.6.1)

n ipoteza c
| |
B A A A
m
=
1 2
, ,..., . Sensul economic al egalitii (4.7.1) este urmtorul: din punctul
de vedere al consumului de resurse producerea unei uniti din bunul j este echivalent cu
producerea cantitilor a a a
j j mj 1 2
, ,..., din bunurile activitilor de baz. n consecin, dac se
dorete producerea unei uniti din bunul j, producia activitilor de baz trebuie diminuat cu
cantitile a a a
j j mj 1 2
, ,..., . Analiza oportunitii introducerii n fabricaie a bunului j se va face prin
compararea aportului su la creterea venitului firmei cu aportul valoric al cantitilor
a a a
j j mj 1 2
, ,..., . Astfel, realizarea unei uniti din bunul j determin creterea valorii curente a
funciei obiectiv cu preul su c
j
n timp ce renunarea la producerea cantitilor a a a
j j mj 1 2
, ,...,
nseamn diminuarea aceleiai valori cu suma c a c a c a
j j m mj 1 1 2 2
+ + + ... . Prin urmare dac diferena:
c c a c a c a c
j j j m mj j
= + + +
1 1 2 2
... este > 0 realizarea bunului j nu este rentabil deoarece nu duce la
creterea valorii produciei asigurate prin programul curent. Dac c
j
> 0 pentru toate activitile
secundare, programul de fabricaie curent este optim. Am regsit astfel criteriul de optimalitate din




67
teorema A seciunea 4.1. Dac c
j
< 0, utilizarea activitii secundare j duce la o sporire a venitului
realizabil prin programul curent, viteza de cretere fiind -c
j
. Interpretarea criteriului de intrare n
baz (4.2.1) este acum clar: dac mai multe activiti secundare sunt rentabile n raport cu grupul
activitilor de baz este preferat activitatea care asigur cea mai ridicat vitez de cretere a valorii
curente a produciei. Fie k aceast activitate. Ultima problem const n stabilirea cantitii din bunul
k ce poate fi realizat n condiiile date. Conform celor de mai sus producerea unei cantiti u din
acest bun implic micorarea produciei din bunurile activitilor de baz cu cantitile
u u u a a a
k k mk 1 2
, ,..., :
x b a x b a x b a
k k m m mk 1 1 1 2 2 2
= = = u u u , ,...,

Deoarece desfurarea unei activiti la un nivel negativ este lipsit de sens va trebui s avem
b a i m
i ik
> = u 0 1,.., de unde:
u u s =
>
0
0 i a
ik
i
ik
b
a ,
min

(excludem cazul optimului infinit, nesemnificativ din punct de vedere economic). Dac u
0
=
b
a
r
rk
i
u u =
0
obinem creterea maxim a valorii curente a produciei prin utilizarea activitii k. n acest
caz activitatea k nu mai este folosit ntruct x b a b
b
a
a
r r rk r
r
rk
rk
= = = u
0
0. Am obinut din nou
criteriul de ieire din baz (4.2.2).



























I. PROGRAMARE LINIARA


68


3.5. Algoritmul simplex dual

Exist situaii n care pentru rezolvarea unui program liniar, dispunem de o soluie de baz
care nu este admisibil. Urmtoarele consideraii au drept scop s pun n eviden o alt clas de
soluii de baz cu care se poate opera ntr-o manier asemntoare celei n care lucreaz algoritmul
simplex descris n paragraful 4.

3.5.1. Admisibilitate primal i dual

Fie (P) un program liniar n form standard:
( )
,...,
,...,
(max)
P
a x b i m
x j n
f c x
ij j
j
n
i
j
j j
j
n
=
=

= =
> =
=

1
1
1
0 1
Ax b
x
f cx
=
>
=

0
(max)

(vezi notaiile matriciale (3.3.1)) Fie B o baz a programului (P), I mulimea indicilor coloanelor
din B, J mulimea indicilor coloanelor din A care nu sunt n B. n seciunea 3.5 am scris (P) n
forma:
( )
(max)
, ; ,
P
f f c x
x a x b
x i I x j J
B
j j
j J
i ij j
j J
i
i j
=
+ =
> e > e

e
e
0 0

(max)
,
f f c x
x Sx b
x x
S S
B S
B S
=
+ =
> >

0 0

(vezi notaiile (3.5.2-3.5.7)), numit forma explicit a programului (P) n raport cu baza B.
S considerm acum dualul programului (P):
( )
,...,
, ,...,
(min)
Q
a u c j n
u oarecari i m
g b u
ij i j
i
m
i
i i
i
m
> =
=
=

=
=

1
1
1
1
uA c
u oarecare
g ub
>
=

(min)

(vezi notaiile din 2.2) Aducem sistemul de inegaliti uA > c la forma standard introducnd
variabilele de abatere v
1
, v
2
, ..., v
n
reunite n vectorul linie v.

=
= > =
=

=
=
m
i
i i
j i
j j
m
i
i ij
u b g
n j v m i oarecari u
c v u a
FSQ
1
1
(min)
,..., 1 0 ; ,..., 1 , ) (
uA v c
u oarecare v
g ub
=
>
=

,
(min)
0
Partiionnd:

| | | | | |
v v v cu v v v v
B S B
i
i I
S
j
j J
= = =
e
e
, ,

sistemul liniar din (FSQ) devine succesiv:
CURSUL 10




69
| | | | | |
uA v c u B S v v c c
uB v c
uS v c
B S B S
B B
S S
= =
=
=

, , ,
( . . )
( . . )
511
512

Deoarece B este nesingular din (5.1.1) rezult:

u c B v B
B B
= +
1 1
(5.1.3)
Introducem u n (5.1.2):

( ) c B v B S v c v v B S c B S c v v S c
B B S S S B B S S B S
+ = = =
1 1 1 1


(cu notaiile 3.5.2-3.5.7) Folosind din nou (5.1.3) eliminm u din funcia obiectiv dual:

g u c B v B b c B b v B b f v b
B B B B B
( ) ( ) = + = + = +
1 1 1 1


In acest fel, am adus (FSQ) la forma echivalent:
( ) ,
(min)
Q
v v S c
v v
g f v b
B
S B S
S B
B
=
> >
= +

0 0
variabilele originale u
i
, i=1,...,m fiind legate de variabilele v
j
, j=1,...,n prin relaia (5.1.3).

Programul (Q
B
) se va numi forma explicit a dualului (Q) n raport cu baza B.
Pentru a sublinia simetria existent ntre problemele (P
B
) i (Q
B
) le vom scrie alturat att
scalar ct i matricial:
( ) , ; ,
(max)
P
x a x b i I
x i I x j J
f f c x
B
i ij j
j J
i
i j
j j
j J
+ = e
> e > e
=

e
e
0 0 ( ) , ; ,
(min)
Q
v a v c j J
v j J v i I
g f v b
B
j ij i
i I
j
j i
i
i
i I
= e
> e > e
= +

e
e
0 0


x Sx b
x x
f f c x
B S
B
S
S S
+ =
> >
=

0 0 ,
(max)

v v S c
v v
g f v b
S B S
S B
B
=
> >
=

0 0 ,
(min)


Observaie: Cu ajutorul relaiei (5.1.3) am rescris dualul (Q) n alte variabile care sunt
supuse condiiei de nenegativitate ca i variabilele programului primal (P). Putem vorbi acum de
soluii i soluii admisibile pentru programul (Q) i cnd facem acest lucru ne referim la forma
echivalent (Q
B
).

Prin analogie cu conceptul de soluie a primalei (P) asociat bazei B introducem termenul de
soluie a dualei (Q) asociat bazei B anulnd n sistemul restriciilor lui (Q
B
) variabilele "secundare"
v
i
, ie I :
v
B
> 0 v
S
=c
S

(5.1.4)
v
i
=0 , i e I v
j
=c
j
, j e J

Rezult imediat c valoarea funciei obiectiv duale n soluia construit este constanta f .
I. PROGRAMARE LINIARA


70
Folosind (5.1.3), soluia dualei (Q), corespunztoare soluiei (5.1.4) este:

u = c
B
B
-1
(5.1.5)

Soluia (5.1.4) va fi o soluie admisibil pentru duala (Q) dac:

c
S
> 0 c
j
> 0 , j e J

Mai departe, exact ca n demonstraia teoremei A a metodei simplex ( vezi seciunea 4.1 ) soluia
(5.1.4), presupus admisibil, va fi optim dac:

b > 0 b
i
> 0 , i e I

Reamintim c soluia primalei (P) asociat bazei B este:

x
S
=0 x
B
=b
(5.1.6)
x j J x b i I
j i
i = e = e 0 , ,

Aceast soluie este admisibil dac b b i I i > > e 0 0 , i n plus optim dac
c c j J
S
j
> > e 0 0, . Obinem urmtoarele concluzii remarcabile:
- Soluia (5.1.6) a primalei (P) asociat bazei B este admisibil (respectiv satisface criteriul
de optimalitate al algoritmului simplex) dac i numai dac soluia (5.1.4) a dualei (Q) asociat
aceleiai baze satisface criteriul de optimalitate (respectiv este admisibil).
- Valorile funciilor obiectiv primal i dual n cele dou soluii evideniate coincid (cu
constanta f )
- Soluia (5.1.6) este o soluie optim a programului (P
B
) (P) dac i numai dac soluia
(5.1.4) este optim pentru programul (Q
B
), ceeace echivaleaz cu a spune c soluia (5.1.5) este
optim pentru programul dual (Q).

n rezumat, pornind de la problema original (P) i de la o baz B a sa am construit dou
probleme n dualitate (P
B
) i (Q
B
) i am pus n eviden dou soluii ale acestora, pe care le-am
numit soluii asociate bazei B. Cuplul de soluii evideniat are proprietile:
i)Una din soluii este admisibil (verific criteriul de optimalitate al algoritmului simplex)
dac i numai dac cealalt verific criteriul de optimalitate (respectiv este admisibil) n
particular una este optim dac i numai dac cealalt este optim.
ii)Valorile funciilor obiectiv n cele dou soluii coincid.

Contextul astfel creat sugereaz urmtoarea schimbare de terminologie:
- O soluie de baz a programului (P) se va numi primal admisibil dac este admisibil n
sensul de pn acum adic are toate componentele nenegative.
- O soluie de baz a programului (P) se va zice dual admisibil dac verific criteriul de
optimalitate al algoritmului simplex. O baz a programului (P) se va numi dual admisibil dac
soluia asociat este dual admisibil.

n terminologia introdus, proprietatea i) de mai sus se reformuleaz astfel:
- Una din soluii este primal admisibil dac i numai dac cealalt este dual admisibil.
Oricare din ele este optim dac i numai dac este simultan primal i dual admisibil.







71
3.5.2. Algoritmul simplex dual

Consideraiile precedente sugereaz posibilitatea rezolvrii programului original (P) utiliznd
clasa soluiilor dual admisibile. Urmtorul algoritm, numit algoritmul simplex dual, rezult
nemijlocit din aplicarea teoremelor A, B, C ale metodei simplex la problema (Q
B
).

Presupunem cunoscut o soluie de baz dual admisibil a programului (P) i tabelul simplex
(uzual) asociat. n notaiile deja utilizate, o iteraie a algoritmului simplex dual se compune din
urmtorii pai:

Pasul 1. (Test de optimalitate) Dac toi b i I i > e 0 , STOP : soluia de baz dual
admisibil curent este optim. n caz contrar:

Pasul 2. Se determin indicele bazic reI cu proprietatea:

b b b r
i I
i r = <
e
min ( ) 0
Coloana A
r
prsete baza curent.

Pasul 3. Dac pentru toi jeJ avem a
rj
> 0 STOP: problema primal nu are soluii
admisibile. Altminteri:

Pasul 4. Se determin indicele nebazic ke J cu proprietatea:

c
a
c
a
k
rk
j
rj arj
=
<
min
0

Coloana A
k
intr n baza curent.

Pasul 5. Se pivoteaz tabelul simplex curent cu pivotul a
rk
<o. n acest fel se obine forma
explicit a programului (P) n raport cu baza B' dedus din B prin nlocuirea coloanei A
r
cu
coloana A
k
. Se revine la pasul 1 n cadrul unei noi iteraii.

Observaii: 1) Consideraiile expuse n aceast seciune sunt valabile cu mici modificri i n
cazul n care funcia obiectiv din programul original (P) se minimizeaz. Cititorul va verifica imediat
c algoritmul prezentat mai sus rmne valabil i pentru asemenea probleme.
2) Concluzia din pasul 3 este consecina teoremei fundamentale a dualitii. ntr-adevr, dac
a
rj
> 0 , jeJ atunci programul dual (Q) are optim infinit i n consecin programul (P) este
incompatibil.
3) Nu insistm asupra modalitii de determinare a unei soluii de baz dual admisibile de
start deoarece algoritmul va fi aplicat numai n situaii n care o asemenea soluie este disponibil.
Exemplu 5.2.1 Considerm programul:
( )
(min)
, ,
P
f x x x
x x x
x x x
x x x
= + +
+ >
+ + >
>

12 2 6
3 2 3
4 4
0
1 2 3
1 2 3
1 2 3
1 2 3

Introducem variabilele de abatere x
4
i x
5
dup care nmulim cu -1 egalitile rezultate:
3 2 3
4 4
1 2 3 4
1 2 3 5
x x x x
x x x x
+ + =
+ =

I. PROGRAMARE LINIARA


72
Soluia asociat bazei unitare E = | A
4
, A
5
| nu este admisibil:
x
1
=x
2
=x
3
=0 x
4
= -3 , x
5
= -4
dar dac evalum costurile reduse c
1
, c
2
, c
3
constatm c ele verific criteriul de optimalitate al
algoritmului simplex (bineneles pentru probleme de minimizare!).Vezi tabelele 5.2.1-5.2.4.
Se constat c soluia optim a programului dat are componentele :
x x x f
1
1
7 2 3
24
7
156
7
0
* * *
min
, , ; = = = =

Observaie final. Pentru simetrie, algoritmul descris n seciunea 4.2 se va numi algoritmul
simplex primal. Recapitulnd teoria se constat fr dificultate c maximul (minimul) unei funcii
obiectiv se atinge prin valori cresctoare (descresctoare) n simplexul primal i prin valori
descresctoare (cresctoare) n simplexul dual.
12 2 6 0 0
c
B
B VVB A
1
A
2
A
3
A
4
A
5
A
5
iese din baza curent.
0 A
4
-3 3 2 -1 1 0 min{-12/-4 , -2/-1 , -6/-1} =
0 A
5
-4 -4 -1 -1 0 1 = 2 A
2
intr n baza curent.
f 0 -12 -2 -6 * * ***
0 A
4
-11 -5 0 -3 1 2 A
4
iese din baza curent.
2 A
2
4 4 1 1 0 -1 min{-4/-5 , -4/-3} = 4/5
f 8 -4 * -4 * -2 A
1
intr n baza curent.
12 A
1
11/5 1 0 3//5 -1//5 -2/5 ***
2 A
2
-24/5 0 1 -7/5 4/5 3/5 A
2
iese din baza curent.
f 84/5 * * -8/5 -4/5 -18/5 A
3
intr n baza curent.
12 A
1
1/7 1 3/7 0 1/7 -1/7 ***
6 A
3
24/7 0 -5/7 1 -4/7 -3/7 Soluia curent este dual i primal
f 156/7 * -8/7 * -12/7 -30/7 admisibil.
Tabelele 5.2.1 - 5.2.4

3.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 cx
( , , )
(max)
=
>
=

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




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

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. De asemenea 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. De asemenea o problem de postoptimizare poate fi privit ca
un caz particular al unei probleme mai generale, parametrice etc.

3.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. PROGRAMARE LINIARA


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

Tabelul 6.1.1
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

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 cadrul acestui curs.

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:
( )
, ,
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 3
2 130
2 100
2 3 140
0
3 4 2
+ + s
+ + s
+ + s
>
= + +


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 variabilei 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 VV
B
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 * * *




75
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 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
x x
4 6
0
- -
= = . Din resursa R
2
rmn nefolosite x
5
10
-
= uniti. Cum aceste consideraii premerg
definitivarea programului de fabricaie, analiza modului de utilizare a resursei R
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 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
I. PROGRAMARE LINIARA


76
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 cb
1
i cb
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
c
c
c
c
c
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
c
c
c

=
+

+

(
(
(
(
(
40
2
3 1
1
3 3
10
1
3 1
1
3 3
50
1
3 1
2
3 3
c c
c c
c c
b b
b b
b b

Meninerea structurii sortimentale optime actuale nseamn:
x
B
b b
b b
b b
' >
+ s
+ s
s

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

Variaia valorii (optime) a funciei obiectiv la modificrile survenite este dat de formula:
c c c c 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
c c b b
Maximiznd cf pe domeniul determinat de inegalitile precedente se gsete (fie grafic fie cu
ajutorul algoritmului simplex):
( cb
1
)* = 30 ( cb
3
)* = 0 (max)cf = 50
Recapitulnd, dac vectorul disponibilului ar fi:
b =
+
+

(
(
(
=

(
(
(
130 30
100
140 0
160
100
140

atunci resursele ar fi n ntregime 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.).




77
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:
c c c
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 0
4 0 0 0
4 0 0 0
= + + = >
= + + = >
= + + = >
( )
( ) ( )
( ) ( )

din care rezult intervalul de stabilitate: 2 s c
1
s 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 s s s 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

(
(
(
=

(
(
(
=

(
(
(

(
(
(
=

+
+

(
(
(
>



b b b
1 1 1
70 160 280 > s s , ,

din care rezult intervalul de stabilitate: 70 s b
1
s 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

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 s b
3

s 170.





I. PROGRAMARE LINIARA


78

3.6.2. Postoptimizare: A) cazul modificrii unor coeficieni din funcia obiectiv (c)

Cazuistica postoptimizrii cuprinde:
A) Cazul n care se modific unii coeficieni din funcia obiectiv (c);
B) Cazul n care modificrile se produc n vectorul termenilor liberi (b);
C) Introducerea unei noi activiti n model;
D) Adugarea unei noi restricii;
E) Modificarea unei coloane din matricea coeficienilor.
Concret, n cadrul cursului vom aborda cazurile A, B i D. Pentru cazurile C i E, a se vedea
www.asecib.ase.ro Cursuri on-line 9. Nica V. i colectiv, Cercetri Operaionale I.

A) cazul n care se modific unii coeficieni din funcia obiectiv (c)

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

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

0

unde c c c c
n
' ( , ,..., )
' ' '
=
1 2
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:

' = ' e

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

Dac toi c'
j
> 0 , je 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.
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

CURSUL 11




79
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. ceea ce 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
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
--- --- ---
= = = , , (val. var. de abatere: x x x
4 5 6
0 35 75
--- --- ---
= = = , , )

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

x x x x = + +
- -- ---
o o o
1 2 3
cu o
1
, o
2
, o
3
> 0 i o
1
+ o
2
+ o
3
= 1

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

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

x
3
= 15 o
2
x
6
= 75 o
3


I. PROGRAMARE LINIARA


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

x
1
= 35 , x
2
= 46 , x
3
= 3 ( x
4
= 0 , x
5
= 13 , x
6
= 15 )
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 c
1 2 3
12 18 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
, x
2
35
--
= u. din A
2
, x
3
15
--
= u. din A
3

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%.
12 18 16 0 0 0
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





81
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 de asemenea 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.

3.6.3. Postoptimizare: B) cazul modificrilor n vectorul termenilor liberi (b)

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

0 ( ' )
'
(max)
P
Ax b
x
f cx
=
>
=

0
unde
( )
b b b b
m
T
' , ,...,
' ' '
=
1 2
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:

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.

3.6.4. Postoptimizare: D) adugarea unei noi 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 m
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 m
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
+ + + =
+ + + =
+ + + =
+ + + s
> > >
= + + +

o o o |


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


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

e
e
0 0 (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 :

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

procedm dup cum urmeaz:
- Transformm inegalitatea suplimentar n egalitate adugnd variabila de abatere x
n+1
:

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

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

o |
j j n
j J
x x + =
+
e
1
(6.5.4.)

Se constat imediat c | este negativ deoarece :
| | o = <
=
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
eR
n+1


Soluia asociat acestei baze:

x
i
=b
i
,ieI ; x
n+1
=|<0 ; x
j
=0 , jeJ (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 2
1 2 3 4
x x x b + + s (6.5.6)

Pentru ca soluia care maximizeaz profitul total:

x x x
1 2 3
50 40 0
- - -
= = = (6.5.7)

s satisfac restricia de mai sus este necesar ca:




83

2 50 + 2 40 +1 0 s 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 4
x x x x b + + + = (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)

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:
I. PROGRAMARE LINIARA


84

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
> s
> >
> >
> s

s s
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
5
2
5 4
62 = 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 12 18 16 6 9 92 0
3 1 2 3 1 2 3
8
100
x x x x x x x > + + + s ( ) (6.5.13)

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)
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





85
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 ntregi! 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
1
**
i inferior x
2
**
, x
3
**
se gsete combinaia:

x x x
1 2 3
39 42 6 = = =

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
1
**
, x
2
**
i superior x
3
**
se obine o soluie admisibil ntreag:

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

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

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

n cadrul acestui program, valoarea produciei din bunul A
3
reprezint 8,4% din valoarea ntregii
producii. Obinerea acestei soluii se face prin aplicarea metodelor specifice Programrii Liniare n
Numere ntregi (Curs CO anul 2).

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