Sunteți pe pagina 1din 4

1

Teoria optimizrii
2009-2010

LABORATOR 4
1. Metoda simplex cu ajutorul tabelelor. Iniializarea metodei
1.1. Problema de programare liniar pe care o rezolv metoda

Se cere s se determine punctul (sau un punct) n care se atinge


min cx
x
cu restriciile

Ax b

x0
i valoarea funciei cx n acest punct, unde
n
x, c sunt vectori de dimensiune n , iar cx reprezint produsul lor scalar: cx ci xi
i 1
A e o matrice de dimensiune m n cu m n, rang A = m
iar b e un vector de dimensiune m
Toate problemele de programare liniar se pot aduce la aceast form canonic.
a) Astfel, dac sistemul Ax = b e incompatibil, problema nu are soluie, cci nu exist vectori
admisibili: nu mai este nimic de calculat.
b) Dac sistemul Ax = b e compatibil, cu rang A = rang [A, b] < m, atunci putem elimina
ecuaiile redundante, combinaii liniare ale celorlalte, nct sistemul care rmne A'x = b'
s aib proprietatea c rang A' = m', unde A' are acum dimensiunea m n .
c) Dac se cere gsirea unui punct de maxim cu restricii, se determin un punct de minim
pentru cx i se ine seama de faptul c max cx min cx .
x x
d) Dac avem mai multe restricii de acelai tip, egaliti sau inegaliti, ele pot fi grupate
ntr-o singur restricie. Aa, de exemplu, Aeq x beq i Aeq x beq se pot scrie n
, ,

Aeq beq A b
forma unitar
' x ' , Ax b i A ' x b ' se pot scrie n forma unitar
' x ' , iar l x u

Aeq beq A b
i l x u se pot scrie unitar l l x u u .
2

e) Restriciile de tip x u pot fi incluse printre cele de forma Ax b , iar cele de tip l x
pot conduce la schimbarea de variabil x : x l. Pe de alt parte, variabilele cu semn
nerestricionat se pot scrie ca diferen de dou variabile pozitive.
f) Dac avem o restricie de forma Ax b , ea se poate scrie n forma A x b , iar
dac avem o restricie de forma Ax b , cu preul adugrii variabilelor pozitive y, ea
poate fi nlocuit cu Ax y b .

1.2. Algoritmul simplex n form tabelar


x
Pasul 1. Problema se scrie n form de tabel:
A b
c 0
Pasul 2. Iniializarea. Se determin o submatrice ptratic
1
inversabil B a lui A, de dimensiune m, nct B b 0.
Pasul 3. Dup o permutare convenabil a coloanelor, tabelul devine
xB xN
B N b
cB cN 0
Pasul 4. Prin transformri elementare de algebr liniar asupra liniilor
matricei BNb (de forma Li : Li sau Li : Li j i j L j ) se aduce matricea B la
matricea unitate, iar prin transformri de acelai tip, aplicate ultimei linii a
tabelului, c B se aduce la vectorul nul. Tabelul devine
xB xN b'
I B 1 N B 1 b
0 r:= c N - c B -cB
B 1 N B 1 b
Pasul 5. Dac r 0, soluia este dat de x ( x B , x N ) ( B 1b, 0) cu
permutrile corespunztoare. STOP.
Pasul 6. n caz contrar, se identific cea mai mic component negativ a lui
r, iar coloana (i variabila) care-i corespunde se alege drept coloan (i
variabil) de intrare. Fie aceasta xi .
b
Pasul 7. Se face raportul coloanelor element cu element. Dac nu exist
xi
rapoarte cu numitori strict pozitivi, atunci problema nu are soluie optimal.
Mai precis, exist vectori admisibili care fac costul orict de mic, nct inf cx =
. Evident, aceast valoare nu se atinge. STOP.
Pasul 8. n caz contrar, se alege cel mai mic raport (pozitiv sau nul) dintre
cele cu numitor strict pozitiv. Fie acesta al p-lea (Dac exist mai multe
egale i cele mai mici, se alege oricare dintre ele.) Acesta va indica variabila
de ieire: cea corespunztoare celei de-a p-a coloane.
Pasul 9. Se permut coloana de intrare cu cea de ieire i se reia ntregul
proces de la pasul 4.

1.3. Iniializarea metodei simplex

Putem presupune, fr a restrnge generalitatea, c b 0. ntr-adevr, n caz


contrar putem nmuli cu -1 ecuaiile corespunztoare componentelor
negative ale lui b. Introducem variabilele y ( y1 , , y m ) i studiem o
problem de programare liniar modificat, pentru care iniializarea este
evident i care conduce, pn la urm, la aceeai soluie:
Problema de a minimiza cx+y, cu restriciile Ax+y=b, x 0, y 0.
3

Se observ c matricea B : I m format din coloanele care corespund lui y


verific condiiile de la Pasul 2. Alegem vectorul (d , , d ) cu d foarte
mare, dar neprecizat. n calcule el va fi considerat ntotdeauna suficient de
mare nct s aib loc comportamentul valabil n vecintatea lui . Pentru
d suficient de mare, soluia optimal a problemei modificate va fi de forma (x,
0), unde x este o soluie optimal a problemei iniiale. ntr-adevr, dac y nu
ar avea toate coordonatele nule, costul s-ar mri foarte mult, din cauza lui d
foarte mare. Pe de alt parte, pentru y = 0, costul i restriciile ce se impun
lui x sunt aceleai ca i n problema iniial.

1.4. Exerciii

Exerciiul 1. S se minimizeze funcia 3 x1 4 x 2 2 x3 , cu restriciile

x1 3x2 2 x3 3

3x1 3x2 x3 4
x 0, i 1, 2, 3
i
Verificai soluia n MATLAB.

Exerciiul 2. S se minimizeze funcia 3 x1 x2 9 x3 x 4 , cu restriciile

x1 2 x3 x 4 4

x 2 x3 x 4 2
x 0, i 1, , 4
i

2. Probleme din practic


Problema 1. O fabric realizeaz dou tipuri de produse P1 i P2 , folosind
dou materii prime M 1 i M 2 , de care dispune n cantitile 100, respectiv
90. Pentru a realiza o unitate de P1 , se consum 2 uniti de M 1 i 5 uniti
de M 2 . Pentru a realiza o unitate de P2 , se consum 3 uniti de M 1 i 4
uniti de M 2 . Ce cantitate din fiecare produs trebuie realizat pentru a
maximiza profitul, tiind c profiturile pe unitatea de produs sunt egale cu 3,
respectiv cu 6 lei?

Problema 2. O companie trebuie s livreze i s instaleze, n cel mult 1600


de ore de lucru, 7800 m 2 de igl. Exist dou tipuri de elemente de igl:
modelul A1 necesit 9,5 elemente de igl pe m 2, iar modelul A2 necesit
12,5 elemente pe m2. ntr-o or se pot instala 5 m2 de model A1 i 4 m2 de
model A2. Preul celor dou modele este de 0,7 i respectiv 0,8 pe
element. Cantitatea maxim de igl A2 ce poate fi livrat este de 2500 m 2.
Ce suprafa trebuie acoperit cu modelul A1 i ce suprafa trebuie acoperit
cu modelul A2 nct profitul obinut s fie maxim?
4

Problema 3. Un produs, aflat n n depozite n cantitile u1 , u 2 , , u n , trebuie


livrat la m destinaii n cantitile v1 , v 2 , , v m respectiv. (Se presupune c
u1 u 2 u n v1 v 2 v m .) Costul trimiterii unei uniti de produs de la
depozitul i la destinaia j este cij . Determinai cantitile xij n care trebuie
trimis produsul de la depozitul i la destinaia j, nct costul total al
transportului s fie minim.

Aplicaie numeric:
n 3, m 2, u1 2, u 2 2, u 3 3, v1 5, v 2 2, c11 2, c12 1, c 21 3, c 22 1, c31 2, c32 3.