Captură de Ecran Din 2022-07-20 La 10.44.09
Captură de Ecran Din 2022-07-20 La 10.44.09
Captură de Ecran Din 2022-07-20 La 10.44.09
PROGRAMARE LINIARA
1.1 Exemple
f c1 x1 c2 x 2 ... cn x n
a m1 x1 a m2 x 2 a mn x n bm
x1 0 , x2 0, xn 0
cantitatea aij din principiul nutritiv Ni con inut într-o unitate din
tipul de hran Fj;
pre ul unitar cj al tipului de hran Fj.
Este posibil ca (P) s aibe solu ii dar nici una din ele s fie admisibil :
A = . Spunem în acest caz c problema (P) este incompatibil .Chiar dac
A , este posibil ca func ia obiectiv s fie nem rginit pe A , adic s
existe
un ir de solu ii admisibile dealungul c ruia func ia obiectiv s tind spre +
sau - , dup caz. În aceast situa ie vom spune c (P) are optim infinit.Dac
(P) are (cel pu in) o solu ie optim , zicem c (P) are optim finit.
Deoarece eventualele restric ii inegalit i sunt nestricte mul imea A
este inchis (în topologia uzual a spa iului Rn), adic o dat cu un ir
convergent de puncte con ine i limita acestuia. Aceast proprietate este
esen ial pentru existen a unei solu ii optime a problemei (P)! Conform unui
rezultat clasic al analizei matematice, dac A este m rginit , atunci f î i
atinge efectiv extremele pe A, i deci (P) are optim finit. În consecin , dac
(P) are optim infinit, cu siguran A este nem rginit . Reciproca nu este în
general adev rat : este posibil ca A s fie nem rginit i totu i (P) s aibe
optim finit.
n
aij x j bi i 1,..., m
j 1 Ax b
xj 0 j 1,..., n sau matricial x 0 unde:
n (max) f cx
(max) f cj xj
j 1
1. Forma general a unei probleme de programare liniar 5
a11 a12 a1 n b1 x1
a 21 a 22 a 2n b2 x2
A b x
a m1 a m2 a mn bm xn
c c1 c2 cn
n
a ij x j bi
j 1 Ax b
xj 0 x 0
n (min) f cx
(min) f cj xj
j 1
Exemplul 1.3.1
6 I. PROGRAMARE LINIARA
(max) f 2 x1 3x 2 4 x 3 (min)( f ) 2 x1 3x 2 4x3
x1 3 x 2 5 x 3 3 x1 3x 2 5x 3 3
3 x1 x 2 5 x1 3x 2 5x 3 3
3x1 x2 5
2 x1 x 3 10
2 x1 x3 10
x1 0, x 2 0, x 3 0
x1 0, x 2 0, x 3 0
Exemplul 1.4.1
(max) f 7 x1 9 x 2 8 x 3 (max) f 7 x1 9 x 2 8 x 3
5 x1 2 x 2 x3 4 5 x1 2 x 2 x3 x4 4
( P) 3 x1 x2 x3 5 ( FSP ) 3x1 x 2 x3 5
x1 2 x 2 3 x 3 9 x 1 2 x 2 3x 3 x5 9
x1 0, x 2 0, x 3 0 x j 0, j 1,...,5
1. Forma general a unei probleme de programare liniar 7
Problema care apare în acest context este aceea de a explica modul în care se
ob ine solu ia optim a problemei (P) dac se cunoa te solu ia optim a formei
sale standard (FSP).
Se poate ar ta u or c între mul imile de solu ii admisibile AP ,ale problemei
(P) i AFSP, ale problemei (FSP), exist o coresponden bijectiv care
conserv solu iile optime. Vom ar ta cum func ioneaz aceast coresponden
pe exemplul precedent.
Notând-o cu , aceasta va asocia unei solu ii admisibile x = ( x1 , x 2 , x 3 )
a problemei (P) vectorul:
(x) ( x1 , x 2 , x 3 , 5x1 2 x2 x3 4, 9 x1 2 x2 3x 3 )
n
xn i bi aij x j i 1,...,m
j 1
n
xn i aij x j bi i 1,..., m
j 1
reprezint cantit ile de principii nutritive cu care sunt dep ite nivelele
minimale specificate în re et .
8 I. PROGRAMARE LINIARA
S consider m problema:
(max) f 3x1 4 x2
3 x1 4 x 2 12
x1 x2 6
2 x1 x2 2
x1 0 , x 2 0
f= 22 27
f=12 B
d1
A
A
d2
x1
O D
d3
1. Forma general a unei probleme de programare liniar 9
Figura 1.5.1
1. Mul imea A este convex , adic o dat cu dou puncte con ine i
segmentul care le une te. O consecin intuitiv a acestei propriet i este c
solu ia optim , dac exist , se g se te “undeva” pe frontiera lui A .
2. Frontiera lui A este un contur poligonal cu un num r finit de
vârfuri i o solu ie optim se g se te neap rat într-unul din ele.
unele din ele nu pot lua decât valori nepozitive ( 0) în timp ce altele pot lua
orice valoare real .
Cu aceast observa ie duala unei probleme de programare liniar cu m
restric ii i n variabile se construie te dup urm toarele reguli:
Exemplul 2.1.1
Problema primal Problema dual
3 x1 2 x 2 x 3 4 x 4 x5 6 u1 0
2 x1 2 x 3 5x 4 x 5 9 u2 f . r . s.
x1 6 x 2 x3 2 x4 3 u3 0
x1 0 3u1 2u2 u3 8
x2 0 2u1 6u3 3
x 3 f . r . s. u1 2u2 u3 1
x 4 f . r . s. 4u1 5u2 2u3 5
x5 0 u1 u2 7
max f 8 x1 3x 2 x 3 5x 4 7 x5 min g (u) 6u1 9u2 3u3
Observa ii: 1) Problema dual are atâtea variabile (respectiv restric ii)
câte restric ii (respectiv variabile) are problema primal .
min max
(restric ie) concordant (variabil ) nenegativ
(restric ie) neconcordant (variabil ) nepozitiv
(restric ie) egalitate (variabil ) f r restric ie de semn
termen liber al unei restric ii coeficient al func iei obiectiv
Ax b uA c
( P) x 0 (Q) u 0
max f ( x ) cx min g (u) ub
n
aij x j bi i 1,..., m ui f . r . s. i 1,..., m
j 1
m
xj 0 j 1,..., n a ij ui cj j 1,.., n
i 1
n m
max f cj x j min g bi ui
j 1 i 1
sau matricial:
12 I. PROGRAMARE LINIARA
Ax b uA c
( P) x 0 (Q) u R m ( f . r. s. )
max f ( x ) cx min g ( u ) ub
Ax b uA c
( P) x 0 ( Q ) u f . r. s.
min f ( x ) cx max g( u ) ub
(max) f ( x ) cx (min) g ( u ) ub
( P) Ax b (Q) uA c
x 0 u 0
T
Teorema 2.3.1 Fie x x1 , x 2 ,..., x n o solu ie admisibil a
problemei (P) i u u1 , u2 ,..., um o solu ie admisibil a problemei (Q).
Atunci:
1) f ( x ) g (u )
2) Dac f ( x ) g (u ) atunci x este o solu ie optim a problemei (P)
iar u este o solu ie optim a problemei (Q).
2. Dualitatea în programarea liniar 13
Demonstra ie:1)Prin ipotez Ax b , x 0 i uA c ,
u 0 .Deducem c uAx ub i uAx cx (nenegativitatea vectorilor x i
u este esen ial !) de unde:
f ( x ) cx uAx ub g (u )
(uA c) x 0
(2.3.1)
u (b Ax ) 0
uAx cx 0
cx ub ( x , u ) este un cuplu de solu ii optime în virtutea
ub uAx 0
(uA c) x u (b Ax ) 0
În nota iile sec iunii (2.2) rela iile matriciale (2.3.1) se pot scrie:
n m
aij ui cj xj 0
j 1 i 1
m n
ui bi aij x j 0
i 1 j 1
Aceste rela ii - modulo admisibilitatea solu iilor celor dou probleme - sunt
echivalente cu:
2. Dualitatea în programarea liniar 15
m
aij ui cj xj 0 j 1,..., n
i 1
n
ui bi aij x j 0 i 1,..., m
j 1
m n
xj 0 a ij u i cj ui 0 aij x j bi
i 1 j 1
n m
a ij ui bi ui 0 aij ui cj xj 0
j 1 i 1
max f cx min g ub
Ax b uA c
x 0 u f . r . s.
m
ele se reduc la: (uA c) x 0 aij ui cj uj 0 j 1,... , n.
i 1
Exemplul 2.3.1
16 I. PROGRAMARE LINIARA
min f 5 x1 2x2 x3 max g 6u1 12u2 4 u3
6 x1 2x2 3x 3 6 6u1 u2 2 u3 5
( P) x1 3x 2 2x3 12 (Q) 2u1 3u2 u3 2
2 x1 x2 4x3 4 3u1 2u 2 4 u3 1
x1 , x 2 , x 3 0 u1 0, u2 f . r. s., u3 0
x ( x1 , x 2 , x 3 ) T i u (u1 , u2 , u3 )
( 5 6u1 u2 2 u 3 ) x1 0 (1)
( 2 2u1 3u2 u3 ) x 2 0 ( 2)
( 1 3u1 2u2 4u3 ) x 3 0 (3)
( 6 6 x1 2 x2 3x 3 )u1 0 ( 4)
( 2 x1 x2 4 x3 4 ) u3 0 (5)
Înlocuind u* în (1) - (5) se constat c rela iile (2),(3),(4) sunt satisf cute de
orice valori numerice acordate variabilelor x1 , x2 , x3. În schimb din (1) i (5)
ob inem rela iile: x1=0 i 2x1 - x2 + 4x3 - 4 = 0 care împreun cu restric ia
egalitate din (P) constituie un sistem liniar:
x1 0
2 x1 x2 4 x3 4
x1 3x 2 2 x3 12
2. Dualitatea în programarea liniar 17
Rezolvând sistemul, ob inem solu ia optim a problemei (P):
x1* 0 , x 2* 20
7 , x 3* 12
7 f max f (x* ) 52
7 g (u * ) g min
(max) f ( x ) c1 x1 c2 x 2 cn x n
a11 x1 a12 x 2 a1n x n b1
a 21 x1 a 22 x 2 a 2 n x n b2
(P)
............................................
a m1 x1 a m2 x 2 a mn x n bm
x1 0, x 2 0, , x n 0
S not m atunci cu u1* , u2* ,..., um* aportul unei unit i din resursa R1, din resursa
R2, .a.m.d. la formarea venitului maxim V*.În virtutea ipotezelor de liniaritate
amintite putem scrie:
Producerea unei unit i din bunul Gj necesit a1j unit i din resursa R1, a2j
unit i din resursa R2 ,....., amj unit i din resursa Rm.
Partea din venitul maxim V* corespunz toare acestor cantit i este:
Sunt suficiente rela iile (2.4.1) - (2.4.3) pentru determinarea efectiv a valorilor
u1* , u2* ,..., um* ? Teoria dualit ii d un r spuns afirmativ pe baza urm toarelor
observa ii:
1) Rela iile (2.4.2) i (2.4.3) arat c u* (u1* , u2* ,..., um* ) constituie o
solu ie admisibil a dualei (Q) asociat problemei (P):
(min) g( x ) b1 u1 b2 u2 ... bm um
a11 u1 a 21 u2 ... a m1 um c1
a12 u1 a 22 u2 ... a m2 um c 2
(Q)
. ..................................
a1n u1 a 2 n un ... a mn um c n
u1 0, u2 0,..., um 0
Astfel, am g sit un con inut economic coerent variabilelor duale u1, u2,..., um
din problema dual (Q). Ele reprezint ni te valori b ne ti asociate la câte o
unitate din fiecare resurs disponibil a firmei i exprim aportul unitar al
fiec rei resurse la formarea venitului maxim. Strict dimensional, variabilele u1,
u2,..., um au semnifica ia unor pre uri ata ate resurselor. Totu i aceste pre uri nu
au nimic comun cu valoarea intrinsec a resurselor ci - a a cum a rezultat din
interpretarea dat - reflect numai m sura particip rii lor la formarea venitului
maxim. Tocmai pentru a preveni identificarea lor cu pre urile reale ale
resurselor, în literatura de specialitate, aceste entit i au fost denumite pre uri
umbr (shadow prices). A rezultat deasemeni i o modalitate de calcul a
acestor m rimi : se rezolv problema dual (Q).
În consecin :
20 I. PROGRAMARE LINIARA
V*
ui* i 1,..., m
bi
(2.4.4)
Prin urmare pre urile duale optime ne arat cu cât se modific venitul
maxim V* al firmei la o varia ie cu o unitate a disponibilului unei resurse.
(2.4.5) arat c dac bunul Gj intr în combina ia optim atunci pre ul s u este
egal cu partea din venitul maxim al firmei corespunz toare resurselor
încorporate într-o unitate din el.
pierderea poten ial de venit pe care firma o va înregistra dac totu i decide
realizarea unei unit i din bunul j.
1 1
segmentului x, y . Pentru g sim z (x y) mijlocul
2 2
segmentului x , y .
Formal :
X convex ( ) x, y X ,( ) 0,1 , z (1 )x y X
Se verific imediat c intersec ia mai multor mul imi convexe este o mul ime
convex .
22 I. PROGRAMARE LINIARA
S x ( x1 , x 2 ,..., x n ) T ax b a1 x1 a 2 x 2 ... a n x n b
H x ( x1 , x 2 ,..., x n ) T ax b a1 x1 a 2 x 2 ... a n x n b
S' x R n ax b ( a) x b a1 x1 a 2 x 2 ... a n x n b
Not : Toate mul imile specificate sunt presupuse, închise adic î i con in
frontierele.
Figura 3.1.1
3. Structura mul imii solu iilor admisibile ale unei probleme de programare liniar 23
S3
S2
S1
S4
Figura 3.1.2
Mul imea A P a solu iilor admisibile ale unui program liniar (P) este o
mul ime convex , poliedral i închis . Frontiera sa se compune din toate
punctele ale c ror coordonate satisfac cu egalitate cel pu in una din restric ii.
De exemplu mul imea poliedral din fig. 3.1.3 are dou raze extreme w1
2
i w . Suporturile acestor vectori sunt paralele cu cele dou muchii dealungul
c rora "se poate merge c tre infinit".
De re inut c o mul ine convex este nem rginit dac i numai dac
are cel pu in o raz extrem iar o mul ime poliedral are un num r finit de
raze extreme.
unde v 1 , v 2 ,...., v p sunt puncte din L arbitrar alese, num rul punctelor fiind
deasemeni variabil.
x+ 2w2
x+ 1w1
2 0
1 0
x
v1
w1
v2
w2
Figura 3.1.3
3. Structura mul imii solu iilor admisibile ale unei probleme de programare liniar 25
Dac L este o mul ime finit atunci conv L este o mul ime poliedral
m rginit . Acest fapt este ilustrat în figura 3.1.4.
X v1 , v 2 , ,vp
conv L
Mul imea finit L
Figura 3.1.4
Formal:
26 I. PROGRAMARE LINIARA
( )x X ,( ) 1, 2, , p 0 cu 1 2 p 1 astfel încât :
1 2 p
x 1 v 2 v p v
x 1 v1 2 v2 p vp 1 w1 2 w2 q wq
w1
1
X w2
v
v3
2
v conv v1,v2,v3
Figura 3.1.5
sec iunea 4.1, AP are cel pu in un vârf, adic p 1. Vom enun a i demonstra
acum teorema central a program rii liniare.
f (x ) cx c1x1 c2 x2 cn xn
cw k 0 ( )k 1, ,q
x( ) x0 w AP , ( ) 0
Atunci:
f ( x ( )) cx 0 cw cînd .
x 1 v1 2 v2 p vp 1 w1 2 w2 q wq
Atunci:
28 I. PROGRAMARE LINIARA
f ( x) cx 1 cv 1 2 cv 2 p cv p 1 cw1 2 cw 2 q cw q
1 cv 1 2 cv 2 p cv p ( 1 2 p ) cv* f (v*)
max f cx
( P) Ax b
x 0
unde:
tim din sec iunea 1.3 c orice program liniar poate fi scris în aceast form .
Forma standard a programului (P) va fi:
y1
max f cx
y2
( FSP ) Ax y b în care: y este vectorul variabilelor de abatere.
x 0,y 0
ym
, solu iile optime ale celor dou probleme se corespund. În fapt, are
urm toarea proprietate mai general .
Teorema 3.3.1 Dac x este un vârf al mul imii AP atunci (x) = (x,y)
cu y = b - Ax este un vârf al mul imii AFSP . Reciproc, dac (x,y) este un vârf
al mul imii AFSP atunci -1(x,y) = x este un vârf al mul imii AP .
Vom vedea în sec iunea urm toare cum se caracterizeaz “algebric” vârfurile
mul imii solu iilor admisibile ale unui program liniar în form standard. Tot
acolo vom ar ta c dac un program (P) este compatibil atunci AP are cel pu in
un vârf i în orice caz un num r finit de asemenea elemente. Pe baza acestor
rezultate, vom putea descrie în paragraful 4 o metod efectiv de rezolvare a
unei probleme de programare liniar .
max f cx
( P) Ax b
x 0
în care masivele A,b,c,x au semnifica iile din (3.3.1). Vom pune în eviden
coloanele matricii A:
3. Structura mul imii solu iilor admisibile ale unei probleme de programare liniar 31
A = [A1 , A2 , … , An ]
implic :
( xi xi )Ai 0
i I( x )
yi Ai 0
i I( x )
n
yi Ai 0 Ay 0
i 1
xi xi
max yi min yi
= i I ( x ), yi 0 = i I ( x ), yi 0
daca toti y i 0 daca toti y i 0
Avem < 0 < i deoarece y 0, cel pu in una din extremit ile , este
finit . Astfel i afirma iile 2) , 3) sunt probate.
Mai r mâne de ar tat c mul imea solu iilor admisibile ale unui
program liniar are un num r finit de vârfuri. În virtutea teoremelor 3.3.1 i
3.4.1, aceasta revine la a ar ta c un program liniar în form standard (P) are
un num r finit de solu ii admisibile de baz . Faptul rezult nemijlocit din aceea
c num rul sistemelor liniar independente ce pot fi extrase dintr-o mul ime
finit de vectori este finit. Vom preciza acest lucru sub forma unei teoreme în
sec iunea urm toare, în care vom introduce un concept u or diferit de cel de
solu ie de baz , acela de solu ie asociat unei baze a programului (P). Noul
concept are avantajul de a fi mai u or de manipulat în practic .
xB
x cu x B xi , xS xj
xS i I j J
xB
B, S b Bx B Sx S b
xS
Deoarece B este o baz a spa iului Rm, B (ca matrice!) este nesingular deci
inversabil . Înmul ind la stânga cu B-1 ob inem:
xB Sx S b cu S B 1S a ij ,b B 1b bi i I
(3.5.2)
i I,j J
1
S B Aj j J
B 1Aj j J
Aj j J
cu
Aj B 1Aj a ij (3.5.3)
i I
Utiliz m (3.5.2) pentru a elimina din expresia func iei obiectiv variabilele
bazice:
B S
xB
f c ,c c B x B c S x S c B ( b Sx S ) c S x S
xS
cBb ( cBS c S )x S f c SxS (3.5.4)
unde:
36 I. PROGRAMARE LINIARA
f c B b ( c B B 1b ) c i bi (3.5.5)
i I
i:
cS cBS c S ( c B B 1S cS ) cj
j J
în care:
cj cB A j c j ( cBB 1 A j cj ) c i a ij cj (3.5.6)
i I
Astfel, în raport cu baza B, programul (P) poate fi adus la urm toarea form
echivalent , conform (3.5.2) i (3.5.4):
max f f cjxj
max f f c SxS j J
( PB ) xB Sx S b xi a ij x j bi i I (3.5.7)
j J
B S
x 0 ,x 0 xi 0 ,i I ;x j 0, j J
Luând în (PB):
xS = 0 xj = 0 , j J (3.5.8)
ob inem:
xB b xi bi i I (3.5.9)
Vectorul:
b xB
x (3.5.10)
0 xS
este evident o solu ie a programului (P), numit solu ia asociat bazei B. Vom
spune c B este o baz admisibil dac solu ia asociat (3.5.10) este
admisibil , ceea ce revine la a spune c bi 0 , i I .
Prin construc ie, solu ia asociat unei baze a programului (P) este o
solu ie de baz în sensul defini iei din sec iunea precedent . Reciproca nu este
în general adev rat . Astfel, dac x = ( x1 , x 2 ,..., x n ) T este o solu ie de baz a
programului (P), num rul componentelor nenule este m. Dac acest num r
este exact m atunci x este solu ia asociat bazei formate din coloanele matricii
3. Structura mul imii solu iilor admisibile ale unei probleme de programare liniar 37
A corespunz toare celor m componente nenule. Spunem în acest caz c x
este o solu ie de baz nedegenerat . Dac num rul componentelor nenule este
< m,
ci cr cj ck
CB B VV Ai Ar Aj Ak
B
ci Ai bi 1 0 aij ai (TB)
k
cr Ar br 0 1 arj ar
k
f f * * cj ck
38 I. PROGRAMARE LINIARA
Tabelul 3.5.1
4. Metoda simplex
Deoarece tim c dac programul în form standard (P) are optim finit
o solu ie optim va fi cu necesitate o solu ie de baz i deci va fi asociat unei
baze B*, este natural s ne întreb m cum g sim aceast baz optimal
B*.Traducând în termeni algebrici procedeul geometric “naiv”, descris în
finalul sec iunii 3.2, rezult urm toarea procedur :
valoarea func iei obiectiv cre te progresiv. Metoda simplex ofer un test
simplu de recunoa tere a optimalit ii unei solu ii de baz i deasemeni un test
de recunoa tere a optimului infinit. Practica numeric a ar tat c num rul
solu iilor admisibile de baz efectiv generate este de regul mult mai mic decât
num rul total al acestora.
Cu anumite precau ii, u or de îndeplinit, metoda simplex garanteaz
convergen a procesului iterativ în sensul c o baz admisibil cercetat la un
moment dat nu mai revine în itera iile ulterioare (vezi sec iunea 4.5). Cum
num rul bazelor este finit, urmeaz c într-un num r finit de pa i se ajunge fie
la solu ia optim fie la concluzia c programul are optim infinit.
Fire te, în aceast descriere succint , am plecat de la ipoteza cunoa terii
unei solu ii admisibile de baz ini iale, adic de la premiza c (P) este un
program compatibil. În sec iunea 4.3 vom vedea cum se face recunoa terea
incompatibilit ii unui program liniar.
4. Metoda simplex 39
4.1 Teoremele fundamentale ale metodei simplex
f ( y) f c jy j f f ( x)
j J
Inegalitatea de mai sus arat c , dintre toate solu iile admisibile ale
programului(P),solu ia x din (3.5.10) ofer func iei obiectiv f cea mai mare
valoare posibil . Dac costurile reduse sunt pozitive i y x atunci
inegalitatea de mai sus este strict , fapt care probeaz unicitatea solu iei
optime x .
xk = 0 ; xj = 0 , j J,j k (4.1.1)
Rezult :
xi bi a ik , i I (4.1.2)
40 I. PROGRAMARE LINIARA
Not m cu x ( ) solu ia ale c rei componente sunt definite în (4.1.1) i
(4.1.2). Condi ia enun ului face ca x ( ) A, ( ) 0. Evalu m func ia
obiectiv în solu ia x ( ) :
f ( x( )) f ck (4.1.3)
Rezult imediat c : lim f ( x( )) .Deci f este nem rginit superior pe A i
ca urmare (P) are optim infinit.
br bi
min (4.1.4)
a rk i I a ik 0 a ik
Ak BA k a ik A i a rk A r
i I ,i r
a ik i 1 k
Ar A A
i I ,i k a rk a rk
Din teorema substitu iei rezult c sistemul B', format din coloanele Ai , i r
i Ak, este o baz a problemei (P).
br
Pentru i = r avem x r br a rk 0 a a c solu ia de mai sus poate fi
a rk
rescris astfel:
xj 0 , j J, j k ; xr 0
br br (4.1.6)
xi bi a ik , i I, i r ; xk
a rk a rk
- dac a ik 0 atunci xi 0;
br bi br
- dac a ik 0 atunci b i a ik 0 care are loc
a rk a ik a rk
conform alegerii indicelui r (vezi (4.1.4)).
În al doilea rând remarc m c x este solu ia asociat bazei B'. Într-adev r, din
(4.1.6) rezult c în x toate variabilele secundare în raport cu baza B' au
valoarea 0. Afirma ia rezult acum din unicitatea solu iei asociate unei baze.
br
f (x ) f ck f f ( x) (4.1.7)
a rk
max f f c jx j cr x r
j J,j k
xi a ij x j a ir x r bi i I, i r
( PB' ) j J,j k (4.1.8)
xk a kj x j a kr x r bk
j J,j k
x1 , x 2 ,..., x n 0
(Vom remarca faptul c unele elemente din (4.1.8) sunt deja evaluate! Astfel,
termenii liberi, adic valorile noilor variabile bazice, sunt da i de (4.1.6) în
timp ce constanta f , care este valoarea func iei obiectiv în noua solu ie de
baz x , a fost ob inut în (4.1.7).)
Fire te, (4.1.8) se poate ob ine ca i (3.5.7) prin înmul irea la stânga a
sistemului original de restric ii Ax = b cu matricea invers (B')-1. Putem deduce
(4.1.8) direct din (3.5.7) cu ajutorul urm toarelor opera ii:
xr a rj x j a rk x k br
j k
a rj a ik br
xi ( a ij )x j xr bi a ik , i I, i r (4.1.10)
j k a rk a rk a rk
Mai departe substituim acela i xk i în expresia func iei obiectiv din (3.5.7).
G sim:
br a rj ck
f (f ck ) (c j ck )x j xr (4.1.11)
a rk j k a rk a rk
a rj i I, i r a ik
a ij a ij a ik ; a ir i I, i r
a rk j J, j k a rk
a rj 1
a kj j J, j k ; a kr (4.1.12)
a rk a rk
br a rj ck
f f ck ; cj cj ck j J, j k ; cr
a rk a rk a rk
ck min c j (4.2.1)
j J
Pasul 3. Dac :
a ik 0,i I ( Ak 0)
br bi
min (4.2.2)
a rk i I aik 0 a ik
br
f (x ) f ( x) ck (4.2.3)
a rk
br
Cum 0 (vezi (4.2.2)) urmeaz c introducerea în baz a oric rei coloane
a rk
nebazice Aj cu c j 0 îmbun t e te valoarea curent a func iei obiectiv.
Alegerea coloanei nebazice care va intra în baza curent dup formula (4.2.1)
asigur func iei obiectiv cea mai mare vitez de varia ie i în general conduce
la terminarea algoritmului în mai pu ine itera ii.
wi a ik , i I; wj 0 , j J, j k ; wk 1 (4.2.4)
1 2 p
x 1x 2x ... px cu 1, 2 ,..., p 0 si 1 2 ... p 1
(altfel spus, orice solu ie optim este o combina ie convex a solu iilor optime
de baz )
max f 2 x1 x 2
( P) x1 x 2 4 ; 3x1 x 2 18 ; x1 2x 2 6
x1 0 , x2 0
x2
Figura 4.2.1
Aducem (P) la forma standard ad ugând variabilele de abatere x3, x4, x5:
max f 2 x1 x2
x1 x2 x3 4
( FSP) 3x1 x2 x4 18
x1 2x 2 x5 6
xj 0 , j 1,...,5
Se observ c matricea A a coeficien ilor formei standard (FSP) con ine baza
unitar E = [ A3,A4,A5] a c rei solu ie asociat :
1 = 0 , x2 = 0 , x3 = 4 , x4 = 18 , x5 = 6
48 I. PROGRAMARE LINIARA
2 1 0 0 0
cBB VVB A1 A2 A3 A4 A5
0 A3 4 1 -1 1 0 0 x 1 - x 2 + x3 = 4
0 A4 18 3 -1 0 1 0 3x1 - x2 +x4 = 18
0 A5 6 -1 2 0 0 1 -x1+2x2 +x5 = 6
f 0 -2 -1 * * * -2x1 -x2 +f = 0
22 A1 4 1 -1 1 0 0 x1 -x2 + x3 = 4
0 A4 6 0 2 -3 1 0 2x2 -3x3 +x4 = 6
0 A5 10 0 1 1 0 1 x 2 + x3 +x5 = 10
f 8 * -3 2 * * -3x2 +2x3 +f = 8
2 A1 7 1 0 -1/2 1/2 0 x1 - 1/2x3+1/2x4 = 7
1 A2 3 0 1 -3/2 1/2 0 x2 -3/2x3+1/2x4 = 3
0 A5 7 0 0 5/2 -1/2 1 5/2x3 - 1/2x4 +x5 = 7
f 17 * * -5/2 3/2 * -5/2x3+3/2x4 +f = 17
2 A1 42/5 1 0 0 2/5 1/5 x1 +2/5x4 +1/2x5 =
42/5
1 A2 36/5 0 1 0 1/5 3/5 x2 +1/5x4 +3/5x5 = 36/5
0 A3 14/5 0 0 1 -1/5 2/5 x3 -1/5x4 +2/5x5 =
14/5
f 24 * * * 1 1 x4 + x5 +f = 24
Componentele
solu iei de baz Solu ia Valoarea
Solu ia Baza generat de algoritm programului func iei
x1 x2 x3 x4 x5 (P) obiectiv
S0 B0 = [A3 , A4 , 0 0 4 18 6 (0 , 0) 0
A5]
S1 B1 = [A1 , A4 , 4 0 0 6 10 (4 , 0) 8
A5]
S2 B = [A1 , A2 ,
2
7 3 0 0 7 (7 , 3) 17
A5]
S3 B = [A1 , A2 ,
3
42/5 36/5 14/5 0 0 (42/5 , 36/5) 24
A3]
4. Metoda simplex 49
Tabelul 4.2.5
Este util s recapitul m într-un tabel solu iile admisibile de baz ale
programului (FSP) , efectiv generate de algoritm , împreun cu solu iile
programului (P), asociate prin coresponden a din finalul sec iunii 3.3 (vezi
tabelul 4.2.5).
Urm rind imaginea grafic (fig. 4.2.1), deducem sensul geometric al
algoritmului simplex: procedura pleac dintr-un vârf al mul imii solu iilor
admisibile apoi se deplaseaz c tre un vârf “vecin” mai bun .a.m.d. pân la
g sirea solu iei optime.
Vom spune c programul în form standard (P) este în form bun dac
matricea A con ine o submatrice unitate de ordinul m (= num rul restric iilor)
iar termenii liberi sunt nenegativi. Dac este a a, (P) satisface condi ia (3.5.1)
iar solu ia asociat bazei unitare este admisibil i poate fi considerat ca
solu ie de start pentru aplicarea algoritmului simplex. Dac (P) nu este în
form bun , el se poate aduce la aceast form , notat (FBP), în felul urm tor:
1. Forma bun are optim infinit. Atunci i programul ini ial are optim
infinit.
2. Forma bun are optim finit dar în solu ia optim cel pu in o
variabil artificial are valoare nenul . Atunci programul original este
incompatibil.
3. Forma bun are optim finit i în solu ia optim toate variabilele
artificiale au valoarea zero. Ignorând valorile acestor variabile se ob ine
solu ia optim a programului ini ial.
Se constat c (FSP) nu este în forma bun necon inând decât un singur vector
al matricii unitare de ordinul 3. Vom creea o asemenea matrice introducând în
primele dou restric ii variabilele artificiale x6 i x7. Ob inem programul:
4. Metoda simplex 51
(max) f 2 x1 3x 2 Mx 6 Mx 7
2 x1 x2 x3 x6 40
( FBP ) x1 3x 2 x4 x 7 30 , M 0
x1 x2 x5 30
x j 0 , j 1,...,7
x1 = x2 = x3 =x4 = 0 x5 = 30 , x6 = 40 , x7 = 30
Dup trei itera ii (vezi tabelele 4.3.1 - 4.3.4) se ob ine solu ia optim a
programului (FBP) în care variabilele artificiale x6 , x7 au valoarea zero.
Ignorând aceste valori se ob ine solu ia optim a formei standard (FSP) i
implicit solu ia optim a programului original (P):
x1 10 , x 2 20 f max 80
2 3 0 0 0 -M -M
cB B VVB A1 A2 A3 A4 A5 A6 A7
-M A6 40 2 1 -1 0 0 1 0
-M A7 30 1 3 0 -1 0 0 1
0 A5 30 1 1 0 0 1 0 0
f -70M -3M-2 -4M-3 M M * * *
-M A6 30 5/3 0 -1 1/3 0 1 -1/3
3 A2 10 1/3 1 0 -1/3 0 0 1/3
0 A5 20 2/3 0 0 1/3 1 0 -1/3
f -30M+30 -5/3M-1 * M -M/3-1 * * 4M/3+1
2 A1 18 1 0 -3/5 1///5 0 3/5 -1/5
3 A2 4 0 1 1/5 -2/5 0 -1/5 2/5
0 A5 8 0 0 2/5 1/5 1 -2/5 -1/5
f 48 * * -3/5 -4/5 * M+3/5 M+4/5
2 A1 10 1 0 -1 0 -1 1 0
3 A2 20 0 1 1 0 2 -1 0
0 A4 40 0 0 2 1 5 -2 -1
f 80 * * 1 * 4 M-1 M
x2
A
S1: x1=0 , x2=10 x1
Figura 4.3.1
unde E este matricea unitate de ordinul m = num rul restric iilor din (P). Dup
cum am v zut, E se ia ca baz de start în procesul rezolv rii programului (P)
Cum matricea B-1A apare în “corpul mare” al tabelului simplex corespunz tor
bazei B, deducem urm toarea concluzie important :
1 0 1
1 6 7 5
B A ,A ,A 1 0 2
2 1 5
54 I. PROGRAMARE LINIARA
O calitate remarcabil a algoritmului simplex este aceea c produce
nu numai solu ia optim a problemei c reia i se aplic ci i solu ia optim a
problemei duale.
max f ( x ) cx min g( u ) ub
(P) Ax b (Q) uA c
x 0 u oarecare
care este dualul programului (P) rezolvat în exemplul 4.3.1. Dup ad ugarea
variabilelor de abatere i a celor artificiale, din (P) s-a ob inut programul
(P1) = (FBP) al c rui dual este:
1 0 1
B 1
u c B 2 3 0 1 0 2 1 0 4
2 1 5
adic : u1 1, u2 0, u3 4.
j cB A j c i a ij j J
i I
c j = j - cj j=1,…,n
i deci m rimile j sunt efectiv calculate în procesul evalu rii coeficien ilor
c j ! Acesta este i motivul pentru care de multe ori m rimile j sunt puse în
eviden într-o linie separat plasat în tabelul simplex deasupra liniei test. Cu
aceste preg tiri, formula (4.4.1) arat c :
x1 + 14 x 4 8x 5 x6 9x 7 0
x2 + 12 x 4 12 x 5 1
2 x6 3x 7 0
x3 + x6 =1
3 1
(max)f = 4 x4 20 x 5 2 x6 6x 7
B5 = [A6,A2,A3] , B6 = [A4,A2,A3]
Demonstra ie: Fie x 0 , x 1 , x 2 ,... solu iile cercetate în cursul aplic rii
algoritmului , x 0 fiind solu ia ini ial . Avem f ( x 0 ) f ( x 1 ) f ( x 2 ) ....
Ipoteza nedegener rii precum i formula (4.2.3) arat c de fapt
f ( x 0 ) f ( x 1 ) f ( x 2 ) ... i deci nici o solu ie admisibil de baz nu va fi
cercetat de dou ori. Concluzia teoremei rezult acum din faptul c num rul
solu iilor de baz este finit (vezi sec iunea 3.5).
Din fericire, exist proceduri de evitare a cicl rii care constau într-o
mic modificare a regulii (4.2.2). Ele sunt încorporate în orice pachet de
programe destinat rezolv rii problemelor de programare liniar . O asemenea
metod va fi descris în cele ce urmeaz . Sunt necesare câteva preg tiri.
x y dac x-y 0
Prin urmare rela ia este o rela ie de ordine total pe Rn care extinde rela ia
de ordine natural din R În plus ea este compatibil cu structura liniar a
spa iului Rn în sensul c :
x y x+z y+z
x y i >0 x y
Ax b 0
( P) x 0
(max) f cx
4. Metoda simplex 59
Putem presupune c problema (P) este în form bun , altfel spus c matricea A
con ine o submatrice unitate de ordinul m, unde m este, ca de obicei, num rul
restric iilor. Renumerotând convenabil variabilele problemei putem presupune
c primele m coloane din A sunt unitare, astfel c A are forma A = E , S .
Atunci tabelul simplex asociat unei baze oarecare B, nu neap rat admisibil ,
are urm torul con inut:
VVB
B b B-1 B-1S
Fie I mul imea indicilor vectorilor Ai care formeaz baza B. Pentru fiecare i I
not m:
qiB bi , ai1 , ai 2 ,..., aim (4.5.1)
0
i este clar c to i q iB 0 . Introducem vectorul q B ( f , c ) în care f este
valoarea func iei obiectiv în solu ia asociat bazei B iar c este vectorul
costurilor reduse corespunz toare (vezi sec iunea 3.5).
Defini ie Spunem c baza B' este lexicografic mai bun decât baza B
(în sensul maximiz rii func iei obiectiv f ) i vom scrie B' B dac qB' qB.
Evident B' B este o rela ie de ordine total în mul imea bazelor problemei (P).
Se constat imediat c dac B' este lexicografic mai bun decât B atunci B' este
cel pu in la fel de bun ca i B în sensul obi nuit adic f ' f .
60 I. PROGRAMARE LINIARA
Ideea de modificare a algoritmului simplex descris în 4.2 const în a
pleca de la o baz B0 lexicografic admisibil i de a genera în continuare numai
baze lexicografic admisibile B1 , B2 ,... care s fie din ce în ce mai bune în sens
lexicografic, adic :
B0 B1 B2 ...
Având în vedere c în irul de mai sus nu pot exista dou baze identice i c
num rul bazelor admisibile este finit urmeaz c ideea de modificare a
algoritmului simplex propus mai sus garanteaz convergen a procedurii.
1 B 1 B
qr minlex qi (4.5.2)
a rk i ,aik 0 aik
în care qiB , i I sunt da i de (4.5.1) iar minimul din membrul drept este luat
în sens lexicografic. Acest minim se calculeaz astfel:
br bi
min
a rk i ,aik 0 aik
1 B
Dac I0 se reduce la un singur indice r atunci q r realizeaz minimul
a rk
lexicografic din (4.5.2). Prin urmare dac minimul din (4.2.2) este unic cele
dou criterii de ie ire din baz (4.2.2) i (4.5.2) coincid.
Dac I0 se compune din cel pu in dou elemente, se determin mul imea I1 I0
a indicilor r cu proprietatea c :
ar1 a
min i1
a rk i I 0 a ik
a ri a r 'i
pentru to i i = 1,...,m
a rk a r 'k
ceeace ar implica propor ionalitatea a dou linii din matricea B-1, fapt
imposibil. Prin urmare, minimul din (4.5.2) este unic.
S ar t m acum c noua baz B' dedus din B înlocuind Ak cu Ar:
aik B 1 B
qiB ' qiB qr i r; q kB ' qr
a rk a rk
1 B 1 B
qiB ' aik qi qr 0
aik a rk
ck B
în virtutea alegerii lui r, conform (4.5.2). În fine: q B ' qB q r i deoarece
a rk
ck < 0 rezult q B ' qB .
62 I. PROGRAMARE LINIARA
Aplicarea în calculul manual a criteriului de ie ire din baz modificat
(4.5.2) este foarte simpl :
bi
Dac minimul rapoartelor , aik 0 din criteriul uzual de ie ire
aik
din baz nu este unic i se atinge pe o submul ime de indici I0 se caut minimul
a
rapoartelor i1 , i I 0 în care num r torii sunt lua i din prima coloan a
aik
inversei bazei curente. Dac nici acesta nu este unic i se atinge pe o
a
submul ime I1 I0 se caut minimul rapoartelor i 2 , i I 1 cu num r torii din
aik
a doua coloan a inversei bazei .a.m.d. Dup cum am v zut acest proces se
termin într-un num r finit de pa i cu g sirea unui unic indice r. Vectorul Ar
p r se te baza.
Considera iile de mai sus vor fi aplicate problemei din ex.4.5.1 (vezi tabelele
4.5.1 - 4.5.3)
La prima itera ie intr în baz A4. Se observ c :
b1 b2
min , min 0 , 0
a14 a 24
nu este unic. Fie I0 = {1,2}. Prima coloan a inversei bazei curente este A1 i
ca urmare calcul m:
a11 a 21 1 0 a 21
min , min , 0
a14 a 24 14 12 a 24
3 4 0 0 0
CB B VVB A 1
A 2
A 3
A4
A5
3 A1 4/5 1 0 1/5 -4/5 0
4 A2 18/5 0 1 2/5 -3/5 0
0 A5 42/5 0 0 3/5 -2/5 1
f 84/5 * * 11/5 -24/5 *
Tabelul 4.6.1
Vectorul w1=(4/5, 3/5, 0, 1, 2/5)T este o raz extrem a mul imii AFSP a
solu iilor admisibile ale formei standard (FSP), vezi (4.2.4). Prin "proiec ie",
vectorul w1=(4/5, 3/5) este o raz extrem a mul imii AP a solu iilor admisibile
ale programului ini ial (P). Din fig. 4.6.1 rezult c AP mai are o raz extrem
w2=(2,1)T. Aceast raz se poate determina tot cu ajutorul algoritmului simplex
64 I. PROGRAMARE LINIARA
cu condi ia ca la prima intera ie, în baz , s fie introdus coloana A1.
Propunem cititorulului s efectueze calculele necesare.
x2
v1+ w1, 0
1
v
AP
w1=(4/5,3/5)
w2=(2,1)
v2+ w2, 0
v2
x1
Figura 4.6.1
Exemplu 4.6.2 (Incompatibilitate) Consider m programul:
(min) f 6 x1 x 2 2 x 3
5 x1 x 2 x3 6
( P) 2 x1 x 2 3 x 3 7
3 x1 x 2 2 x 3 2
x1 , x 2 , x 3 0
(min) f 6 x1 x 2 2 x 3 Mx 6 Mx 7 ,M 0
5 x1 x 2 x3 x4 x6 6
( FBP) 2 x1 x 2 3 x 3 x5 7
3 x1 x 2 2 x 3 x7 2
xj 0 1 j 7
4. Metoda simplex 65
Tabelul 4.6.2
În consecin , în locul coloanei Aj a coeficien ilor varia iei xj vor apare dou
coloane:
min f 3 x1 2 x2
x1 2 x2 2
( P)
3 x1 x2 3
x1 fara restrictii de semn, x 2 0
3 -3 2 0 0 M
CB B VVB (A1)' (A1)'' A2 A3 A4 A5
2 A2 3/5 0 0 1 -3/5 -1/5 3/5
-3 (A1)'' 4/5 -1 1 0 1/5 2/5 -1/5
f - 6/5 0 * * - 9/5 - 8/5 9/5 - M
Tabelul 4.6.3
x1* 4 / 5, x 2* 3/ 5
4. Metoda simplex 67
4.7 Interpretarea economic a algoritmului simplex
max f cx
Ax b
x 0
Aceasta rezult din faptul c în orice solu ie de baz num rul componentelor
nenule nu dep e te num rul restric iilor. În consecin , realizarea unor bunuri
ce nu sunt incluse în "lista optim " implic ad ugarea unor noi restric ii în
model, fapt care duce la diminuarea optimului ini ial.
Dup cum se vede, lista activit ilor de baz determin în mod unic cantit ile
de bunuri ce pot fi produse i ca atare detectarea unui program mai bun se
poate face numai studiind oportunitatea utiliz rii unor activit i secundare care
68 I. PROGRAMARE LINIARA
s înlocuiasc o parte din activit ile bazice curente. Pentru aceasta avem
nevoie de un criteriu care s permit compararea unei activit i secundare j cu
grupul activit ilor de baz . S examin m coloana Aj a tabelului simplex
asociat bazei B. Conform (3.5.3) Aj = B-1Aj de unde Aj = B. Aj sau:
Aj a1 j A 1 a 2 j A 2 .... a mj A m (4.7.1)
x1 b1 a 1k , x 2 b2 a 2 k ,..., x m bm a mk
4. Metoda simplex 69
Deoarece desf urarea unei activit i la un nivel negativ este lipsit de sens
va trebui s avem bi aik 0 i 1,.., m de unde:
bi
0 min
i ,a
ik
0 aik
(max) f cx
( P) x 0
Ax b
1) Costurile reduse: c j cB B 1 A j cj , j J
Dac testul de optimalitate nu este îndeplinit se determin k J astfel ca:
ck min c j
j J
k
A B 1 Ak
Admi ând c nu are loc cazul optimului infinit se determin i I astfel încât:
br min bi
a rk a ik 0 a ik
Dup efectuarea opera iilor necesare evalu rii elementelor amintite, tabelul
simplex curent se pivoteaz cu pivotul ark..
cj=cB Aj-cj , j J
=cBB-1
B b B-1
f f
cj= Aj-cj , j J
ck min c j ( ck 0 !)
j J
br min bi
a rk a ik 0 a ik
72 I. PROGRAMARE LINIARA
efectu rii unei itera ii i pe de alta cre terea timpului de calcul ca urmare a
"îndesirii" elementelor nenule din B-1.În principiu, atenuarea acestor
neajunsuri se face prin reinversarea periodic a bazei curente i "stocarea"
inversei B-1 sub forma unui produs de matrici foarte simple ca structur .
(max) f 3x1 4 x2 x3 2 x4 2 x5 x6
2 x1 4 x3 2 x4 2 x6 5
2 x1 4 x2 4 x4 2 x5 2 x6 1
(P)
x2 x3 1
x4 x5 x6 1
xj 0 ,1 j 6
2 x1 4 x3 2 x4 2 x6 x7 5
2 x1 4 x2 4 x4 2 x5 2 x6 x8 x9 1
x2 x3 x10 1
x4 x5 x6 x11 1
xj 0 , j 1,...,11
w=x9+x10+x11
pe care o minimiz m. Lu m ca baz de start B=E= A7, A9, A10, A11 c reia îi
corespunde solu ia: x1=x2=x3=x4=x5=x6=x8=0 , x7=5 , x9=1 , x10=1 , x11=1. În
raport cu aceast baz cB= 0,1,1,1 astfel c =cBB-1= 0,1,1,1 , w= b=3 .
Primul tabel simplex redus arat astfel:
A7 5 1 0 0 0
A9 1 0 1 0 0
A10 1 0 0 1 0
A11 1 0 0 0 1
w 3 0 1 1 1
74 I. PROGRAMARE LINIARA
Tabelul 4.8.1
(A4)T 2 4 0 1 A4
A7 5 1 0 0 0 2
A9 1 0 1 0 0 4
A10 1 0 0 1 0 0
A11 1 0 0 0 1 1
w 3 0 1 1 1 5= c4
Tabelul 4.8.2
(A2)T 0 -4 1 0 A2 (A3)T -4 0 1 0 A3
A7 9/2 1 -1/2 0 0 2 A 7
3 1 0 0 -2 -4
A4 1/4 0 1/4 0 0 -1 A4 1 0 0 0 1 0
A10 1 0 0 1 0 1 A10 1/4 0 1/4 1 -1 1
A11 3/4 0 -1/4 0 1 1 A2 3/4 0 -1/4 0 1 0
w 7/4 0 -1/4 1 1 2= c2 w 1/4 0 1/4 1 -1 1= c3
cB (A1)T 2 2 0 0 A1
7
0 A 4 1 1 4 -6 4
2 A4 1 0 0 0 1 0
3
1 A 1/4 0 1/4 1 -1 1/2
4 A2 3/4 0 -1/4 0 1 -1/2
w 0
f 21/4 0 -3/4 1 5 -9/2= c1
Tabelul 4.8.5
i facem produsele scalare ale lui (A4)T cu liniile matricei B-1; rezultatele le
înscriem în dreapta tabelului 4.8.2. Tot în dreapta jos înscriem costul redus c4.
Parcurgând celelalte etape al algoritmului g sim c A9 p r se te baza. Se
efectueaz pivotarea tabelului 4.8.2 cu pivotul încadrat i se ob ine tabelul
(4.8.3). Tabelele 4.8.4 si 4.8.5 apar in deasemeni fazei I.
4. Metoda simplex 75
Tabelul 4.8.6
x1* 11
2 , x 2* 0 , x 3* 1 , x 4* x5* 0 , x 6* 1 ; (max) f 37
2
(A5)T 0 -2 0 1 A5 (A3) -4 0 1 0 ( A 3)
(A8)T 0 -1 0 0 A8 (A6)T -2 2 0 1 A6
5
A 1 0 0 0 1 0 A5 1 0 0 0 1 1
A3 1/4 -1/8 1/8 1/2 1/4 -1/8 A3 1 0 0 1 0 0
A1 3 1/4 1/4 1 1/2 -1/4 A1 9/2 1/2 0 2 0 -1
A2 3/4 1/8 -1/8 1/2 -1/4 1/8 A2 6 1 -1 4 -2 -6
f 57/4 9/8 3/8 11/2 11/4 -3/8 = c8 f 33/2 3/2 0 7 2 -2 = c6
A6 1 0 0 0 1
A3 1 0 0 1 0
A1 11/2 1/2 0 2 1
A8 12 1 -1 4 4
f 37/2 3/2 0 7 4
Tabelul 4.8.11
***
(vezi nota iile matriciale(3.3.1)) Fie B o baz a programului (P), I mul imea
indicilor coloanelor din B, J mul imea indicilor coloanelor din A care nu sunt
în B. În sec iunea 3.5 am scris (P) în forma:
(max) f f cj xj (max) f f c S xS
j J
( PB ) xi aij x j bi xB Sx S b
j J
B S
x 0, x 0
xi 0 ,i I ;xj 0, j J
(vezi nota iile (3.5.2-3.5.7)), numit forma explicit a programului (P) în raport
cu baza B.
S consider m acum dualul programului (P):
m
aij ui cj j 1,..., n
i 1 uA c
( Q) ui oarecari , i 1,..., m u oarecare
m
(min) g ub
(min) g bi ui
i 1
5. Algoritmul simplex dual 77
(vezi nota iile din 2.2) Aducem sistemul de inegalit i uA c la forma standard
introducând variabilele de abatere v1, v2, ..., vn reunite în vectorul linie v.
m
aij ui vj cj
i 1 uA v c
( FSQ) ui oarecari , i 1,..., m; v j 0 j 1,..., n u oarecare , v 0
m (min) g ub
(min) g bi ui
i 1
Parti ionând:
v v B ,vS cu v B vi i I
, vS vj
j J
uB v B cB (511
..)
uA v c u B, S v B ,vS cB ,cS
uS v S cS (512
.. )
u cB B 1
vBB 1
(5.1.3)
Introducem u în (5.1.2):
(c B B 1
v B B 1 )S vS cS vS v B B 1S c B B 1S cS vS vBS cS
(cu nota iile 3.5.2-3.5.7) Folosind din nou (5.1.3) elimin m u din func ia
obiectiv dual :
g ( u) (c B B 1
v B B 1 )b c B B 1b v B B 1b f vBb
vS vBS cS
(QB ) vS 0, vB 0
(min) g f vBb
78 I. PROGRAMARE LINIARA
xi aij x j bi i I vj aij vi cj j J
j J i I
( PB ) xi 0 ,i I ;xj 0, j J ( QB ) v j 0, j J ; vi 0 ,i I
(max) f f cj x j (min) g f vi b i
j J i I
xB Sx S b vS vBS cS
xB 0 , xS 0 vS 0, vB 0
(max) f f c S xS (min) g f vBb
Observa ie: Cu ajutorul rela iei (5.1.3) am rescris dualul (Q) în alte
variabile care sunt supuse condi iei de nenegativitate ca i variabilele
programului primal (P). Putem vorbi acum de solu ii i solu ii admisibile
pentru programul (Q) i când facem acest lucru ne referim la forma echivalent
(QB).
vB 0 vS = c S
(5.1.4)
vi=0 , i I vj= c j , j J
Rezult imediat c valoarea func iei obiectiv duale în solu ia construit este
constanta f .
Folosind (5.1.3), solu ia dualei (Q), corespunz toare solu iei (5.1.4) este:
5. Algoritmul simplex dual 79
u = cBB-1 (5.1.5)
cS 0 cj 0 , j J
b 0 bi 0 , i I
xS=0 xB= b
(5.1.6)
xj 0, j J xi bi , i I
Una din solu ii este primal admisibil dac i numai dac cealalt
este dual admisibil . Oricare din ele este optim dac i numai dac este
simultan primal i dual admisibil .
br min b i (b r 0)
i I
r
Coloana A p r se te baza curent .
5. Algoritmul simplex dual 81
ck min c j
a rk arj 0 a rj
Observa ii: 1) Considera iile expuse în aceast sec iune sunt valabile
cu mici modific ri i în cazul în care func ia obiectiv din programul original
(P) se minimizeaz . Cititorul va verifica imediat c algoritmul prezentat mai
sus r mîne valabil i pentru asemenea probleme.
(min) f 12 x1 2 x2 6 x3
3 x1 2 x 2 x 3 3
( P)
4 x1 x2 x3 4
x1 , x 2 , x 3 0
x1* 1
7 , x 2* 0 , x 3* 24
7 ; f min 156
7
12 2 6 0 0
cB B VVB A1 A2 A3 A4 A5 A5 iese din baza curent .
0 A4 -3 3 2 -1 1 0 min{ -12/-4 , -2/-1 , -6/-1 } =
0 A5 -4 -4 -1 -1 0 1 =2 A2 intr în baza curent .
f 0 -12 -2 -6 * * ***
0 A4 -11 -5 0 -3 1 2 A4 iese din baza curent .
2 A2 4 4 1 1 0 -1 min{ -4/-5 , -4/-3 } = 4/5
f 8 -4 * -4 * -2 A1 intr în baza curent .
12 A1 11/5 1 0 3//5 -1//5 -2/5 ***
2 A2 -24/5 0 1 -7/5 4/5 3/5 A2 iese din baza curent .
f 84/5 * * -8/5 -4/5 -18/5 A3 intr în baza curent .
12 A1 1/7 1 3/7 0 1/7 -1/7 ***
6 A3 24/7 0 -5/7 1 -4/7 -3/7 Solu ia curent este dual i primal
f 156/7 * -8/7 * -12/7 -30/7 admisibil .