Documente Academic
Documente Profesional
Documente Cultură
MatAplEcon Tema 13 Note Curs
MatAplEcon Tema 13 Note Curs
101
TEMA13:METODASIMPLEXDEPROGRAMARE
LINIAR
Obiective:
Coninut:
13.1 Concepte generale privind metoda simplex
102
103
108
102
MODULUL6:MODELEDEOPTIMIZARE
13.1Conceptegeneraleprivindmetodasimplex
Metodele grafice de rezolvare a problemelor de programare liniar sunt aplicabile, dup
cum am vzut n tema anterioar, numai pentru modelele de programare liniar cu dou
variabile. Pentru trei sau mai multe variabile, metoda grafic nu mai poate fi aplicat.
Metoda simplex de rezolvare a problemelor de programare liniar, introdus n anul
1947 de George B. Dantzig, poate fi aplicat pentru trei sau mai multe variabile, fiind n
esen o metod matriceal.
Denumirea metodei este legat de faptul c un poliedru convex se mai numete i
simplex. innd cont c soluiile optime ale unei probleme de programare liniar se gsesc
printre vrfurile poliedrului convex sau simplexului care reprezint regiunea admisibil,
metoda simplex pornete de la un vrf sau o soluie de baz i trece apoi la un alt vrf care s
reprezinte o soluie mai bun.
Algoritmul metodei simplex se finanlizeaz n dou situaii:
(1) se obine cea mai bun soluie, i se decide c problema de programare liniar are
optim finit unic sau multiplu;
(2) nu se obine cea mai bun soluie, pentru c aceast soluie nu exist, i se decide c
problema de programare liniar nu are optim finit.
Pentru rezolvarea problemelor de programare liniar cu metoda simplex, vom considera,
mai nti problema standard de maximizare:
n
[
]
max
f
cjxj
=
j =1
n
aij x j b j , 1 i m ,
j =1
x 0, 1 j n
j
(13.1)
.
yA c
y 0
(13.2)
[max ] f = cx
,
Ax b
x 0
(13.3)
care conduce de fapt la o problem de maximizare standard cu cerinele definite mai sus.
De asemenea, vom considera i cazul n care sunt restriciile mixte, respectiv unele
inecuaii din sistemul de restricii sunt definite prin condiia 0 , iar altele sunt definite prin
condiia 0 .
TEMA13:METODASIMPLEXDEPROGRAMARELINIAR
103
13.2Algoritmulsimplexpentrurezolvareaproblemelorde
programareliniardemaximizare
Vom analiza n continuare metoda simplex pentru rezolvarea problemelor de
programare liniar de maximizare, pentru care vom aplica urmtorul algoritm:
Pasul 1: Determinarea funciei obiectiv i a restriciilor:
n
[
]
max
f
=
cjxj
j =1
n
aij x j b j , 1 i m .
j =1
b j > 0, 1 j n
x j 0, 1 j n
[
]
max
cjxj + f = 0
j =1
n
aij x j + s j = b j , 1 i m
j =1
b j > 0, 1 j n
x j 0, 1 j n
xk
a1k
...
ark
...
amk
ck
...
...
...
...
...
...
...
xn
a1n
...
arn
...
amn
cn
s1
1
...
0
...
0
0
...
...
...
...
...
...
...
st
0
...
1
...
0
0
...
...
...
...
...
...
...
sn
0
...
...
...
1
0
f
0
...
0
...
0
1
b
b1
...
br
...
bm
0
Raport
104
MODULUL6:MODELEDEOPTIMIZARE
b
b1
, ..., rm = m .
a1 p
amp
xp
a1p
...
alp
...
amp
...
...
...
...
...
...
xn
a1n
...
aln
...
amn
s1
1
...
0
...
0
...
...
...
...
...
...
st
0
...
1
...
0
...
...
...
...
...
...
sn
0
...
...
...
1
f
0
...
0
...
0
b
b1
...
bl
...
bm
c1
cp
...
cn
...
...
L2,m+1
...
Raport
b1 a1 p
...
bl a1l *
...
bm amp
L3l := L2l a1p L2l / alp, ..., L3,m+l := L3,m+l cp L2l / alp.
Pasul 5: Se continu iteraiile de la Pasul 3 pn cnd se obin toate celulele pivot
corespunztoare variabilelor problemei.
Pasul 6: Dac toate valorile din ultima linie a tabloului simplex sunt 0 sau pozitive, s-a
obinut soluia optim. Valorile optime ale variabilelor se obin n coloana termenilor
liberi b, iar valoarea optim a funciei obiectiv se obine n ultima celul a tabloului
simplex.
TEMA13:METODASIMPLEXDEPROGRAMARELINIAR
105
.
2 x + y 10
x 0
y 0
Rezolvare: Vom aplica algoritmul simplex descris anterior.
Pasul 1: Determinarea funciei obiectiv i a restriciilor:
[max] f ( x, y ) = 4 x + 3 y
x + 2 y 8
.
2 x + y 10
x 0
y 0
Pasul 2: Determinarea matricei sau a tabloului simplex:
(2.1) Rescriem problema de programare liniar, rescriind funcia obiectiv i
introducnd variabilele artificiale sau suplimentare s1 i s2, care transform inecuaiile n
ecuaii:
[max] 4 x 3 y + f = 0
x + 2 y + s = 8
1
2 x + y + s2 = 10
x 0
y 0
s1
1
0
0
s2
0
1
0
f
0
0
1
b
8
10
0
Raport
8
10
= 8 , r2 =
= 5.
1
2
106
MODULUL6:MODELEDEOPTIMIZARE
rl = min{8;5} = 5 .
s1
1
0
0
s2
0
1
0
f
0
0
1
Raport
8/1 = 8
10/2 = 5*
b
8
10
0
L32 := L22 / 2;
(4.2) Se aplic combinaii liniare n funcie de celula pivot, astfel nct s se obin
valoarea 0 n celelalte celule ale coloanei pivot:
L3l := L21L32, L33 := L23 + 4L22.
Rezult operaiile:
Linia
x1
L31
11=0
L32
2/2=1
L33
4+4=0
x2
20,5=1,5
1/2=0,5
3+2=1
s1
10=1
0/2=0
0+0=0
s1
1
0
0
s2
00,5=0,5
1/2=0,5
0+2=2
s2
0,5
0,5
2
f
0
0
1
f
00=0
0/2=0
1+0=1
b
3
5
20
b
85=3
10/2=5
0+20=20
Raport
3/1,5=2*
5/0,5=10
3
5
= 2 , r2 =
= 10 .
1,5
0,5
TEMA13:METODASIMPLEXDEPROGRAMARELINIAR
107
rl = min{2;10} = 2 .
s1
s2
1/1,5=0,67
0,5/1,5=0,33
00,67/2=0,33 0,5+0,33/2=0,67
0,67+0=0,67
0,33+2=1,67
f
0/1,5=0
00/2=0
0+1=1
b
3/1,5=2
52/2=4
2+20=22
s1
0,67
0,33
0,67
s2
0,33
0,67
1,67
f
0
0
1
b
2
4
22
Raport
Pasul 6: Avnd n vedere c toate valorile din ultima linie a tabloului simplex sunt 0 sau
pozitive, s-a obinut soluia optim. Valorile optime ale variabilelor se obin n coloana
termenilor liberi b, iar valoarea optim a funciei obiectiv se obine n ultima celul a tabloului
simplex.
108
MODULUL6:MODELEDEOPTIMIZARE
13.4Conceptecheie
Metoda simplex
Coloan pivot
Linie pivot
Variabil artificial
(suplimentar)
Celul pivot