Sunteți pe pagina 1din 4

Universitatea Spiru Haret

5.3.1. Algoritmul SIMPLEX pentru probleme care nu au soluŃia iniŃială cu AX ≤ B, B ≥ 0

• RestricŃiile pot fi puse (sau sunt) sub forma AX ≤ B, B ≥ 0, X ≥ 0


indiferent dacă problema este de „max” sau de „min”.
• Deoarece în cazul inegalităŃii α ≤ β ∃ γ ≥ 0 astfel încât α + γ = β vom adăuga
la fiecare inegalitate a problemei câte o variabilă y pozitivă astfel încât sistemul de inegalităŃi al
problemei devine sistem de egalităŃi.
Fixând x1 = x2 = ... = xn = 0 avem soluŃia y1 = b1, ... ym = bm posibilă prin construcŃie.
În funcŃia obiectiv variabilele y sunt introduse şi numite variabile de compensare sau de
egalizare sau variabile ecart vor figura cu coeficient „0”
Pentru problema modificată în acest fel şi adusă, deci la forma standard se aplică algoritmul
simplex ca în cazul precedent.

[ max ] f = CX [ max ] f = CX + 0 ⋅ Y
 
 AX ≤ B, B ≥ 0 ⇔  AX + I m Y = B
X ≥ 0  X ≥ 0, Y ≥ 0
 

[ max ] f = CX + 0 ⋅ Y

a11 x1 + a12 x2 + ... + a1n xn + y1 = b1
a x + a x + ... + a x + y = b
 21 1 22 2 2n n 2 2
⇔ 
⋮
am1 x1 + am 2 x2 + ... + amn xn + ym = bm

 xi ≥ 0, i = 1, n, y j ≥ 0, j = 1, m

OBSERVAłII
• La determinarea algoritmului SIMPLEX soluŃia optimă poate cuprinde variabile X cât şi
variabile Y
 x0 
0
X = 
 y0 
 

• În cazul în care există componente y în soluŃia optimă, interpretarea lor economică poate
fi aceea de economie de resurse în sensul că pentru componenta optimă yk de exemplu, diferită de
zero, atunci resursa bk ≠ 0, nu a fost transformată în întregime.

Exemplu:
[ max ] f = 2 x1 + 4 x2 − x3 + 5 x4
 2 x1 + x2 + x3 + x4 ≤ 12
 ⇔
 x1 + 2 x2 + x3 + 3 x4 ≤ 15
xi ≥ 0, i = 1,4
Universitatea Spiru Haret

[ max ] f = 2 x1 + 4 x2 − x5 + 5 x4 + 0 y1 + 0 y2
 2 x1 + x2 + x3 + x4 + y1 = 12
⇔ 
 x1 + x2 + x3 + 3 x4 + y2 = 15
xi ≥ 0, i = 1,4, y1 ≥ 0, y 2 ≥ 0

Rezolvare:

Matricea corespunzătoare va fi:


 2 1 1 1 1 0
1 1 1 3 0 1
 
B = {y1, y2}
Întocmim tabloul simplex:
Cj: 2 4 -1 5 0 0
CB B XB a1 a2 a3 a4 y1 y2
0 y1 12 2 1 1 1 1 0  12 15 
min  ,  =
1 3
0 15 1 2 1 3↓ 0 1 15
y2
 = → 3 PIVOT
3
zj 0 0 0 0 0 0
∆j = Cj – Zj 2 4 -1 5 0 0 soluŃia nu este
optimă
(∃∆j > 0)
0 y1 7 5/3 1/3 2/3 0 1 -1/3  7 5 
min  , =
1/ 3 2 / 3 
5 a 5 1/3 2/3↓ 1/3 1 0 1/3 5
4 = → 2/ 3PIVOT
2/ 3
zj 25 5/3 10/3 5/3 5 0 5/3
∆j = Cj – Zj 1/3 2/3 -8/3 0 0 -5/3 soluŃia nu este
optimă
(∃∆j > 0)
0 y1 9/2 3/2 0 1/2 -1/2 1 -1/2
4 a2 15/2 1/2 1 1/2 3/2 0 1/2
zj 30 2 4 2 6 0 2
∆j = Cj – Zj 0 0 -3 -1 0 -2 soluŃia este optimă
(∆j ≤ 0)

SoluŃia este x1 = x3 = x4 = 0, x2 = 15/2


y1 = 9/2, y2 = 0
fmax = 30.

5.3.2. Algoritmul SIMPLEX pentru probleme care nu au soluŃia iniŃială cu AX = B, B ≥ 0

5.3.2.1. Metoda transformărilor elementare

Această problemă constă în transformări elementare aplicate sistemului AX = B ,


presupunând că A ∈ M m×n , m < n, rang A = m , sau direct matricei ( A, B ) , aducând sistemul la
forma
Universitatea Spiru Haret

I m X B + SX S = D .
Dacă D ≥ 0 , atunci X B = D şi X S = 0 reprezintă o soluŃie de bază iniŃială. Dificultatea
acestei metode constă în incertitudinea pozitivităŃii termenului liber, condiŃie impusă de forma
standard a unei probleme de programare liniară.
DemonstraŃia se face analog problemei de programare liniară cu soluŃie iniŃială.

Exemplu
Să se rezolve problema
[ max ] f = 3x1 + 2 x2 + x3 + 5 x4 + 2 x5
 x1 + 2 x2 + x3 + 3 x4 + x5 = 15
 ⇔
 2 x1 + x2 + x3 + x4 + 3x5 = 6
xi ≥ 0, i = 1,5
Rezolvare
 1 2 1 3 1 15   1/ 3 2 / 3 1/ 3 1 1/ 3 5 
 ∼ ∼
 2 ∼1 1 1 3 6   5 / 3 1/ 3 2∼/ 3 0 8 / 3 1 
 1/ 8 5 / 8 1/ 4 1 0 39 / 8 
∼ 
∼  5 / 8 1/ 8 1/ 4 0 1 3 / 8 

Astfel că problema dată are forma echivalentă

[ max ] f = 3 x1 + 2 x2 + x3 + 5 x4 + 2 x5
1 5 1 39
 8 x1 + 8 x2 + 4 x3 + x4 = 8

5 x + 1 x + 1 x + x = 3
 8 1 8 2 4 3 5 8
xi ≥ 0, i = 1,5

Pentru care tabelul simplex are forma următoare

Cj: 3 2 1 5 2
CB B XB a1 a2 a3 a4 a5
5 a4 39/8 1/8 5/8 1/4 1 0
2 a5 3/8 5/8 1/8 1/4 0 1
Zj 201/8 15/8 27/8 7/4 5 2
∆j = Cj – Zj 9/8 -11/8 -3/4 0 0
2 a4 192/40 0 3/5 1/5 1 -1/5
2 a1 3/5 1 1/5 2/5 0 8/5
Zj 1032/40 3 18/5 11/5 5 19/5
∆j = Cj – Zj 0 -8/5 -6/5 0 -9/5

Din tabel rezultă că problema are optim finit unic, cu soluŃia optimă.
SoluŃia este x2 = x3 = x5=0, x1 = 3/5, x4 = 192 / 40
Universitatea Spiru Haret

fmax = 1032/40.

5.3.2.2. Metoda bazei artificiale


Aceasta metoda constă în introducerea unui număr de m variabile artificiale ui, ui ≥ 0 câte
una la fiecare restricŃie astfel încât restricŃiile modificate devin:
 AX + I m u = B

 X ≥ 0, u ≥ 0
iar funcŃia obiectiv
[max]f = CX – Mu
sau
[min]f = CX + Mu, unde M ≥ 0 foarte mare în raport cu cifrele ce apar în calcule.
Scopul introducerii variabilelor artificiale este acela de a avea pentru început o soluŃie de
bază, constatând că aceasta este dată chiar de variabilele artificiale.
La terminarea algoritmului SIMPLEX pentru o astfel de problemă putem avea următoarele
situaŃii:
1. soluŃia optimă nu conŃine variabile artificiale, caz în care avem deja o bază formată din
coloanele lui A şi se continuă algoritmul SIMPLEX prezentat la probleme de programare liniară
care conŃin soluŃie de bază iniŃială.
2. soluŃia optimă conŃine variabile artificiale, dar de valoare zero. În acest caz problema are
soluŃie optimă degenerată si algoritmul se termina.
3. soluŃia optimă conŃine variabile artificiale nenule. În acest caz problema nu are soluŃie,
pentru că nu a fost corect formulată.

OBSERVAłII
►Din punct de vedere economic prezenŃa variabilelor artificiale în funcŃia obiectiv
înseamnă o diminuare a valorii maxime sau o creştere a valorii minime ceea ce este echivalent cu
o penalizare. Din aceasta cauza se poate ca această metodă să apară şi cu denumirea de metoda
penalizării.

► Pentru o problemă ce nu are soluŃie iniŃială procedăm astfel:


1. restricŃiile de forma α ≤ β devin egalităŃi introducând variabilele de compensare;
2. pentru restricŃiile α = β introducem variabilele artificiale;
3. pentru restricŃiile α ≥ β introducem variabilele de compensare şi artificiale.

Formal putem scrie:


•α≤β⇒α+γ=β
•α=β⇒α+u=β
•α≥β⇒α–γ+u=β

În funcŃia obiectiv sunt introduse variabilele de compensare ca în cazul 1 şi variabilele artificiale


ca în cazul 2.

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