You are on page 1of 41

96

PROGRAMARE LINIAR



#1. Scurt istoric.

Progamarea liniar, ca disciplin matematic, a aprut la mijlocul
secolului nostru, primele lucrri fiind publicate de L. Kantorovici (1939) i F.
Hitchcock (1941).
Primele probleme rezolvate se refereau la organizarea optim a
transporturilor maritime, necesitile de aprovizionare a frontului, planificarea
misiunilor aviaiei de bombardament.
n 1947 G. Dantzig i J. Von Newmann creeaz metoda simplex care
st la baza rezolvrii problemelor de programare liniar. Ulterior programarea
liniar a cunoscut un mare avnt prin lucrrile unor matematicieni i
economiti ca T. Koopmans, L. Ford, D. Fulkerson, W. Cooper, H. Kuhn,
gsindu-i un cmp foarte larg de aplicaii n economie.
Necesitile reale ale vieii economice au condus la apariia i
dezvoltarea altor tipuri de programri, cum ar fi:
- programarea ptratic,
- programarea convex,
- programarea n numere ntregi,
- programarea stohastic,
- programarea dinamic,
toate acestea fiind nglobate n termenul generic de programare matematic.


#2. Exemple de probleme de programare liniar


a) Problema planului optim de producie.
Fie mainile M M M
n 1 2
, ,..., care fabric sau consum produsele
P P P
m 1 2
, ,..., , n cantiti date pe unitatea de timp, anume a
ij
din P
i
pentru
maina M i m j n
j
, , 1 1 . (Dac M
j
produce n unitatea de timp
cantitatea a
ij
din P
i
atunci a
ij
> 0 , dac consum atunci a
ij
0 , iar dac
a
ij
= 0, M
j
nu produce i nu consum P
i
). Producia (respectiv consumul)
produsului P
i
nu trebuie s fie sub limita (respectiv s depeasc)
b b
i i
, > 0(respectiv b
i
dac b
i
0) pentru 1 i m.

97
Fie x
j
timpul de funcionare al mainii M
j
, iar c
j
beneficiul obinut
prin funcionarea lui M
j
n unitatea de timp, 1 j n. Un sistem de numere
reale

x x x
n 1 2
, ,..., constituie un plan optim de producie, dac maximizez
beneficiul total adic funcia:
f c x
j j
j
n
=
=

1
n condiiile restrictive:
a x b i m
ij j i
j
n
> >
=

, 1 0
1
i x
j
.
Dac c
j
reprezint costul funcionrii mainii M
j
n unitatea de timp,
atunci se va cere minimizarea funciei de cost f c x
j j
j
n
=
=

1
.

b) Problema dietei (a amestecului).
S se determine cantitile x
j
din alimentele A
j
, 1 j n, alctuind o
diet

x x
n 1
,..., astfel nct costul acesteia f c x
j j
j
n
=
=

1
s fie minim, unde
c
j
reprezint costul unitar al alimentului A
j
, dac se mai cunoate
componena n substane nutritive S S S
m 1 2
, ,..., (cum ar fi: glucide, lipide,
vitamine) a alimentelor A
j
, 1 j n , dat prin matricea:

a
ij
i m
j n
1
1


unde a
ij

este cantitatea de substan S
i
coninut n unitatea din alimentul A
j
i se
cere ca fiecare diet s conin cel puin cantitile b
i
din substana S
i
,
1 i m. Deci, matematic problema se transcrie:

= >
>

=
=
n 1,2,..., j 0 x
m i 1 , b x a
e restrictiv conditiile in x c min
j
n
1 j
i j ij
n
1 j
j j




98
c) Problema folosirii optime a resurselor.
O unitate economic trebuie s produc produsele P P P
n 1 2
, ,...,
avnd la dispoziie cel mult cantitile b b b
m 1 2
, ,..., din resursele
R R R
m 1 2
, ,..., . tiind c producerea unei uniti din produsul P
j
necesit
cantitatea a
ij
din resursa R
i
i c prin livrarea unei uniti din acelai produs
se obine beneficiul C
j
, 1 i n se cere s se determine cantitile
x x x
n 1 2
, ,..., din produsele P P P
n 1 2
, ,..., astfel ca beneficiul s fie maxim.
Deci:

= >
>

=
=
n j x
m i b x a
x c
j
n
j
i j ij
n
j
j j
,..., 2 , 1 0
1 ,
conditiile in max
1
1


d) Problema de transport.
Se dau depozitele D D D
n 1 2
, ,..., , avnd disponibil o marf n
cantitile b b b
n 1 2
, ,..., ; consumatorii C C C
m 1 2
, ,..., solicitnd marfa n
cantitile b'
1
, b'
2
, ..., b'
m
; i costul unitar c
ij
de transport al mrfii de la
depozitul D
i
la consumatorul C
j
.
Se cere s se gseasc un sistem de numere nenegative
_ a
x i n j m
ij
, , ,..., ; , ,..., = = 1 2 1 2 unde x
ij
este cantitatea de marf
transportat de la D
i
la C
j
, care s fac minim costul de transport, adic
funcia f c x
ij ij
j
m
i
n
=
= =

1 1
i s nu depeasc disponibilul din nici un depozit,
adic: x b i n
ij
j
m
i
=

=
1
1 , ,..., i s satisfac mcar cererea fiecrui
consumator, adic: x b j m
ij
i
m
j
=

> =
1
1
'
, , ...,
Sistemul
_ a
x i n j m
ij
, , ,..., ; , ,..., = = 1 2 1 2 care ndeplinete aceste
condiii se numete program de transport. Evident, existena unui program de

99
transport impune condiia ca disponibilul total s depeasc sau s fie mcar
egal cu cererea total, adic:

1
1 1
b b
i
i
n
j
j
m
= =

> '
Dac restriciile problemei sunt date ca egaliti atunci i relaia (1)
devine egalitate, i n acest caz problema de transport se numete echilibrat.
n caz contrar spunem c avem o problem de transport neechilibrat.
Datele problemei de transport pot fi nscrise ntr-un tablou de forma:

Tabelul (T)
Consumatori

Depozite
C C C
m 1 2
...
Disponibil
D
D
D
n
1
2
/

c c c
c c c
c c c
m
m
n n nm
11 12 1
21 22 2
1 2
...
...
...
/ / / /

b
b
b
n
1
2
/

Cerere
b b b
m
' ' ... '
1 2




#3. Noiuni generale privind problema programrii liniare


Exemplele prezentate conduc la rezolvarea unor probleme matemetice
asemntoare. Forma standard a unei probleme de programare liniar de
minim (sau program liniar de minimizare) se prezint astfel:

>
> =
=

=
=
n i x
b m i b x a
x c f
PL
j
i i
n
j
j ij
n
j
j j
1 , 0
0 , 1 ,
e restrictiv conditiile in min
min 2
1
1


iar a unui program liniar de maximizare:

100

>
> =
=

=
=
n j x
b m i b x a
x c f
PL
j
i i
n
j
j ij
n
j
j j
1 , 0
0 , 1 ,
conditiile in max
max 3
1
1

Condiiile restrictive se mai numesc i restriciile programului liniar.
Dac notm:


x x x X a A
n
T
ij
i m
j n
1 2
1
1
, , ..., ; = =





b b b L c c c C
m
T
n 1 2 1 2
, ,..., ; , ,..., = =
1

atunci PL min se transcrie matriceal astfel:


2
0
'
min f x C X
A X L
X
T
=
=
>


iar PL max :


3
0
'
max f x C X
A X L
X
T
=
=
>


Evident c sistemul de restricii A X L = poate fi:
- incompatibil
- compatibil unic determinat (numai n cazul m n = )
- compatibil nedeterminat.
Ultimul caz intereseaz cel mai mult pentru c aici se pune problema de
a alege dintre mai multe soluii pe cea mai bun.
Pentru modelele de PL care nu au forma standard exist modaliti de
construire a unor forme standard echivalente. Acestea sunt prezentate n II.5.
S presupunem c rangul lui A este m.Dac notm coloanele matricei
A cu a j n
j
, 1 atunci restriciile problemei se transcriu:

4
1
1
2
2
a x a x a x L
n
n
= ...

Definiia II.3.1. Un vector X R
n
, ale crui componente satisfac
restriciile unei probleme de programare liniar, se numete program admisibil
(sau soluie admisibil, sau soluie posibil)

101

Definiia II.3.2 Un program admisibil X
Q
care minimizeaz (sau
maximizeaz, n funcie de problem) funcia liniar asociat acelei probleme
se numete program optim (sau soluie optim).

Definiia II.3.3.Un program

X x x x
n
T
=
1 2
, ,..., se numete program
de baz dac vectorii coloan a
j
, corespunztori componentelor x
j
nenule

x
j
{ 0 , sunt liniar independeni.
Deoarece rang A m = un program de baz are cel mult m componente
nenule;

Definiia II.3.4. Dac un program de baz are exact m componente
nenule (m= rang A), atunci programul de baz se numete nedegenerat. n caz
contrar, degenerat.

Definiia II.3.5. Matricea B de tipul m x m format din coloanele lui A
corespunztoare componentelor nenule ale unui program de baz nedegenerat
X se numete baz a programului X.

Exemplul II.3.1. Problema de programare liniar:

min
, .
2 3 3
2
3 4
0 1 4
1 2 3 4
1 2 3 4
1 2 3 4
x x x x
x x x x
x x x x
x j
j

=
=
>



se transcrie matriceal astfel:

min ( 2 -3 -3 1 ) . ( x
1
x
2
x
3
x
4
)
T


1 1 1 1
1 1
2
4
0
1
2
3
4

'

+
'

'

+
'

'

+
'

>

1 -3
rang A= 2
x
x
x
x
X ,


Sistemul liniar de restricii se transcrie i sub forma:

102
] ] ] ]
1
1
1
1
1
3
1
1
2
4
1
2
3 4
1 2 3 4

'

+
'

'

+
'

'

+
'

'

+
'

=

'

+
'

a
a
a a
L
x x x x


Programe ale problemei sunt de pild:

X X X
1 2 3
3
0
0
1
3
1
0
0
5
1
1
1
=

'

+
'

'

+
'

'

+
'

; ;
primele dou fiind i programe de baz nedegenerate cu bazele B
1
1 1
1 1
=

'

+
'

;
respectiv B
2
1 1
1 1
=

'

+
'


(sau cu notaiile anterioare B a a B a a
1 1 4 2 1 2
= = , ; , .
Valorile funciei obiectiv, corespunztoare celor trei programe sunt:
f X f X f X
1 2 3
7 3 5 = = = , , . Programul X
3
nu este de baz deoarece
vectorii coloan corespunztori componentelor nenule, respectiv:
a a a a
1 2 3 4
, , , sunt liniar dependeni.
Vectorul X
4
1
0
1
0
=

'

+
'

, dei verific sistemul de restricii nu este program


admisibil deoarece nu are toate componentele nenegative.
Notm cu P mulimea soluiilor posibile ale unei probleme PL - min.
Deci
_ a
P x R AX L X
n
= = > , 0 i notm cu P
Q
mulimea
programelor optime ale acestei probleme:

_ a
P X P C X C X X P
T T Q Q Q
= V ; .

Teorema II.3.1. Mulimile P i P
Q
sunt convexe.

Demonstraie: S demonstrm c P este convex, adic
? A V V > X Y P Y P Y , , si avem X+ 1- si X+ 1- P P P P P 01 0
Faptul c
P P > X+ 1- Y 0este evident.
Deoarece X P A X L = siY P implic AY = L. Deci:

? A
A X Y A X AY L L L = = = P P P P P P 1 1 1 .
Deci: P P X Y P 1

103
Pentru a demonstra c P
Q
este convex, fie
X Y P deci C X C Y C X
T T
X P
T Q Q Q Q Q
, min = =

'

+
'

i 0 1. P Avem:




C X Y C X C Y C X
C X C X
T T T
X P
T
X P
T
X P
T
P P P P P
P
Q Q Q Q
= =
=


1 1
1
min
min min

Deci

P P X Y
Q Q
1 este optim.

Teorema II.3.2. Dac o problem de programare liniar admite
programe atunci admite i programe de baz.

Teorema II.3.3. Dac un program liniar are optim, atunci are i un
program optim de baz.

Pentru demonstraia acestor dou teoreme avem nevoie de urmtoarea
lem:

Lema II.3.1. Oricare ar fi sistemele de numere reale:
_ a _ a
x x i n y i n y
i i i i
si nu toate nule > 0 1 1 , , se poate determina un
numr s > 0 astfel nct x y
i i
> P 0 pentru orice ? A P s s , , 1 i n i
pentru cel puin un indice j, 1 j n, s avem
x y x y
j j j j
= = s s 0 0 sau

Demonstraia lemei. Grupm indicii
_ a
1 2 , ,...,n dup semnul
numerelor y
i
astfel nct
_ a _ a
I i y I i y
i i 1 2
0 0 = > = si . Cum nu toi
y
i
sunt nuli, 1 i n, avem I I
1 2
{ . Dac I
1
{ { si I
2

comparm rapoartele x y
i i
/ cu i I
1
i apoi pe cele cu i I
2
. Gsim
r I
1
i s I
2
astfel nct:
0
0
1
2
= =
= =

E
F
x
y
x
y
x
y
x
y
r
r
i I
i
i
r
r
i I
i
i
min
max

Vom lua
_ a
s E F = min , iar j astfel:
- dac E F s s E = =

'

+
'

luam si vom avea cci = =


x
y
r
r
j r x y
r r
0

104
- dac E F s s F > = =

'

+
'

luam si vom avea cci = =


-x
y
s
s
j s x y
s s
0
Observnd c =

'

+
'

F min
i I
i
i
x
y
2
vom avea n ambele cazuri
? A x y i n
i i
> V V P P s s 0 1 si , .
Dac I
1
= { si I
2
lum E = iar dac I
1
{ = si I
2

lumF = .
Demonstraia lemei este ncheiat.

Demonstraia teoremei II.3.2. Vom demonstra c un program de baz
este un program admisibil cu un numr minim de componente nenule.
Fie X programul admisibil cu numrul minim de componente nenule.
Fie r numrul componentelor sale nenule. (Orice alt program admisibil va
avea cel puin r componente nenule).
Dac r = 0 atunci X = 0 este program de baz. Dac r > 0, fie
_ a
x x x
i i i
r 1 2
, ,..., componentele strict pozitive ale lui X. (restul sunt nule).
Dac a a a
i i i
r 1 2
, ,..., sunt liniar independeni atunci X este program de baz.
S presupunem prin reducere la absurd c a a a
i i i
r 1 2
, ,..., sunt liniar
dependeni , adic exist y y y R
i i i
r 1 2
, ,..., nu toi nuli astfel nct:
(5) y a y a y a
i
i
i
i
i
i
r
r
1
1
2
2
0 = ...
Considernd Y R
n
= cu y
i
0pentru
_ a _ a _ a i n i i i y i i i k r
r i r
k
= = 12 12
1 2 1 2
, , ... , , , ... , , , . .. , ; , , ... , . si y pentru i
i
atunci folosind (5) putem scrie A Y = 0. Atunci:
(6)
A X Y AX AY AX L R = = = V P P P
Acum aplicm lema II.3.1. pentru sistemele
_ a _ a
x x y y
i i i i
r r 1 1
,..., ,..., . si Deci exist s > 0 astfel nct, pentru un
? A
P s s , s avem x y k r x y
i i i i
k k j j
> > P P 0 1 0 , , si
pentru mcar un
_ a
j r 1 2 , ,..., . Atunci X Y P devine un program
admisibil dar cu cel mult r 1componente nenule, contrar ipotezei. Deci
relaia (5) nu este posibil, rezult c X este program de baz.

Demonstraia teoremei II.3.3. Fie X P
Q Q
un program optim pentru
PL - min care are un numr minim r de componente nenule. Dac r = 0 atunci
X
Q
= 0 este program optim de baz. Dac r > 0, fie a a a
i i i
r 1 2
, ,..., coloanele

105
lui A corespunztoare celor r componente nenule din X
Q
. Dac aceste
coloane sunt liniar independente atunci X
Q
este program optim de baz.
Presupunem prin absurd c aceste coloane ar fi liniar dependente. Cu aceleai
notaii ca n demonstraia precedent gsim un Y R
n
satisfcnd AY = 0.
Dac C Y
T
{ 0 am putea alege un
? A
P s s
0
, astfel nct
X Y P C Y
T Q
Q Q
P P si 0;atunci
C C
T T
X Y X C Y C X
T T Q
Q
Q
Q
Q
= P P contrar faptului c X
Q
este
program optim; deci C Y
T
= 0.
Atunci alegnd un
? A
P s s , astfel ca X Y P
Q
P s aib cel
mult r-1 componente nenule gsim c X Y P
Q
P
0
ceea ce contrazice
faptul c r este numrul minim de componente nenule pentru un program
optim. Deci X
Q
este program optim de baz.
n concluzie, un program optim de baz este un program optim cu un
numr minim de componente nenule.

Teoremele II.3.2. i II.3.3. reduc cutarea soluiei optime a unei
probleme de programare liniar printre programele de baz, al cror numr
este finit. Cu algoritmul simplex se pornete de la un program de baz care nu
este optim i se construiete un alt program de baz n care funcia obiectiv s
aib o valoare mai mic sau mai mare, dup cum este un PL - min sau PL -
max.


# 4. Algoritmul simplex


Se consider problema de programare (2) i un program de baz
nedegenerat X
Q
. Dup unele renumerotri i rearanjri putem considera

X x x x
m
T
Q Q Q Q
=
1 2
0 0 0 , ,..., , , ,..., ; deci variabilele x x x
m 1 2
, ,..., sunt
principale iar x x
m n 1
,..., secundare, iar vectorii coloan a a a
m 1 2
, ,...,
formeaz baza B a programului de baz X
Q
. Fie
_ a
N a a a
m m n
=
1 2
, ,..., .
Mai notnd:
X
x
x
X
x
x
C
c
c
C
c
c
p
m
s
m
n
p
m
s
m
n
=

'

+
'

'

+
'

'

+
'

'

+
'

1 1 1 1
/ / / / ; ; ; problema (2) poate fi
scris:

106


7
0
min f X C X C X
B X N X L
X
p
T
p s
T
s
p s
=
=
>


nmulind BX NX L
p s
= la stnga cu B
1
obinem:

8
1 1
E X B N X B L
p s
=


care reprezint transcrierea sistemului de restricii n baza B, cci dac scriem
a z a j n
j
ij
i
i
m
=
=

1
1 , (exprimarea vectorilor coloan n funcie de
vectorii bazei B) vom avea:
z
ij ij
= { o pentru 1 i, j m si z pentru m+1 j n.
ij
0 Corespunztor
programului X
Q
problema (2) devine:


9
1
1
f X c x
x z x x
i i
i
m
i ij j i
j m
n
Q Q
Q
=
=

=
=


Deci x
i
Q
sunt componentele vectorului L n baza B.

L B X B L X z B N
ij
i m
m j n
= = =



Q Q 1
1
1
1
iar
Deci relaia (8) devine:

10
1
X B NX X
p s
=
Q
de unde

11
1
X X B NX
p s
=
Q
i atunci
:

f X C X C X C X B NX C X C X C C B N X
p
T
p s
T
s p
T
s s
T
s p
T
s
T
p
T
s
= = =
Q Q 1 1

sau explicit:

12
1 1 1
f X c x c c z x
i i
i
m
j j ij
i
m
j m
n
j
=

'

+
'

= = =

Q

Notnd: c x Z c z Z m j n
i i
i
m
i ij
i
m
j
Q
Q
= =

= =
1 1
1 si , atunci:


13
1
f X Z c Z x
j j j
j m
n
=
=
Q

Observm c

Z f X C B L
p
T
Q
Q
Q
= =

si Z
1
.
Acum putem asocia problemei PL- min urmtorul tabel:

107

C B
p
q q

c
1
c
2
c
n

X
Q
q

a
1
a
2
a
n

vectorii
bazei
z z z
z z z
n
m m mm
11 12 1
1 2
...
...
/ / /

componentele
nenule ale lui
X
Q

C Z
j j


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

f X
Q


Teorema II.4.1. Dac X
Q
este un program de baz nedegenerat pentru
PL - min i n tabelul asociat (S) avem

c Z m j n
j j
> V 0 1 atunci
X
Q
este program optim.

Demonstraie: Din (13) avem:


]
f X f X c Z x f X
j j
j m
n
j
=
>
>
=
>

Q Q

0
1
0
pentru orice program admisibil X.
Deci X
Q
este optim.

Teorema II.4.2. Dac X
Q
este un program de baz nedegenerat i n
tabelul simplex asociat (S) exist un t, m t n 1 , astfel nct
c Z i m
t t
V 0 0 1 si z
it
, atunci PL - min nu are optim finit.

Demonstraie: Fie:

X x x xn
T
=
1
2 , ,..., unde:
x R
x x z i m
x m j n j t
t
i
i it
j
=
=
= {

P P
P
,
;
; ,


Q
1
0 1

Astfel avem

x j n
j
> V 0 1 .
Pentru 1 i m avem:

a x a x a x a x z a a x a z a
ij
j
j
n
ij
j
j
m
ij
j
j m
n
ij j jt
j
m
it ij j
j
m
ij jt it
j
m
= = = = = =

= = = =
1 1 1 1 1 1
Q
Q
P P P P
(folosind (9)) =

'

+
'
=
= = =

a x z x a z a
ij j jh h
h m
n
j
m
ij jt
j
m
it
1 1 1
P P
(S)

108
=

'

+
'
= =
= =

'

+
'

=
= =
= = = = = =
= = = = = = =
= =



a x a z x a a a x a z x
a x a z x a x x a z a x
x a a x x
ij j
j
m
ij
j
m
jh h
h m
n
it it ij j
j
m
ij jh h
h m
n
j
m
ij j
j
m
ij jh h
j
m
h m
n
ij j
j
m
h ij jh
j
m
h m
n
ij j
j
m
h ih
h m
n
ij j
j
m
1 1 1 1 1 1
1 1 1 1 1 1 1
1 1
P P
(renotm pe h cu j)
j ij
j m
n
ij j
j
n
i
a a x b
= =

= =
1 1

Deci X este soluie admisibil. Avem:


f X c x c Z x c x c Z
j j
j
m
j j
j m
n
j
j j
j
m
t t
= =
= = =

Q Q
1 1 1
P
din definirea lui X .
Deoarece P > 0 0 si c
t
Z
t
atunci

f X
P p
p , adic
funcia obiectiv nu are optim finit.

Teorema II.4.3. Dac X
Q
este un program de baz nedegenerat pentru
PL - min, iar n tabelul simplex asociat (S) exist un t,
m t n c Z
t t
1 0 cu i cel puin un indice i, 1 i m, astfel nct
z
it
> 0 , atunci alegnd s s m , 1 , dup criteriul:

14 1 0
x
z
x
z
i m z
s
st
i
it
it
Q Q
= >

min / ,
se poate substitui n baza B vectorul a
s
cu vectorul a
t
, obinnd o baz B' ,
corespunztoare unui program de baz X' care amelioreaz valoarea funciei
obiectiv.

Demonstraie. Deoarece z
st
{ 0, folosind lema substituiei rezult c
nlocuind a
s
n B cu a
t
sistemul de vectori nou obinut B' , este o baz. Soluia
de baz corespunztoare lui B' este dat tot de lema substituiei:

15
1
0
0
0 1
x x
x
z
z i m i s
x
x
x
z
x m j n j t
i i
s
st
it
s
t
s
st
j
'
'
'
'
, ,
, ,
= {
=
= >
= {

Q
Q
Q

cu toate componentele nenegative (pentru 1 { i m i s , dac z
it
0 atunci

109
x x
x
z
z
i i
s
st
it
'
=
Q
Q
, deci o sum de numere nenegative; iar dac z
it
> 0
avem x z
x
z
x
z
i it
i
it
s
st
'
=

'

+
'

Q Q
i innd seama de (14) nseamn c x
i
'
este produs
de dou numere nenegative).
Deci

X x x x
n
T
' , ,...,
' ' '
=
1 2
este o soluie de baz. Valoarea funciei obiectiv
pentru X' este:



f X f X c Z x f X c Z x f X
j j
j m
n
j t t t
' .
' '
= =
=

Q Q Q
1


Acum putem prezenta algoritmul simplex pentru o problem PL - min
n form standard.
-Pasul 1
0
: Se gsete un program de baz nedegenerat X
Q
cu baza B; se
construiete tabelul simplex (S).
-Pasul 2
Q
: Se verific dac diferenele c Z
j j
> 0pentru orice
j j n ,1 . Dac DA se trece la pasul 5; dac NU, dintre toate diferenele
c Z
j j
, negative, se alege cea mai mic. Indicele j corespunztor s-l notm
cu t. (Dac exist mai muli t se alege primul de la stnga la dreapta). Vectorul
a
t
va intra n baz. Se cerceteaz dac z
it
0 pentru 1 i m. Dac DA,
se trece la pasul 4, dac NU, se trece la pasul 3.
-Pasul 3
Q
: Se alege s, astfel nct
x
z
x
z
i m z
s
st
i
it
it
Q Q
= >

min / , 1 0 .
Vectorul a
s
va iei din baz. Elementul z
st
devine pivot. Se construiete un
nou tabel simplex folosind regula dreptunghiului:
a) se mparte linia pivotului la pivot.
b) n coloana pivotului, elementele z cu j t
sj
{ se nlocuiesc cu 0
c) elementele z i s j t
ij
, , cu { { se nlocuiesc cu z z
z z
z
ij ij
it sj
st
' =

.
Se obine un alt program de baz X' cu baza B' i o nou valoare a funciei
obiectiv.
Se revine la pasul 2
Q
cu B B = ' i X X
Q
= '
-Pasul 4
0
.Concluzie: PL - min nu are optim finit I algoritmul se oprete.
-Pasul 5
Q
.Concluzie: PL - min are optim X
Q
iar valoarea minim f X
Q
".
STOP.

110
Exemplul II.4.1. Fie problema:

min
, , .. . ,
f x x x x x
x x x x x
x x x x x
x j
j
=
=
=

> =
5 7 9 2
3 2 5 3 7
2 3 4
0 12 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Alegem X
T
Q
= 1 2 0 0 0 , , , , . Avem:
_ a a a a a a B a a
1 2 3 4 5 1 2
3
2
2
1
1
1
5
3
3
1
=

'

+
'
=

'

+
'
=

'

+
'
=

'

+
'
=

'

+
'
= ; ; ; ; ,
Coordonatele vectorilor a a
1 2
si n baza B sunt
1
0

'

+
'
, respectiv
0
1

'

+
'
.
Pentru a afla coordonatele lui a
3
se procedeaz astfel: punem
a a a R
3
1
1
2
2
1 2
= E E E E , , , deci:
E E
E E
E E
1 2
1 2
1 2
3
2
2
1
1
1
3 2 1
2 1

'

+
'


'

+
'
=

'

+
'

=
=

ceea ce ne d E E
1 2
1 1 = = , .
Deci n baza B, a
B
3
1
1
=

'

+
'
. Analog se gsesc: a a
B B
4 5
1
1
1
3
=

'

+
'
=

'

+
'
,
Aadar tabelul simplex corespunztor bazei B are forma:


5 7 9 2 1


a a a a a
1 2 3 4 5


5
7

a
a
1
2

1 0 1 1 -1

0 1 -1 1
1
2

c Z
j j

0 0 11 -10 -15 19
Deci a
5
intr n baz, a
2
iese din baz, z
25
- pivot. Se execut
pivotajul i obinem:

5
1
a
a
1
5

1 1/3 2/3 0

0 1/3 -1/3 1/3 1
5 3
2 3
/
/

c Z
j j

0 5 6 -5 0 9

Intr n baza a
4
i iese a
1
.

3
4/3
X f X '
/
/
' =

'

+
'

=
5 3
0
0
0
2 3
9


111
2
1

a
a
4
5

3 4 1 4 1 2 1 0
1 4 1 4 1 2 0 1
/ / /
/ / /

5 4
1 4
/
/

c Z
j j

15/4 25/4 17/2 0 0
11 4 /

i am obinut

c Z j
j j
> V 0 1 5. Deci programul optim este
0,0,0,5 4 1 4 / , / min
T
f cu =
11
4
.
Algoritmul se aplic i problemelor PL - max n forma
standard cu observaia c max min f f = . De asemenea algoritmul se
aplic i n cazul n care funcia obiectiv are forma f c x R
j j
j
n
=
=

1
E E , ,
deoarece punctele de extrem ale acesteia sunt aceleai cu punctele de extrem
ale funciei: g c x
j j
j
n
=
=

1
.


# 5. Tratarea problemelor de programare liniar care nu au forma
standard. Metoda bazei artificiale.


Dac sistemul de restricii conine inecuaii de forma
: a x b a x b i m
ij j
j
n
i ij j
j
n
i
= =

>

'

+
'

1 1
1 sau , atunci acestea se transform n
egaliti dac se adaug (respectiv se scade) n primul membru o necunoscut
auxiliar y
i
, y
i
> 0, numit i variabil de egalizare sau de compensare.
Deci: a x y b
ij j
j
n
i i
=

=
1
(respectiv a x y b
ij j
j
n
i i
=

=
1
).
Dac o component a termenului liber _ a b i m
i
, ,2, ... , 1 este negativ
atunci se nmulete egalitatea sau inegalitatea respectiv cu -1.
Dac nu toate componentele lui X R
n
sunt constrnse s fie
nenegative atunci facem substituirea acestora cu variabile ce satisfac condiia
de nenegativitate astfel: dac x
j
0 atunci punem: x x x
j j j
= >
' '
; cu 0 dac
x
j
este liber, neconstrns atunci punem: x x x x x
j j j j j
= >
' '' ' ''
, . cu 0
Aceste substituii se nlocuiesc att n funcia obiectiv ct i n
restriciile problemei.

112

Exemplul II.5.1. Problema:



max f x x
P
x x
x x
x x R
=


>

2
2 4
4
0,
1 2
1 2
1 2
2 1

se transform n:



min
'
, , , ,
' ''
' ''
' ''
' ''
=
=
=
>

f x x x
P
x x x y
x x x y
x x x y y
2 2
2 2 4
4
0
1 1 2
1 1 2 1
1 1 2 2
1 1 2 1 2


care este o problem standard PL - min. Se rezolv problema (P') i apoi se
reine soluia pentru problema (P).
n cazul n care nu dispunem de un program de baz se utilizeaz
metoda celor dou faze pentru determinarea unui astfel de program.

Faza I: Programului liniar:

16 1
0, 1
1
1
PL
f c x
a x b i m
x j m
j j
j
n
j j
j
n
i
j

=
=
>

=
=

min
min
,
i se asociaz programul liniar auxiliar, cu variabilele artificiale x x x
a a
m
a
1 2
, ,..., :

113

17 1
0, 0, 1 1
1
1
PL
g x
a x x b i m
x x j n i m
a
i
a
i
m
ij j i
a
j
n
i
j i
a

=
=
> >

=
=

min
min
,
, .

Sistemul de restricii este un sistem de m ecuaii cu n + m necunoscute.
Se observ c 0,0,
1 2
... ,0, , , .. . , b b b
m
T
este o soluie de baz pentru
PL
a
min cu care se poate pleca n algoritmul simplex. Deoarece funcia
obiectiv g este pozitiv, vom gsi cu certitudine un program optim de baz
pentru care min g > 0. Dac min g = 0 atunci componentele x
i
a
n programul
optim de baz pentru (17) sunt nule i eliminndu-se aceste zerouri,
corespunztoare variabilelor x
i
a
din acest program optim de baz al
PL
a
min, se obine un program de baz X
Q
pentru (16).
Faza a II-a: n continuare se aplic algoritmul simplex pentru (16) cu
programul de baz X
0
. Dac min g > 0 atunci (16) nu are soluii admisibile.


Exemplul II.5.2.

min
,2,3,4
f x x
x x x
x x x
x i
i
=
=
=
> =

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


Faza I:

PL
g x x
x x x x
x x x x
x i x x
a
a a
a
a
i
a a

=
=
=
> = >

min
min
,2,3,4, ,

1 2
1 2 3 1
1 2 4 2
1 2
2 3
3 4
0 1 0

Care are soluia de baz 0,0,0,0,3,4
T
. Aplicm algoritmul simplex:
0 0 0 0 1 1
a
1
a
2
a
3
a
4
a
5
a
6


114
1 a
5
2 1 -1 0 1 0 3
1 a
6
1 0 -1 0 1 4
-3 -4 1 1 0 0 7
1 a
5
0 -1 1/3 1 -1/3 5/3
0 a
2
1/3 1 0 -1/3 0 1/3 4/3
-5/3 0 1 -1/3 0 4/3 5/3
0 a
1
1 0 -3/5 1/5 3/5 -1/5 1
0 a
2
0 1 1/5 -2/5 -1/5 2/5 1
0 0 0 0 1 1 0

Am obinut programul optim de baz
11 , ,0,0,0,0
T
pentru PL g
a
= min min cu 0. Faza nti s-a ncheiat.
Faza a II-a. Reinem ca program de baz

11 0 0 , , ,
T
(componentele
corespunztoare, respectiv, lui x x x x
1 2 3 4
, , , , din programul optim de baz
obinut la faza I) pentru problema iniial i aplicm algoritmul simplex.


#.6. Eliminarea degenerrii


Este posibil ca dup cteva iteraii n aplicarea algoritmului simplex s
revenim la una din bazele prin care am trecut deja, i atunci procesul continu
la infinit fr a conduce la o soluie. Aceast situaie se numete ciclare.
Aceast situaie poate aprea atunci cnd problema de programare liniar
admite soluii de baz degenerate (vezi definiia II.3.4.). Nu ntotdeauna
degenerarea implic neaprat ciclare. n practic, ciclarea apare foarte rar.
Pentru nlturarea degenerrii se folosete aa numita "tehnic a
perturbrii cu s ".
Fie o problem PL - min i X
Q
un program de baz degenerat. Deci
X
Q
are r componente nenule, r m . Fie

X x x x
r
T
Q Q Q Q
=
1 2
0 0 , , ... , , , ... , .
Aceasta nseamn c n iteraia algoritmului simplex care conduce la
obinerea lui X
Q
s-a ntlnit situaia: min ,
x
z
i m z
i
it
it
Q
1 0 >

se atinge n
mai multe puncte (pentru mai muli indici i). Fie s i u indicii pentru care
avem
x
z
x
z
s
st
u
ut
Q Q
= .
3
5/3

115
Se pune ntrebarea cum alegem n acest caz pivotul (linia pivotului)?
Vom nlocui X
Q
cu:
(18)

X X a
j
j
j
n
Q Q
s s =
=

1
unde s > 0este un numr
foarte mic, iar a j n
j
, 1 sunt vectorii coloan ai sistemului de restricii.
Deci

s
j
j
j
n
a
=

1
este o combinaie liniar de vectorii a
j
cu coeficienii
s s s s , , ,..., .
2 3 n

Componentele lui

X
Q
s vor fi:
(19)

x x z
k k
j
kj
j
n
Q Q
s s s s = > p
=

1
0 0 , ,
Observaie: Aici prin s
j
nelegem puterea a j a a lui s . Dac alegems
diferit de rdcinile ecuaiei:

(20)

x
z
x
z
s
st
u
ut
Q Q
s s
= atunci pentru acest s s = vom avea:
(21)

x
z
x
z
s
st
u
ut
Q Q
s s
{
mprind (19) la z k s z
st ut
dac i la dac k = u = obinem:
(22)

x
z
x
z
z
z
s
st
s
st
j
n
n
sj
st
Q
Q
s
s =
=

1

(23)

x
z
x
z
z
z
u
ut
u
ut
j
n
n
uj
ut
Q
Q
s
s =
=

1

Din relaiile (22) i (23), comparnd coeficienii lui s
j
, obinem compararea
celor dou linii, care este o comparare lexicografic: dac j este primul indice
pentru care
z
z
z
z
sj
st
uj
ut
atunci i

x
z
x
z
s
st
u
ut
Q Q
s s
adic

116

min ,
x
z
i m z
i
it
it
Q
s
1 0 >

se atinge pentru i s = . Deci pivotul va fi


z
st
,iar linia s este linia pivotului.
Fcnd s = 0 se revine la problema iniial.
n practic, dac am ajuns la un pas n care avem:
x
z
x
z
s
st
u
ut
Q Q
= se
procedeaz astfel:

1
Q
Se mpart elementele de pe linia s la z
st
i cele de pe linia u la z
ut
. Se
formeaz dou linii de rapoarte.

2
Q
Se compar rapoartele corespunztoare de pe cele dou linii. Linia pe care
apare primul raport mai mic se alege ca linie pivot.

Exemplul II.6.1. Fie situaia:


2 1 1 1


a a a a
1 2 3 4


2
1
1

a
a
a
1
2
3

1 0 0 4/5

0 1 0 2/5

0 0 1 2
12 5
6 5
8
/
/
c z
j j

0 0 0 -3 14


mprim prima linie la 4/5 i cea de-a doua la 2/5. Obinem:


5 4 0 0 1
0 5 2 0 1
/
/

Primul raport mai mic apare pe linia a doua, deci z
24
este pivotul.


#.7. Algoritmul simplex dual


Problemei de programare liniar:
12 5
4 5
3
6 5
2 5
3
/
/
/
/
=
=


117

(24)

min f X C X
A X L
X
T
=
>
>

0


i se asociaz problema:

(25)

max g Y L Y
A Y C
Y
T
T
=

>

0
unde Y
y
y
y
m
=

'

+
'

1
2
/

Problema (24) se va numi primal iar problema (25) duala problemei
(24) i reciproc.
Exemplul II.7.1

min
, , , ,
f x x x
x x x x
x x x x
x x x x
x i
i
=
>
>
>
> =

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

Folosind tabelul:


Y
X
x x x x
1 2 3 4

> L
y
y
y
1
2
3

1 2 1 1
2 1 1 1
1 1 1 1


1
2
1


1 2 2 0
C
gsim duala:

max
, , ,
g Y y y y
y y y
y y y
y y y
y y y
y i
i
=




> =

1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
2
2 1
2 2
2
0
0 1 2 3



118
Teorema II.7.1. Fie X o soluie posibil pentru problema (24) i Y o
soluie posibil pentru problema (25). Atunci

f X g Y >

Demonstraie: Din AX L > , nmulind la stnga cu Y
T
> 0 obinem:

Y A X Y L L Y g Y
T T T
> = =
Pe de alt parte:

A Y C X A Y X C C X f X
T T T T T
= =
Dar cum Y A X A X Y X A Y
T
T
T T
= = ajungem la concluzia

g Y f X .

Teorema II.7.2. Dac (24) are optim finit atunci (25) are optim finit i
avem
Q Q
X f Y g min max =
Q Q
Y L X
T
=
T
C sau unde
Q
X este o
soluie optim pentru (24) iar
Q
Y o soluie optim pentru (25).

Demonstaie: Din teorema II.7.1. pentru orice pereche de programe
duale X,Y, avem X f Y g . Deci are loc i X f Y g max . Cum f
este o funcie liniar, deci continu, atunci X f min exist i are loc
max min g Y f X .
Pe de alt parte folosind (13) i teorema II.4.1. avem
L B C Z X f X f
T
p
= =
1
min
Q
Q
. Se demonstreaz c 0
1
> =

p
C B Y
Q

este un program optim pentru duala (25). Atunci:
. max min
1 1
Y g Y g Y L L Y L C B L B C X f
T T
T
p
T
p
= = = = = =
Q Q Q

Teorema II.7.3. (teorema ecarturilor complementare)
Fie X,Y soluii ale problemelor (24), respectiv (25). Atunci X,Y sunt
soluii optime dac i numai dac au loc relaiile:


Y L AX X A Y C
T T T
= = 0 0 ;

Demonstraie. Avem:
L Y Y L Y AX X A Y X C C X
T T T T T T T
= = =
Folosind teoremele II.7.2. i II.7.1. obinem c X,Y sunt programe
optime dac i numai dac L Y C X
T T
= ceea ce conduce la:
Y L Y A X X A Y X C
T T T T T
= = =
sau:

Y L AX X A Y C
T T T
= = 0 0 ; .

Dualitatea se folosete cel mai frecvent n cazul n care problema
primal necesit calcule multe:


119
Exemplul II.7.2.

min
, ,
.
f x x
x x
x x
x x
x x
x i
i
=
>
>
>
>
> =

3
2 1
1
3 2 3
2 3 1
0 12
1 2
1 2
1 2
1 2
1 2


Pentru a rezolva aceast problem cu algoritmul simplex trebuie
introduse patru variabile de egalizare, dar scriind problema dual:

max
,
g y y y y
y y y y
y y y y
y
i
=


> =

1 2 3 4
1 2 3 4
1 2 3 4
3
2 3 2 3
2 3 1
0 1 4

i

aceasta necesit numai dou variabile de egalizare. Obinem:


0 0 1 3 1 1


6 5 4 3 2 1
a a a a a a

0
0

6
5
a
a

2 1 3 2 1 0

1 1 3 0 1
1
3

-1 -1 -3 -1 0 0 0
0
3

3
5
a
a

1/2 -1/2 0 -5/2 1 -3/2

1/2 1/2 1 3/2 0 1/2
2 / 1
2 / 3

1/2 1/2 0 7/2 0 3/2 -3/2

deci max / min . g f = = 3 2
Pentru a putea formula duala unei probleme de minim am vzut c
restriciile trebuie s aib forma (24). n acest caz, restriciile " " > sunt numite
concordante, iar cele " " neconcordante. Pentru problema primal de maxim,
restriciile " " sunt cele concordante iar " " > cele neconcordante.
n caz c nu au aceast form pot fi aduse la forma (24) dup
urmtoarele reguli:

modelul dat modelul dual
numr de variabile numr de restricii
numr de restricii numr de variabile
2

120
minim maxim
maxim minim
termeni liberi ai restriciilor coeficienii funciei obiectiv
coeficienii funciei obiectiv termenii liberi ai restriciilor
coloanele matricii restriciilor liniile matricii restriciilor
restricie concordant variabil nenegativ
restricie neconcordant variabil nepozitiv
restricie egalitate variabil liber
variabil nenegativ restricie concordant
variabil nepozitiv restricie neconcordant
variabil liber restricie egalitate
Exemplul II.7.3.


min
, ,
/
f x x x x
x x x x
x x x x
x x x x
x x x R
=
>
=

>

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


Duala va fi:

max
, ,
g y y y
y y y
y y y
y y y
y y y
y y y R
=


>
=
>

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



#.8 Problema transportului


O problem de transport, echilibrat, corespunztoare tabelului (T)
(vezi II.2), are forma:


121






PT
f X c x
x b i n
x b j m
b b
x i j
ij ij
j
m
i
n
ij
j
m
i
ij
j
n
j
j
j
m
i
i
n
ij
:
min
,
,
,
'
'
=
=
=
=
> V

= =
=
=
= =


1 1
1
1
1 1
26
1 27
1 28
29
0

numit i forma standard.
n cazul n care avem b b
j
i
m
i
i
n
'
= =

1 1
, atunci n tabelul (T)
introducem coloana (m+1)-a cu
b b b c i n
m i
i
n
j
j
m
i m
= =

= = V

1
1 1
1
0 1
' '
,
; i
iar in cazul c b b
j
j
m
i
i
n
'
= =

>
1 1
introducem linia (n+1)-a cu
. 1 0 si
, 1
1 1
' '
1
m j c b b b
j n
n
i
i
m
j
j n
V = =

= =




Din (27) i (28) avem m n relaii cu m n necunoscute. Din (29)
rezult c ntre ecuaiile (27) i (28) mai exist cel puin o relaie i atunci
rangul matricii sistemului (27) + (28) este ce mult m n 1

Definiia II.8.1. Dac rangul matricii sistemului (27)+(28) este m+n-1,
iar un program de baz are exact m+n-1 componente pozitive (restul nule)
atunci programul se numete nedegenerat.

O problem de transport se poate rezolva prin metoda simplex dar
exist i metode specifice.
Pentru nceput vom prezenta dou metode specifice pentru obinerea
unui program de baz; n cazul unui exemplu concret:

1* - Metoda colului N-V (nord-vest)
2* - Metoda elementului minim din linie sau coloan.

122

Problem: Din trei depozite D D D
1 2 3
, , trebuie transportat acelai tip
de marf la trei magazine C C C
1 2 3
, , . Costurile unitare de transport,
disponibilul (D) i necesarul (N) sunt date n tabelul:


C
1
C
2
C
3


D
D
1

2 5 3 100
D
2

4 2 1 120
D
3

7 8 3 70

N
80 110 100


Observm c problema este echilibrat.

Metoda 1
Q
.n colul din N-V se trece
_ a _ a
min , min , . D N
1 1
100 80 80 = =
Deoarece necesarul N
1
s-a epuizat se trece 0 (sau se las libere, sau se
haureaz) celelalte csue de pe prima coloan. Iar
D
1
devine100 80 20 = . Obinem tabelul:


C
1
C
2
C
3


D
D
1

80

20
D
2

///////////
120
D
3

///////////
70

N

110 100


Cu coloanele C
2
, C
3
rmase procedm la fel. n colul N-V (csua (1,2) din
tabel) nscriem
_ a _ a
min , min , . D N
1 2
20110 20 = = Deoarece disponibilul D
1
s-a
epuizat se trece 0 n restul csuelor de pe prima linie; iar necesarul N
2
a
devenit 110 20 90 = . Obinem tabelul:


c
C
2
C
3


D
D
1

80 20
///////////
D
2

///////////
120
D
3

///////////
70

123

N

90 100


Cu csuele rmase libere se procedeaz ca mai sus i se obine, n final,
programul de baz:

80 20 0
0 90 30
0 0 70
care este nedegenerat (are m n 1componente; n cazul de fa m=3, n=3).

Metoda 2
Q
Metoda minimului pe linie:
Cutm costul minim din prima linie; l gsim pe poziia c
11
2 = . n csua
respectiv , trecem
_ a _ a
min , min , N D
1 1
80100 80 = = . Deoarece N
1
s-a epuizat
haurm celelalte csue ale coloanei C
1
; iar D
1
a devenit 100-20=80.
Tabelul s-a transformat n:


C
1
C
2
C
3


D
D
1
80 20
D
2
/////////// 120
D
3
/////////// 70
(N) 110 100

n tabelul rmas, compus din coloanele C
2
i C
3
cutm din nou cel
mai mic cost de pe prima linie: gsim c
13
3 = . n csua corespunztoare
trecem
_ a _ a
min , min , . D N
1 3
20100 20 = = Deoarece D
1
s-a epuizat, haurm
csuele libere din prima linie, iar N
3
a devenit 100-20=80. Obinem tabelul:

C
1

C
2
C
3


D
D
1
80 /////////// 20
D
2
/////////// 120
D
3
/////////// 70
(N) 110 80

n continuare procedm la fel i obinem programul de baz:

80 0 20
0 110 10
0 0 70

124
care este diferit de cel obinut prin metoda colului N-V. Lucrurile se petrec la
fel dac cutm costul minim de transport de pe o coloan.
De regul n rezolvarea unei probleme de transport, dup ce i s-a
determinat un program de baz, se folosete duala sa:

PT
g b u b v
u v c
u v R i n j m
d
i i
i
n
j j
j
m
i j
j
m
i
n
ij
i j
:
max
, , ,
'

=

= =
= =


1 1
1 1
1 1

Conform teoremelor dualitii avem:
g Y f X pentru orice pereche de soluii duale X,Y.
max min g Y f X n cazul n care avem optim.
nlocuind n

g Y valorile b i n j m
i
, , 1 1 i b
j
'
cu
expresiile date de modelul primal ((27), respectiv (28)), gsim:


30
1 1 1 1 1 1
x u x v u v x
ij i
j
m
i
n
ij j
i
n
j
m
i j ij
j
m
i
n
= = = = = =

=
Inegalitatea

g Y f X devine:


31 0
1 1 1 1
u v x c x x
i j ij
j
m
i
n
ij ij
j
m
i
n
ij
>
= = = =

unde
sau:


32 0 0
1 1
u v c x x
i j ij ij
j
m
i
n
ij
>
= =

, .
Dac X este optim finit pentru problema primal avem
max min g Y f X = i inegalitatea (32) se transform n egalitate. Cum

x i j
ij
> V 0 , ajungem la concluzia:


33 0 0 u v c x
i j ij ij
= > dac .
Tot de aici reiese c dac pentru un x
ij
> 0avem u v c
i j ij
> 0 atunci
X nu este optim.
Cum x
ij
> 0sunt n numr de m+n-1 atunci (33) reprezint m+n-1
relaii cu m+n necunoscute ( u
i
sunt n numr de n, iar v
j
n numr de m).
innd seama i de forma sistemului (33) este suficient s facem u
1
0 =
pentru a obine restul necunoscutelor.

125
Condiia ca X s fie optim revine la faptul c u v c
i j ij
0 pentru
x
ij
nebazici.
Notnd u v C C
i j
= =
0 0 0
i c
ij
A condiia ca X s fie optim
devine A
0
0 > pentru x
ij
nebazici. Dac nu toi A
0
0 > pentru x
ij
nebazici,
se trece la mbuntirea programului:
Se alege

_ a
c C
rs
i j
=
0 0 0
0 min
,
A A .
Variabila x
rs
corespunztoare, nebazic se introduce n baz. Pe linia r,
dintr-un x
rk
bazic trebuie sczut un x
rs
, pentru a nu modifica disponibilul
D
r
i atunci pe coloana k, la un x
pk
bazic trebuie adugat x
rs
pentru a nu
modifica necesarul N
k
i n consecin pe linia p la un x
ps
trebuie sczut
x
rs
pentru a nu modifica disponibilul D
s
.
Notnd x
rs
= , se formeaz astfel un ciclu:
x x
x
ps pk
rk

o
p





Alegnd
_ a
= min , x x
ps rk
se obine o nou soluie de baz. Se calculeaz
din nou C
0 0
, A , .a.m.d., pn n momentul n care nu mai avem A
0
0 .
Toate aceste rezultate se pun ntr-un tabel specific pe care l prezentm
n contextul problemei exemplu anterioare.


X
0
C
0


v
1
v
2
v
3
v
j

u
i

2 5 4
A
0

Ciclul
u
1

80 20 0 /// /// 4 -1 20-

u
2

90 30 -3 -1 /// /// 5 90+ 30-
u
3

70 -1 1 4 /// 6 4

n caseta X
Q
avem programul de baz determinat cu metoda colului N-V.
Corespunztor acestuia sistemul u v c
i j ij
= 0 devine:

126
u v
u v
u v
u v
u v
1 1
1 2
2 2
2 3
3 3
2
5
2
1
3
=
=
=
=
=


Punnd u
1
=0 obinem v v u v u
1 2 2 3 3
2 5 3 4 1 = = = = = , , , , valori pe
care le-am trecut n prima coloan, respectiv prima linie din caseta C
Q
. Apoi
csuele din aceast caset, corespunztoare programului de baz se haureaz,
iar celelalte se completeaz cu valorile C
Q
corespunztoare. Se calculeaz
valorile A
0 0
= c C
ij
care au fost trecute n csuele corespunztoare.
Observm c A
13
1 0 = , deci X
Q
nu este soluie optim i trebuie
mbuntit.
Formm ciclul cu i gsim _ a = = min . 20,30 20 Scriem un nou
tabel cu noua soluie gsit pe care am notat-o X
1
.

X
1
C
0



v
1
v
2
v
3

v
j

u
i

2 4 3
A
0

u
1

80 20 0 //// 4 //// //// 1 ////
u
2

110 10 -2 0 //// //// 4 ////
u
3

70 0 2 4 //// 5 4 ////

Am obinut A
0
0 > V i j , nebazici, deci soluia X
1
este optim.
Observm c ea coincide cu soluia de baz determinat cu ajutorul metodei
costului minim pe linie.

Propunem spre rezolvare urmtoarele probleme de transport:
1.
C
1
C
2
C
3
C
4
(D)
D
1
5 6 2 5 15
D
2
1 3 4 2 25
D
3
7 1 3 4 20
(N) 10 30 5 15

Observaie: Soluia de baz obinut cu metoda colului N-V este:

127
X
N V
=

10 5 0 0
0 25 0 0
0 0 5 15
care are 5 componente nenule.
Cum m+n-1=3+4-1=6 rezult c X
N V
este degenerat. Se caut alt soluie
de baz cu metoda costului minim pe linie, obinndu-se:
0 0 5 10
10 10 0 5
0 20 0 0



2.

D
1
D
2
D
3
D
4


N
C
1

1 3 2 5 50
C
2

6 2 3 2 20
C
3

4 5 1 1 60

D
30 10 10 80



Observaie: Mai nti trebuie transpus acest tabel. Se va gsi soluia de baz:

30 0 0
0 10 0
0 0 10
20 10 50

.

3.

C
1
C
2
C
3


D
D
1

2 3 1 50
D
2

4 5 2 30

N
30 10 40



4.

C
1
C
2
C
3


D
D
1
5 2 1 20
D
2
3 4 2 40
D
3
5 4 3 40

128
(N) 40 10 30

Observaie: Deoarece (D) > (N) problema este neechilibrat. Introducem un
consumator fictiv:


C
1
C
2
C
3
C
4


D
D
1

5 2 1 0 20
D
2

3 4 2 0 40
D
3

5 4 3 0 40

N
40 10 30 20



Probleme de programare liniar propuse spre rezolvare:

I. S se rezolve urmtoarele probleme puse sub forma standard:

1.)

max
,4.
f x x x
x x x
x x x
x i
i
=
=
=
> =

3
2 3 4
5 2 12
0 1
1 2
1 2 3
1 2 4
Sol.
19
136
max 0 ; 0 ;
19
4
;
19
44
=

'
+

'

= f X
T
optim
Q



2.)

min
,6
f x x x x
x x x x
x x x x
x x x x
x i
i
=
=
=
=
> =

1 2 3
1 2 3 4
1 2 3 5
1 2 3 6
2 2
2 1
2 2 2
3 4
0 1
Sol: X
optim
= = 5 11 19 27 ,0, ,0, ,0 min
T
f



129
3.)

min f x x x x
x x x x
x x x x
x x x x
x
i
=
=
=
=
>

4 5 6
1 4 5 6
2 4 5 6
3 4 5 6
2 3
2 3
3 4
3 2 1
0
Sol: X f
optim
T
= = 0,0,0,2 11 47 ,7, min


4.)

max
,7
f x x x x x
x x x x x
x x x x x
x x x x x
x i
i
=
=
=
=
> =

3 2 4 2
2 2 2
3 1
4 2
0 1
1 2 3 4
1 2 3 4 5
1 2 3 4 6
1 2 3 4 7
Sol: X
optim
= = 0,0,0,1 2. ,4,0,3 ; max
T
f

5.)

min f x x x x x
x x x x x
x x x x x
x x x x x
x
i
=
=
=
=
>

3 2 4
2 3 1
2
2 2 3
0
1 2 3 7
1 2 3 4 7
1 2 3 5 7
1 2 3 6 7
Sol: nu are optim finit






II. S se aduc la forma standard i apoi s se rezolve problemele:

6.)

max f x x x x
x x x
x x x
x
i
=


>

3 2 4
2 5
4 1
0
1 2 3
1 2 3
1 2 3
Sol: nu are optim finit


130
7.)

max
,
f x x x
x x
x x
x x
=


>

7 4
1
2 4
2 0
1 2
1 2
1 2
1 1 2
Sol: X
optim
T
f = = 2 1 18 , ,2,0,0 max


8.)

min
,4
f x x x x
x x x x
x x x x
x x x x
x i
i
=



> =

2 3
2 3 1
2
2 2 3
0 1
1 2 4
1 2 3 4
1 2 3 4
1 2 3 4
Sol: X
optim
T
= 8,11 5 ,0,

9.)
max
, ,
f x y z
x y
y z
x z
x y z
=



>

2 3
2 3
2 3
0


Sol: X
optim
T
= 111 , ,

10.)
max
, ,
f x y z
x y
y z
x z
x y z
=



>

1
1
1
0
Sol: X
optim
T
=

'

+
'

1
2
1
2
1
2
; ;

11.)

min
,3
f x x x x
x x x
x x
x i
i
=
>

> =

2
1
2 4
0 1
1 2 3
1 2 3
2 3
Sol: nu exist minim



131
12.)

max
,
f x x x
x x
x x
x R y
=


>

2
2 4
4
0
1 2
1 2
1 2


Sol: X
optim
T
= 4 0 ,


13.)
min
,3
f x x x
x x x
x x x
x x x
x i
i
=

>

> =

2 3 2
1
2 3 4
2 2 3
0 1
1 2 3
1 2 3
1 2 3
1 2 3



14.)

min
,
f x x x x
x x x
x x x
x x x R
=


>

1 2 3
1 2 3
1 2 3
1 2 3
2
2 1
4
0


Sol: X
optim
= 0 0 1 2 , , /
T


15.)

max
, ,
f x x x x
x x x
x x x
x x x
=


> > >

1 2 3
1 2 3
1 2 3
1 2 3
2 3
6
2 3 6
2 3 0

Indicaie: Se face mai nti schimbarea de variabile:
x x x x
1 1 2 2
2 3
' '
, = =

Sol: X
optim
T
= 2 31 , , .


III. Folosind metoda celor dou faze s se rezolve programele liniare:


132
16.)

min
,
f x x x x x x
x x x x x
x x x x x
x i
i
=
=
=
> =

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
3 2 2
2 2 1
3 2 2 3
0 15


Sol: X
optim
= 0 0 5 3 7 3 0 , , / , / ,


17.)

min f x x x x x
x x x x x
x x x x x
x x x x
x
i
=
=
=
=
>

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


Sol: X f
optim
T
= = 111 0 1 , , , min


18.)

min
/
f x x x
x x
x x
x x
x
=

>

>

2 3
1
2
2 1
0
1 2
1 2
1 2
1 2
1 2


Sol: X
optim
= 1 0 ,

19.)

max
,3
f x x x x
x x x
x x x
x i
i
=
=
=
> =

1 2 3
1 2 3
1 2 3
3 5 2
3 2 2 2
0 1
Sol: X
optim
=

'

+
'

2
7
4
7
0 ; ;

20.)

min f x x x x
x x x
x x x
x
i
=

>
>

2
2
2 3
0
1 2 3
1 2 3
1 2 3


IV. S se transcrie matematic i apoi s se rezolve urmtoarele probleme:

133

21.) O main care lucreaz 25 de ore pe sptmn produce trei articole.
Beneficiul obinut n urma vnzrii acestor articole este de 40 lei/buc pentru
primul articol, respectiv 120 lei/buc pentru al doilea articol i 30 lei/buc pentru
ultimul articol. ntr-o or maina poate realiza 50 buc din primul articol sau
25 buc din al doilea articol sau 75 buc din al treilea articol. Cererea
sptmnal nu depete 1000 buc din primul articol, 500 buc din al doilea
articol, 1500 buc din al treilea articol. Cum trebuie repartizat producia celor
trei articole pentru ca ntreprinderea s-i asigure un beneficiu maxim:

Rspuns: Fie x x x
1 2 3
, , cantitile din cele trei articole ce trebuiesc produse.
Atunci avem de rezolvat problema:
max
, ,
f x x x
x
x
x
x x x
x x x
=


>

40 120 30
1000
500
1500
1
50
1
25
1
75
25
0
1 2 3
1
2
3
1 2 3
1 2 3

(
1
50
1
x reprezint numrul de ore pe sptmn n care maina produce
cantitatea x
1
din primul articol).
22.) O fabric de zahr trebuie s produc ntre 1 noiembrie - 28 februarie.
Livrrile de zahr se fac lunar, dup contract: n noiembrie 20.000 t, n
decembrie 30.000 t, n ianuarie 50.000 t i n februarie 40.000 t. Producia
excedentar a unei luni poate fi livrat luna urmtoare, suportnd cheltuielile
de depozitare de 2.000 lei/ton pe lun. Capacitatea lunar de producie a
fabricii este: 55.000 t n noiembrie, 40.000 t n decembrie, 25.000 t n
ianuarie, 50.000 t n februarie. Preurile de cost sunt: 140.000 lei/ton n
noiembrie, 160.000 lei/ton n decembrie, 150.000 lei/ton n ianuarie,
170.000 lei/ton n februarie.
S se stabileasc nivelul de producie lunar astfel nct contractele s fie
satisfcute cu cheltuieli minime.

Rspuns. Vom presupune c producia se termin fr stoc.
Fie x x x x
1 2 3 4
, , , cantitile de zahr ce trebuiesc produse respectiv n lunile:
noiembrie, decembrie, ianuarie, februarie. Avem:

134



x i
x
x
x
x
x
x x
x x x
x x x x
i
> =

>
>
>
=

0 1
55000
40000
25000
50000
20000
20000 30000
50000 50000
100 000 40 000
1
2
3
4
1
2 1
3 1 2
4 1 2 3
,4
. .

(

x
1
20000 - reprezint excedentul din noiembrie.)

Considernd cheltuielile de producie i cele de depozitare n mii lei
funcia obiectiv devine:



f x x x x x x x x
x x x
=

140 160 150 170 2 20000 2 50000
2 100000
1 2 3 4 1 1 2
1 2 3


Deci avem de calculat minimul funciei:
f x x x x x = 146 164 152 170 340000
1 2 3 4
.


23.) Un atelier de construcii metalice dispune de evi cu lungimea de 5m,
din care trebuie s taie cel puin 35 evi n lungime de 2m, 25 evi de 2,5m i
10 evi de 3m lungime. Cum trebuie procedat astfel ca s se realizeze
consumuri minime de material?

Rspuns: Exist patru variante de a tia o eav de 5m lungime n buci
cu lungimile specificate:

v
v
v
v
1
2
3
4
5 2 2 1
5 2 5 2 5
5 3 2
5 2 2 5 0,5
:
: , ,
:
: ,
=
=
=
=



135
Observm c la prima variant se pierde 1m de eav, la cea de-a patra
0,5m iar la variantele a II-a i a III-a nimic. Notnd cu x x x x
1 2 3 4
, , , numrul
evilor de 5m care se taie respectiv dup variantele v v v v
1 2 3 4
, , , vom avea:

min .
,4
f x x
x x x
x x
x
x i
i
=
>
>
>
> =

1 4
1 3 4
2 4
3
0,5
2 35
2 25
10
0 1


Vom obine x x x x
1 2 3 4
0 5 10 15 = = = = , , ,


24.) Fiecare animal dintr-o ferm are nevoie de o cantitate minim de
principii nutririve pe zi care depinde de specie, vrst, scop urmrit n
alimentaie.
Principiile nutritive se afl n diferite proporii n produsele ce compun
raia furajer. Folosind datele din tabelul de mai jos s se determine cantitatea
x din alimentul A
1
i cantitatea y din alimentul A
2
exprimate n kilograme, ce
trebuie s intre n compoziia raiei furajere a unui animal astfel nct costul ei
s fie minim.


Denumirea
principiilor nutritive
Coninutul n principii
nutritive al alimentelor (kg)
Cantitile minime
prescrise (kg)

A
1
A
2


P1
P2
P3
P4
0,1
0
0,1
0,2
0
0,1
0,2
0,1
0,4
0,6
2
1,7
Costul (lei/kg) 240 80

Indicaie: problema se transcrie matematic astfel:


136

0,1 0,4
0,1 0,6
0,1 0,2 2
0,2 0,1 1
0
240 80
x
y
x y
x y
x y
f x y
>
>
>
>
>
=

,7
,
min
Se gsete x y = = 4 9 ,

You might also like