Sunteți pe pagina 1din 46

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 M1 , M 2 ,..., M n care fabric sau consum produsele
P1 , P2 ,..., Pm , n cantiti date pe unitatea de timp, anume aij din Pi
pentru maina M j , 1 i m, 1 j n . (Dac M j produce n unitatea de
timp cantitatea aij din Pi atunci aij 0 , dac consum atunci aij 0 , iar
dac aij 0 , M j nu produce i nu consum Pi ). Producia (respectiv
consumul) produsului Pi nu trebuie s fie sub limita (respectiv s depeasc)
bi , bi 0 (respectiv bi dac bi 0 ) pentru 1 i m .

96
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 x1 , x2 ,..., xn constituie un plan optim de producie, dac
maximizez beneficiul total adic funcia:
n
f c j x j n condiiile restrictive:
j 1
n

a x ij j bi , 1 i m i x j 0 .
j 1

Dac c j reprezint costul funcionrii mainii M j n unitatea de


n

timp, atunci se va cere minimizarea funciei de cost f c j x j .


j 1

b) Problema dietei (a amestecului).


S se determine cantitile x j din alimentele Aj , 1 j n ,
n

alctuind o diet x1 ,..., xn astfel nct costul acesteia f c j x j s fie


j 1

minim, unde c j reprezint costul unitar al alimentului A j , dac se mai


cunoate componena n substane nutritive S1 , S 2 ,..., S m (cum ar fi:
glucide, lipide, vitamine) a alimentelor A j , 1 j n , dat prin matricea:

a
ij 1i m
1 j n
unde aij este cantitatea de substan Si coninut n unitatea din

alimentul A j i se cere ca fiecare diet s conin cel puin cantitile bi din


substana Si , 1 i m . Deci, matematic problema se transcrie:

97
n

min c jx j in conditiile restric


j1
n

a ij x j bi , 1 i m
j1
x 0 j 1,2,..., n
j

c) Problema folosirii optime a resurselor.


O unitate economic trebuie s produc produsele P1 , P2 ,..., Pn
avnd la dispoziie cel mult cantitile b1 , b2 ,..., bm din resursele
R1 , R2 ,..., Rm . tiind c producerea unei uniti din produsul Pj necesit
cantitatea aij din resursa Ri i c prin livrarea unei uniti din acelai produs
se obine beneficiul C j , 1 i n se cere s se determine cantitile
x1 , x 2 ,..., x n din produsele P1 , P2 ,..., Pn astfel ca beneficiul s fie
maxim. Deci:
n

max c j x j in conditi
j 1
n

a ij x j bi , 1 i m
j 1
x 0 j 1, 2,..., n
j

d) Problema de transport.
Se dau depozitele D1 , D2 ,..., Dn , avnd disponibil o marf n
cantitile b1 , b2 ,..., bn ; consumatorii C1 , C2 ,..., Cm solicitnd marfa
n cantitile b'1, b'2, ..., b'm; i costul unitar cij de transport al mrfii de la
depozitul Di la consumatorul C j .
Se cere s se gseasc un sistem de numere nenegative

xij , i 1,2,..., n; j 1,2,..., m unde x ij este cantitatea de marf
transportat de la Di la C j , care s fac minim costul de transport, adic

98
n m

funcia f cij xij i s nu depeasc disponibilul din nici un


i 1 j 1
m

depozit, adic: x ij bi , i 1,..., n i s satisfac mcar cererea fiecrui


j 1
m
consumator, adic: x ij b 'j , j 1,..., m
i 1

Sistemul xij , i 1,2,..., n; j 1,2,..., m care ndeplinete aceste
condiii se numete program de transport. Evident, existena unui program de
transport impune condiia ca disponibilul total s depeasc sau s fie mcar
egal cu cererea total, adic:
n m
1 bi b' j
i 1 j 1
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 Disponibil
C1 C2 ... Cm
Depozite
D1 c11 c12 ... c1m b1
D2 c21 c22 ... c2 m b2

Dn cn1 cn 2 ... cnm bn
Cerere b'1 b'2 ... b'm

#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:

99
n


min f c j x j in conditiile restrictive
j 1

2 PL min n



a x b , 1 i m, b 0
ij j i i
j 1
x j 0, 1 i n

iar a unui program liniar de maximizare:

max f c x in conditiile
j j
j 1

3 PL max n

aij x j bi , 1 i m, bi 0
j 1
x j 0, 1 j n

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

x1, x2 ,.. , xn X; aij 1im A


T

1 jn
b1 , b2 ,..., bm T L; c1 , c2 ,..., cn C
100
atunci PL min se transcrie matriceal astfel:
min f x C T X

2 ' A X L
X 0

iar PL max :
max f x C T X
3 ' A X L
X 0

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 , 1 j n atunci restriciile problemei se transcriu:
j

4 a 1 x1 a 2 x2 ... a n xn L

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)

Definiia II.3.2 Un program admisibil X care minimizeaz (sau


maximizeaz, n funcie de problem) funcia liniar asociat acelei probleme
se numete program optim (sau soluie optim).

X x1 , x2 ,..., xn se numete
T
Definiia II.3.3.Un program
program de baz dac vectorii coloan a j , corespunztori componentelor x j
nenule x j
0 , sunt liniar independeni.
Deoarece rang Am 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.

101
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 x1 3x2 3x3 x4


x x x x 2
1 2 3 4

x1 x2 3x3 x4 4

x j 0, 1 j 4.
se transcrie matriceal astfel:

min ( 2 -3 -3 1 ) . ( x1 x2 x3 x4 )T
x1

1 1 1 1
x2 2

1 1 -3 1 x3 4

x4
X 0, rang A = 2
Sistemul liniar de restricii se transcrie i sub forma:
1 1 1 1 2
x1 x2 x3 x4
1 1 3 1 4

a1 a2 a3 a4 L
Programe ale problemei sunt de pild:

102
3 3 5

0 1 1
X1 ; X2 ; X3
0 0 1

1 0 1
primele dou fiind i programe de baz nedegenerate cu bazele
1 1 1 1
B1 ; respectiv B
2
(sau cu notaiile anterioare
1 1 1 1

B1 a1 , a 4 ; B 2 a1 , a 2 .
Valorile funciei obiectiv, corespunztoare celor trei programe sunt:

f X 1 7, f X 2 3, f X 3 5. Programul
X 3 nu este de baz deoarece
vectorii coloan corespunztori componentelor nenule, respectiv:
a 1 , a 2 , a 3 , a 4 sunt liniar dependeni.
1

0
Vectorul X 4 , dei verific sistemul de restricii nu este program
1

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


optime ale acestei probleme:

P X P C T X C T X ; X P .

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

Demonstraie: S demonstrm c P este convex, adic


X , Y P si 0,1 avem X + 1- Y P si X + 1- Y 0
Faptul c X + 1- Y 0 este evident.
Deoarece X P A X L siY P implic AY = L . Deci:
A X 1 Y A X 1 AY L 1 L L .

Deci: X 1 Y P
Pentru a demonstra c P este convex, fie

X , Y P deci C T X C T Y min C T X i 0 1. Avem:
X P

103

C T X 1 Y C T X 1 C T Y min C T X
XP

1 min C X min C X
T T
XP XP
Deci X 1 Y 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:



x i x i 0, 1 i n si y i 1 i n, y i nu toate nule se poate determina
un numr 0 astfel nct xi yi 0 pentru orice
, , 1 i n i pentru cel puin un indice j, 1 j n , s avem
x j y j 0 sau x j y j 0

Demonstraia lemei. Grupm indicii 1,2,...,n dup semnul


numerelor yi astfel nct I1 i yi 0 si I 2 i i y 0 . Cum nu toi yi
sunt nuli, 1 i n , avem I 1 I 2 . Dac I 1 si I 2 comparm
rapoartele xi / yi cu i I1 i apoi pe cele cu i I 2 . Gsim r I1 i s I 2
astfel nct:
xr xi
0 min
y r i I 1 y i
xr xi
0 max
y r i I 2 y i
Vom lua min , iar j astfel:
xr
- dac luam j r si vom avea x r y r 0 cci = =
yr
-x s
- dac luam j s si vom avea x s y s 0 cci = =
ys

104

xi
Observnd c min vom avea n ambele cazuri
i I 2 yi
xi yi 0 1 i n si , .
Dac I 1 si I 2 lum iar dac I 1 si I 2 lum
.
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
x i1
, xi2 ,..., xir componentele strict pozitive ale lui X. (restul sunt nule).
Dac a i1 , a i2 ,..., a ir sunt liniar independeni atunci X este program de baz.
S presupunem prin reducere la absurd c a i1 , a i2 ,..., a ir sunt liniar
dependeni , adic exist yi1 , yi2 ,..., yir R nu toi nuli astfel nct:

(5) yi1 a i1 yi2 a i2 ... yir a ir 0


Considernd Y R n cu y i 0 pentru
i 1,2,..., n i1 , i2 ,... , ir si y i y ik pentru i i1 , i 2 ,..., ir ; k 1,2,... , r .
atunci folosind (5) putem scrie A Y 0 . Atunci:

(6) A X Y AX AY AX L R
Acum aplicm lema II.3.1. pentru sistemele
x i1 ,..., xir si y i1
,..., yir . Deci exist 0 astfel nct, pentru un
, s avem xi k yi k 0,1 k r , si xi j yi j 0
pentru mcar un j 1,2,..., r . Atunci X Y devine un program
admisibil dar cu cel mult r 1 componente nenule, contrar ipotezei. Deci
relaia (5) nu este posibil, rezult c X este program de baz.

Demonstraia teoremei II.3.3. Fie X P un program optim pentru


PL - min care are un numr minim r de componente nenule. Dac r = 0 atunci
i i i
X 0 este program optim de baz. Dac r > 0, fie a 1 , a 2 ,..., a r
coloanele lui A corespunztoare celor r componente nenule din X . Dac

105
aceste coloane sunt liniar independente atunci X 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 T Y 0 am putea alege un 0 , astfel nct
X Y P si C T Y 0; atunci

C T X Y C T X C T Y C T X contrar faptului c X este
program optim; deci C TY 0 .
Atunci alegnd un , astfel ca X Y P s aib cel mult
r-1 componente nenule gsim c X Y P 0 ceea ce contrazice faptul c r
este numrul minim de componente nenule pentru un program optim. Deci
X 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 . Dup unele renumerotri i rearanjri putem considera

T
X x1 , x2 ,..., xm ,0,0,...,0 ; deci variabilele x1 , x2 ,..., xm sunt
principale iar xm 1 ,..., xn secundare, iar vectorii coloan a1 , a 2 ,..., a m
formeaz baza B a programului de baz X . Fie

N a m 1 , a m 2 ,..., a n .
Mai notnd:
x1 x m 1 c1 c m 1

X p ; X s ; C p ; C s problema (2) poate fi

xm xn cm cn
scris:

106
min f X CpT X p CsT X s

7 B X p N Xs L
X 0

nmulind BX p NX s L la stnga cu B 1 obinem:
8 1
E X p B N Xs B L 1

care reprezint transcrierea sistemului de restricii n baza B, cci dac scriem


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



f X ci xi

i1
9 n


x i zij x j xi
jm1

Deci x sunt componentele vectorului L n baza B.

L B X B1L X iar zij 1im B1 N


m1 jn
Deci relaia (8) devine:
10 X p B 1 NX s X de unde
11 X p X B 1 NX s i atunci
:

f X C Tp X p CsT X s C Tp X B 1 NX s CsT X s C Tp X CsT C Tp B 1 N
sau explicit:
m n m
12 f X ci x i c c z
j j ij xj
i 1 j m 1 i 1

107
m m
Notnd: c x
i i Z si c z i ij Z j , m 1 j n atunci:
i 1 i 1
n
13 f X Z c
j m 1
j Zj xj

Observm c Z f X si Z Cp B L.
T 1

Acum putem asocia problemei PL- min urmtorul tabel:

Cp B c1 c2 cn X
a1 a2 an
vectorii z11 z12 ... z1ncomponentele
(S) bazei nenule ale lui

X
zm1 zm2 ... zmm
Cj Z j .................................
f X
........

Teorema II.4.1. Dac X este un program de baz nedegenerat pentru

PL - min i n tabelul asociat (S) avem c j Z j 0 m 1 j n atunci

X este program optim.


Demonstraie: Din (13) avem:
n
cj Zj x j f X
f X f X pentru orice program admisibil
j m1 0
0
X. Deci X este optim.
Teorema II.4.2. Dac X este un program de baz nedegenerat i n
tabelul simplex asociat (S) exist un t, m 1 t n, astfel nct

ct Zt 0 si zit 0 1 i m , atunci PL - min nu are optim finit.

Demonstraie: Fie: X x1 , x 2 ,..., x n unde:


T

108
x t , R
xi xi zit ; 1 i m
x j 0; m 1 j n, j t

Astfel avem
x j 0 1 j n.
Pentru 1 i m avem:
n m n m m m

a

a ij x j a ij x j a ij x j a ij x j z jt a it a ij x j ij
j 1 j 1 j m 1 j 1 j 1 j 1
m n m
(folosind (9)) ij a x
j x
jh h

z

aij z jt ait
j 1 h m1 j 1
m m n m m n
aij x j aij
h m1

z jh x h ait ait a ij x j a ij z jh x h
j 1 j 1 j 1 j 1 h m1

m n m m n m m
aij x j aij z jh x h aij x j xh
aij z jh a ij x j
j 1 h m1 j 1 j 1 h m1 j 1 j 1
n m n n
x a h ih (renot m pe h cu j) a ij x j x a j ij a ij x j bi
h m1 j 1 j m1 j 1
Deci X este soluie admisibil. Avem:
m n m
c j x j c j Z j x j c j x j ct Zt
f X
j 1 j m1 j 1
din definirea lui X .
Deoarece 0 si ct Zt 0 atunci f X
, adic
funcia obiectiv nu are optim finit.

Teorema II.4.3. Dac X este un program de baz nedegenerat pentru


PL - min, iar n tabelul simplex asociat (S) exist un t,
m 1 t n cu c t Z t 0 i cel puin un indice i, 1 i m , astfel nct
zit 0 , atunci alegnd s, 1 s m , dup criteriul:
xs x
14 min i / 1 i m, zit 0
zst zit

109
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:

' xs
xi xi zit , 1 i m, i s
zst
x s' 0
15
' xs
xt 0
zst

x 'j 0, m 1 j n, j t
cu toate componentele nenegative (pentru 1 i m, i s dac zit 0
atunci
x s
x i' xi zit , deci o sum de numere nenegative; iar dac zit 0
z st
xi xs
avem x zit i innd seama de (14) nseamn c xi' este
'
i
zit zst
produs de dou numere nenegative).

T
Deci X ' x1' , x2' ,..., xn' este o soluie de baz. Valoarea funciei obiectiv
pentru X ' este:
n
f X ' f X
c j Z j x 'j f X ct Z t x t' f X .
j m1

Acum putem prezenta algoritmul simplex pentru o problem PL - min


n form standard.
-Pasul 10: Se gsete un program de baz nedegenerat X cu baza B; se
construiete tabelul simplex (S).
-Pasul 2 : Se verific dac diferenele c j Z j 0 pentru orice j ,1 j n
. Dac DA se trece la pasul 5; dac NU, dintre toate diferenele cj Z j ,

110
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 zit 0 pentru 1 i m. Dac DA, se
trece la pasul 4, dac NU, se trece la pasul 3.
xs xi
-Pasul 3 : Se alege s, astfel nct
min / 1 i m, zit 0 .
zst zit
Vectorul a s va iei din baz. Elementul zst devine pivot. Se construiete un
nou tabel simplex folosind regula dreptunghiului:
a) se mparte linia pivotului la pivot.
b) n coloana pivotului, elementele zsj cu j t se nlocuiesc cu 0
zit zsj
c) elementele zij , cu i s, j t se nlocuiesc cu z 'ij zij .
zst
Se obine un alt program de baz X ' cu baza B' i o nou valoare a funciei
obiectiv.
Se revine la pasul 2 cu B B ' i X X '
-Pasul 40 .Concluzie: PL - min nu are optim finit I algoritmul se oprete.
-Pasul 5 .Concluzie: PL - min are optim X iar valoarea minim f X
". STOP.
Exemplul II.4.1. Fie problema:

min f 5x1 7x2 9x3 2x4 x5


3x 1 2 x 2 x 3 5x 4 3x 5 7
x j 0 j 12, ,.. ,5
2 x 1 x 2 x 3 3x 4 x 5 4
Alegem X 1,2,0,0,0 T . Avem:
3 2 1 5 3
a1 ; a 2 ; a 3 ; a 4 ; a 5
2 1 1 3 1

B a1 , a 2
1 0
Coordonatele vectorilor a 1 si a 2 n baza B sunt , respectiv
.
0 1
Pentru a afla coordonatele lui a3 se procedeaz astfel: punem
a 3 1a 1 2 a 2 , 1, 2 R , deci:

111
3 2 1 3 1 2 2 1
1 2 ceea ce ne d 1 1, 2 1 . Deci

2 1 1 2 1 2 1
3
1 4
1 5
1
n baza B, a B . Analog se gsesc: a B , a B
1 1 3
Aadar tabelul simplex corespunztor bazei B are forma:

5 7 9 2 1
a1 a2 a3 a4 a5
5 a1 1 0 1 1 -1 1
7 a2 2
0 1 -1 1 3
cj Z j 0 0 11 -10 -15 19
5
Deci a intr n baz, a 2 iese din baz, z 25 - pivot. Se execut
pivotajul i obinem:

5 a1 1 1/3 2/3 4/3 0 5/ 3 5 / 3


0
1 a5 2/3
0 1/3 -1/3 1/3 1 X ' 0 f X ' 9
cj Z j 0 5 6 -5 0 9 0

2 / 3
Intr n baza a 4 i iese a 1 .
2 a4 3/ 4 1/ 4 1/ 2 1 0 5/ 4
1 a5 1 / 4 1/ 4 1 / 2 0 1 1/ 4
cj Z j 15/4 25/4 17/2 0 0 11 / 4

i am obinut c j Z j 0 1 j 5. Deci programul optim este


11
0,0,0,5 / 4,1 / 4 T .
cu min f =
4
Algoritmul se aplic i problemelor PL - max n forma
standard cu observaia c max f min f . De asemenea algoritmul se

112
n
aplic i n cazul n care funcia obiectiv are forma f c x j j , R ,
j 1
deoarece punctele de extrem ale acesteia sunt aceleai cu punctele de extrem
n
ale funciei: g c jxj.
j 1

# 5. Tratarea problemelor de programare liniar care nu au forma


standard. Metoda bazei artificiale.

Dac sistemul de restricii conine inecuaii de forma :


n n

aij x j bi sau
aij x j bi , 1 i m atunci acestea se transform n

j 1 j 1
egaliti dac se adaug (respectiv se scade) n primul membru o necunoscut
auxiliar yi , y i 0, numit i variabil de egalizare sau de compensare.
n n
Deci: aij x j yi bi (respectiv a ij x j yi bi ).
j 1 j 1

Dac o component a termenului liber bi , i 1,2, ... , m 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 j x j cu x j 0; dac
' '

x j este liber, neconstrns atunci punem: x j x 'j x ''j cu x 'j , x ''j 0.


Aceste substituii se nlocuiesc att n funcia obiectiv ct i n
restriciile problemei.

Exemplul II.5.1. Problema:


max f 2 x1 x 2
2x x 4
1 2

P x1 x 2 4

x 2 0, x1 R
se transform n:

113
' ''
min f 2 x1 2 x1 x 2
2 x ' 2 x '' x y 4
1 1 2 1

P ' x1' x1'' x 2 y 2 4

x1' , x1'' , x 2 , y1 , y 2 0

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:


n


min f c j x j
j1

n
16
PL min a j x j bi , 1 i m
j1

x j 0, 1 j m


i se asociaz programul liniar auxiliar, cu variabilele artificiale x1a , x2a ,..., xma :
m
min g xia


i 1

n

17 a
a
PL min aij x j xi bi , 1 i m
j 1

x j 0, xia 0, 1 j n, 1 i m.


Sistemul de restricii este un sistem de m ecuaii cu n + m necunoscute.
T
Se observ c 0,0, ... ,0, b1 , b2 , ... , bm este o soluie de baz pentru
a
PL min cu care se poate pleca n algoritmul simplex. Deoarece funcia

114
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 ia n
programul optim de baz pentru (17) sunt nule i eliminndu-se aceste
zerouri, corespunztoare variabilelor xia din acest program optim de baz al
a
PL min , se obine un program de baz X pentru (16).
Faza a II-a: n continuare se aplic algoritmul simplex pentru (16) cu
programul de baz X0. Dac min g > 0 atunci (16) nu are soluii admisibile.

Exemplul II.5.2.


min f x1 6 x 2
2x x x 3
1 2 3

x1 3 x 2 x 4 4

xi 0 i 1,2,3,4
Faza I:


min g x a x a
1 2
a
a 2 x1 x 2 x 3 x1 3
PL min
x 3x x x a 4
1 2 4 2

x 0 i 1,2,3,4, x a , x a 0
i 1 2
Care are soluia de baz 0,0,0,0,3,4 T . Aplicm algoritmul simplex:
0 0 0 0 1 1
a1 a 2 a3 a 4 a5 a6
1 a5 2 1 -1 0 1 0 3
1 a6 1 3 0 -1 0 1 4
-3 -4 1 1 0 0 7
1 a5 5/3 0 -1 1/3 1 -1/3 5/3
0 a2 1/3 1 0 -1/3 0 1/3 4/3
-5/3 0 1 -1/3 0 4/3 5/3
0 a1 1 0 -3/5 1/5 3/5 -1/5 1

115
0 a2 0 1 1/5 -2/5 -1/5 2/5 1
0 0 0 0 1 1 0

Am obinut programul optim de baz 1,1,0,0,0,0 T pentru


a
PL min cu min g 0 . Faza nti s-a ncheiat.
Faza a II-a. Reinem ca program de baz 1,1,0,0 T (componentele
corespunztoare, respectiv, lui x1 , x2 , x3 , x4 , 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 ".
Fie o problem PL - min i X un program de baz degenerat. Deci
X are r componente nenule, r m . Fie

T
X x1 , x 2 , ... , x r , 0, ... ,0 .
Aceasta nseamn c n iteraia algoritmului simplex care conduce la
i
x
obinerea lui X s-a ntlnit situaia: min z 1 i m, zit 0 se atinge
it
n mai multe puncte (pentru mai muli indici i). Fie s i u indicii pentru care
xs xu
avem .
zst zut
Se pune ntrebarea cum alegem n acest caz pivotul (linia pivotului)?
Vom nlocui X cu:
n
X X a j unde 0 este un numr
j
(18)
j 1

foarte mic, iar a j , 1 j n sunt vectorii coloan ai sistemului de restricii.

116
n


j
Deci a j este o combinaie liniar de vectorii a j cu coeficienii
j 1

, 2 , 3 ,..., n .
Componentele lui X vor fi:
n

(19) xk xk j zkj , 0, 0
j 1

Observaie: Aici prin j nelegem puterea a j a a lui . Dac alegem


diferit de rdcinile ecuaiei:

xs xu
(20) atunci pentru acest vom avea:
zst zut

(21)
x
xs
u

zst zut
mprind (19) la zst dac k s i la zut dac k = u obinem:

(22)
x
xs
s

n
j zsj
zst zst n 1 zst

(23)
x
xu
u

n
j zuj
zut zut n 1 zut
j
Din relaiile (22) i (23), comparnd coeficienii lui , obinem compararea
celor dou linii, care este o comparare lexicografic: dac j este primul indice
zsj zuj xs xu
pentru care atunci i adic
zst zut zst zut
x
i
min 1 i m, zit 0 se atinge pentru i s . Deci pivotul va fi
zit
zst ,iar linia s este linia pivotului.
Fcnd 0 se revine la problema iniial.
xs xu
n practic, dac am ajuns la un pas n care avem: se
zst zut
procedeaz astfel:

117
1 Se mpart elementele de pe linia s la zst i cele de pe linia u la zut . Se
formeaz dou linii de rapoarte.

2 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
a1 a2 a3 a4
2 a1 1 0 0 4/5 12 / 5 12 / 5
1 2 6/5 3
a 0 1 0 2/5 4/ 5
1 3 8 6/ 5
a 3
0 0 1 2 2/5
cj z 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 z24 este pivotul.

#.7. Algoritmul simplex dual

Problemei de programare liniar:

min f X C T X

(24) A X L
X 0

i se asociaz problema:

118
y
1
max g Y LT Y
y
(25) AT Y C unde Y 2


Y0
ym
Problema (24) se va numi primal iar problema (25) duala problemei
(24) i reciproc.
Exemplul II.7.1
min f x1 2 x2 2 x3
x1 2 x2 x3 x4 1

2 x1 x2 x3 x4 2

x1 x2 x3 x4 1
xi 0, i 12, ,3,4
Folosind tabelul:

Y X x1 x2 x3 x4 L
y1 1 2 1 1 1
y2 2 1 1 1 2
1 1 1 1 1
y3
1 2 2 0 C
gsim duala:

119
max g Y y1 2 y2 y3
y1 2 y2 y3 1

2 y1 y2 y3 2
y1 y2 y3 2

y1 y2 y3 0

yi 0, i 1,2,3
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 T A X Y T L LT Y g Y
Pe de alt parte: A T Y C X T A T Y X T C C T X f X
Dar cum Y T A X A X T Y X T A T Y ajungem la concluzia
g Y f X .

Teorema II.7.2. Dac (24) are optim finit atunci (25) are optim finit i

avem max g Y min f X sau C T X LT Y unde X este o
soluie optim pentru (24) iar Y o soluie optim pentru (25).

Demonstaie: Din teorema II.7.1. pentru orice pereche de programe


duale X,Y, avem g Y f X . Deci are loc i max g Y f X . Cum f
este o funcie liniar, deci continu, atunci min f X exist i are loc
max g Y min f X .
Pe de alt parte folosind (13) i teorema II.4.1. avem

min f X f X Z C Tp B 1 L . Se demonstreaz c
Y B 1 C p 0 este un program optim pentru duala (25). Atunci:


min f X C Tp B 1 L B 1 C p T

L Y T L LT Y g Y max g Y .
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 T L AX 0;
X T AT Y C 0
120
Demonstraie. Avem:
LT Y Y T L Y T AX X T A T Y X T C C T X
Folosind teoremele II.7.2. i II.7.1. obinem c X,Y sunt programe
optime dac i numai dac LT Y C T X ceea ce conduce la:
Y T L Y T A X X T AT Y X T C
sau: Y L AX 0;
T

X T A T Y C 0.
Dualitatea se folosete cel mai frecvent n cazul n care problema
primal necesit calcule multe:
Exemplul II.7.2.
min f 3x1 x2
2 x1 x2 1

x1 x2 1
3x1 2 x2 3.

2 x1 3x2 1

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

max g y1 y 2 3 y 3 y 4
2 y y 3y 2 y 3
1 2 3 4
y1 y 2 2 y 3 3 y 4 1

yi 0 i 1,4
aceasta necesit numai dou variabile de egalizare. Obinem:

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

121
0 a5 2 1 3 2 1 0 3
0 a6 1
1 1 2 3 0 1
-1 -1 -3 -1 0 0 0
0 a5 1/2 -1/2 0 -5/2 1 -3/2 3/ 2
a3 1/ 2
3 1/2 1/2 1 3/2 0 1/2
1/2 1/2 0 7/2 0 3/2 -3/2

deci max g 3 / 2 min f .


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

122
min f 3x1 2 x2 x3 x4
2 x1 x2 x3 x4 5

x1 2 x2 x3 2 x4 10

x1 x2 2 x3 x4 10
x1/2 0, x3 0, x4 R
Duala va fi:
max g 5y1 10 y2 10 y3
2 y1 y2 y3 3

y1 2 y2 y3 2
y1 y2 2 y3 1

y1 2 y2 y3 1
y1 0, y2 0, y3 R

#.8 Problema transportului

O problem de transport, echilibrat, corespunztoare tabelului (T)


(vezi II.2), are forma:

123
n m
min f X

c x ij ij 26
i 1 j 1
m

x b , ij i 1 i n 27
j 1

n
PT : xij b 'j , 1 j m 28
j 1
m n

b b 'j i 29
j 1 i 1

xij 0 i , j


numit i forma standard.
m n
n cazul n care avem bj' bi , atunci n tabelul (T)
i 1 i 1
n m
'
introducem coloana (m+1)-a cu b
m1 b b i c
i
'
j i ,m1 0 1 i n;
i 1 j 1
m n
iar in cazul c b b '
j i introducem linia (n+1)-a cu
j 1 i 1

m n
'
bn 1
j 1
b 'j bi 1
i si c n 1, j 0 1 j m

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.

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

Problem: Din trei depozite D1 , D2 , D3 trebuie transportat acelai


tip de marf la trei magazine C1 , C2 , C3 . Costurile unitare de transport,
disponibilul (D) i necesarul (N) sunt date n tabelul:

C1 C2 C3 D
D1 2 5 3 100
D2 4 2 1 120
D3 7 8 3 70
N 80 110 100

Observm c problema este echilibrat.

Metoda1 .n colul din N-V se trece


min D1 , N 1 min 100,80 80. Deoarece necesarul N1 s-a epuizat se
trece 0 (sau se las libere, sau se haureaz) celelalte csue de pe prima
coloan. Iar D1 devine 100 80 20 . Obinem tabelul:

C1 C2 C3 D
D1 80 20
D2 /////////// 120
D3 /////////// 70
N 110 100

Cu coloanele C2 , C3 rmase procedm la fel. n colul N-V (csua (1,2) din


tabel) nscriem min D1 , N 2 min 20,110 20. Deoarece disponibilul
D1 s-a epuizat se trece 0 n restul csuelor de pe prima linie; iar necesarul
N 2 a devenit 110 20 90 . Obinem tabelul:

125
c C2 C3 D
D1 80 20 ///////////
D2 /////////// 120
D3 /////////// 70
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 1 componente; n cazul de fa m=3, n=3).

Metoda 2 Metoda minimului pe linie:


Cutm costul minim din prima linie; l gsim pe poziiac11 2. n csua
respectiv , trecem min N 1 , D1 min 80,100 80 . Deoarece N 1 s-a
epuizat haurm celelalte csue ale coloanei C1 ; iar D1 a devenit 100-
20=80.
Tabelul s-a transformat n:

C1 C2 C3 D
D1 80 20
D2 /////////// 120
D3 /////////// 70
(N) 110 100

n tabelul rmas, compus din coloanele C2 i C3 cutm din nou cel


mai mic cost de pe prima linie: gsim c13 3 . n csua corespunztoare
trecem min D1 , N 3 min 20,100 20. Deoarece D1 s-a epuizat,
haurm csuele libere din prima linie, iar N 3 a devenit 100-20=80. Obinem
tabelul:

C1 C2 C3 D
D1 80 /////////// 20
D2 /////////// 120
D3 /////////// 70

126
(N) 110 80

n continuare procedm la fel i obinem programul de baz:

80 0 20
0 110 10
0 0 70
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:

n m



max g bi ui b 'j v j
i 1 j 1

n m
d
PT :

u v c
i 1 j 1
i j ij

u , v R, 1 i n, 1 j m
i j

Conform teoremelor dualitii avem:
g Y f X pentru orice pereche de soluii duale X,Y.

max g Y min f X n cazul n care avem optim.
nlocuind n gY
valorile bi , 1 i n i b j , 1 j m cu
'

expresiile date de modelul primal ((27), respectiv (28)), gsim:


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

Inegalitatea g Y f X devine:
n m n m
31 u v x c x
i j ij ij ij unde xij 0
i 1 j 1 i 1 j 1
sau:
n m
32 u v i j
cij xij 0, xij 0.
i 1 j 1
Dac X este optim finit pentru problema primal avem
max g Y min f X i inegalitatea (32) se transform n egalitate. Cum
xij 0 i , j ajungem la concluzia:
33 ui v j cij 0 dac xij 0.

127
Tot de aici reiese c dac pentru un xij 0 avem ui v j cij 0 atunci
X nu este optim.
Cum x ij 0 sunt n numr de m+n-1 atunci (33) reprezint m+n-1
relaii cu m+n necunoscute ( ui sunt n numr de n, iar v j n numr de m).
innd seama i de forma sistemului (33) este suficient s facem u1 0
pentru a obine restul necunoscutelor.
Condiia ca X s fie optim revine la faptul c ui v j cij 0 pentru
xij nebazici.
Notnd ui v j C0 i cij C0 0 condiia ca X s fie optim devine
0 0 pentru xij nebazici. Dac nu toi 0 0 pentru xij nebazici, se trece
la mbuntirea programului:
Se alege crs C0 min
i, j

0 0 0 .
Variabila xrs corespunztoare, nebazic se introduce n baz. Pe linia r,
dintr-un xrk bazic trebuie sczut un x rs , pentru a nu modifica disponibilul
Dr i atunci pe coloana k, la un x pk bazic trebuie adugat xrs pentru a nu
modifica necesarul N k i n consecin pe linia p la un x ps trebuie sczut xrs
pentru a nu modifica disponibilul Ds .
Notnd xrs , se formeaz astfel un ciclu:
x ps x pk

x rk

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

X0 C0
v1 v2 v3 v 2 5 4 0 Ciclul
j
ui
u1 80 20 0 /// /// 4 -1 20-

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

128
u3 70 -1 1 4 /// 6 4

n casetaX avem programul de baz determinat cu metoda colului N-


V. Corespunztor acestuia sistemul ui v j cij 0 devine:
u v 2
1 1

u1 v2 5

u2 v 2 2

u2 v 3 1

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

X1 C0
v1 v2 v3 vj 2 4 3 0
ui
u1 80 20 0 //// 4 //// //// 1 ////
u2 110 10 -2 0 //// //// 4 ////
u3 70 0 2 4 //// 5 4 ////

Am obinut
0 0 i , j nebazici, deci soluia X1 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:

129
1.
C1 C2 C3 C4 (D)
D1 5 6 2 5 15
D2 1 3 4 2 25
D3 7 1 3 4 20
(N) 10 30 5 15

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


10 5 0 0

X N V 0 25 0 0 care are 5 componente nenule.

0 0 5 15
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.
D1 D2 D3 D4 N
C1 1 3 2 5 50
C2 6 2 3 2 20
C3 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.
C1 C2 C3 D
D1 2 3 1 50
D2 4 5 2 30
N 30 10 40

130
4.
C1 C2 C3 D
D1 5 2 1 20
D2 3 4 2 40
D3 5 4 3 40
(N) 40 10 30

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


consumator fictiv:

C1 C2 C3 C4 D
D1 5 2 1 0 20
D2 3 4 2 0 40
D3 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:

max f x 3x1 x2
2 x 3x x 4
1.) 1 2 3
Sol.
5x1 2 x2 x4 12

xi 0 i 1,4.
T
44 4 136
X optim ; ;0;0 max f
19 19 19

131
min f x x1 2 x 2 2 x 3
2 x1 x 2 x 3 x4 1

2.) x1 2 x2 2 x 3 x5 2

3 x1 x2 x 3 x6 4

xi 0 i 1,6
Sol: X optim 5,0,11,0,19 ,0
T
min f 27

min f x x 4 2 x5 3x 6
x1 x 4 2 x 5 x 6 3

3.) x 2 3x 4 x5 x 6 4

x 3 x 4 3x5 2 x 6 1

xi 0
X optim 0,0,0,2 ,7,11
T
Sol: min f 47

max f x 3x1 2 x2 4 x3 2 x4
x1 2 x2 x3 2 x4 x5 2

4.) x1 3x2 x3 x4 x6 1

x1 x2 4 x3 x4 x7 2

xi 0 i 1,7
Sol: X optim 0,0,0,1,4,0,3 ;
T
max f 2.

132
min f x 3x1 x 2 2 x 3 x 7 4
x1 2 x 2 3 x 3 x 4 x 7 1

5.) x1 x 2 x 3 x 5 x 7 2 Sol: nu are optim finit

x1 x 2 2 x 3 x 6 2 x 7 3

xi 0

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

max f x 3x1 2 x 2 4 x 3
x 2x x 5
1 2 3
6.) Sol: nu are optim finit
x1 4 x 2 x 3 1

xi 0

max f x 7 x1 4 x 2
x x 1
7.) 1 2

x1 2 x 2 4

x1 2 x1,2 0
Sol: X optim 2 ,1,2,0,0
T
max f 18

133
min f x 2 x1 3x 2 x 4
x1 2 x 2 3x 3 x 4 1

8.) x1 x 2 x 3 x 4 2 Sol: X optim 8,11,0,5
T


x1 x 2 2 x 3 2 x 4 3

xi 0 i 1,4

max f x y z
2x y 3

9.) 2y z 3 Sol: X optim 1,1,1
T


x 2z 3

x, y, z 0
max f x y z
x y 1
1 1 1
T
10.) y z 1 Sol: X optim ; ;
2 2 2

xz 1

x, y, z 0

134
min f x 2 x1 x 2 x 3
x x x 1
11.) 1 2 3
Sol: nu exist minim
2 x2 x3 4

xi 0 i 1,3

max f x 2 x1 x 2
2 x1 x 2 4
12.) Sol: X optim 4,0
T

x1 x 2 4

x R, y 0

min f 2 x1 3x 2 2 x 3
x1 x 2 x 3 1

13.) x1 2 x 2 3x 3 4

2 x1 x 2 2 x 3 3

xi 0 i 1,3

135
min f x x1 2 x 2 x 3
x x 2x 1
1 2 3
14.) Sol: X optim 0,0,1 / 2 T
x1 x 2 x 3 4

x1 , x 2 0 x3 R

max f x x1 2 x 2 3x 3
x x x 6
1 2 3
15.)
2 x1 3 x 2 x 3 6

x1 2, x 2 3, x 3 0
Indicaie: Se face mai nti schimbarea de variabile:
x x1 2, x x2 3 Sol: X optim 2,3,1 .
' ' T
1 2

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

min f x x1 3x 2 2 x 3 x 4 2 x5
2x x 2x x x 1
16.) 1 2 3 4 5

3 x1 x 2 x 3 2 x 4 2 x 5 3

xi 0 i 1,5
Sol: X optim 0,0,5 / 3,7 / 3,0

136
min f x 3x1 x 2 x 3 x 4
x1 x 2 x 3 x 4 x 5 1

17.) 2 x1 x 2 x 3 2 x 4 x 5 2

2 x1 x 2 x 3 x 4 4

xi 0
Sol: X optim 1,1,1,0
T
min f 1

min f x 2 x1 3x 2
x1 x 2 1

18.) x1 x 2 2 Sol: X optim 1,0

x1 2 x 2 1

x1/ 2 0

max f x x1 x 2 x 3
x 3x 5x 2
19.) 1 2 3

3 x1 2 x 2 2 x 3 2

xi 0 i 1,3
2 4
Sol: X optim ; ;0
7 7

137
min f x 2 x1 x 2 x 3
x x x 2
1 2 3
20.)
2 x1 x 2 x 3 3

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

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 x1 , x 2 , x 3 cantitile din cele trei articole ce trebuiesc produse.


Atunci avem de rezolvat problema:
max f 40 x1 120 x 2 30 x 3


x1 1000
x 500
2

x 3 1500

1 1 1
50 x1 x2 x 3 25
25 75

x1 , x 2 , x 3 0
1
( x1 reprezint numrul de ore pe sptmn n care maina produce
50
cantitatea x1 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

138
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 x1 , x2 , x3 , x4 cantitile de zahr ce trebuiesc produse respectiv n
lunile: noiembrie, decembrie, ianuarie, februarie. Avem:
x i 0 i 1,4
x1 55000

x 2 40000

x 3 25000
x 50000
4
x 20000
1

2 1
x x 20000 30000
x 3 x1 x 2 50000 50000



x 4 x1 x 2 x 3 100.000 40.000
( x1 20000 - reprezint excedentul din noiembrie.)
Considernd cheltuielile de producie i cele de depozitare n mii lei
funcia obiectiv devine:
f x 140 x1 160 x 2 150 x 3 170 x 4 2 x1 20000 2 x1 x 2 50000


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

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

139
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:

v1 : 5 2 2 1
v2 : 5 2 ,5 2,5
v3 : 5 3 2
v4 : 5 2 2 ,5 0,5

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 x1 , x2 , x3 , x4
numrul evilor de 5m care se taie respectiv dup variantele v1 , v2 , v3 , v4 vom
avea:

min f x1 0,5 x 4 .
2 x1 x 3 x 4 35

2 x 2 x 4 25

x 3 10

xi 0 i 1,4

Vom obine x1 0, x2 5, x3 10, x4 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 A1 i cantitatea y din alimentul A2 exprimate n kilograme, ce
trebuie s intre n compoziia raiei furajere a unui animal astfel nct costul ei
s fie minim.

Denumirea Coninutul n principii Cantitile minime


principiilor nutritive nutritive al alimentelor (kg) prescrise (kg)
A1 A2
P1 0,1 0 0,4

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

Indicaie: problema se transcrie matematic astfel:

0,1x 0,4

0,1 y 0,6

0,1x 0,2 y 2
Se gsete x 4, y 9
0,2 x 0,1 y 1,7

x, y 0
min f 240 x 80 y

141

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