Documente Academic
Documente Profesional
Documente Cultură
unde f : Df → R este o funcţie numită funcţia obiectiv a problemei, iar P ⊆ Df este o mulţime
numită domeniul de admisibilitate al problemei sau mulţimea soluţiilor admisibile (mulţimea
programelor) ale problemei.
O soluţie admisibilă x∗ ∈ P astfel ı̂ncât
se numeşte soluţie optimă a problemei, iar valoarea f (x∗ ) se numeşte valoarea optimă a problemei.
unde
• A11 , A12 , A13 , A21 , A22 , A23 , A31 , A32 , A33 sunt matricele sistemului de restricţii,
Observaţia 0.1.1.1. Orice problemă de optimizere liniară poate fi adusă de la forma generală la
forma standard prin următoarele transformări:
2
Observaţia 0.1.1.2. Aplicaţiile practice ale problemelor de optimizare liniară apar ı̂n numeroase
domenii ı̂n care este necesară optimizarea acţiunilor modelate prin funcţii liniare cu restricţii liniare.
Printre acestea enumerăm problemele de optimizare a transporturilor, de planificare a producţiei, de
optimizare a fluxurilor sau interschimburilor economice, de optimizare a deciziilor.
3
unde
Presupunem că
rang A = m ≤ n şi b ≥ 0. (0.1.2.2)
Fiecare pas al algoritmului este reprezentat ı̂ntr-un tabel, numit tabel simplex, având forma
c1 c2 ... cn
cB B xB x1 x2 ... xn
YB
— — ∆ ∆1 ∆2 ... ∆n
unde:
• B este o mulţime de m variabile xi ale căror coloane corespondente din matricea A, notate cu
ai , formează o bază a spaţiului vectorial real (Rm , +, ·), adică det AB 6= 0, unde AB ∈ Rm×m
este matricea formată din aceste m coloane ai . B se numeşte bază a spaţiului soluţiilor, iar
variabilele xi ce compun această bază se numesc variabilele bazei.
• cB = (cB B B >
1 , c2 , . . . , cm ) reprezintă vectorul coeficienţilor ci din funcţia obiectiv corespunzători
variabilelor xi din baza B. Aceşti coeficienţi se numesc coeficienţii bazei.
• xB = (xB B B >
1 , x2 , . . . , xm ) reprezintă vectorul soluţie al sistemului obţinut din sistemul de restricţii
Ax = b luând zero variabilele din afara bazei B. Sistemul rămas este compatibil determinat
deoarece matricea sa, AB , are determinantul nenul. xB se numeşte soluţie de bază.
Dacă xB ≥ 0 (adică soluţia de bază completată cu zero pentru variabilele din afara bazei este
soluţie admisibilă), atunci B se numeşte bază primal admisibilă, iar xB se numeşte soluţie
de bază primal admisibilă.
4
• YB = (yij
B)
i=1,m reprezintă matricea ale cărei coloane sunt scrierile coloanelor matricei A ı̂n baza
j=1,n
{ai | xi ∈ B} corespunzătoare lui B, adică
YB = (AB )−1 A.
• ∆ reprezintă valoarea funcţiei obiectiv pentru soluţia de bază xB (luând zero variabilele din afara
bazei B), adică
Xm
∆= cB B
i xi . (0.1.2.3)
i=1
xB = b şi YB = A. (0.1.2.5)
Etapa 2. Se completează primul tabel simplex, pornind cu o bază primal admisibilă. De regulă, se uti-
lizează baza B corespunzătoare bazei canonice {e1 , e2 , . . . , em }, dacă toţi cei m vectori unitate
e1 , e2 , . . . , em sunt coloane ı̂n matricea A.
Dacă nu se dispune de o bază primal admisibilă, atunci o astfel de bază se poate determina
utilizând o metodă numită metoda celor două faze, ce va fi descrisă ı̂n secţiunea următoare.
Etapa 3. Se interpretează datele din tabelul simplex curent, pentru a decide ı̂ncheierea calculelor sau
continuarea lor ı̂ntr-un nou tabel simplex.
Pentru aceasta, se parcurg următorii paşi (subetape):
∆j ≥ 0 ∀j ∈ {1, . . . , n},
(vom nota acest fapt ı̂n tabel printr-o săgeata verticală pe coloana variabilei xj0 , lângă
∆j0 ).
5
atunci problema dată are valoare optimă infinită şi anume −∞ pentru problemele de minim,
respectiv +∞ pentru problemele de maxim.
Nu există soluţii optime.
Algoritmul se ı̂ncheie.
Pasul 4 (Criteriul de ieşire din bază). Iese din bază o variabilă xi0 cu proprietatea că
( )
xBi0 xBi B
= min | yij > 0, i ∈ {1, . . . , m}
yiB0 j0 B
yij 0
0
(vom nota acest fapt ı̂n tabel printr-o săgeata orizontală pe linia variabilei xi0 , lângă această
variabilă).
Etapa 4. Se completează un nou tabel simplex, corespunzător noii baze B \ {xi0 } ∪ {xj0 } (obţinută din
vechea bază B prin substituţia xi0 ← xj0 ).
Pentru aceasta, se parcurg următorii paşi (subetape):
Pasul 1. Se ı̂nlocuieşte variabila xi0 cu variabila xj0 ı̂n coloana bazei B şi coeficientul cB
i0 cu coefi-
cientul cB
j0 ı̂n coloana coeficienţilor bazei cB (corespunzător faptului că noua bază se obţine
unde c> x∗ este valoarea optimă a problemei. Această metodă se numeşte metoda perturbării
controlate a lui Charnes.
Exemplul 0.1.2.1. Să se rezolve următoarea problemă de optimizare liniară:
¯
¯ min 2x1 + x2 − x3 + 3x5
¯
¯ x1 + 2x2 + x5 = 10,
¯
¯ −x2 + x3 − 2x5 = 7,
¯
¯ 3x2 + x4 − x5 = 4,
¯
¯ x1 , x2 , x3 , x4 , x5 ≥ 0.
6
¯
¯ min c> x
¯
Rezolvare. Vom aplica algoritmul simplex. Problema are forma standard ¯¯ Ax = b, unde
¯ x ≥ 0,
1 2 0 0 1
c = (2, 1, −1, 0, 3)> , x = (x1 , x2 , x3 , x4 , x5 )> , A = 0 −1 1 0 −2 ,
0 3 0 1 −1
10
b = 7 ≥ 0.
4
Toţi cei m = 3 vectori unitate e1 , e2 , e3 sunt coloane ı̂n matricea A: e1 = a1 , e2 = a3 , e3 = a4 .
Deci primul tabel simplex se completează pornind cu baza primal admisibilă B = {x1 , x3 , x4 } cores-
punzătoare bazei canonice, pentru care xB = b şi YB = A (conform Observaţiei 0.1.2.2). Aplicând
formulele (0.1.2.3) obţinem
∆ = 2 · 10 + (−1) · 7 + 0 · 4 = 13,
iar aplicând formulele (0.1.2.4) (problema fiind de minim) obţinem
şi, analog, ∆3 = 0, ∆4 = 0, ∆5 = −1. Aceste valori sunt trecute ı̂n primul tabel simplex.
Se interpretează datele din primul tabel simplex:
• ∃∆j < 0 (fapt menţionat şi imediat ı̂n dreapta tabelului, pe linia indicatorilor ∆j ) deci nu este
ı̂ndeplinit criteriul de optim finit;
• min{∆j | ∆j < 0} = min{−4, −1} = −4 = ∆2 , deci, conform criteriului de intrare ı̂n bază,
va intra ı̂n următoarea bază variabila x2 (fapt marcat ı̂n tabel prin săgeata verticală de lângă
∆2 = −4);
• ∃yi2B > 0 (fapt menţionat şi imediat ı̂n dreapta tabelului prin fracţiile de pe liniile corespondente
B > 0, fracţii necesare la aplicarea criteriului de ieşire din bază) deci nu este ı̂ndeplinit
valorilor yi2
criteriul de optim infinit;
½ B ¾ ½ ¾
xi B 10 4 4
• min B
| yi2 > 0 = min , = (aceste fracţii fiind calculate şi imediat ı̂n dreapta
yi2 2 3 3
tabelului pe liniile corespondente valorilor yi2 B > 0, pe liniile corespondente valorilor y B ≤ 0
i2
scriindu-se semnul ”—” şi fracţia minimă fiind marcată cu ”min”) deci, conform criteriului de
ieşire din bază, va ieşi din bază variabila x4 (fapt marcat ı̂n tabel prin săgeata orizontală pe linia
variabilei x4 , lângă această variabilă) iar pivotul este elementul 3 (fapt marcat şi ı̂n tabel prin
ı̂ncadrare).
Se completează un nou tabel simplex, corespunzător noii baze B{x1 , x3 , x2 } (obţinută din vechea bază
B prin substituţia x4 ← x2 ):
Datele din acest tabel sunt interpretate şi se completează succesiv noi tabele simplex, conform descrierii
algoritmului simplex.
Prezentăm ı̂n continuare toate aceste tabele (ı̂ncepând cu primul tabel simplex).