Documente Academic
Documente Profesional
Documente Cultură
Capitolul II
OPTIMIZARE LINIARǍ
1
• utilizarea optimǎ a resurselor.
Organizarea optimǎ a producţiei. Sǎ presupunem cǎ o firmǎ produce douǎ bunuri
notate A şi B, pentru care foloseşte douǎ tipuri de maşini M1 şi M2 . Numǎrul de ore
necesar fabricǎrii fiecǎrui produs şi capacitatea de funcţionare a maşinilor sunt trecute ı̂n
tabelul urmǎtor:
A B Capacitatea de funcţionare
M1 2h 3h 12 h
M2 2h 1h 8h
În acest capitol ne propunem sǎ determinǎm un plan de producţie astfel ı̂ncât beneficiul
total sǎ fie maxim ştiind cǎ beneficiile unitare obţinute ı̂n urma valorificǎrii celor douǎ
produse A şi B sunt de respectiv 6 u.m. şi 7 u.m.
Notǎm:
Beneficiul total al firmei este format din beneficiul obţinut prin valorificarea bunului A
(6 u.m. ı̂nmulţit cu numǎrul de produse A) şi beneficiul obţinut prin valorificarea bunului
B (7 u.m. ı̂nmulţit cu numǎrul de produse B), adicǎ 6x1 + 7x2 .
Funcţia obiectiv este:
2x1 + 3x2 ≤ 12
2x1 + x2 ≤ 8.
2
Astfel, modelul matematic asociat este:
max(6x1 + 7x2 )
2x1 + 3x2 ≤ 12
2x 1 + x2 ≤ 8
x1 , x2 ≥ 0.
Relaţiile dintre coeficienţii tehnologici, disponibil şi cantitǎţile din produse ce se vor
realiza sunt date de:
a11 x1 + a12 x2 + . . . + a1n xn ≤ r1 ,
a21 x1 + a22 x2 + . . . + a2n xn ≤ r2 ,
··
·
am1 x1 + am2 x2 + . . . + amn xn ≤ rm .
3
Procesul fiind unul real, cantitǎţile ce se vor realiza satisfac realaţiile
x1 ≥ 0, x2 ≥ 0, ..., xn ≥ 0,
b1 x1 + b2 x2 + . . . + bn xn .
echivalent cu n
P
max bj xj
j=1
Pn
aij xj ≤ ri , i = 1, m
j=1
xj ≥ 0, j = 1, n.
În condiţiile ı̂n care resursele din cadrul producţiei sunt utilizate complet, organizarea
optimǎ a producţiei se reduce la a rezolva problema:
n
P
max bj xj
j=1
Pn
aij xj = ri , i = 1, m
j=1
xj ≥ 0, j = 1, n.
Utilizarea optimǎ a resurselor. Sǎ presupunem cǎ o rafinǎrie trebuie sǎ pro-
ducǎ conform obligaţiilor asumate cel puţin 60 unitǎţi din combustibilul C1 şi cel puţin
90 unitǎţi din combustibilul C2 , pentru care foloseşte petrol brut de la doi furnizori cu
preţurile unitare de respectiv 3 u.m şi 4 u.m. Coeficienţii tehnologici sunt daţi ı̂n tabelul
de mai jos:
4
P1 P2 Capacitatea de producţie
C1 2 1 60
C2 1 2 90
Din fiecare unitate din P1 se produc 2 unitǎţi din C1 şi o unitate din C2 , atunci din
x1 unitǎţi din P1 se vor produce 2x1 unitǎţi din C1 şi x1 unitǎţi din C2 . În mod analog,
din x2 unitǎţi din P2 se vor produce x2 unitǎţi din C1 şi 2x2 unitǎţi din C2 . Rafinǎria
trebuie sǎ producǎ zilnic cel puţin 90 unitaţi din C1 şi 60 unitaţi din C2 . Astfel cele douǎ
restricţii sunt:
2x1 + x2 ≥ 90,
x1 + 2x2 ≥ 60.
În plus, cele douǎ variabile x1 şi x2 sunt nenegative.
Modelul matematic asociat este:
min(3x1 + 4x2 )
2x1 + x2 ≥ 90,
x1 + 2x2 ≥ 60,
x1 , x2 ≥ 0.
5
Produse Resurse R1 · · · Rj · · · Rn Cerere
P1 a11 · · · a1j · · · a1n p1
· · ·
· · ·
· · ·
Pi ai1 · · · aij · · · ain pi
· · ·
· · ·
· · ·
Pm am1 · · · amj · · · amn pm
Cost unitar c1 · · · cj · · · cn
Relaţiile dintre coeficienţii tehnologici, cerere şi cantitǎţile din resurse ce trebuie
achiziţionate sunt date ı̂n urmǎtoarele relaţii:
a11 x1 + a12 x2 + . . . + a1n xn ≥ p1 ,
a21 x1 + a22 x2 + . . . + a2n xn ≥ p2 ,
···
am1 x1 + am2 x2 + . . . + amn xn ≥ pm .
echivalent cu n
P
min ci xi
i=1
Pn
aij xi ≥ pj , j = 1, m
i=1
xi ≥ 0, i = 1, n.
6
În condiţiile ı̂n care se realizeazǎ exact cantitatea propusǎ, utilizarea optimǎ a resurselor
se reduce la a rezolva problema:
Pn
min ci xi
i=1
Pn
aij xi = pj , j = 1, m
i=1
xi ≥ 0, i = 1, n.
7
Se numeşte forma generalǎ a unei probleme de optimizare liniarǎ problema:
n
P
optim ci xi
i=1
n
P
aij xi < bj , j = 1, k
i=1
n
P
aij xi = bj , j = k + 1, p (2.2.5)
i=1
Pn
aij xi > bj , j = p + 1, m
i=1
xi ≥ 0, i = 1, s; xi ≤ 0, i = s + 1, q; xi ∈ IR, i = q + 1, n,
forma standard se obţine prin adaugarea ı̂n partea stângǎ a restricţiilor douǎ variabile
nenegatice de compensare notate x3 şi x4 . Forma standard este:
max(6x1 + 7x2 )
2x1 + 3x2 + x3 = 12
2x1 + x2 + x4 = 0
x1 , x2 ≥ 0.
8
Exemplu. Pentru modelul matematic asociat utilizǎrii optime a resurselor:
min(3x1 + 4x2 )
2x1 + x2 ≥ 90
x1 + 2x2 ≥ 60
x1 , x2 ≥ 0.
forma standard se obţine prin scǎderea ı̂n partea stângǎ a restricţiilor a douǎ variabile
nenegatice de compensare notate x3 şi x4 . Forma standard este:
min(3x1 + 4x2 )
2x1 + x2 − x3 = 90
x1 + 2x2 − x4 = 60
x1 , x2 ≥ 0.
min(2x1 − 3x3 )
x1 − x2 ≥ 1
2x1 − x3 = 2
x1 + x2 + x3 ≤ 5
x1 ≥ 0, x2 ≤ 0, x3 ∈ IR.
Pentru aducerea la forma standard mai ı̂ntâi transformǎm variabilele x2 şi x3 . Variabila
x2 este negativǎ şi utilizǎm substituţia x2 = −u2 cu u2 ≥ 0, iar x3 este o variabilǎ oarecare
şi x3 = u3 − u4 cu u3 , u4 ≥ 0.
Cu aceste substituţii modelul devine:
Plecând de la aceastǎ prelucrare pentru a avea restricţii de tip egalitate, trebuie sǎ scǎdem
o variabilǎ nenegativǎ notatǎ u5 ı̂n partea stânga a primei restricţii şi sǎ adǎugǎm o
variabilǎ nenegativǎ notatǎ u6 ı̂n partea stânga celei de-a treia restricţii. Forma standard
9
obţinutǎ este:
min(2x1 − 3u3 + 3u4)
x1 + u2 − u5 = 1
2x1 − u3 + u4 = 2
x1 − u2 + u3 − u4 + u6 = 5
x1 ≥ 0, ui ≥ 0, i = 2, 6.
10
Cum rangul matricii A este m, numǎrul vectorilor coloanǎ liniar independenţi este cel
mult m. Aşadar, numǎrul componentelor pozitive ale unei soluţii admisibile de bazǎ este
cel mult m.
Dacǎ soluţia admisibilǎ de bazǎ are exact m componente pozitive, soluţia se numeşte
nedegeneratǎ. Dacǎ soluţia admisibilǎ de bazǎ are mai puţin de m componente pozitive,
se numeşte degeneratǎ.
Se numeşte soluţie optimǎ a unei probleme de optimizare liniarǎ orice soluţie ad-
misibilǎ de bazǎ care realizeazǎ optimul funcţiei obiectiv.
În cele ce urmeazǎ determinǎm soluţiile optime (dacǎ existǎ) folosind algoritmul sim-
plex. Se porneşte de la o soluţie admisibilǎ de bazǎ, care se ı̂nlocuieşte cu altǎ soluţie
admisibilǎ de bazǎ care ı̂mbunǎtǎţeşte valoarea funcţiei obiectiv. Acest algoritm are un
numǎr finit de etape cǎci numǎrul bazelor extrase din A este cel mult Cnm . La final se
determinǎ soluţia optimǎ (dacǎ existǎ) sau faptul cǎ aceasta nu existǎ.
Algoritmul simplex presupune urmǎrirea unor etape pe care le prezentǎm ı̂n cele ce
urmeazǎ, iar justificarea se poate gǎsi şi ı̂n [27].
• z0 := c1 b1 + c2 b2 + ... + cm bm ;
• ∆i := ci − zi , i = 1, n
11
optim C c1 ... cn
VB B −1 b V1 ... Vn
zi z0 z1 ... zn
∆i ∆1 ... ∆n
unde optim este min sau max, iar V B reprezintǎ vectorii bazei.
Dacǎ matricea de bazǎ iniţialǎ este matricea unitate de ordin m, B = I, atunci tabelul
anterior devine:
optim C c1 ... cn
VB b V1 ... Vn
zi z0 z1 ... zn
∆i ∆1 ... ∆n
max(6x1 + 7x2 )
2x1 + 3x2 + x3 = 12,
2x1 + x2 + x4 = 8,
x1 , x2 , x3 , x4 ≥ 0.
12
Observǎm ca variabilele de compensare apar cu coeficientul 0 ı̂n funcţia obiectiv:
MAX C 6 7 0 0
VB VVB V1 V2 V3 V4
V3 12 2 3 1 0
V4 8 2 1 0 1
zi 0 0 0 0 0
∆i = ci − zi 6 7 0 0
z0 = 0 · 12 + 0 · 8 = 0; z1 = 0 · 2 + 0 · 2 = 0; z2 = 0 · 3 + 0 · 1 = 0;
z3 = 0 · 1 + 0 · 0 = 0; z4 = 0 · 0 + 0 · 1 = 0;
∆1 = c1 − z1 = 6 − 0 = 6; ∆2 = c2 − z2 = 7 − 0 = 7;
∆3 = c3 − z3 = 0 − 0 = 0; ∆4 = c4 − z4 = 0 − 0 = 0.
Etapa 2. (i) Dacǎ toate elementele liniei ∆i sunt negative sau 0 (respectiv pozitive
sau 0) pentru problema de maxim (respectiv minim) s-a obţinut soluţia optimǎ (B −1 b, 0);
STOP;
(ii) Dacǎ existǎ k ∈ {1...n}, pentru care ∆k > 0 (respectiv ∆k < 0) ı̂n cazul de maxim
(respectiv minim) şi pentru un astfel de indice B −1 Vk ≤ 0, problema nu are valoare optimǎ
finitǎ. STOP;
(iii) Dacǎ existǎ k ∈ {1...n}, pentru care ∆k < 0, (respectiv ∆k > 0) ı̂n cazul de
maxim (respectiv minim) şi pentru toţi astfel de indici B −1 Vk 6≤ 0, se trece la Etapa 3.
În exemplul considerat modelul fiind de maxim ajungem la soluţia optimǎ când ∆i ≤ 0.
În cazul nostru ∆1 , ∆2 > 0, deci soluţia nu este optimǎ. Baza aleasǎ B = {V3 , V4 } conduce
13
la o soluţie admisibilǎ de bazǎ care ı̂nsǎ nu este optimǎ. Vom ı̂nlocui un vector din baza
B ı̂n Etapa 3.
Etapa 3. Din elementele ∆i , i = 1, n, se alege k astfel ı̂ncât ∆k este cel mai mare
(∆k = max{∆i }), respectiv cel mai mic (∆k = min {∆i }) pentru problema de maxim şi
i=1,n i=1,n
respectiv pentru probleme de minim. Se determinǎ i ∈ {1, ..., m}, astfel ı̂ncât
( )
x0i x0j
= min .
zik j|zjk >0 zjk
Vectorul Vi va ieşi din bazǎ, iar vectorul Vk va intra ı̂n bazǎ. Se trece la Etapa 4.
În exemplul nostru, ∆2 > ∆1 , deci V2 intrǎ ı̂n bazǎ (k = 2).
Avem:
x0i
0 0
x1 x2 12 8
= min , = min , = 4,
zi2 z12 z22 3 1
deci V3 iese din bazǎ.
Noua bazǎ este B = {V2 , V4 }.
x01 = 12/3 = 4; z11 = 2/3; z12 = 3/3 = 1; z13 = 1/3; z14 = 0/3;
• elementele celei de-a doua linii s-au calculat folosind regula dreptunghiului (para-
graful 1.3):
14
8 · 3 − 12 · 1 2·3−2·1 4
x02 = = 14; z21 = = ;
3 3 3
0 · 3 − 1 · 1 1 1 · 3 − 1 · 0
z23 = = − ; z24 = = 1;
3 3 3
Mai jos sunt calculaţi zi , i = 0, 4 şi ∆i , i = 1, 4:
2 4 14
z0 = 7 · 4 + 0 · 4 = 28; z1 = 7 · + 0 · = ; z2 = 7 · 1 + 0 · 0 = 7;
3 3 3
1 1 7
z3 = 7 · + 0 · − = ; z4 = 7 · 0 + 0 · 1 = 0;
3 3 3
14 4
∆1 = c1 − z1 = 6 − = ; ∆2 = c2 − z2 = 7 − 7 = 0;
3 3
7 7
∆3 = c3 − z3 = 0 − = − ; ∆4 = c4 − z4 = 0 − 0 = 0.
3 3
Problema este de maxim şi ∆1 > 0 deci nu am ajuns la soluţia optimǎ. Algoritmul se
repetǎ şi revenim la Etapa 3:
Cum ∆1 > 0, vectorul V1 intrǎ ı̂n bazǎ. Vectorul V4 iese din bazǎ deoarece
4 4
min , = 3.
2 4
3 3
4
Noua bazǎ este {V2 , V1 }, iar pivotul este .
3
Obţinem tabelul simplex:
V2 2 0 1 1/2 -1/2
V1 3 1 0 -1/4 3/4
zi 32 6 7 2 1
∆i 0 0 -2 11
unde:
4
• linia pivotului din vechiul tabel (a doua) s-a ı̂mpǎrţit cu pivotul :
3
4 4/3 0
x02 = = 3; z21 = = 1; z22 = = 0;
4/3 4/3 4/3
15
−1/3 1 1 3
z32 = =− ; z42 = = ;
4/3 4 4/3 4
• coloana pivotului s-a completat cu 0 : z11 = 0;
• celelalte elemente ale tabelului se calculeazǎ cu regula dreptunghiului:
16
În momentul comenzii ı̂ntreprinderea dispune de un numǎr limitat de unitǎţi de muncǎ
pentru fiecare atelier, corespunzând respectiv la: 200 unitaţi de muncǎ pentru atelierul
M1 , 540 unitǎţi de muncǎ la atelierul M2 , 480 unitǎţi de muncǎ pentru atelierul M3 .
Determinǎm numǎrul de serii de câte 100 piese A şi 100 piese B pe care ı̂ntreprinderea are
interes sǎ le livreze clientului ştiind cǎ obiectul ı̂ntreprinderii este maximizarea profitului.
Notǎm cu x1 numǎrul de serii de 100 piese A şi cu x2 numǎrul de serii de 100 piese B.
Pentru fabricarea a 100 piese A se folosesc 2 unitǎţi de muncǎ din atelierul M1 , 1
unitate de muncǎ din atelierul M2 şi 4 unitǎţi de muncǎ din atelierul M3 . Aşadar profitul
obţinut de la 100 piese A este:
max(50x1 + 30x2 + 0 · x3 + 0 · x4 + 0 · x5 )
2x1 + x2 + x3 = 200
x1 + 4, 5x2 + x4 = 540
1 + 3x2 + x5 = 480
4x
xi ≥ 0, i = 1, 5.
17
MAX C 50 30 0 0 0 Observaţii
VB VVB V1 V2 V3 V4 V5 200
V3 200 2 1 1 0 0 min , 540
21
,
480
V4 540 1 4,5 0 1 0 4
= 100,
V5 480 4 3 0 0 1 V3 iese din bazǎ
V1 intrǎ ı̂n bazǎ
∆i 0 50 30 0 0 0 n
100 440
V1 100 1 1/2 1/2 0 0 min 1 , 4 ,
2
80
V4 440 0 4 -1/2 1 0 1
= 80
V5 80 0 1 -2 0 1 V5 iese din bazǎ
V2 intrǎ ı̂n bazǎ
∆i 5000 0 5 -25 0 0
V1 60 1 0 3/2 0 −1/2
V4 120 0 0 15/2 1 -4
V2 80 0 1 -2 0 1
∆i 5400 0 0 -15 0 -5 ∆i ≤ 0, i = 1, 5
Soluţia optimǎ este x1 = 60, x2 = 80, x3 = 0, x4 = 120, x5 = 0, iar optimul este 5400.
Aşadar, ı̂ntreprinderea va livra clientului 60 serii de 100 piese A şi 80 serii de 100 piese
B, caz ı̂n care va avea un profit maxim de 5400 u.m. Pentru a realiza acest numǎr de serii
se folosesc toate unitǎţile de muncǎ din atelierele M1 şi M3 , iar ı̂n atelierul M2 au rǎmas
120 unitǎţi de muncǎ.
min g(Y )
AX + IY = b (2.4.1)
X ≥ 0, Y ≥ 0
18
(i) Soluţia optimǎ a problemei (2.4.1) este (X ∗ , Y ∗ ) cu Y ∗ 6= 0. În acest caz problema
datǎ nu are soluţie optimǎ.
(ii) Soluţia optimǎ a problemei (2.4.1) este (X ∗ , Y ∗ ) cu Y ∗ = 0. În acest caz sistemul
de restricţii a problemei date este compatibil, şi s-a obţinut o bazǎ admisibilǎ pentru
problema datǎ şi astfel se poate aplica algoritmul simplex.
Rezolvarea problemei ajutǎtoare (2.4.1), constituie faza 1 şi rezolvarea problemei date
utilizând baza admisibilǎ obţinutǎ ı̂n faza 1, constituie faza 2.
Exemplu. Problema de optimizare liniarǎ:
max(x1 − 2x2 + x3 − 2x4 )
2x1 − x2 + x3 + x4 = 2
x1 + 2x2 + x3 = 1
xi ≥ 0, i = 1, 4.
2 −1 1 1
are matricea A = care nu conţine o bazǎ unitate. Considerǎm problema
1 2 1 0
ajutǎtoare:
min(y1 )
2x1 − x2 + x3 + x4 = 2
x1 + 2x2 + x3 + y1 = 1
xi ≥ 0, i = 1, 4, y1 ≥ 0
MIN C 0 0 0 0 1
VB VVB V1 V2 V3 V4 V5
V4 2 2 -1 1 1 0
V5 1 1 2 1 0 1
zi 1 1 2 1 0 0
∆i -1 -2 -1 0 0
V4 5/2 5/2 0 3/2 1 1/2
V2 1/2 1/2 1 1/2 0 1/2
zi 0 0 0 0 0 0
∆i 0 0 0 0 1
1 5
Aşadar, prima fazǎ are soluţia x1 = 0, x2 = , x3 = 0, x4 = .
2 2
Continuǎm cu a doua fazǎ şi obţinem:
19
MAX C 1 -2 1 -2
VB VVB V1 V2 V3 V4
V4 5/2 5/2 0 3/2 1
V2 1/2 1/2 1 1/2 0
zi -6 -7 -2 -5 0
∆i 8 0 6 0
V1 1 1 0 3/5 2/5
V2 0 0 1 1/5 -1/5
zi 1 1 -2 1/5 4/5
∆i 0 0 4/5 -14/5
V1 1 1 -3 0 1
V3 0 0 5 1 -1
zi 1 1 2 1 0
∆i 0 -4 0 -2
max p(X, Y )
AX + IY = b (2.4.2)
X ≥ 0, Y ≥ 0
min p(X, Y )
AX + EY = b (2.4.3)
X ≥ 0, Y ≥ 0
20
(ii) Soluţia optimǎ a problemei (2.4.2) sau (2.4.3), este (X ∗ , Y ∗ ) cu Y ∗ 6= 0. În acest
caz problema datǎ nu are soluţii admisibile şi astfel problema nu are soluţie optimǎ.
(iii) Soluţia optimǎ a problemei (2.4.2) sau (2.4.3), este (X ∗ , Y ∗ ) cu Y ∗ = 0 şi X ∗ nu
depinde de M. În acest caz s-a obţinut soluţia optimǎ a problemei date.
Rezolvarea problemei de optimizare liniarǎ utilizând problema (2.4.2) sau (2.4.3), con-
stituie metoda penalizatǎ.
VB VVB V1 V2 V3 V4 V5 V6 V7
V4 8 13/2 0 4 1 0 0 1/2
V6 2 -2 0 -5 0 -1 1 -1
V2 1 3/2 1 2 0 0 0 1/2
ci − zi -4+2M -2M-3 0 -5M-7 0 -M 0 2M+2
1 4 3
Cum matricea A = nu conţine baza unitate considerǎm problema ajutǎtoare:
3 1 1
max(x1 + 2x2 + x3 − Mx4 − Mx5 )
x1 + 4x2 + 3x3 + x4 = 20
3x1 + x2 + x3 + x5 = 10
xi ≥ 0, i = 1, 5
21
MAX C 5 2 1 -M -M
VB VVB V1 V2 V3 V4 V5
V4 20 1 4 3 1 0
V5 10 3 1 1 0 1
∆i 30M 4M +5 5M+2 4M+1 0 0
V2 5 1/4 1 3/4 1/4 0
V5 5 11/4 0 1/4 -1/4 1
11 9 1 M 5M
∆i 5M-10 M+ 0 − + - 0
4 2 2 4 4
V2 50/11 0 1 8/11 3/11 -1/11
V1 20/11 1 0 1/11 -1/11 4/11
1 18
∆i 200/11 0 0 -1 − −M - -M
11 11
şi se constatǎ cǎ este formatǎ din cel puţin doi indici.
Acum sǎ considerǎm o nouǎ mulţime de indici I1 ⊂ I0 :
( )
zi1 zj1
I1 = i ∈ I0 | k = min k ,
zi j\zjk >0 zj
adicǎ se repetǎ raportul θ cu coloana Vi din tabelul simplex, dar numai pentru indicii din
I0 .
Dacǎ I1 este formatǎ dintr-un singur indice atunci degenearea este rezolvatǎ. În caz
contrar, se determiǎ I2 ⊂ I1 prin:
( )
zi2 zj2
I2 = i ∈ I1 | k = min k .
zi j\zjk >0 zj
22
Algoritmul se continuǎ pânǎ când mulţimea de indici conţine un singur indice. De exemplu
Is = {j}. Atunci, vectorul Vj va ieşi din bazǎ.
Exemplu. Unul din tabelele simplex ale unei probleme de maxim este:
VB VVB V1 V2 V3 V4 ↓ V5 V6
V1 1 1 1 0 2 0 0
V3 3 0 3 1 6 0 0
V5 0 0 2 0 -2 1 0
V6 4 0 4 0 8 0 1
ci − zi 9 0 -1 0 1 0 0
Cum ∆4 = 1 > 0 rezultǎ cǎ vectorul V4 intrǎ ı̂n bazǎ, dar criteriul de ieşire din bazǎ
nu este unic determinat. În acest caz, mai ı̂ntâi determinǎm mulţimea I0 :
1 3 4 1
min , , = , I0 = {1, 3, 6}.
2 6 8 2
Mulţimea I0 are trei elemente, deci continuǎm procedeul:
1 0 0
min , , = 0, I1 = {3, 6}.
2 6 8
Mulţimea I1 are douǎ elemente, deci continuǎm procedeul:
3 4 1
min , = , I2 = {3, 6}.
6 8 2
Mulţimea I2 are douǎ elemente, deci continuǎm procedeul:
1 0
min , = 0, I3 = {6}.
6 6
Cum mulţimea I3 are lementul 6 atunci vectorul V6 iese din bazǎ, iar pivotul este 4.
Dacǎ ı̂n ultima iteraţie a algoritmului simplex pe linia ∆j toate diferenţele ci − zi
sunt nenegative (respectiv nepozitive) ı̂n cazul problemei de minim (respectiv ı̂n cazul
problemei de maxim) atunci am ajuns la soluţia optimǎ. Dacǎ existǎ diferenţe ∆h = 0 şi
pentru vectorii Vh nebazici, atunci problema are soluţii optime multiple.
În acest caz, se gǎsesc toate soluţiile optime X1∗ , X2∗ , ..., Xs∗ (aplicând criteriul de
intrare ı̂n bazǎ pentru vectorii corespunzǎtori diferenţelor ∆h = 0) şi se scrie acoperirea
lor convexǎ, adicǎ
X ∗ = α1 X1∗ + α2 X2∗ + ... + αs Xs∗ ,
23
s
P
cu αi ≥ 0, i = 1, s şi αi = 1.
i=1
MAX C 1 4 2 -3 1
VB VVB V1 V2 V3 V4 V5
V1 10 1 2 0 -1 1
V3 4 0 1 1 0 1
∆i 18 0 0 0 -2 -2
VB VVB V1 V2 V3 V4 V5
V1 2 1 0 -2 -1 -1
V2 4 0 1 1 0 1
∆i 18 0 0 0 -2 -2
Noua iteraţie are soluţia optimǎ X2∗ = (2, 4, 0, 0, 0) cu 18 valoarea funcţiei obiectiv.
Soluţia generalǎ a problemei este:
adicǎ:
x1 = 10α + (1 − α)2 = 8α + 2
x2 = (1 − α)4
x3 = 4α
x4 = 0
x5 = 0.
cu valoarea funţiei obiectiv 18.
Exemplu. O ı̂ntreprindere are ı̂n plan fabricarea a cel puţin 100 unitǎţi din produsele
P1 , P2 , P3 . Pentru fabricarea lor se foloseşte o materie primǎ cu rezerve limitate la 300
unitǎţi: consumurile specifice ale celor trei tipuri de produse sunt de 2, 3 respectiv 1
unitǎţi de materie primǎ pentru fiecare unitate de produs finit. Condiţiile speciale de
depozitare impun ca din produsele P1 şi P3 sǎ nu se producǎ mai mult de 50 unitǎţi
24
(ı̂mpreunǎ). Cum produsele P1 şi P2 sunt mai cǎutate pe piaţǎ se urmǎreşte aplicarea
unui plan de producţie care sǎ conducǎ la obţinerea unei cantitǎţi cât mai mari din aceste
produse. Ne propunem sa determinǎm planul optim de producţie.
Notǎm cu xi cantitatea fabricatǎ din produsul Pi , i = 1, 2, 3.
Modelul matematic este:
max(x1 + x2 )
x1 + x2 + x3 ≥ 100
2x1 + 3x2 + x3 ≤ 300
x1 + x3 ≤ 50
x1 , x2 , x3 ≥ 0.
max(x1 + x2 + 0 · x4 + 0 · x5 + 0 · x6 )
1 + x2 + x3 − x4 = 100
x
2x1 + 3x2 + x3 + x5 = 300
x + x3 + x6 = 50
1
xi ≥ 0, i = 1, 6.
max(x1 + x2 − Mx7 )
x1 + x2 + x3 − x4 + x7 = 100
2x1 + 3x2 + x3 + x5 = 300
1 + x3 + x6 = 50
x
xi ≥ 0, i = 1, 6.
25
În continuare se aplicǎ algoritmul simplex
MAX C 1 1 1 0 0 0 −M
VB VVB V1 V2 V3 V4 V5 V6 V7 Observaţii
min 100 , 300
V7 100 1 1 1 −1 0 0 1 1 2
,
50
V5 300 2 3 1 0 1 0 0 1
=50
V6 50 1 0 1 0 0 1 0 V6 iese din bazǎ
V1 intrǎ ı̂n bazǎ
∆i −100M M+1 M+1 M+1 -M 0 0 0
min 50 , 200
V7 50 0 1 0 -1 0 -1 1 1 3
= 50
V5 200 0 3 -1 0 1 -2 0 V7 iese din bazǎ
V1 50 1 0 1 0 0 1 0 V2 intrǎ ı̂n bazǎ
∆i -50M+50 0 M+1 1 -M 0 -M-1 0
V2 50 0 1 0 -1 0 -1 1
V5 50 0 0 -1 3 1 1 -3 V5 iese din bazǎ
V1 50 1 0 1 0 0 1 0 V4 intrǎ ı̂n bazǎ
∆i 100 0 0 -1 +1 0 -2 -1-M
200
V2 3
0 1 -1/3 0 1/3 -2/3 0
50
V4 3
0 0 -1/3 1 1/3 1/3 -1
V1 50 1 0 1 0 0 1 0
250
∆i 3
0 0 -2/3 0 -1/3 -1/3 -M ∆i ≤ 0, i = 1, 7
200 350
Soluţia optimǎ este x1 = 50, x2 = , x3 = 0, iar optimul este . Planului optim
3 3
ı̂i corespunde o utilizare completǎ a rezervei de materie primǎ şi a spaţiului de depozitare.
26