Documente Academic
Documente Profesional
Documente Cultură
Algoritmul Simplex
3.1. Considera ii teoretice
n practic , majoritatea problemelor de programare liniar au multe variabile, fapt ce face ca
metoda solu iei grafice de rezolvare s nu poat fi aplicat i n cazul problemelor de
programare liniar cu mai mult de dou variabile.
n acest capitol se va discuta despre algoritmul Simplex utilizat n rezolvarea unei mare
variet i de probleme de programare liniar . n multe aplica ii industriale, algoritmul Simplex
este utilizat n rezolvarea problemelor de programare liniar cu mii de restric ii i variabile.
n 1947, George Dantzig a dezvoltat o metod eficient pentru rezolvarea problemelor de
programare liniar , numit algoritmul simplex. Algoritmul implic o c utare prin mul imea
solu iilor posibile pentru g sirea solu iei optime obiectivului propus. De la dezvoltarea
algoritmului simplex, programarea liniar este utilizat n toate domeniile de la industrie la
bancar, educa ie, forestier, petrolier conducnd la rezolvarea unei mari variet i de probleme:
stabilirea resurselor umane, opera iile sistemelor hidroenergetice, traseele ma inilor de
aprovizionare,etc. Metoda lui Danzing, cu unele schimb ri relativ minore, este cea mai
important metod n g sirea solu iilor problemelor de programare liniar .
Aplicarea algoritmului simplex presupune parcurgerea urm toarelor etape:
aducerea problemei la forma standard;
transformarea formei standard n forma tabelar ;
rezolvarea problemei cu ajutorul metodei simplex.
34
Algoritmul Simplex
35
variabil de baz asociat ecua iei. Toate celelalte variabile care nu sunt variabile de baz se
numesc variabile secundare.
n general, atunci cnd exist mai multe variabile dect ecua ii, exist un num r infinit de
solu ii ntr-un sistem de ecua ii. Dar chiar dac exist o infinitate de solu ii, uneori este dificil
de a g si o singur solu ie. Valoarea formei tabelare este aceea c ofer cu u urin g sirea
unei solu ii prin stabilirea valorilor variabilelor secundare la zero i a valorilor variabilelor de
baz la valoarea corespunz toare membrului drept al ecua iei. Aceste solu ii se numesc solu ii
fezabile de baz . Aceste solu ii corespund punctelor extreme ale regiunii fezabile de baz .
Urm torul exemplu ilustreaz forma tabelar :
x1
x2 + 3x3
-2x5
=7
4x3 + x4 + 3x5
=8
- 2x3 +
2x5
= 16
4x5 + x6 = 10
Variabilele de baz sunt x2, x4, x1 i x6. Solu iile fezabile de baz sunt respectiv x1 = 16; x2=7;
x3=0; x4=8; x5=0 i x6 =10.
O problem n form tabelar poate fi scris ntr-un tablou. Un tablou este acea reprezentare a
coeficien ilor ecua iilor care respect urm toarele condi ii:
1. Deasupra tabelului coeficien ilor ecua iilor se scriu coeficien ii func iei obiectiv. Ace tia
reprezint cre terea direct pe unitate a func iei obiectiv prin cre terea fiec rei variabile cu
o unitate, neglijnd efectul constrngerilor.
2. La stnga tabloului se scriu variabilele de baz corespunz toare fiec rei ecua ii i
coeficientul acesteia din func ia obiectiv.
3. La baza tabloului exist dou linii:
- linia zj care reprezint descre terea n valoare a func iei obiectiv ca urmare a cre terii
cu o unitate a variabilelor xj, descre tere datorat efectelor constrngerilor. Ea se
ob ine prin multiplicarea coeficien ilor fiec rei coloane prin coeficientul func iei
obiectiv corespunz tor variabilei de baz pentru acea ecua ie i nsumarea acestora.
- Linia cj-zj reprezint linia profitului marginal sau linia evalu rii nete, ob inut prin
sc derea valorilor zj din cj pentru fiecare coloan .
Considernd urm toarea func ie obiectiv: z=3x1 + 3x2 + 10x3 + x4 + 5x5 + x6 -> MAX, avem
urm torul tablou:
Baz
X2
X4
X1
X6
Cj
3
1
3
1
zj
Cj-zj
X1
3
0
0
1
0
3
0
X2
3
1
0
0
0
3
0
X3
10
3
4
-2
0
7
3
X4
1
0
1
0
0
1
0
X5
5
-2
3
2
4
7
-2
X6
1
0
0
0
1
1
0
7
8
16
10
87
36
Algoritmul Simplex
37
Un algoritm se spune c este convergent dac dup fiecare itera ie valoarea func iei obiectiv
cre te n cazul unei probleme de maxim sau scade n cazul unei probleme de minim. Dac
algoritmul este convergent, se va ajunge la solu ia optim , dac exist , dup un num r finit de
itera ii. Convergen a ns nu mai rezult ntotdeauna dac solu ia admisibil este degenerat .
cj
0
-M
-M
zj
cj-zj
x1
2
1
2
1
-3M
3M+2
x2
3
1
1
-1
0
3
x3
4
1
3
2
-5M
5M+4
s1
0
1
0
0
0
0
s2
0
0
-1
0
M
-M
a1
-M
0
1
0
-M
0
a2
-M
0
0
1
-M
0
30
60
20
-80M
38
cj
0
-M
4
zj
cj-zj
x1
2
-(1/2)M+2
(1/2)M+2
x2
3
3/2
5/2
-1/2
-(5/2)M-2
(5/2)M+5
x3
4
0
0
1
4
0
s1
0
1
0
0
0
0
s2
0
0
-1
0
M
-M
a1
-M
0
1
0
-M
0
20
30
10
-30M+40
Itera ia a 3-a
Baz
s1
x2
x3
cj
0
3
4
zj
cj-zj
x1
2
1/5
1/5
3/5
3
-1
x2
3
0
1
0
3
0
x3
4
0
0
1
4
0
s1
0
1
0
0
0
0
s2
0
15/4
-2/5
-1/5
-2
2
cj
0
3
4
zj
cj-zj
x1
2
1/3
1/3
2/3
11/3
-5/3
x2
3
0
1
0
3
0
x3
4
0
0
1
4
0
s1
0
5/3
2/3
1/3
10/3
-10/3
s2
0
1
0
0
0
0
11
6
13
-30M+40
Itera ia a 4-a
Baz
s2
x2
x3
55/3
40/3
50/3
320/3
Astfel solu ia optim este x1=0; x2=40/3, x3=50/3, s1=0, s2=55/3, iar valoarea optim este
z=320/3.
d). Problema se poate transforma ntr-o problem de minimizare prin schimbarea valorii
coeficien ilor variabilelor artificiale de la M la +M.
3.3. Teme
1. S se rezolve urm toarea problem prin algoritmul simplex. Discuta i solu iile g site.
MAX 2x1 + 3x2 x3
3x1 + 6x2 30
Algoritmul Simplex
39
4x1 + 2x2 + x3
x2 + x3 10
xj 0, j=1,2,3
20
X3
-1
-1
4
0
S1
0
6
2
-3
S2
0
0
1
0
S3
0
1
1
1
10
20
30
a) Completa i tabelul;
b) Care este solu ia curent de baz ?
c) Care este efectul asupra func iei obiectiv n urm toarele cazuri?
i)
x3 este incrementat cu 1;
ii)
x3 este incrementat cu 3;
iii)
s1 este incrementat cu 1,5
iv)
s3 este incrementat cu 2
d) Care este variabila de intrare? Scrie i ecua iile corespunz toare tiind c toate
variabilele suplimentare, exceptnd variabila de intrare sunt egale cu zero;
e) Explica i de ce variabila de intrare nu poate fi incrementat cu 10 la aceast
itera ie;
f) La ce valoare va cre te variabila de intrare;
g) Ct de mult se va mbun t i func ia obiectiv n urm torul tabel? Utiliznd
ecua iile din (d) care va fi valoarea urm toarelor variabile curente de baz ?
5. Fie urm toarea problem de programare liniar :
MAX 4x1 + 3x2
x1 6
2x1 + 3x2
40
-x1 + x2 4
xj 0, j=1,2
a) Rezolva i grafic problema;
b) Rezolva i problema i cu ajutorul algoritmului simplex i indica i punctele de pe
grafic corespunz toare fiec rui tabel;
c) De ce la selectarea variabilei de intrare o alege i pe cea care are cea mai mare
diferen cj zj?
6. Fie problema urm toare:
MAX 2x1 + 5x2
X1 + x2 10
-x1 + x2 6
x1 + 2x2 16
x1 , x2 0
a) Rezolva i problema grafic;
b) Rezolva i problema prin metoda simplex.
7. Fie problema de programare liniar :
MAX 2x1 + 3x2 + 4x3
x1 + x2 + x3 30
2x1 + x2 + 3x3 20
x1 x2 + 2x3 = 20
xj 0, j=1,2,3
a) Scrie i problema n forma ei standard;
b) Ad uga i variabilele artificiale pentru a ob ine forma tabelar
corespunz tor func ia obiectiv;
c) Rezolva i problema prin metoda simplex;
i corecta i
Algoritmul Simplex
41
Turt dulce
nghe at
Cola
Pr jitur
Calorii
400
200
150
500
Ciocolat (u.m.)
3
2
0
0
Zah r (u.m.)
2
2
4
4
Tabelul 3.2
Gr simi (u.m.)
2
4
1
5