IV.

POSTOPTIMIZARE ÎN PROGRAMAREA LINIARĂ
1. Aspectul economic al postoptimizării Soluţia optimă finită a modelului unui proces economic poate reprezenta un program optim de fabricaţie, o repartiţie optimă, o raţie optimă într-o anumită perioadă şi în condiţii exprimate matematic în modelul elaborat. Ea oferă informaţii pentru luarea unei decizii optime în anumite condiţii, deci pentru decident este foarte important să ştie dacă o soluţie optimă este stabilă şi dacă o mică modificare a unor date numerice implică modificări mari ale soluţiei optime. În analiza unor procese economice reale prezintă interes cunoaşterea modului în care se schimbă soluţia optimă a unui model liniar odată cu variaţia unuia sau a mai multor elemente ale programului. În practica economică, se produc frecvent astfel de modificări , prin schimbarea anumitor aspecte ale procesului tehnologic şi/sau a preţurilor materiilor prime sau semifabricatelor şi/sau scăderea vânzărilor, etc. În alte cazuri, variabilele modelului trebuie supuse unor restricţii noi, de exemplu încadrarea într-un anumit disponibil al unei resurse care de la un moment dat devine deficitară şi care nu a fost luată în consideraţie iniţial. Nu este exclus nici cazul în care se pune problema schimbării structurii programului prin introducerea de noi produse ce par rentabile. Apar astfel modele liniare cu coeficienţi variabili ale căror soluţii optime, dacă există, trebuie determinate pentru ca deciziile ce vor fi luate să fie optimale. Problematica expusă mai sus poartă denumirea de postoptimizare şi este caracterizată prin faptul că variaţia coeficienţilor este discretă. Pentru abordarea unitară a cazurilor în care modificarea procesului economic

Analiza economico-matematică a unor modele liniare

produce schimbarea unor date numerice se va lucra cu un model liniar care admite soluţie optimă finită,de forma:
⎧ AX = b, Am×n , rang A = m < n ⎪ ⎨ X ≥0 ⎪ [opt ] f ( X ) = cX ⎩

.

Se pune întrebarea cum influenţează aceste schimbări rezolvarea şi soluţia optimă a problemei iniţiale? Se poate răspunde în două moduri: R1 Noul model poate fi rezolvat independent de cunoaşterea soluţiei optime pentru problema iniţială şi a elementelor din tabelul simplex care o conţine. R2 Se scrie modelul de aceeaşi structură cu cel iniţial în care cel puţin o dată numerică este modificată sau modelul este extins prin introducerea de noi restricţii sau variabile. Se vor utiliza o parte din elementele tabelului simplex care conţine soluţia optimă a problemei iniţiale pentru a rezolva problema modificată. Acest procedeu poartă denumirea de postoptimizare sau reoptimizare şi este preferat primului procedeu deoarece volumul de calcul este redus simţitor. Orice tip de postoptimizare presupune parcurgerea a două etape:

Etapa 1 Rezolvarea problemei ce modelează procesul economic într-o anumită perioadă. Etapa 2 Se studiază influenţa modificării unor elemente ale modelului sau extinderii lui asupra optimalităţii soluţiei găsite la Etapa 1. Acest lucru se realizează prin refacerea unor calcule utilizând anumite elemente din tabelul simplex optimal.

Postoptimizare în programarea liniară

2. Postoptimizarea prin modificarea coeficienţilor funcţiei scop
În practică, profiturile, preţurile de vânzare, costurile unitare de transport, ratele de schimb ale monedei naţionale în alte unităţi monetare, preţurile de achiziţie, de fabricaţie şi alte asemenea elemente sunt elemente supuse unor modificări repetate şi uneori de amploare. Coeficienţii variabilelor x1 ,..., x n din funcţia scop pot avea aceste semnificaţii.

Formulare matematică Se consideră modelul liniar
⎧ AX = b, Am×n , rang A = m < n ⎪ IV.2.1 ⎨ X ≥ 0 , ⎪ [max ] f ( X ) = cX ⎩

care admite soluţia optimă finită
⎧ X B * = B −1b ⎪ * ⎪ IV.2.2 ⎨ X R = 0 , ⎪ B bază optimală ⎪ ⎩

( ) ( )

şi se va specifica algoritmul folosit pentru aflarea acesteia. În cazurile ce vor fi analizate în prezenta lucrare se va utiliza algoritmul simplex-primal cu tabelul optimal de forma
T.IV.2.1

cj

c1 K c j K c n
a1 K a j K a n

cB

B

X
−1

B

cj

aj
fj f j −cj

B ⋅b
CB ⋅ X
B

B −1 ⋅ a j , j = 1, n C B ⋅ B −1 ⋅ a j , j = 1, n
C B ⋅ B −1 ⋅ a j − c j

[max ] f ≥ 0, (∀) j = 1, n

∆c 2 .2.Analiza economico-matematică a unor modele liniare Se cere să se stabilească soluţia optimă. a problemei de programare liniară: ~ ~ IV.3 [max ] f ( X ) = c X . cum se va afla noua soluţie dacă există? Vom afla răspunsurile la aceste întrebări după parcurgerea următorilor paşi: Pasul 1 Se identifică baza iniţială şi se citeşte B −1 . deci vectorul ∆c = (∆c1 . IV.IV.1) vom constata că ele pot fi clasificate în două categorii: • Elemente în a căror formule de calcul nu intervin coeficienţii funcţiei scop: X B = B −1b .2 ? • cB ? B ~ fj XB ? a1 K a j K a n ? ? ~ ~ f j −cj Ce valori vor avea acestea după modificarea lui c ? Soluţia optimă se menţine? Şi dacă nu. ~ cj T. Elemente care sunt afectate de modificarea elementelor vectorului c.2. Dacă analizăm cu atenţie elementele din tabelul optimal (T.5 X ≥ 0 .2. Am×n ... B a j = B −1a j . c = c + ∆c . rang A = m < n .IV.. j j j∈ N . ∆c n ) are ce puţin o componentă diferită de 0.2. IV.2. n . ~ Se scrie c = (c + ∆c ) ..4 AX = b. ~ ~ unde c diferă de c prin cel puţin o componentă. dacă există. j = 1.

aplicând algoritmul simplex-primal cu soluţia de start X * . cu j ∈ J \ J B . deci B nu mai este optimală pentru problema postoptimizată. Dacă a j este nebazic. Se va verifica existenţa soluţiei optime a problemei cu c modificat. j ∈ J \ J B .Dacă DA ⇒ STOP.2. ~ ~ rezultă că există cel puţin o diferenţă strict negativă f j − c j < 0 . Se verifică dacă sunt îndeplinite condiţiile de optimalitate după . Pasul 2 Se citeşte baza optimală B pentru modelul iniţial (vezi tabelul IV. valorile variabilelor bazice. modificarea lui c : ~ ~ Pentru [max ] f ⇒ f j − c j ≥ 0. .1). n ? . nedepinzând de c . Soluţia optimă a problemei iniţiale este optimă şi pentru problema postoptimizată şi [max] ~ = c X * = (c + ∆c)X * = cB + ∆cB X B = cB X B + ∆cB X B = [max] f + ∆cB X B f ~ ( ) Pasul 3 Din teorema de optimalitate formulată pentru probleme de maxim.Dacă NU ⇒ Pasul 3. ceea ce ne permite să tragem concluzia că soluţia X * va fi soluţie admisibilă de bază pentru programul iniţial. se calculează ~ ~ ~ B −1 ~ f j − cj = c B aj − cj . (a j ∉ B ) . (∀) j = 1. Pe de altă parte. rămân pozitive.Postoptimizare în programarea liniară ~ ~ Se construieşte c B ca fiind acea parte a vectorului c care are componentele respectiv egale cu coeficienţii variabilelor bazice .

IV. x3 = x 4 = x5 = 0. sau ~ c = (250 − 50.3. (∀) j = 1. Valorile optimale sunt: * * * * * ∗ X * : x1 = 4.2.8 Acest tabel a fost obţinut după 2 iteraţii. Se va studia natura soluţiei X * în cazul în care coeficienţii funcţiei obiectiv se modifică astfel: ~ ~ ~ c1 = 200.3 B a1 a2 a6 ~ fj X B a1 4 2 0 1 0 0 a2 0 1 0 200 Ø a3 a 4 a5 a 6 2 -2 2 -1 1 -1 0 -1 2 0 0 1 0 Ø a8 0 1 -2 200 1400 250 Ø 100 -50 -200 -200 -50 -200 ~ ~ f j − cj 50 − α 200 − α [min ] f ≤ 0. unde a 7 şi a8 sunt vectori artificiali. a fost rezolvat prin algoritmul simplex-primal. ci se extinde tabelul simplex optim al problemei iniţiale cu: ~ ♦ linie c j . S-a constatat că programul liniar admite soluţie optimă finită. a8 . x 2 = 2.2. deasupra liniei c j . . care poate fi citită din următorul tabel: cj cB 250 200 0 250 200 300 0 0 0 α >> 0 α >> 0 a7 1 -1 1 50 T.6 ⎨ x1 + x 2 ≥ 6 ⎪x + 2x ≤ 8 2 ⎩ 1 x j ≥ 0. Deseori paşii 1 şi 2 nu sunt parcurşi explicit. baza iniţială fiind formată din (a 7 . unic determinată şi degenerată. c3 = 250.2. Generarea unei soluţii admisibile s-a realizat prin metoda bazei artificiale. 300 − 50 ) = (c + ∆c ) .Analiza economico-matematică a unor modele liniare Exemplificare Modelul matematic: [min ] f = 250 x1 + 200 x2 + 300 x3 ⎧ x1 + 2 x3 ≥ 4 ⎪ IV. a 6 ) . x 6 = 0 şi [min ] f = 1400 . c2 = 220. j = 1. 200 + 20.

6 ? NU ⇒ Pasul 3 continuă cu alg. (∀) j = 1. j Redăm această extindere şi calculele implicate de aplicarea pasului 3 în următorul tabel: ~ cj 200 250 250 200 250 300 0 0 0 0 0 0 cj B ~ cB c B a1 a2 X B a1 4 2 0 1 0 0 a2 0 1 0 200 Ø 250 Ø a3 2 -2 2 100 -200 -100 -350 a4 -1 1 -1 -50 -50 50 50 a5 0 -1 2 -200 -200 -250 -250 a6 0 0 1 0 Ø 0 Ø ρ _ 200 250 0 250 200 0 21 _ a6 fj f j −cj ~ fj ~ ~ f j − cj 1400 250 Ø 1300 200 Ø [min ] f ≤ 0.6 ? DA ⇒ STOP . ~ ~ ~ ♦ două linii f j şi f j − c j în continuarea tabelului (aceste două linii se ~ ~ vor completa după scrierea lui c .Postoptimizare în programarea liniară ~ ♦ o coloană c B în stânga. simplexprimal 200 0 0 a1 a4 6 2 2 1 0 0 1 1 0 200 -50 0 -2 0 0 0 0 1 0 0 Ø -1 -1 1 -200 -200 0 0 1 0 Ø a6 ~ fj ~ ~ f j − cj 1200 200 Ø [min ] f ≤ 0. (∀) j = 1. j = 1. n şi c B ).

f 1400 + (−50 0 0)(4 2 0) T = 1400 − 200 = 1200 . x 4 = 2. Verificăm dacă: ~ [max] ~ = [max] f + c B X B . Aceasta nu este unic determinată deoarece f 3 − ~3 = 0 . Am×n . x 2 = x3 = 0.2. celelalte elemente rămân neschimbate şi subliniem . problema postoptimizată admite soluţie optimă finită ~ c nedegenerată. Examinând cu atenţie T. Postoptimizarea în cazul modificării vectorului b Formulare matematică Se consideră un program liniar ⎧ AX = b.1] . Presupunem că vectorul b îşi modifică cel puţin o componentă. ⎩ care admite soluţie optimă finită. prin creşterea unei capacităţi de producţie sau modificarea disponibilului dintr-o resursă care nu a fost primită în timp util sau din alte cauze similare. x5 = 0. 3. x 6 = 2 şi [min ] f = 1200 .1. se va observa că modificarea lui b afectează valorile variabilelor bazice( B −1b ) şi valoarea funcţiei scop ( c B X B ). cu tabelul optimal T. ~ Spre deosebire de X * . λ + β = 1 şi * * X 1 .2.IV. rang A = m < n ⎪ ⎨ X ≥0 ⎪ [max ] f ( X ) = cX .Analiza economico-matematică a unor modele liniare Se citesc valorile optimale: ~* * * * * * * X : x1 = 6.1. cu δ b ≠ 0 . ca exerciţiu. aflarea unor soluţii optime * nebazice cu generatorul X * = λX 1* + βX 2 . ~ b = b + δ b . X * este nedegenerată. În concluzie. undeλ . X 2 soluţii optime bazice. Într-adevăr. IV. β ∈ [0. Propunem cititorului.

3.2 ~ ~ f 0 = c B X B = c B ( X B + B −1 ⋅ δ b) = c B X B + c B B −1 ⋅ δ b = f 0 + c B B −1 ⋅ δ b . rang A = m < n ⎪ . . ⎩ În acest caz procedeul de postoptimizare este următorul: Pasul 1 Se identifică baza iniţială şi se citeşte B −1 .Postoptimizare în programarea liniară faptul că se menţine criteriul de optimalitate. ( ) Valoarea funcţiei obiectiv se modifică astfel: IV. Am× n .1 ~ ~ ~ X B = B −1b = B −1 (b + δ b) = B −1b + B −1 ⋅ δ b = X B + B −1 ⋅ δ b = x j j∈J B .3. se scrie b în baza B : IV. din punct ~ de vedere algebric. Pasul 2 Se calculează noile valori ale variabilelor bazice. IV. ⎨ X ≥0 ⎪ [max ] f ( X ) = cX .3.1 cj cB B ~ XB c1 K c j K c n a1 K a j K a n ~ B−1 ⋅ b fj f j −cj ~ CB ⋅ X B Ne propunem să studiem natura următoarei probleme modificate: ~ ⎧ AX = b . Noul tabel va avea modificată doar coloana soluţiei. după cum se poate observa în următorul tabel: T.

3. x m . rezultă că s-a generat o soluţie dual realizabilă pentru problema postoptimizată.3. atunci STOP. iar valoarea funcţiei scop este dată de relaţia IV. Se aplică algoritmul simplex-dual cu ~ soluţia de start : X B = X B . prin care se cere stabilirea structurii planului de fabricaţie în condiţiile existenţei unor resurse limitate (primele două restricţii). a folosirii unei resurse excedentare în scopul asigurării circulaţiei fondurilor fixe şi a realizării unui venit maxim: [max] f = 3 x1 + 2 x 2 + 2 x3 .2. deci pentru a-i asigura optimalitatea mai trebuie să impunem condiţia de non-negativitate a ~ componentelor sale: X ≥ 0 ? Dacă DA.2. Exemplificare Se consideră un program liniar. Dacă NU. Noile valori optime ale variabilelor bazice ~ ~ sunt respectiv egale cu x1 . X R = 0.3 ⎨2 x1 + x 2 + 2 x3 ≤ 4000 ⎪5 x + 3 x + 2 x ≥ 7500 2 3 ⎩ 1 x j ≥ 0.Analiza economico-matematică a unor modele liniare ~ Pentru X B este verificat criteriul de optimalitate. . ~ Pasul 3 Rezultă că (∃) s ∈ J B astfel încât x s < 0 . Cum criteriul de optimalitate se menţine. K .3. ⎧3 x1 + 2 x 2 + 2 x3 ≤ 5600 ⎪ IV. se trece la Pasul 3. j = 1.

nu este unic determinată. a 7 ) . x5 = 300. În soluţia optimă x5 ia valoarea 300. x6 sunt variabile de compensare. x 4 = 0. • B −1 ⎛ −1 0 1 ⎞ ⎟ ⎜ 3 0 − 1⎟ .2 cj cB 2 2 0 3 2 2 0 0 0 −α B a2 XB 1900 900 300 5600 a1 2 -1/2 1 3 0 a2 1 0 0 2 Ø a3 0 1 0 2 Ø a4 -1 3/2 -2 1 1 a5 0 0 1 0 Ø a6 -1 1 -1 0 0 a7 1 -1 1 0 a3 a5 fj f j −cj α >0 Soluţia optimă * * * * * * X * : x1 = 0. ceea ce ar însemna că 300 unităţi din resursa R2 cu disponibilul 4000 nu sunt utilizate. x 6 = 0 . a 5 . Se va lucra cu forma extinsă. =⎜ ⎜ 2 ⎟ ⎜− 2 1 1 ⎟ ⎠ ⎝ . Pasul 1 • Baza iniţială este (a 4 . x5. x 2 = 1900. IV. deoarece în linia f j − c j apar diferenţe egale cu zero ce corespund vectorilor nebazici a1 şi a 6 . x3 = 900.3.Postoptimizare în programarea liniară Din tabelul simplex-primal s-au reţinut numai elementele ultimei iteraţii: T. Se va simula o modificare a termenului liber b prin micşorarea disponibilului din a doua resursă limitată: δ b = (0 − 300 0) T ⇒ b = (5600 3700 7500) T . Variabilele x 4 . ~ deoarece prin aducere la forma standard apar numai vectorii unitate a 4 şi a5 .

dar consumă integral resursa R2 .3 cj 3 2 2 0 0 0 cB 2 2 B a2 a3 a5 fj f j −cj XB 2000 1000 -300 6000 a1 2 -1/2 1 3 0 a2 1 0 0 2 Ø a3 0 1 0 2 Ø a4 -1 3/2 -2 1 1 a5 0 0 1 0 Ø a6 -1 1 -1 0 0 0 [max ] f ≥ 0. Se va exemplifica şi cazul în care trebuie parcurs şi Pasul 3. 3. IV. Pasul 3' Primul tabel simplex-dual al problemei modificate va diferi de tabelul simplex optimal al problemei iniţiale prin componentele lui X B . → STOP. Se observă că modificarea lui b lasă neschimbată structura programului de fabricaţie. valoarea lui f 0 şi prin faptul că nu conţine vectori artificiali. ca urmare rezultă: T.6 ? DA (vezi observaţia 1) .Analiza economico-matematică a unor modele liniare Pasul 2 ~B X = B −1 ⋅ (5600 3700 7500) T = (1900 900 0) T ≥ 0 ~ ~ f 0 = c B X B = (2 2 0) ⋅ (1900 900 0) T = 5600 = f 0 . luând ~ b = (6000 3700 8000 T = (5600 4000 7500 T + (400 − 300 500)T = b + δ b ) ) . Pasul 2' ~B x = B −1 ⋅ (6000 3700 8000) T = (2000 1000 − 300) T ≥ 0 ? ⇒ NU. Există o regulă generală care spune că în tabelul simplex al problemei postoptimale nu trebuie reţinuţi vectorii artificiali. (∀) j = 1.

x3 = 700. ⎬= ⎩ −1 − 2 ⎭ −1 indică faptul că a 6 ia locul lui a5 .Postoptimizare în programarea liniară T. * * * * * * * Remarcăm faptul că soluţia optimă a problemei postoptimizate nu este unică şi propunem cititorului determinarea mulţimii soluţiilor optime ale acestei probleme. 3. ⇒ (− 1) pivot . x 2 = 2300. x5 = 0. x 4 = 0. Criteriul de intrare în bază: ⎧ 0 1 ⎫ 0 min ⎨ .6 ? DA XB ≥0 ⇒STOP Observaţia 1: Singura componentă strict negativă a vectorului x B este (−300) ⇒ a5 eliminat. (∀) j = 1. Se constată că. IV. x6 = 300 şi f 0 = 6000 . Problema postoptimizată admite soluţia optimă finită: X * : x1 = 0. .3 (continuare) cj cB 2 2 0 3 2 2 0 0 0 B a2 XB 2300 700 300 6000 a1 1 1/2 -1 3 0 a2 1 0 0 2 Ø a3 0 1 0 2 Ø a4 1 -1/2 2 1 1 a5 -1 1 -1 0 0 a6 0 0 1 0 Ø a3 a6 fj f j −cj [max ] f ≥ 0. algoritmul se opreşte după o pivotare.

Analiza economico-matematică a unor modele liniare În teoria programării liniare este cunoscută variaţia funcţiei economice. funcţia cost total.3. Principalele rezultate sunt sistematizate în tabelul următor: bi bi [min ] f ∑a j =1 n n ij x j ≥ bi x j ≤ bi ∑a j =1 ij [max ] f ∑a j =1 n n ij x j ≥ bi x j ≤ bi ∑a j =1 ij Pentru a exemplifica o parte dintre afirmaţii se va utiliza modelul IV.2 se va citi soluţia optimă a dualei problemei rezolvate: u1 = 1 . Pentru o mai bună înţelegere a celor ce urmează. . u 3 = 0 .3. * * u 2 = 0 . aplicându-i procedeul de postoptimizare a vectorului b în câteva cazuri particulare . atunci când o componentă a vectorului b se modifică.3. funcţia venit aşteptat.IV. din * T. Aceste valori vor fi folosite pentru analiza rezultatelor. în raport cu tipul de optim al acesteia şi sensul restricţiilor inegalităţi.

[0.150] ≤ b1 := b1 − 100 ⎛ 5500 ⎞ ⎟ ~ ⎜ b = ⎜ 4000 ⎟ ⎜ 7500 ⎟ ⎝ ⎠ b1 ↓ 100 u.resursă f = 5601 concordantă ≤ * f ↑ 1 = u1 u.Postoptimizare în programarea liniară Ca şi în alte cazuri totul va fi redat schematic după cum urmează: [max] f Valorile Valorile vectorului b ~ ~ X B = B −1b funcţiei scop Concluzii Tipul restricţiei ~ f ( X B ) = cB X B ∆bi . m * b1 ↑αu1 * * α ∈R+. ∆f Valoare iniţială ⎛ 5600 ⎞ ⎜ ⎟ b = ⎜ 4000 ⎟ ⎜ 7500 ⎟ ⎝ ⎠ ⎛1900⎞ x2 ⎟ ⎜ X = ⎜ 900 ⎟ x3 ⎜ 300 ⎟ x ⎠ 5 ⎝ B f * = 5600 b1 := b1 + 1 ⎛ 5601 ⎞ ⎟ ~ ⎜ b = ⎜ 4000 ⎟ ⎜ 7500 ⎟ ⎝ ⎠ ⎛ 1899 ⎞ x2 ~B ⎜ ⎟ X = ⎜1803/ 2⎟ x3 ⎜ 298 ⎟ x ⎝ ⎠ 5 Restricţie b1 ↑ 1u.u1 > 0 * f ↑ αu1 ⇒ b1 := b1 + αu ∗ α ∈ R+ * 1 dacă * ⎛5600 αu ⎞ + 1⎟ ~ ⎜ b = ⎜ 4000 ⎟ ⎜ ⎜ 7500 ⎟ ⎟ ⎝ ⎠ * ⎛ 1900−αu1 ⎞ ⎜ ⎟ ⎜ 900+ 3 αu* ⎟ ≥ 0 1⎟ ⎜ 2 ⎜ 300− 2αu* ⎟ 1 ⎠ ⎝ * ⇒αu1 ∈ * f = 5600 + αu1 Restricţie concordantă * 0 ≤ αu1 ≤ 150 cu condiţia * 0 ≤ αu1 ≤ 150 din punct de vedere matematic. * = 100u1 .res ⎛ 2000 ⎞ x2 ⎜ ⎟ ⎜ 750 ⎟ x3 ⎜ 500 ⎟ x ⎝ ⎠ 5 Restricţie f = 5500 ursă concordantă ≤ f ↓ 100 u. În realitate acest interval este impus de tehnologia produselor.

3. reţinem următoarele elemente: ● Baza optimă: B = (a1 ● B −1 a2 a 6 ) în raport cu care: 0 0⎞ ⎛1 ⎜ ⎟ = ⎜ −1 1 0⎟ . ⎜ 1 − 2 1⎟ ⎝ ⎠ .Analiza economico-matematică a unor modele liniare Valorile Valorile vectorului b ~ ~ X B = B −1b funcţiei scop Concluzii Tipul restricţiei ~ f ( X B ) = cB X B ∆bi .IV.3 Din tabelul T. ∆f b3 := b3 − 100 ⎛ 5600 ⎞ ⎟ ~ ⎜ b = ⎜ 4000 ⎟ ⎜ 7400 ⎟ ⎝ ⎠ ⎛1800 ⎞ x2 ⎜ ⎟ ⎜1000 ⎟ x3 ⎜ 200 ⎟ x ⎝ ⎠ 5 Restricţie b3 ↓ 100 u.res ursă f = 5600 neconcordan tă ≥ f îşi menţine valoarea b3 ↑ 100 u.2.res b3 := b3 + 100 ⎛ 5600 ⎞ ⎟ ~ ⎜ b = ⎜ 4000 ⎟ ⎜ 7600 ⎟ ⎝ ⎠ ⎛ 2000 ⎞ x2 ⎜ ⎟ ⎜ 800 ⎟ x3 ⎜ 400 ⎟ x ⎝ ⎠ 5 Restricţie ursă f = 5600 neconcordan tă f îşi menţine valoarea deoarece * u3 = 0 ≥ Pentru cazul complementar celui studiat se consideră problema de minim: [min] f = 250 x1 + 200 x 2 + 300 x3 ⎧ x1 + 2 x3 ≥ 4 ⎪ ⎨ x1 + x 2 ≥ 6 ⎪x + 2x ≤ 8 2 ⎩ 1 x j ≥ 0∀j = 1.

b2 ↓ ≥ ∆f = −200 < 0 .Postoptimizare în programarea liniară X B soluţia optimă a dualei: U * = (50 200 0 ) . b3 ↑ ≤ * ∆f = 0 deoarece u 3 = 0 ⎛ 4 ⎞ x1 ⎜ ⎟ ⎜ 2 ⎟ x2 ⎜ − 1⎟ x ⎝ ⎠ 6 Restricţie neconcordantă SDR ≤ . [min] f = f * = 1400 . ∆f ⎛ 6⎞ ~ ⎜ ⎟ b = ⎜ 6⎟ ⎜8⎟ ⎝ ⎠ b2 =b2 −1 = 5 ⎛ 4⎞ ~ ⎜ ⎟ b = ⎜5⎟ ⎜8⎟ ⎝ ⎠ ⎛ 6 ⎞ x1 ⎜ ⎟ ⎜ 0 ⎟ x2 ⎜ 2⎟ x ⎝ ⎠ 6 ~ f = 1500 Restricţie concordantă ∆b1 = 2 . f ↓ b3 =b3 + 2 =10 ⎛ 4⎞ ~ ⎜ ⎟ b =⎜ 6 ⎟ ⎜10 ⎟ ⎝ ⎠ b3 =b3 −1=7 ⎛ 4⎞ ~ ⎜ ⎟ b = ⎜ 6⎟ ⎜7⎟ ⎝ ⎠ ⎛ 4 ⎞ x1 ⎜ ⎟ ⎜ 2 ⎟ x2 ⎜ 2⎟ x ⎝ ⎠ 6 ~ f = 1400 Restricţie neconcordantă ∆b3 = 2 . f ↑ ⎛ 4 ⎞ x1 ⎜ ⎟ ⎜ 1 ⎟ x2 ⎜ 2⎟ x ⎝ ⎠ 6 ~ f = 1200 Restricţie concordantă ∆b2 = −1 . b1 ↑ ≥ ∆f = 100 > 0 . Se simulează diferite modificări ale termenilor liberi şi se obţine tabelul sinteză: [min] f Valorile vectorului ⎛ 4⎞ ⎜ ⎟ = ⎜ 2⎟ . ⎜ 0⎟ ⎝ ⎠ ~ ~ X B = B −1b Valorile funcţiei scop Concluzii Tipul restricţiei b b1 =b1 + 2 = 6 ~ ~ f (X B ) = cB X B ∆bi .

aceste elemente. componentele vectorului a j pot reprezenta consumuri specifice din m resurse utilizate pentru a obţine un produs j . aij K a mj aij +1 K a mj +1 K a1n ⎞ ⎟ K K ⎟X = b . Prin modificarea vectorului a j ea devine: ⎛ a11 K aij −1 ⎜ ⎜K K K ⎜a ⎝ m1 K a mj −1 ~ aij K ~ a mj aij +1 K a mj +1 K a1n ⎞ ⎟ K K ⎟X = b . k =1 k≠ j n care admite soluţie optimă finită. Totuşi. timpi de prelucrare. K a mn ⎟ ⎠ [max] f = ∑ ck xk + c j x j . Să presupunem că numai un vector a j . k =1 k≠ j n .Analiza economico-matematică a unor modele liniare 4. atunci când intervin modificări ale tehnologiei de fabricaţie. Postoptimizarea în cazul modificării vectorului a j . j ∈ J Formulare matematică Într-o problemă de programare liniară ce reprezintă modelul unui proces economic. În general. sau altele. o parte a coeficienţilor tehnologici se modifică. sunt supuse unei variaţii lente în timp. ~ [max] f = ∑ ck xk + c j x j . Considerăm problema de programare liniară: ⎛ a11 K aij −1 ⎜ ⎜K K K ⎜a ⎝ m1 K a mj −1 X ≥0 . numite coeficienţi tehnologici. K a mn ⎟ ⎠ X ≥0 . j ∈ J îşi schimbă componentele.

~ ~ ~ ~ ~B ~ Se calculează f j − c j : f j − c j = c B ⋅ a j − c j . Cu vectorii a1 . k = 1. atunci STOP ⇒ X * este soluţie optimă finită şi pentru problema modificată. j ∈ J asupra optimalităţii soluţiei sale. f j − c j ≥ 0 ? ♦ Dacă DA. y y y j∈J \ JB.4. n Natura programului postoptimizat va fi stabilită printr-un procedeu descris în cele ce urmează. vom studia influenţa modificării lui a j şi c j . K . k = j + 1. şi prin urmare deosebim două cazuri: Cazul 1 Vectorul a j este nebazic relativ la baza optimă B .mulţimea vectorilor bazici. a n se pot forma două mulţimi disjuncte: .mulţimea vectorilor nebazici. ~ ~ Pasul 2 Pentru [max ] f .1 cj c1 KKKK c j −1 ~ cj c j +1 KKKK c n cB B XB a1 KKKK a j −1 ~ aj ? ? a j +1 KKKK a n fj f j −cj f k−c k . . se modifică numai coloana vectorului a j : T IV. Pasul 1 Se citeşte B −1 . ~ ~B ~ Se scrie vectorul a j în baza B : a j = B −1 ⋅ a j = ( ~1 j K ~sj K ~mj ) T .Postoptimizare în programarea liniară Cunoscând tabelul simplex optimal al problemei iniţiale. . Din tabelul următor se observă că în tabelul optimal al problemei rezolvate. j − 1 ? f k−c k .

4. K. mai puţin coloana lui a j . Pasul 3 ~sj ≤ 0. se trece la Pasul 3.4.5 unităţi monetare: c = 3. ♦ Dacă NU. 3 . nu se mai verifică criteriul de optimalitate. Noua bază ~ va conţine vectorul a j .3. ~ ~ Deoarece f j − c j < 0 . Pentru a-i stabili natura se aplică algoritmul simplex-primal cu soluţia de start X * . din paragraful 3 al acestui Vectorul nebazic a1 = (3 2 5) T îşi modifică ~ componentele şi anume a1 = (2 2 3) T . capitol. n} ? y ♦ Dacă DA. care va fi completată cu rezultatele obţinute la Pasul 1.2 c j +1 KKKK c n a j +1 KKKK a n ~ fj ~ ~ f j − cj < 0 Exemplificare Se consideră problema IV.3. (∀)s ∈ {1. problema modificată admite optim infinit. IV. Modificările influenţează venitul ~ aşteptat în sensul creşterii sale cu 0. se copiază tabelul IV.5 u.1. Practic. [max ] f = +∞ . cj cB B XB B −1b fj f j −cj c1 KKKK c j −1 a1 KKKK a j −1 ~ cj ~ aj ~ B −1 ⋅ a j T.Analiza economico-matematică a unor modele liniare ♦ Dacă NU.m. Pasul 4 X * nu este soluţie optimă pentru problema postoptimizată. atunci STOP. se trece la Pasul 4. ca urmare X * este o soluţie admisibilă de bază pentru problema postoptimizată.

f 1 − c1 = c ⋅ a1 − c1 ⎜ ⎟ ⎜1⎟ ⎝ ⎠ ~ ~ Pasul 2 f 1 − c1 ≥ 0 ? NU.3 cj cB 2 2 0 3. T. IV.6 ? NU .5 < 0 . Modificările vor fi operate în T. Atunci.5 a2 1 0 0 2 Ø a3 0 1 0 2 Ø a4 -1 3/2 -2 1 1 a5 0 0 1 0 Ø a6 -1 1 -1 0 0 ρ 1900/1 _ 300/1 a3 ← a5 fj f j −cj [max]f ≥ 0.4.5 2 2 0 0 0 B a2 XB 1900 900 300 5600 ~ a1 1 0 1 2 -1. ⎜ 2 ⎜− 2 1 1 ⎟ ⎟ ⎝ ⎠ ⎛1⎞ ~ ~ B ~ B ~ = (2 2 0) ⋅ ⎜ 0 ⎟ − 3. IV. Pasul 4 Se aplică algoritmul simplex-primal cu soluţia de start X * . se trece la următorul pas. ~ Pasul 3 Există componente strict pozitive ale vectorului a1 ? DA.Postoptimizare în programarea liniară Pasul 1 B −1 ⎛ −1 0 1 ⎞ ⎜ 3 ⎟ ~B =⎜ 0 − 1⎟ ⇒ a1 = B −1 ⋅ (2 2 3) T = (1 0 1) T .3. (∀) j = 1.4. se trece la Pasul 4. Atunci.5 = −1.

Analiza economico-matematică a unor modele liniare

cj

3,5

2

2

0

0

0

cB
2 2 3,5

B
a2

XB
1600 900 300 650

~ a1
0 0 1 3,5 Ø

a2
1 0 0 2 Ø 1 0 0 2 Ø 1 0 0 2 Ø

a3
0 1 0 2 Ø -2/3 2/3 4/3 10/3 1/3 0 1 1 3,5 1,5

a4
1 3/2 -2 -2 -2 0 1 0 0 Ø 1 3/2 -1/2 1/4 1/8

a5
-1 0 1 1,5 1,5 -1 0 1 1,5 1,5 -1 0 1 1,5 1,5

a6
0 1 -1 -1,5 -1,5 -2/3 2/3 1/3 -1/6 -1/6 0 1 0 0 Ø

ρ
1600/1 900/3/2 _

a3
a1

fj f j −cj
2 0 3,5

[max ] f
≥ 0, (∀) j = 1,6 ? NU
_ 600/3/2 1500/1/3

a2 a4 a1

1000 600 1500 7250

0 0 1 3,5 Ø

fj f j −cj
2 0 3,5

[max ] f
≥ 0, (∀) j = 1,6 ? NU

a2

1600 900 1200 7400

0 0 1 3,5 Ø

a6
a1

fj

[max ] f
≥ 0, (∀) j = 1,6 ? DA
⇒ STOP

f j −cj

Problema postoptimizată admite soluţie optimă finită:
X * : x1 = 1200, x 2 = 1600, x3 = x 4 = x5 = 0, x6 = 900
* * * * * *

şi

[max] f

= 1200 ⋅ 3,5 + 1600 ⋅ 2 = 7400 .

Postoptimizare în programarea liniară

Se observă că venitul aşteptat a crescut.
Cazul 1 Vectorul a j aparţine bazei optime B .

Este ştiut faptul că modificarea componentelor unui vector bazic provoacă modificarea scrierii vectorilor nebazici în respectiva bază: ~ B −1 ⋅ a j → B −1 ⋅ a j . ~ Cum se poate afla B −1 ? Spre deosebire de celelalte tipuri de postoptimizări, aici avem trei variante de acţiune pentru a stabili natura programului modificat.
V1. Se operează modificarea în model şi se rezolvă ca un program liniar independent faţă de cel iniţial.

~ ⎧(a1 K a j −1 a j a j +1 K a n ) X = b ⎪ . ⎨X ≥ 0 ⎪[opt ] f ( X ) = cX . ⎩
V2. Se scrie matricea A din forma standard a modelului studiat

A = (a1 K a j K a n ) . În cazul modelului IV.3.3 avem:
⎛3 ⎜ A = ⎜2 ⎜5 ⎝ a1 0⎞ ⎛1⎞ ⎟ ~ = ⎜1⎟ 1 2 0 1 0 ⎟ , a2 ⎜ ⎟ ⎜ 2⎟ . 3 2 0 0 − 1⎟ ⎝ ⎠ ⎠ a 2 a3 a 4 a5 a 6 2 2 1 0

• Se citeşte baza optimă B = (a s1 K a s k −1 a j a s k +1 K a sm ) : B = (a 2 a3 a5 ) .

Analiza economico-matematică a unor modele liniare

• Se construieşte matricea pătratică de ordinul m cu coloanele ~ a s1 ,..., a s (k −1) , a j , a s (k +1) ,..., a sm , citite - excepţie făcând a j , care ~ va fi înlocuit cu a j - din matricea A. Dacă există inversa sa, atunci ~ aceasta va fi B −1 . Ca exemplificare, avem:
⎛1 3 0⎞ ⎛1⎞ ~ ~ = ⎜ 1 ⎟, B = ⎜ 1 2 1 ⎟ , det B ≠ 0 ⇒ ∃B −1 . a2 ⎜ ⎟ ⎟ ⎜ ⎜ 2 2 0⎟ ⎜ 2⎟ ⎠ ⎝ ⎝ ⎠ ~ • Se reconstituie iteraţia cu baza B şi a 2 , apoi se ia decizia de

STOP sau continuarea rezolvării problemei postoptimizate. Aceste variante implică un volum mare de calcule, chiar pentru m şi
n relativ mici, motiv pentru care se va opta pentru varianta următoare.

V3. Se aplică procedeul de postoptimizare care constă în parcurgerea a cel mult cinci paşi. Pasul 1 În tabelul simplex optimal al problemei rezolvate, se citesc:

• B −1 ; • baza optimă B şi se notează cu k locul vectorului modificat în această bază .
Pasul 2 Se află componentele vectorului modificat în baza B : ~B ~ a = B −1 ⋅ a = ( ~ K ~ K ~ ) T . y y y
j j

1j

kj

mj

Componenta k este diferită de 0 ?

Dacă DA. Prin E m vom înţelege matricea ce diferă de I m numai prin coloana k şi anume: ~ I m = (e1 K ek K em ) ⇒ E m = (e1 K ek −1 η k ek +1 K em ) .IV.Postoptimizare în programarea liniară . n ~ ~ f j − c j .Dacă NU. j − 1 B −1 ⋅ a j B −1 ⋅ ak . k = j + 1. ~ ~ Se calculează: B −1 = E m ⋅ B −1 . k = 1. y kj ⎠ T Pasul 4 ~ Fie I m matricea unitate de ordinul m . j = 1. în care apare baza optimă a problemei iniţiale: T.4 cj cB ci1 M ~ cj M cim c1 KKKKK ck KKKKKcn a1 KKKKK ak KKKKK an B ai1 M ~ aj M aim ~ XB ~ B −1 ⋅ b ~ B −1 ⋅ ak . n ~ fj ~ ~ f j −cj ~ f0 ~ f j . atunci STOP ⇒ nu există soluţie optimă.4. Pasul 3 Se construieşte vectorul ⎛ − ~1 j y ηk = ⎜ ~ ⎜ y ⎝ kj y − ~k −1 j ~ y kj 1 ~ y kj y − ~k +1 j ~ y kj y − ~mj ⎞ ⎟ ~ ⎟ . . j = 1. Pasul 5 Se reconstituie iteraţia problemei postoptimizate. atunci se trece la Pasul 3. n .

i ∈ Ν . s ∈ J B x S3 Se continuă rezolvarea problemei cu algoritmul simplex-dual. X valorile optime ale variabilelor bazice. Problema modificată S-a obţinut o soluţie admite S.O. finită. f f . Observaţia 1: Pentru problema de minim. deosebim patru cazuri sistematizate în următorul tabel pentru problema de maxim: T. ~B sunt admisibilă de bază. n şi valorile variabilelor bazice ~ date de B −1 ⋅ b . f [max] ~ = ~ f0 . Se reia rezolvarea de la 1 iteraţia i + 1. S4 (∃)~s B < 0.5 se înlocuieşte ~ ~ ~ ~ ~ ~ ~ f j − c j ≥ 0 cu f j − c j ≤ 0 . (∃) f k − c k > 0.IV. se continuă cu simplex-primal. * dacă a j a intrat în bază în iteraţia i. j = 1.Analiza economico-matematică a unor modele liniare Analizând diferenţele f j − c j .IV. i ∈ Ν \ { } . se * ~ lucrează cu a j în baza respectivei iteraţii.4. deoarece s-a generat o soluţie dual realizabilă a problemei modificate.4. k ∈ J \ J B şi [max ] f cu [min ] ~ = ~0 . în T. Celelalte condiţii şi comentariile rămân valabile.5 ~ B −1 ⋅ b ~ ~ f j − cj ≥ 0 j ∈τ \ τ B (∃) ~k − ck f ~ S2 < 0. k ∈ J \ J B ≥0 S1 STOP.

4. (∀) j = 1. j = 1. Iteraţia în care s-a verificat criteriul de optimalitate este dată în tabelul de mai jos: T.4.Postoptimizare în programarea liniară Exemplificare Pentru aflarea soluţiei optime a programului liniar: [max] f = 4 x1 + 6 x 2 + 20 x3 + 17 x 4 ⎧ x1 + x3 + 2 x 4 ≤ 100 ⎨ ⎩ x 2 + 2 x3 + x 4 ≤ 40 x j ≥ 0. s-a folosit algoritmul simplex-primal.6 cj cB 4 17 4 6 20 17 0 0 B a1 a4 X B a1 1 0 4 Ø a2 -2 1 9 3 a3 -3 2 22 2 a4 0 1 17 Ø a5 1 0 4 4 a6 -2 1 9 9 20 40 760 fj f j −cj [max]f ≥ 0. ⎟ ⎝ ⎠ a1 a 2 a3 a 4 a5 a 6 .6 Observaţia 2: Matricea A ataşată problemei adusă la forma standard este de forma: ⎛1 0 1 2 1 0⎞ A=⎜ ⎜0 1 2 1 0 1⎟ . IV.

IV.Analiza economico-matematică a unor modele liniare Baza iniţială poate fi: (a1 a 2 ). (a1 a 6 ).6. admite soluţie optimă finită. ⎠ ⎠ ⎝ ⎠ ⎝ ⎝ Se reconstituie tabelul cu baza (a1 ~ ~ ⎛100 ⎞ ⎛ 60 ⎞ X B = B −1 ⋅ ⎜ ⎜ 40 ⎟ = ⎜ 80 / 3 ⎟.5 x 4 ≤ 100 ⎨ ⎩ x 2 + 2 x3 + 1. j = 1. ⎠ ⎠⎝ ⎠ ⎝ ⎝ ⎠ ⎝ componentă ( k = 2 ) este diferită de 0. c 4 = 18 .5 ⎟ = ⎜ 1.4. ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ a4 ) .5 ⎟ = ⎜ 2 / 3 ⎟ . În continuare se va aplica procedeul descris: ⎛1 − 2⎞ B −1 = ⎜ ⎟ ⎜ 0 1 ⎟.5 ⎞ ⎛ 1 ⎞ Pasul 3 Pasul 4 Pasul 5 η k =2 = ⎜ ⎜ 1 / 1.5 ⎟ ⎜ 0 1 ⎟⎜1.5 1. se va obţine o aceeaşi matrice: ⎛1 − 2⎞ B −1 = ⎜ ⎜0 1 ⎟ . (a5 a 6 ) sau (a5 a2 ) .5 ⎞ ⎛ 1 − 2 ⎞⎛1. . a doua Pasul 1 Pasul 2 ⎛1. în T. B = (a1 ⎠ ⎝ a4 ) → k = 2 . Ne propunem să verificăm dacă problema postoptimizată [max] f = 4 x1 + 6 x 2 + 20 x3 + 18 x 4 ⎧ x1 + x3 + 1. ⎟ ⎝ ⎠ Presupunem ~ a 4 = (1.5 x 4 ≤ 40 x j ≥ 0. ⎛ − 1.5 / 1.5 ⎞ ⎛ − 1. Dacă. ~ şi c 4 creşte cu o unitate. ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎛1 1 ⎞ ⎛1 − 2⎞ ⎛1 −1 ⎞ ~ B −1 = ⎜ ⎟ ⎟ ⎜ ⎟ ⎜ ⎜ 0 2 / 3⎟ ⋅ ⎜ 0 1 ⎟ = ⎜ 0 2 / 3⎟ .5 ⎞ ~B a 4 = B −1 ⋅ ⎜ ⎟ = ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎜1.5 ⎟.4. citim matricele scrise în dreptul acestor baze (în ordinea în care apar vectorii bazei).5) T că vectorul a4 îşi modifică componentele.

~ ~ ~ ~ ● f j − c j ≥ 0. x 4 = * * 5. x3 = x 2 = x5 = x6 = 0 şi [max ] f = 720. a5 = B −1 ⋅ ⎜ ⎟ = ⎜ ⎟. 3 Se observă o creştere cu mai mult de 50% a valorii funcţiei scop. problema postoptimizată are soluţia optimă finită şi nedegenerată: B 60 * * * * . (∀) j = 1. ~ ⎜ ⎟ ⎜ a 2 = B −1 ⋅ ⎜ ⎟ = ⎜ ⎟ ⎟ ⎜1⎟ ⎜3 / 2⎟ 3 ⎜ 2 ⎟ ⎜ 4 / 3⎟ ⎠ ⎠ ⎝ ⎠ ⎝ ⎝ ⎠ ⎝ ~ B ~ ⎛ 1 ⎞ ⎛ 1 ⎞ ~ B ~ ⎛ 0 ⎞ ⎛ − 1 ⎞. a B = B −1 ⋅ ⎛ 1 ⎞ = ⎛ − 1 ⎞.Postoptimizare în programarea liniară ~ ~ B ~ ⎛ 0 ⎞ ⎛ − 1 ⎞. Postoptimizarea în cazul adăugării unor restricţii Formulare matematică Se consideră un program liniar care admite soluţie optimă finită. (∀) j = 1. Fie acesta în forma standard [max] f = cX .6 ~ ~ f j −cj Deoarece: ● X > 0.7 cj ~ cB 4 18 4 6 20 18 0 0 B a1 a4 ~ fj XB 60 80/3 720 a1 1 0 4 Ø a2 -1 2/3 8 2 a3 -1 4/3 20 0 a4 0 1 18 Ø a5 1 0 4 4 a6 -1 2/3 8 8 [max]f ≥ 0.4. x1 = 60. a 6 = B −1 ⋅ ⎜ ⎟ = ⎜ ⎟ ⎜ 0⎟ ⎜ 0⎟ ⎜ 1 ⎟ ⎜ 2 / 3⎟ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ T IV.6 şi f j − c j = 0 pentru a j bazic.

rangA = m ≤ n X ≥0 Să presupunem că se cunoaşte soluţia optimă a acestui program obţinută prin aplicarea algoritmului simplex primal. corespunzătoare bazei optime B.1 apare necesitatea introducerii unor restricţii suplimentare în modelul analizat. i ∈ J B sunt exprimate în funcţie de variabilele secundare x j .n (R ) . unde A ∈ M m .Analiza economico-matematică a unor modele liniare IV.1 {AX = b . ∀i ∈ J B x j ≥ 0. k ∈ N * .n (R ) . Tabelul simplex primal ne oferă forma explicită a problemei IV.5. n unde variabilele bazice xi . Să presupunem. ceea ce presupune modificarea matricei A din IV. de asemenea. că într-o etapă ulterioară obţinerii soluţiei optime a problemei IV.1.5. j ∈ J S .5.5. şi anume: [max] f = ∑ ci xi i =1 n ⎧ ⎪ ⎨ xi + ⎪ ⎩ j∈J − J ∑y B ij x j = xi .1 prin adăugarea unor linii şi ca urmare A devine ~ A ∈ M m + k . ∀j = 1. Ne propunem să studiem natura problemei postoptimizate [max] f = cX ~ ~ . AX = b X ≥0 { .

j = 1. m + k . i = m + 1. ⎨n ⎪∑ y ij x j + x n +i = bi . Pasul 3 B Dacă xi ≥ 0. atunci s-a obţinut soluţia optimă a problemei postoptimizate. soluţia obţinută nu e admisibilă . acestea devin n ∑a j =1 ij x j + x n +i = bi .n (R ). m + k şi deci problema postoptimizată poate fi scrisă acum: [max] f = ∑ ci xi i =1 n ⎧ xi + ∑ y ij x j = xi . În caz contrar. b. cu k linii. ∀i ∈ J B ⎪ j∈J − J B ⎪ . m + k ⎪ j =1 ⎩ x j ≥ 0. m + k . b = ⎜ ⎜ bm +1 ⎟ ⎜ ⎟ ⎜M ⎟ ⎜b ⎟ ⎝ m+k ⎠ bordarea lui A şi. i = m + 1. respectiv. m + k .Postoptimizare în programarea liniară ⎛ b1 ⎞ ⎜ ⎟ ⎜M ⎟ ⎜b ⎟ ~ ~ m ⎟ sunt elemente cunoscute şi obţinute prin unde A ∈ M m + k . ∀i = m + 1. n Pasul 2 Se elimină variabilele bazice din cele k restricţii noi: xi = B j∈J S ∑y ij x j + x n +i . i = m + 1. i ∈ m + 1. Schema de postoptimizare este următoarea: Pasul 1 Cele k restricţii suplimentare se transformă în egalităţi prin adăugarea a k variabile de ecart x n +i .

5. IV. ∀j = 1. se citeşte linia vectorului bazic a3 IV. Exemplificare Ca exemplu să considerăm problema IV.5.1 cj cB 2 2 0 3 2 2 0 0 0 B a2 XB 1900 900 300 5600 a1 2 -1/2 1 3 0 a2 1 0 0 2 Ø a3 0 1 0 2 Ø a4 -1 3/2 -2 1 1 a5 0 0 1 0 Ø a6 -1 1 -1 0 Ø a3 a5 fj f j −cj Să considerăm că la un moment dat condiţiile contractuale ale firmei impun producerea a cel puţin 1000 de unităţi de produs P3 .5. În acest caz se impune adăugarea restricţiei x3 ≥ 1000 : [max] f = 3 x1 + 2 x 2 + 2 x3 ⎧3 x1 + 2 x 2 + 2 x3 ≤ 5600 ⎪2 x + x + 2 x ≤ 4000 ⎪ 1 2 3 .5. 2 2 . Pasul 2 Din T.Analiza economico-matematică a unor modele liniare dar verifică criteriul de optim. ⎨ 5 x1 + 3 x 2 + 2 x3 ≥ 7500 ⎪ ⎪ x3 ≥ 1000 ⎩ x j ≥ 0 .1.3.IV. deci se continuă cu algoritmul simplex dual până la determinarea soluţiei sale optime.3 Pasul 1 IV.3 care admite soluţie optimă multiplă având tabelul simplex final dat de: T.2 x3 − x8 = 1000 ⇔ − x3 + x8 = −1000 .3 − 1 3 x1 + x3 + x4 + x6 = 900 .

Postoptimizare în programarea liniară Adunând IV.5. T.5.3 rezultă: 1 3 − x1 + x4 + x6 + x8 = −100 . Pasul 3 ~ Soluţia corespunzătoare bazei B obţinută din baza optimă B prin ⎛ 0⎞ ⎜ ⎟ adăugarea vectorului coloană a8 = ⎜ 0 ⎟ este dual admisibilă ( x8 = −100 < 0 ) 0 ⎜ 1⎟ ⎝ ⎠ şi deci vom continua cu aplicarea algoritmului simplex dual până la obţinerea soluţiei optime.5. pentru problema extinsă cu restricţia x3 ≥ 1000 . 2 2 unde x8 devine variabilă bazică.2 şi IV.2 cj cB 2 2 0 0 3 2 2 0 0 0 0 B a2 XB 1900 900 300 -100 5600 a1 2 -1/2 1 -1/2 3 0 a2 1 0 0 0 2 Ø 1 0 0 0 2 Ø a3 0 1 0 0 2 Ø 0 1 0 0 2 Ø a4 -1 3/2 -2 3/2 1 1 5 0 1 -3 1 1 a5 0 0 1 0 0 Ø 0 0 1 0 0 Ø a6 -1 1 -1 1 0 0 3 0 1 -2 0 0 a8 0 0 0 1 0 Ø 4 -2 2 -2 2 2 a3 a5 ← a8 fj f j −cj [max ] f ≥ 0∀j 2 2 0 3 a2 1500 1000 100 200 5600 0 0 0 1 3 Ø a3 a5 a1 fj f j −cj . IV.

~ * = 1500. Observaţie: Relaţia a doua din programul liniar IV. şi este dată de ~ * = 200 .1 poate fi scrisă în forma echivalentă: (a1 a2 ⎛ x1 ⎞ ⎜ ⎟ ⎜x ⎟ K a n )⎜ 2 ⎟ = b . cu valoarea x1 x2 x3 x5 x4 x6 x8 ~ funcţiei obiectiv f * = 5600 . ~ * = 100.Analiza economico-matematică a unor modele liniare Soluţia optimă s-a obţinut printr-o singură pivotare. 6.1 ⎨∑ ai xi = b ⎩ i =1 n x j ≥ 0. ~ * = 1000.n (R ) . ~ ~ Observaţie: În general.6. n unde a i ∈ R m sunt vectorii coloană ai matricei coeficienţilor tehnologici A ∈ M m. M ⎜ ⎟ ⎜x ⎟ ⎝ n⎠ . ~* = ~ * = ~ * = 0.6. Postoptimizarea în cazul adăugării unor noi variabile Formulare matematică Se consideră un program liniar care admite soluţie optimă finită max f = ∑ ci xi i =1 n ⎧ IV. f * ≤ f . dacă se cere maximizarea funcţiei scop. j = 1.

⎪ i =1 ⎪ x ≥ 0.2.6. Schema de rezolvare presupune parcurgerea următorilor: B Pasul 1 Se calculează B −1 şi a n +i = B −1 a n +i . ∀i = 1. k ? sau cu notaţia de la pasul 1.Postoptimizare în programarea liniară Suntem interesaţi în rezolvarea problemei postoptimizate n+k ⎧ ⎪max f = ∑ ci xi i =1 ⎪ n+k ⎪ IV. k ? B c B a n +i − c n +i ≥ 0. n + k . k ?. Rezolvarea problemei extinse se bazează pe următoarea observaţie IV 6. a n + k .2 ⎨∑ ai xi = b . ⎪ j ⎩ unde coeficienţii c n +1 . j = 1. din cadrul teoriei generale: dacă X * ∈ R n este soluţie optimă a problemei Pasul 2 Formulăm întrebarea: f n +i − c n +i ≥ 0 . atunci vectorul (X * . 0 R k ) ∈ R n + k este soluţie optimă pentru IV. a n + k din spaţiul bunurilor sunt presupuşi cunoscuţi. Aceasta revine la rezolvarea problemei de programare liniară în care matricea coeficienţilor tehnologici ~ A ∈ M m .K .6. k ∈ N ∗ .n (R ) prin adăugarea celor k vectori coloană a n +1 .2.1 corespunzătoare bazei optime B. ∀i = 1. atunci (X * .6. ∀i = 1. ∀i = 1.K . k . adică c B B −1 a n +i − c n +i ≥ 0. . c n + k ai funcţiei scop şi vectorii a n +1 .n + k (R ) se obţine din A ∈ M m.K .Dacă DA. 0 R k ) ∈ R n + k este soluţie admisibilă pentru problema IV. .

modelul extins are optim infinit. Exemplificare Ca exemplu. În continuare se aplică algoritmul simplex primal până la obţinerea soluţiei optime (dacă există) a problemei postoptimizate.Analiza economico-matematică a unor modele liniare . Se pune întrebarea: care ar trebui să fie profitul ⎜1⎟ ⎝ ⎠ unitar obţinut din vânzarea acestui produs astfel încât acesta să intre în programul optim de fabricaţie? Pasul 1 B −1 ⎛ −1 0 1 ⎞ ⎛1⎞ ⎛ 0 ⎞ ⎛ −1 0 1 ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ B −1 = ⎜ 3 / 2 0 − 1⎟ . ⎜ 1 ⎟ ⎝ ⎠ B −1 . şi i∈I 0 { vectorul a n +i0 intră în bază dacă are cel puţin o componentă strict pozitivă. vom considera programul liniar de stabilire a planului optim de producţie IV. analizat în secţiunea 3.3. ⎜ − 2 1 1 ⎟ ⎜1⎟ ⎜ 1 ⎟ ⎜ −2 1 1 ⎟ ⎝ ⎠⎝ ⎠ ⎝ ⎠ ⎝ ⎠ Pasul 2 ⎛ 0 ⎞ ⎜ ⎟ f8 − c8 = c B a8 − c8 ≤ 0 ⇔ (2 2 0)⎜1/ 2⎟ − c8 ≤ 0 ⇔ 1 − c8 ≤ 0 ⇔ c8 ≥ 1. atunci fie I 0 = i ∈ 1. Să presupunem că firma îşi propune lansarea în fabricaţie a unui nou produs pentru care vectorul ⎛1`⎞ ⎜ ⎟ tehnologic este a8 = ⎜ 2 ⎟ . a8 = B a8 = ⎜ 3 / 2 0 − 1⎟ ⎜ 2 ⎟ = ⎜1 / 2 ⎟ .Dacă NU.3. Alegem i0 ∈ I 0 astfel încât f n +i 0 − c n +i0 = min ( f n +i − c n + i ) . în caz contrar. k f n +i − c n +i < 0 }.

În continuare analizăm cazul c8 = 2 şi.IV.6. ca urmare. f 8 − c8 = −1 < 0 . T. pentru ca acesta să facă parte din structura planului optim de fabricaţie.1 cj cB 2 2 0 3 2 2 0 0 0 2 B XB 1900 900 300 5600 a1 2 -1/2 1 3 0 a2 1 0 0 2 Ø 1 0 0 2 Ø 1 0 0 2 Ø 1 0 0 2 Ø a3 0 1 0 2 Ø 0 1 0 2 Ø 2/5 2/5 4/5 12/5 2/5 2/3 2/3 2/3 8/3 2/3 a4 -1 3/2 -2 1 1 -1 5/2 -2 -1 -1 0 1 0 0 Ø 2/3 5/3 -1/3 2/3 2/3 a5 0 0 1 0 Ø 0 -1/2 1 1 1 -1/5 -1/5 3/5 4/5 4/5 -1/3 -1/3 2/3 2/3 2/3 a6 -1 1 -1 0 0 -1 3/2 -1 -1 -1 -2/5 3/5 1/5 -2/5 -2/5 0 1 0 0 Ø a8 0 1/2 1 1 -1 0 0 1 0 Ø 0 0 1 0 Ø 0 0 1 2 Ø ρ 1800 300 a2 a3 a5 fj f j −cj 2 2 2 [max] f ≥ 0 ∀j? NU 300 - a2 a3 a8 1900 750 300 5900 2 -1 1 4 1 fj f j −cj 2 0 2 [max] f ≥ 0 ∀j? NU 500 3000 a2 2200 300 900 6200 8/5 -2/5 1/5 18/5 3/5 a4 a8 fj f j −cj 2 0 2 [max] f ≥ 0 ∀j? NU a2 a6 a8 fj 2400 500 800 6400 4/3 -2/3 1/3 10/3 1/3 [max] f f j −cj ≥ 0 ∀j? DA .m.Postoptimizare în programarea liniară deci profitul unitar obţinut din vânzarea noului produs trebuie să fie cel puţin 1 u.

P3 sunt necesare operaţii de prelucrare pe utilajele U 1 . P2 .Analiza economico-matematică a unor modele liniare Deci. U 2 . Se observă. soluţia optimă a problemei postoptimizate. ordinea operaţiilor nefiind impusă. În tabelul următor se dau. .U. U 3 . astfel încât venitul aşteptat să fie maxim şi fondul de timp disponibil al utilajului U 1 să fie consumat integral. Propunem cititorului să facă interpretarea economică completă a rezultatelor obţinute. 2 1 1 1 3 P2 2 1 1 2 4 P3 1 0 1 1 2 Disponibil 2200 1200 2000 1600 a) Să se scrie un model liniar care să permită stabilirea numărului de produse care trebuie realizate. în unităţi convenţionale. care prevede fabricarea a 2400 unităţi de produs P2 şi a 800 unităţi de produs P8 . duratele de prelucrare şi fondurile de timp disponibile într-o anumită perioadă T1 . Probleme pentru fixarea cunoştinţelor Problema 1 Pentru a realiza trei produse P1 . U 4 . comparând cu soluţia optimă a problemei iniţiale. prin aplicarea algoritmului simplex primal se obţine. o modificare a structurii programului optim de fabricaţie. precum şi veniturile unitare aşteptate. 7. în 4 iteraţii. exprimate în unităţi monetare: P1 U1 U2 U3 U4 V.

s-a citit inversa bazei optime: B −1 Reconstituiţi ultimul tabel.U. în dreptul vectorilor ce au format prima ⎛ 1 ⎜ ⎜ − 1/ 2 =⎜ − 1/ 2 ⎜ ⎜ − 1/ 2 ⎝ 0 0 − 1⎞ ⎟ 1 0 0⎟ . Citiţi solutia optimă. timpul de prelucrare al produsului P2 pe acesta se reduce la jumătate. În ultimul tabel. se prevede micşorarea veniturilor c1 şi c 2 cu 0. Duratele de prelucrare şi veniturile unitare estimate sunt: U1 P4 1 2 U2 0 1 U3 2 2 U4 1 1 V. 5 3 P5 Este rentabilă prelucrarea acestor produse menţinând condiţiile de la punctul a)? d) În perioada imediat următoare lui T1 .Postoptimizare în programarea liniară b) Problema de programare liniară scrisă la a) a fost rezolvată prin metoda simplex-primal. 0 1 0⎟ ⎟ 0 0 1⎟ ⎠ bază. . respectiv 1u.5.m. Ce implicaţii au aceste modificări asupra structurii optime stabilite la punctul b)? Dar asupra profitului total? e) Aducând anumite modificări utilajului U 2 .Să se determine structura optimă a producţiei în noile condiţii şi valoarea corespunzătoare a venitului maxim aşteptat. Câte soluţii optime bazice există? Dar nebazice? c) În viitorul apropiat se pune problema schimbării structurii programului de producţie prin introducerea în fabricaţie a două produse P4 şi P5 .

n . ∀j = 1. mărimile j şi j . scrierea vectorilor aj în baza optimă. Prima bază şi dimensiunile tabelului se deduc din forma standard a problemei: ⎧[max] f = 3 x1 + 4 x 2 + 2 x3 ⎪ ⎪ 2 x1 + 2 x 2 + x3 = 2200 ⎪ x + x + x = 1200 ⎪ 1 2 4 . ⎨ x1 + x 2 + x3 + x5 = 2000 ⎪ ⎪ x + 2 x + x + x = 1600 2 3 6 ⎪ 1 x j ≥ 0.6 ⎪ ⎩ .6 ⎪ ⎩ Se observă că prima restricţie este egalitate deoarece se impune consumul integral al fodului de timp disponibil al utilajului U 1 .Analiza economico-matematică a unor modele liniare Soluţie: a) Dacă se va nota cu x j numărul produselor de tip Pj din planul de fabricaţie a periodei T1 . f f − c j j = 1. b) Pentru a reconstitui ultimul tabel simplex trebuie să stabilim: dimensiunile tabelului. prima bază. ⎨ ⎪ x1 + x 2 + x3 ≤ 2000 ⎪ x + 2 x + x ≤ 1600 1 2 3 ⎪ x j ≥ 0.cu datele din tabelul se obţine programul liniar: ⎧[max] f = 3 x1 + 4 x 2 + 2 x3 ⎪ ⎪ 2 x1 + 2 x 2 + x3 = 2200 ⎪ x1 + x 2 ≤ 1200 ⎪ . ∀j = 1.

1 a4 a5 a 6 ) . ∀j = 1. Dar.7.7 ⎪ ⎩ unde α >> 0 este o constantă arbitrară. Ca urmare m=4 şi n=7. b = ⎜ 2000 ⎟ 0⎟ ⎜ ⎟ ⎟ ⎜ 1600 ⎟ 1⎟ ⎝ ⎠ ⎠ Vectorii a 4 . Tabelul simplex va avea următoarea configuraţie: T.Postoptimizare în programarea liniară Rezultă: A4×6 ⎛2 ⎜ ⎜1 =⎜ 1 ⎜ ⎜1 ⎝ 2 1 1 2 1 0 1 1 0 1 0 0 0 0 1 0 0⎞ ⎛ 2200 ⎞ ⎜ ⎟ ⎟ 0⎟ ⎜ 1200 ⎟ > 0.IV. a 6 constituie o submatrice a matricei unitate din R 4 . rangA=4<6. . ea corespunde cj → c B 3 4 2 0 0 0 −α a7 B X B a1 a2 a3 a4 a5 a6 fj f j −cj . a5 . ca urmare se va introduce un vector artificial a 7 = (1 0 0 0) T pentru a obţine baza iniţială : B = (a 7 formei extinse: ⎧[max] f = 3 x1 + 4 x 2 + 2 x3 − αx7 ⎪ ⎪ 2 x1 + 2 x 2 + x3 + x7 = 2200 ⎪ x1 + x 2 + x 4 = 1200 ⎪ ⎨ x1 + x 2 + x3 + x5 = 2000 ⎪ ⎪ x + 2 x + x + x = 1600 1 2 3 6 ⎪ x j ≥ 0. atenţie.

2 cj → 3 4 2 0 0 0 −α c B B X B a1 1 0 0 0 3 Ø a2 0 0 0 1 4 Ø a3 0 -1/2 1/2 1/2 2 0 a4 0 1 0 0 0 Ø a5 0 0 1 0 0 Ø a6 -1 0 0 1 1 1 a7 1 -1/2 -1/2 -1/2 1 1+ α 3 0 0 4 a1 a4 a5 a2 fj f j −cj 600 100 900 500 3800 .7. a3 = B ⋅ ⎜ ⎟ = ⎜ 1 1/ 2 ⎟ ⎟ ⎜ ⎟ ⎜ ⎜1⎟ ⎜ 1 / 2 ⎟ ⎠ ⎝ ⎠ ⎝ ⎛ 2200 ⎞ ⎛ 600 ⎞ ⎟ ⎜ ⎟ ⎜ ⎜ 100 ⎟ −1 −1 ⎜ 1200 ⎟ =B b=B ⎜ = . 2000 ⎟ ⎜ 900 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ 1600 ⎟ ⎜ 500 ⎟ ⎝ ⎠ ⎝ ⎠ .7 . dată în enunţul problemei.Analiza economico-matematică a unor modele liniare B −1 .IV. se scrie în dreptul vectorilor care au format baza de start (a 7 a4 a5 a6 ) ⎛ 2⎞ ⎛1⎞ ⎜ ⎟ ⎜ ⎟ ⎜0⎟ B −1 −1 ⎜ 1 ⎟ a1 = B ⋅ a1 = B ⋅ ⎜ ⎟ = ⎜ ⎟ 1 0 ⎜ ⎟ ⎜ ⎟ ⎜ 1⎟ ⎜0⎟ ⎝ ⎠ ⎝ ⎠ ⎛1⎞ ⎛ 0 ⎞ ⎟ ⎜ ⎟ ⎜ ⎜ − 1 / 2⎟ B −1 ⎜ 0 ⎟ .7. XB Se calculează f j şi f j − c j .IV. Înlocuind aceste date în T. j = 1. ⎛ 2⎞ ⎛ 0⎞ ⎜ ⎟ ⎜ ⎟ ⎜ 0⎟ B −1 ⎜ 1 ⎟ a2 = B ⋅ ⎜ ⎟ = ⎜ ⎟ 1 0 ⎜ ⎟ ⎜ ⎟ ⎜ 2⎟ ⎜1⎟ ⎝ ⎠ ⎝ ⎠ .1 se obţine tabelul optimal al modelului considerat: T.K .

În cazul studiat vectorul a3 va fi introdus în bază. . nu se schimbă. Se aplică C.B: ⎛ 900 500 ⎞ 500 min⎜ . rezultă că a 2 va fi cel eliminat. În acest caz există o infinitate de programe (soluţii) optimale şi două programe de bază optimale. T deoarece există un vector nebazic a3 cu diferenţa f 3 − c3 nulă .3 cj → c 3 0 0 B 3 a1 1 0 0 4 a2 0 1 -1 2 a3 0 0 0 0 a4 0 1 0 0 a5 0 0 1 0 a6 -1 1 -1 B a1 a4 a5 a3 fj X 600 600 400 B 2 1000 3800 0 3 Ø 2 4 0 1 2 Ø 0 0 Ø 0 0 Ø 2 1 1 f j −cj * Noua soluţie optimă este: X 2 = (600 0 1000 600 400 0 ) .I. n . Acestea din urmă se obţin continuând metoda simplex. Criteriul de eliminare din bază şi formulele de transformare sunt cele cunoscute.Postoptimizare în programarea liniară Soluţia optimă X 1* = (600 500 0 100 900 0 ) nu este unică. Se va obţine un tabel simplex în care f 0 . unde λ ∈ [0. T Mulţimea soluţiilor optimale. ∀j = 1. introducând în bază un vector a j nebazic pentru care f j − c j = 0 . bazice sau nu. este o mulţime convexă.7. La o primă observaţie el îl poate elimina pe a5 sau pe a 6 deoarece celelalte două componente nu sunt strict pozitive. * iar elementele sale se obţin cu ajutorul relaţiei X * = λX 1* + (1 − λ ) X 2 .IV. ⎟= ⎝ 1/ 2 1/ 2 ⎠ 1/ 2 După aplicarea formulelor de transformare se obtine următorul tabel: T. . f j şi f j − c j .1] .

Analiza economico-matematică a unor modele liniare Prezentăm în tabelul de mai jos valorile variabilelor principale şi ale variabilelor de ecart corespunzătoare celor 2 soluţii optime bazice şi a două soluţii nebazice: Variabile Variabile X * bazică X * bazică 1 2 principale de ecart * X 3 nebazică * X 4 nebazică λ = 1/ 2 600 250 500 350 650 0 3800 u.m. Modelul matematic se va extinde prin mărirea numărului de coloane al matricei A: A 4×7 → A4×9 .m.m. Interpretare economică Număr produse P 1 Număr produse P2 Număr produse P3 Fond de timp nefolosit la U 2 Fond de timp nefolosit la U 3 Consum integral la U 4 x1 x2 * * * 600 500 0 100 900 0 600 0 1000 600 400 0 x3 * * * x4 x5 x6 [Max]f 3800 u. c) Fondurile de timp disponibile ale celor patru utilaje rămân nemodificate. După introducerea noilor variabile şi aducerea la forma standard se obţine programul liniar: ⎧ max f = 3 x1 + 4 x 2 + 2 x3 + 5 x8 + 3 x9 ⎪ ⎪ 2 x1 + 2 x 2 + x3 + x8 + 2 x9 = 2200 ⎪ x + x + x + 0 ⋅ x + 1 ⋅ x = 1200 ⎪ 1 2 4 8 9 . Pentru o utilizare eficientă a informaţiilor de la primul punct se vor nota cu x8 şi x9 numărul produselor de tip P4 .m. ∀j = 1. respectiv P5 .9 ⎪ ⎩ . λ = 1/ 5 600 100 800 500 500 0 3800 u. 3800 u. ⎨ x1 + x 2 + x3 + x5 + 2 x8 + 2 x9 = 2000 ⎪ ⎪ x + 2 x + x + x + x + x = 1600 2 3 6 8 9 ⎪ 1 x j ≥ 0. opţiunea pentru unul sau altul făcându-se după criterii impuse de situaţia economică concretă. În problemele concrete este interesant de cunoscut mulţimea programelor optimale.

3/ 2 ⎟ ⎜ ⎟ ⎜ 1/ 2 ⎟ ⎝ ⎠ .IV.Postoptimizare în programarea liniară Se va aplica procedeul descris în secţiunea 5 din acest capitol (postoptimizarea problemelor de programare liniară prin adăugarea unor variabile). Pasul 1 Se citeşte B −1 din ultimul tabel simplex al problemei rezolvate (în cazul studiat.7. B −1 Se citeşte baza optimă din T. ea a fost dată la punctul b): ⎛ 1 ⎜ ⎜ − 1/ 2 =⎜ − 1/ 2 ⎜ ⎜ − 1/ 2 ⎝ 0 0 − 1⎞ ⎟ 1 0 0⎟ . 3/ 2 ⎜ ⎟ ⎜ ⎟ ⎜0⎟ ⎜ 1/ 2 ⎟ ⎝ ⎠ ⎝ ⎠ Pasul 3 Se calculează f 8 − c8 şi f 9 − c9 : ⎛ 0 ⎞ ⎜ ⎟ ⎜ − 1/ 2 ⎟ B −1 B B f 8 − c8 = c ⋅ B ⋅ a8 − c8 = c ⋅ a8 − c8 = (3 0 0 4) ⋅ ⎜ − 5 = −3 . 0 1 0⎟ ⎟ 0 0 1⎟ ⎠ a4 a5 a2 ) .2: B = (a1 Pasul 2 ⎛1⎞ ⎛ 2⎞ ⎜ ⎟ ⎜ ⎟ ⎜ 0⎟ ⎜1⎟ Se scriu vectorii a8 = ⎜ ⎟ şi a 9 = ⎜ ⎟ în baza optimă: 2 2 ⎜ ⎟ ⎜ ⎟ ⎜1⎟ ⎜1⎟ ⎝ ⎠ ⎝ ⎠ ⎛1⎞ ⎛ 0 ⎞ ⎜ ⎟ ⎜ ⎟ ⎜0⎟ ⎜ − 1/ 2⎟ B −1 B −1 a 8 = B ⋅ a8 = ⎜ ⎟ şi a9 = B ⋅ a9 = ⎜ 1 ⎟ .

Coloana vectorului artificial a 7 va fi neglijată. Dacă toate componentele vectorului ar fi fost negative. ∀j ∈ {8. 1 ⎜ ⎟ ⎜0⎟ ⎝ ⎠ Se verifică acum dacă f j − c j ≥ 0 . a8 şi a9 .3 se extinde cu două coloane. În acest caz. se trece la Pasul 4. problema ar fi avut optim infinit. Pasul 5 Se construieşte tabelul simplex al problemei postoptimizate corespunzător bazei optime a problemei iniţiale. are cel puţin o componentă strict pozitivă. Pasul 4 Se observă că vectorul a8B . în care se trec rezultatele de la paşii 2 şi 3.IV.7. trecem la Pasul 5. T.Analiza economico-matematică a unor modele liniare ⎛1⎞ ⎜ ⎟ ⎜0⎟ B −1 B B f 9 − c9 = c ⋅ B ⋅ a9 − c9 = c ⋅ a9 − c0 = (3 0 0 4 ) ⋅ ⎜ ⎟ − 3 = 0 . Deoarece f 8 − c8 < 0 . În acest scop. cu diferenţa f 8 − c8 < 0 .9} . cj cB 3 0 0 4 B 3 4 2 0 0 0 5 3 XB 600 100 900 500 3800 a1 1 0 0 0 3 Ø a2 0 0 0 1 4 Ø a3 0 -1/2 1/2 1/2 2 0 a4 0 1 0 0 0 Ø a5 0 0 1 0 0 Ø a6 -1 0 0 1 1 1 a8 0 -1/2 3/2 1/2 2 -3 a9 1 0 1 0 3 0 ρ 600 1000 max :≥ 0 ? NU a1 a4 a5 a2 fj f j −cj .

Postoptimizare în programarea liniară Soluţia X 1* extinsă cu x8 = 0 şi x9 = 0 devine SAB pentru problema postoptimizată. ∀j . a5 iese din bază. Rezultă noua SAB: cj c B 3 4 2 0 0 0 5 3 B XB 600 400 600 200 5300 a1 1 0 0 0 3 Ø a2 0 0 0 1 4 Ø a3 0 -1/3 1/3 1/3 3 1 a4 0 1 0 0 0 Ø a5 0 1/3 2/3 -1/3 2 2 a6 -1 0 0 1 1 1 a8 0 0 1 0 5 Ø a9 1 1/3 2/3 -1/3 5 2 3 0 5 4 a1 a4 a8 a2 fj f j −cj care este chiar soluţie optimă. Se vor compara soluţiile optime ale programului iniţial şi postoptimizat: Variabile care caracterizează programul optim * x1 = 600 * x2 = 500 * X1 * x3 = 0 Cât se consumă prin program * * * 2 x1 + 2 x2 + x3 = 2200 * * x1 + x2 = 1100 * * * x1 + x2 + x3 = 1100 * * * x1 + 2 x2 + x3 = 1600 Cât din resursele disponibile nu a fost consumat 0 100 900 0 * x1 = 600 * x2 = 200 * X2 * * * * * 2 x1 + 2 x2 + x3 + x8 + 2 x9 = 2200 * * * x1 + x2 + x9 = 800 * * * * * x1 + x2 + x3 + 2 x8 + 2 x9 = 2000 * * * * * x1 + 2 x2 + x3 + x8 + x9 = 1600 0 400 0 0 * x3 = 0 * x8 = 600 * x9 = 0 . fiind înlocuit de a8 . deoarece f j − c j ≥ 0 . trecem la schimbarea bazei. Deoarece f j − c j nu sunt toate pozitive.

mai rămân f 3 − c3 şi f 6 − c6 pozitive? ⎛ 0 ⎞ ⎜ ⎟ ~ ~ ~B B ~ 3 1 ⎜ − 1/ 2⎟ f 3 − c3 = c ⋅ a3 − c3 = (2. 1/ 2 ⎜ ⎟ ⎜ 1/ 2 ⎟ ⎝ ⎠ .5 0 0 3) . a 6 . ci şi în ceea ce priveşte fondul de timp nefolosit (400h la U 2 . Pasul 2 Se stabilesc vectorii nebazici în raport cu baza optimă. nu numai din punctul de vedere al profitului. Acest program este superior lui X 1* . 200. d) Se va aplica procedeul de postoptimizare a vectorului c: Pasul 1 Se citeşte baza optimă . respectiv P8 . P2 . Produsul P9 este nerentabil în condiţiile date de modelul matematic. mai puţin cei artificiali: a3 .5 4 − 1 2 0 0 0 ) şi ~ c B = (2. 600 produse de tipul P1 . După modificarea lui c . B = (a1 Se scriu vectorii linie: c = (3 4 2 0 0 0 ) a4 a5 a2 ) . presupune obţinerea unui venit total de 5300 unităţi monetare. faţă de 100h şi 900h la U 2 şi U 3 ).5 0 0 3) ⋅ ⎜ ⎟ − 2 = 2 − 2 = − 2 < 0.Analiza economico-matematică a unor modele liniare Fabricarea a 600. şi c B = (c1 c4 c5 c 2 ) = (3 0 0 4 ) . ~ ~ Se trece la vectorii modificaţi c şi c B : ~ c = (3 − 0. Observaţie: c corespunde problemei scrisă sub forma standard la punctul b) .

6 .7.5 0. a problemei posoptimizate aplicând algoritmul simplex primal.2.5 -1 1 -1 2 1.7.5 + 3 = 0. Pasul 3 Se stabileşte soluţia optimă.5 0 0 2 a1 a4 a5 a3 ~ fj 600 600 400 1000 3500 1 0 0 0 2. tabel care conţine şi baza optimă citită la pasul 1.5 0 0 3) ⋅ ⎜ ⎟ − 0 = −2. se trece la Pasul 3.5 3 2 0 0 0 B X B a1 1 0 0 0 2.5 Ø a2 0 0 0 1 3 Ø 0 1 -1 2 4 1 a3 0 -1/2 1/2 1/2 3/2 -0.IV.2 se modifică c. dacă există. f j şi f j − c j pentru a j nebazici.5 1. cu X 1* soluţie de start. c B . 0 ⎜ ⎟ ⎜1⎟ ⎝ ⎠ B B Observaţie: Vectorii a3 şi a6 se citesc din T.5 0 0 0 1 2 Ø a4 0 1 0 0 0 Ø 0 1 0 0 0 Ø a5 0 0 1 0 0 Ø 0 0 1 0 0 Ø a6 -1 0 0 1 0.IV.Postoptimizare în programarea liniară ⎛ − 1⎞ ⎜ ⎟ ~ ~ ~B B ~ ⎜0⎟ f 6 − c6 = c ⋅ a 6 − c6 = (2. În T.5 > 0 . ~ ~ Diferenţa f 3 − c3 fiind strict negativă.5 0 0 3 a1 a4 a5 a2 ~ fj 600 100 900 500 3000 ~ ~ f j − cj 2. apoi se aplică algoritmul simplex-primal: ~ cj c B 2.5 Ø [max]f ~ ~ f j −cj ≥ 0 ~ ~ f j − cj ⇒ STOP ∀j ∈ 1.5 ρ 1800 1000 2. Are sens B această trecere deoarece a3 are cel puţin o componentă strict pozitivă.

din A.5 ⎟ . x3 = 1000 . Pasul 2 ⎛ −1 ⎞ ⎜ ⎟ ⎜ 0 ⎟ ~ ~ . . j = 2 . iar venitul total a scăzut la [max]f=3500 u.m. ● Se scrie vectorul modificat în baza optimă: a 2B = B −1 ⋅ a 2 = ⎜ 1/ 2⎟ ⎜ ⎟ ⎜ 3 / 2⎟ ⎝ ⎠ Componenta y 42 este diferită de 0? Dacă NU → STOP. * * * x 4 = 600 . x5 = 400 şi x6 = 0 . Pasul 1 ⎛ 1 ⎞ ⎜ ⎟ ~ = ⎜ 0. Nefiind resurse stocabile. Fondurile de timp ale utilajelor U 2 şi U 3 nu sunt consumate integral prin programul optim. e) Vom discuta la acest subpunct postoptimizarea problemei prin modificarea unui vector a j . 0 1 0⎟ ⎟ 0 0 1⎟ ⎠ ● Se citeşte B −1 ● Se citeşte baza optimă şi se notează cu k locul vectorului modificat în această bază: B = (a1 a4 a5 a 2 ) . se recomandă utilizarea orelor rămase disponibile la prelucrarea unor alte produse. ● Se scrie vectorul cu componentele modificate: a 2 ⎜ ⎟ 1 ⎜ ⎟ ⎜ 2 ⎟ ⎝ ⎠ ⎛ 1 ⎜ ⎜ − 1/ 2 =⎜ − 1/ 2 ⎜ ⎜ − 1/ 2 ⎝ 0 0 − 1⎞ ⎟ 1 0 0⎟ . k=4. x 2 = 0 . vector ce aparţine bazei optime.Analiza economico-matematică a unor modele liniare Se constată că schimbarea veniturilorilor c1 şi c 2 a influenţat * * * structura optimă a programului de fabricaţie: x1 = 600 .

3/ 2 3/ 2 3 3/ 2 3 ⎛ 2/3 ⎞ ⎜ ⎟ ⎜ 0 ⎟ . pentru k=4. în care coloanele j ∈ {1. Aşadar... 1 − 1/ 3⎟ ⎟ 0 2/3 ⎟ ⎠ ~ B −1 . cu componentele vectorului modificat în baza B: η kj = 1 1 2 ⇒ η 24 = = . iar coloana k este chiar vectorul η k . y 42 = 3 ≠ 0.Postoptimizare în programarea liniară Dacă DA → se trece la Pasul 3. m} − {k} sunt vectorii unitari. y kj 3/ 2 3 η ij = − y ij y kj ⇒ η 21 = − −1 2 0 1/ 2 1 = . ⎛1 ⎜ ⎜0 =⎜ 0 ⎜ ⎜0 ⎝ 0 1 0 0 0 2/3 ⎞ ⎛ 1 ⎟ ⎜ 0 0 ⎟ ⎜ − 1/ 2 ⋅ 1 − 1/ 3⎟ ⎜ − 1 / 2 ⎟ ⎜ 0 2 / 3 ⎟ ⎜ − 1/ 2 ⎠ ⎝ 0 1 0 0 0 − 1⎞ ⎛ 2 / 3 ⎟ ⎜ 0 0 ⎟ ⎜ − 1/ 2 = 1 0 ⎟ ⎜ − 1/ 3 ⎟ ⎜ 0 1 ⎟ ⎜ − 1/ 3 ⎠ ⎝ 0 1 0 0 0 1/ 3 ⎞ ⎟ 0 0 ⎟ . 2 Pasul 3 Se construieşte vectorul η k ale cărui componente se găsesc în următoarele relaţii. η 23 = − =− . η 22 = − = 0 .. Aici. unde E m este matricea unitate de ordinul m. η k = ⎜ − 1 / 3⎟ ⎜ ⎟ ⎜ 2/3 ⎟ ⎝ ⎠ Pasul 4 ~ ~ ~ Se calculează B −1 = E m ⋅ B −1 .

2000 ⎟ ⎜ 2200 / 3 ⎟ 1 1/ 3 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ 1600 ⎟ ⎜ 400 / 3 ⎟ ⎜ 1 ⎟ ⎜ 1/ 3 ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎛ 0⎞ ⎛ 1/ 3 ⎞ ⎜ ⎟ ⎜ ⎟ ~ ~ B = B −1 ⋅ ⎜ 0 ⎟ = ⎜ 0 ⎟ . 1⎟ ⎟ 2⎟ ⎠ a4 a5 ~ astfel că. ⎛ 2200 ⎞ ⎛ 2800 / 3 ⎞ ⎛ 1 ⎞ ⎛ 1/ 3 ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ~ B ~ −1 ~ −1 ⎜ 1200 ⎟ ⎜ 2300 ⎟ ~ B ~ −1 ⎜ 0 ⎟ ⎜ − 1 / 2 ⎟ = X = B ⋅b = B ⋅⎜ . ∀j ∈ 1. B −1 va fi inversa lui B după modificarea lui a 2 .Analiza economico-matematică a unor modele liniare Este bine să ne reamintim că B −1 este inversa matricii B = (a1 ⎛2 ⎜ ⎜1 a2 ) = ⎜ 1 ⎜ ⎜1 ⎝ 0 1 0 0 0 0 1 0 2⎞ ⎟ 1⎟ .6 . a3 = B ⋅ ⎜ ⎟ = ⎜ . Pasul 5 Se calculează componentele vectorilor nebazici în baza B cu a 2 modificat. a6 ⎜ 0 ⎟ ⎜ − 1/ 3⎟ ⎜ ⎟ ⎜ ⎟ ⎜1⎟ ⎜ 2 / 3 ⎟ ⎝ ⎠ ⎝ ⎠ cj → 3 4 2 0 0 0 cB 3 0 0 4 B XB 2800/3 2300 2200/3 1000/3 12400/3 a1 1 0 0 0 3 Ø a2 0 0 0 1 4 Ø a3 1/3 -1/2 1/3 1/3 7/3 1/3 a4 0 1 0 0 0 Ø a5 0 0 1 0 0 Ø a6 -1/3 0 -1/3 2/3 5/3 5/3 a1 a4 a5 a2 fj f j −cj . precum şi f j şi f j − c j .

∀j ∈ 1. găsiţi coeficienţii lui x 2 din tabelul optimal al problemei de la punctul d).3 utilizaţi teoria dualităţii pentru a decide dacă soluţia precedentă rămâne optimă. ce corespunde unui venit total maxim egal cu 12400 = 4133.Postoptimizare în programarea liniară f j − c j ≥ 0 . ∀j = 1. * * x5 = 2200 / 3 şi x6 = 0 . ∀j = 1. Problema admite soluţia * x3 = 0 .1 ⎨ ⎩ x1 + 4 x 2 + 5 x3 ≤ 20 x j ≥ 0. e) Utilizând informaţiile furnizate. (3) unităţi monetare.7. * x 2 = 1000 / 3 .3 −1 ⎞ ⎛ 1 pentru care B −1 = ⎜ ⎟ ⎜ − 1 / 5 2 / 5 ⎟ . ⎠ ⎝ a) Identificaţi soluţia optimă folosind informaţiile date. .7. unde B reprezintă baza optimală. 3 Problema 2 Considerăm problema de programare liniară: [max] f = x1 + x 2 + 4 x3 ⎧2 x1 + 3x 2 + 5 x3 ≤ 25 IV.2 ⎨ ⎩ x1 + 3x 2 + 5 x3 ≤ 20 x j ≥ 0. * x 4 = 2300 . Verificaţi această soluţie rezolvând grafic problema duală. b) Scrieţi problema duală. c) Identificaţi soluţia optimă a dualei.6 ? DA ⇒ STOP. optimă finită: * x1 = 2800 / 3 . d) Presupunând că problema originară este modificată astfel: [max] f = x1 + 3x 2 + 4 x3 ⎧2 x1 + 2 x 2 + 5 x3 ≤ 25 IV.

la care adăugaţi x6 = 0 .4 ⎨ ⎩ x1 + 4 x 2 + 5 x3 ≤ 20 x j ≥ 0. g) Utilizaţi matricea inversă a bazei optime a problemei originare pentru a determina coeficienţii lui x6 în tabelul simplex optim al problemei de la punctul f).Analiza economico-matematică a unor modele liniare f) Presupunând că singura modificare a problemei originare este o nouă variabilă x6 introdusă în model după cum urmează: max f = x1 + x 2 + 4 x3 + 2 x6 ⎧2 x1 + 3x 2 + 5 x3 + 3x6 ≤ 25 IV. ∀j = 1.3 ⎨ . x6 ≥ 0 utilizaţi teoria dualităţii pentru a decide dacă soluţia optimă a problemei originare. problemei: h) Determinaţi un interval de stabilitate λ λ pentru parametrul λ al max f = (1 + λ )x1 + (1 + 4λ ) x 2 + (4 + 2λ ) x3 . ⎨ ⎩ x1 + 4 x 2 + 5 x3 + x5 = 20 x j ≥ 0. [ ] ⎧2 x1 + 3x 2 + 5 x3 ≤ 25 IV.3.3. rămâne încă optimă pentru problema extinsă IV.5 . Soluţie: a) Forma standard a problemei ce trebuie rezolvată este [max] f = x1 + x 2 + 4 x3 ⎧2 x1 + 3x 2 + 5 x3 + x 4 = 25 . ⎩ x1 + 4 x 2 + 5 x3 + 2 x6 ≤ 20 x j ≥ 0. ∀j = 1.3 astfel încât soluţia pentru λ = 0 să rămână optimă.7.7. ∀j = 1.7.

ce corespunde unei valori maxime a funcţiei obiectiv [max] f = 17 . x3 = 3 .7. Analizând cu atenţie tabelul simplex optimal. . ⎟ ⎝ ⎠ Tabelul optimal: T.1 cj 1 1 4 0 0 cB 1 4 B XB 5 3 17 a1 1 0 1 Ø a2 -1 1 3 2 a3 0 1 4 Ø a4 1 -1/5 1/5 1/5 a5 -1 2/5 3/5 3/5 ~ ~ f j − cj a1 a3 ~ fj [max] f ≥ 0 ∀j? DA ⇒ STOP ● Forma explicită a sistemului de restricţii în raport cu baza optimă: ⎧5 = x1 − x 2 + x 4 − x5 ⎪ ⎨ 1 2 . iar soluţia optimă a problemei IV. 3 = x 2 + x3 − x 4 + x3 ⎪ 5 5 ⎩ Această formă facilitează rezolvarea punctului e). −1 ⎞ ⎛ 1 B −1 = ⎜ ⎜ − 1/ 5 2 / 5⎟ . x 2 = 0 .Postoptimizare în programarea liniară ⎛ 2 3 5 1 0⎞ ⎜ ⎟ Matricea coeficienţilor tehnologici: ⎜ 1 4 5 0 1 ⎟ . x 4 = 0 .IV. ⎝ ⎠ a1 a 2 a3 a 4 a5 Baza iniţială: (a 4 .7.1 are * * * * * componentele: x1 = 5 . se observă că baza optimă este B = (a1 a3 ) . x5 = 0 . a5 ) .

7. ⎟ ⎝ ⎠ Deci.6 ⎨2u1 + 3u 2 ≥ 3 ⎪5u + 5u ≥ 4 2 ⎩ 1 u i ≥ 0∀i ∈ 1.2 este problema: [min]g1 = 25u1 + 20u 2 ⎧2u1 + u 2 ≥ 1 ⎪ IV.2 c) Soluţia optimă a dualei se calculează cu formula: u * = c B B −1 . Duala problemei IV. Verificarea soluţiei prin această metodă va fi un exerciţiu uşor pentru cititor.7. d) Observăm că modelul IV. Problema duală poate fi rezolvată utilizând metoda grafică.7. valoarea minimă a funcţiei obiectiv este: [min]g = [max] f = 17 . ⎟ ⎝ ⎠ Conform teoremei fundamentale a dualităţii. rezultă că duala problemei considerate este problema de mai jos: [min]g = 25u1 + 20u 2 ⎧2u1 + u 2 ≥ 1 ⎪ IV. unde −1 ⎞ ⎛ 1 B B −1 = ⎜ ⎜ − 1 / 5 2 / 5 ⎟ şi c = (1 4 ) .5 ⎨3u1 + 4u 2 ≥ 1 ⎪5u + 5u ≥ 4 2 ⎩ 1 u i ≥ 0∀i ∈ 1. .Analiza economico-matematică a unor modele liniare b) Respectând regulile de scriere a problemei duale.2 . fiind o problemă cu numai două variabile principale.7.2 diferă de problema iniţială prin modificarea ⎛ 2⎞ ' vectorului a 2 şi a coeficientului c 2 care au fost înlocuiţi cu a 2 = ⎜ ⎟ şi ⎜ 3⎟ ⎝ ⎠ ' respectiv cu c 2 = 3 . −1 ⎞ ⎛ 1 u * = c B B −1 = (1 4 )⎜ ⎜ − 1 / 5 2 / 5 ⎟ = (1 / 5 3 / 5) .

0) O 1/2 4/5 u2 De aici rezultă că [min]g1 = [max] f1 = 20 . în dreptul vectorilor ce au format prima bază. soluţie ce poate fi citită din T. în linia f j . cu g1 = 20 .1. '* * d1 d2 u1 A(0.7.7.7.1.IV. Se 3 1 observă că aceasta nu verifică a doua restricţie din IV. rezultă că la punctul d) răspunsul este negativ. se obţine soluţia optimă a acestei probleme : u = (0 1) . Deoarece f 1 = x1 + 3 x 2 + 4 x3 ia valoarea 5 + 3 ⋅ 0 + 4 ⋅ 3 = 17 pentru soluţia optimă a problemei originare.2 poate fi privit ca un model reoptimizat în două faze al modelului iniţial. valoare ce diferă de 20.7.Postoptimizare în programarea liniară Utilizând metoda grafică. Un alt mod de a rezolva problema este acela al folosirii soluţiei optime u * = (1 / 5 3 / 5) a dualei problemei IV. . e) Modelul IV.1) d3 4/5 B(3/2.6: 2 ⋅ + 3 ⋅ ≥ 3 5 5 FALS.

Vom înlocui vectorul a 2 = ⎜ ⎟ cu vectorul ⎜ 4⎟ ⎝ ⎠ ⎛ 2⎞ ' a2 = ⎜ ⎟ : ⎜ 3⎟ ⎝ ⎠ [max] f = x1 + 3x 2 + 4 x3 ⎧2 x1 + 2 x 2 + 5 x3 ≤ 25 ⎨ ⎩ x1 + 3x 2 + 5 x3 ≤ 20 x j ≥ 0. Se observă că are o ⎠ ⎠⎝ ⎠ ⎝ ⎝ componentă strict pozitivă ⎛ −1 ⎞ ~ ~ f 2 − c3 = (1 4)⎜ ⎟ ⎜ 4 / 5 ⎟ − 3 = −4 / 5 < 0 .5 ⇒ STOP Se constată că soluţia optimă s-a menţinut. ∀j = 1. ∀j = 1. Faza 2 Se aplică procedura de postoptimizare cu modificarea unui vector ⎛ 3⎞ coloană problemei de la faza 1. ∀j = 1. ⎠ ⎝ . înlocuindu-l cu c 2 = 3 : [max] f = x1 + 3x 2 + 4 x3 ⎧2 x1 + 3x 2 + 5 x3 ≤ 25 ⎨ ⎩ x1 + 4 x 2 + 5 x3 ≤ 20 x j ≥ 0.3 Pentru această nouă problemă tabelul simplex final are forma: cj → cB 1 4 B 1 3 4 0 0 X 5 3 B a1 1 0 1 Ø a2 -1 1 3 0 a3 0 1 4 Ø a4 1 a5 -1 a1 a3 fj f j − cj − 1/ 5 1/5 1/5 2/5 3/5 3/5 17 [max] f ≥ 0.3 − 1 ⎞⎛ 2 ⎞ ⎛ − 1 ⎞ ⎛ 1 ' ~ Se calculează: a 2B = B −1 a 2 = ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎜ − 1 / 5 2 / 5 ⎟⎜ 3 ⎟ = ⎜ 4 / 5 ⎟ .Analiza economico-matematică a unor modele liniare ~ Faza 1 Se modifică doar coeficientul c 2 .

⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ Continuând aplicarea algoritmului simplex primal .7. cj → 1 3 4 0 0 c B B X B a1 4/3 1/3 1 0 ~ a 2' 0 1 3 Ø a3 5/3 5/3 5 1 a4 1 0 0 Ø a5 -2/3 1/3 1 1 0 3 a4 a2 fj 35/3 20/3 20 f j −cj .Postoptimizare în programarea liniară Se aplică algoritmul simplex primal pentru a stabili natura problemei postoptimizate: cj → cB 1 4 B 1 3 4 0 0 X 5 3 B a1 1 0 1 Ø ~ a 2' -1 4/5 11/5 -4/5 a3 0 1 4 Ø a4 1 a5 -1 a1 a3 fj f j −cj − 1/ 5 1/5 1/5 2/5 3/5 3/5 17 S-au obţinut: ' ' soluţia optimă de bază: x1' = 35 / 4. x 2 = 15 / 4. a 2 ) : ⎛ 35 / 4 ⎞ ⎛ 1 ⎞ ⎛0⎞ ⎛5 / 4⎞ ⎛ 3/ 4 ⎞ ⎛ − 1/ 2⎞ ⎜ ⎜ 15 / 4 ⎟ = ⎜ 0 ⎟ x1 + ⎜ 1 ⎟ x 2 + ⎜ 5 / 4 ⎟ x3 + ⎜ − 1 / 4 ⎟ x 4 + ⎜ 1 / 2 ⎟ x5 . după încă o iteraţie se obţine cea de-a doua soluţie optimă de bază pentru problema IV.2. x3 = 0 cu * * * f ' = 20 . * forma explicită a sistemului de restricţii în raport cu (a1 .

ne permite scrierea u i ≥ 0∀i ∈ 1. Conform teoremei fundamentale a dualităţii. cu valoarea minimă a funcţiei obiectiv: ~ g * = 18 ≠ g * = 17 . problema IV.7.7.3 se poate rezolva prin postoptimizare cu adăugarea unei noi variabile în model.2 după cum urmează: min g = 25u1 + 20u 2 ⎧2u1 + u 2 ≥ 1 ⎪3u + 4u ≥ 1 ⎪ 1 2 IV. şi anume: a 2' = ⎜ ⎟ .7 ⎨ 5u1 + 5u 2 ≥ 4 ⎪ ⎪3u1 + 2u 2 ≥ 2 ⎩ .7. nu rămâne optimă pentru problema IV.1.3 are valoarea optimă a funcţiei obiectiv f '' = g '' = 18 ≠ f * = g * = 17 . scriem duala IV.7 a problemei IV.7. o simplă * * verificare a restricţiei 4 din IV. Dacă însă utilizăm teoria dualităţii. deci soluţia optimă a problemei IV. . care rezolvată grafic.7. Observaţie: Chiar şi fără a rezolva problema duală IV. la * * care adăugăm u = 0 . arată că u * nu * poate fi nici soluţie admisibilă pentru problema IV.7.7.7. Coeficienţii lui x 2 în forma explicită a problemei IV.7.7.7.Analiza economico-matematică a unor modele liniare Acum putem da răsunsul complet la întrebarea formulată la puctul e).2. ⎜1⎟ ⎝ ⎠ f) Problema IV.3 (într-o astfel de situaţie ar avea loc egalitatea: f '' = f * = 17 ). în raport cu baza optimală (a1 baza optimală (a 4 a 2 ) sunt identici cu coeficienţii lui x 2 în raport cu ~ ⎛0⎞ a 2 ) .7.7 cu u1 = 1 / 5 şi u 2 = 3 / 5 .7.2 ~ soluţiei optime: u * = (2 / 5 2 / 5) .

Pentru determinarea soluţiei sale optime. se utilizează în continuare algoritmul simplex primal. x6 = 5 şi valoarea maximă a funcţiei obiectiv f '' = 18 . obţinem: − 1 ⎞⎛ 3 ⎞ ⎛ 1 ⎞ ⎛ 1 auB = B −1 au = ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎜ − 1 / 5 2 / 5 ⎟⎜ 2 ⎟ = ⎜1 / 5 ⎟ şi ⎠ ⎠⎝ ⎠ ⎝ ⎝ ⎛ 1 ⎞ f 6 − c6 = c B B −1 a 6 − c6 = (1 4)⎜ ⎟ ⎜1 / 5 ⎟ − 2 = ⎠ ⎝ = −1 / 5 < 0 .Postoptimizare în programarea liniară −1 ⎞ ⎛ 1 g) Se cunoaşte că B −1 = ⎜ ⎟ ⎜ − 1 / 5 2 / 5 ⎟ . Soluţia optimă se obţine într-o singură iteraţie. Privind * tabelul anterior putem da şi răspunsul la întrebarea formulată la punctul g): ~ ⎛1⎞ a6 = ⎜ ⎟ .3. Utilizând procedura de reoptimizare ⎠ ⎝ în cazul modificării sistemului de restricţii prin adăugarea unei coloane în matricea A. după cum rezultă din tabelul următor: cj → cB 1 4 B 1 1 4 0 0 2 X B a1 1 0 1 Ø a2 -1 1 3 2 -1 6/5 14/5 9/5 a3 0 1 4 Ø 0 1 4 Ø a4 1 a5 -1 a6 1 1/5 1/5 -1/5 1 0 2 Ø a1 a3 5 3 17 −1 / 5 1/5 1/5 1 -2/5 2/5 2/5 2/5 3/5 3/5 -1 3/5 2/5 2/5 fj f j − cj 2 4 a6 a3 fj f j −cj 5 2 18 1 -1/5 6/5 1/5 Deci.7. problema IV. ⎜0⎟ ⎝ ⎠ .7. ceea ce arată că baza B = (a1 a3 ) nu este optimă pentru problema IV.3 are în soluţia optimă componentele nenule * * x3 = 2.

1. avem: ⎧2 − 3λ ≥ 0 ⎪ ⎨1 / 5 + 3 / 5λ ≥ 0 ⇒ λ ∈ [1 / 3.7.7. Aplicând procedura de postoptimizare cu modificarea vectorului coeficienţilor funcţiei obiectiv.4 rezultă printr-o parametrizare a vectorului coeficienţilor funcţiei obiectiv din problema IV.Analiza economico-matematică a unor modele liniare h) Problema IV. obţinem: cj → 1+ λ 1+ 4λ 4 + 2λ 0 0 cB 1+ λ 4 + 2λ B a1 a3 fj X 5 B a1 1 0 1+ λ a2 -1 1 a3 0 1 4 + 2λ a4 1 a5 -1 2/5 3 / 5 − 1 / 5λ 3 17 + 11λ − 1/ 5 1/5+3/5 λ 1/5+3/5 λ f j −cj Ø 3+ λ 2 − 3λ Ø 3 / 5 − 1 / 5λ Punând condiţiile de optimalitate a soluţiei. .2 / 3] ⎪3 / 5 − 1 / 5λ ≥ 0 ⎩ şi astfel problema este complet rezolvată.

Sign up to vote on this title
UsefulNot useful