Documente Academic
Documente Profesional
Documente Cultură
minimizare maximizare
Cursul 2 1
Forma generală:
Conţine toate tipurile de restricţii şi variabile care pot apărea.
inf c1f x1 c2f x2 c3f x3
în raport cu
A11 x1 A12 x2 A13 x3 b1 concordante
A x A x A x b egalitate
21 1 22 2 23 3 2
A31 x1 A32 x2 A33 x3 b3 neconcordante
x1 0 x3 0
mi n j n
Datele problemei: Aij R , bi R mi , c j R j , 1 i 3, 1 j 3.
Cursul 2 2
Forma standard:
Conţine restricţii egalitate şi variabile nenegative.
inf c f x A x b, x 0
Forma canonică:
Conţine restricţii concordante şi variabile nenegative.
inf c f x A x b, x 0
Datele problemei: A R mn , b R m , c R n .
Cursul 2 3
Forma mixtă:
Conţine restricţii concordante şi egalitate, şi variabile nenegative.
f A1 x b1
inf c x , x 0
A2 x b2
A1 R m1n , b1 R m1
Datele problemei: m2 n
, c Rn .
2
A R , b2 R m2
Cursul 2 4
Transformări echivalente:
Sensul unei inegalităţi se schimbă prin înmulţire cu – 1.
Transformarea unei inegalităţi într-o ecuaţie:
f x f x y
f , y0
x x y
f
Cursul 2 5
Exemplu. inf 2 x1 3 x2 x3 5 x4
3 x1 2 x2 x3 2 x4 3
x1 3x2 2 x3 x4 2
2 x1 x2 2 x3 3 x4 5
x1 0, x2 0, x3 R, x4 0
Cursul 2 6
Teorema fundamentală a programări liniare
Considerăm problema de programare liniară în forma standard:
inf c f x | A x b, x 0 (P)
Fără a restrânge generalitatea, presupunem: rang A m n.
Vectorul v R se va numi soluţie admisibilă a problemei (P), dacă
n
A v b, v 0.
O soluţie admisibilă v R este o soluţie optimă a problemei (P), dacă
n
Teoremă:
1. Dacă problema (P) are o soluţie admisibilă, atunci ea are şi o
soluţie admisibilă de bază.
2. Dacă problema (P) are o soluţie optimă, atunci ea are şi o
soluţie optimă de bază.
Cursul 2 7
Demonstraţie.
Fie v R o soluţie admisibilă a problemei (P).
n
v v1 , v2 ,..., vk , 0,..., 0 , vi 0,
f
Considerăm i 1, k.
k 0 v 0 este evident o soluţie de bază.
k 1. Dacă A1
, A 2
,..., A k
sunt liniar independente, atunci
v este o soluţie admisibilă de bază. k
Dacă A , A ,..., A sunt liniar dependente,
1 2 k
yi R, i 1, k , yi 0,
i 1
k
astfel încât: i 1
A yi 0.
i
y 0, şi A y 0 .
Definim vectorul: x v y, R.
Avem: A x A v y A v A y A v b,
Cursul 2 8
Deoarece xi 0, i k 1, n, avem:
x 0 xi vi yi 0, pentru i 1, k .
v v
i dacă yi 0, i dacă yi 0.
yi yi
Definim: vi
1i k
max y 0 dacă există yi 0,
yi
i
dacă nu există yi 0,
vi
min yi 0 dacă există yi 0,
1i k yi
dacă nu există yi 0,
Cursul 2 9
Fie v R o soluţie optimă a problemei (P) cu vi 0, i 1, k .
n
Cursul 2 10
În general, mulţimea soluţiilor admisibile a problemei (P) este
infinită, spre deosebire de cea a soluţiilor admisibile de bază,
care are cel mult C mn elemente. Importanţa teoremei
fundamentale a programării liniare constă în aceea că, pentru
determinarea unei soluţii optime, dacă ea există, căutarea este
redusă de la o mulţime infinită, la una finită, fiind suficientă
investigarea doar a soluţiilor de bază.
Cursul 2 11
Teoremele algoritmului simplex
Considerăm problema de programare liniară în forma standard:
inf c f x | A x b, x 0 (P)
mn
unde A R , b R , c R ,
m n
rang A m n.
Considerăm matricea de bază B As1 As2 ... Asm .
Partiţionăm matricea A B R şi obţinem:
A x b xB B 1 b B 1 R xR x Y j x j
jR
unde am notat: x B 1 b R m şi Y j B 1 A j , 1 j n.
Poziţia indicelui si B s1 , s2 ,..., sm o notăm locB si i.
Pe componente, sistemul se scrie:
Cursul 2 12
xB x B 1b
Soluţia de bază corespunzătoare lui B : x
x 0
R 0
1
Matricea de bază B se numeşte primal admisibilă, dacă B b 0.
Funcţia obiectiv se poate exprima astfel:
f
z c x c xB c xR c x Y x j cR xR
f f f f j
B R
B
jR
cBf x cBf Y j c j x j z z j c j x j
jR jR
z cf v z z j c j v j z . (q.e.d.)
jR
Cursul 2 13
Teoremă (optim infinit): Fie B o bază primal admisibilă. Dacă există
un indice k R , astfel încât zk ck 0, şi Y B A 0,
k 1 k
Cursul 2 14
Observaţie.
xB
x v sunt nemărginite.
0R
Vectorul v se mai numeşte direcţia spre (–)infinit, şi împreună cu soluţia de
bază, pentru 0, , descrie o muchie nemărginită a domeniului de
admisibilitate.
Cursul 2 15
27 3
x 8 8
y 5
8
5
8
Cursul 2 16
Lema (substituţiei): Fie
B As1 As2 Asm R mm nesingulară şi
vectorul A R , k B s1 , s2 ,..., sm . Considerăm matricea:
k m
B As1 Asr 1 Ak Asr 1 Asm .
Y k B 1 Ak y1k , y2 k ,..., ymk .
f
Notăm vectorul
Au loc următoarele afirmaţii:
Cursul 2 17
m
A j y jk
s
Demonstraţie. Din notaţia Y k B 1 Ak rezultă: A B Y
k k
Fie det B 0.
j 1
m
A j j Ak r 0.
s
j R, j 0, astfel încât
j 1 j 1, j r
A
sj
j y jk r Asr yrk r 0,
j 1, j r
adică o combinaţie liniară de coloane ale matricei B care este egală cu zero
şi deci toţi coeficienţii trebuie să fie nuli. Dar, yrk r 0. Contradicţie!
Cursul 2 18
Coloanele lui B şi B coincid pentru j r. Avem deci,
A j B e j , j r.
s
m
A A j y jk
k s
Deoarece yrk 0, din relaţia rezultă:
j 1
m
y jk k 1
A A B
sj
A
sr
Cursul 2 19
Teoremă (schimbarea bazei): Fie B A 1 A 2 A m o bază s s s
primal admisibilă. Presupunem că există k R , astfel încât zk ck 0
1
şi vectorul Y B A are cel puţin un element pozitiv.
k k
xr xi
min yik 0 ,
yrk 1i m yik
atunci, matricea
B As1 Asr 1 Ak Asr 1 Asm este o bază primal
admisibilă, pentru care z cBf B 1 b cBf B 1 b z .
Trebuie arătat că B 1 b 0.
Cursul 2 20
B 1 b Er B 1 b Er x
yik y
1 xi ik xr
yrk xi yrk
1 xr xr
0
yrk yrk
xr xr
Evident, 0. Dacă yik 0, xi yik 0.
yrk yrk
xr xi xr
Dacă yik 0, xi yik yik 0.
yrk 0 yik yrk
0
Cursul 2 21
Ţinând seama că pentru k B avem loc k r , obţinem:
B
yik
1
yrk
, csi , , ck , x
1
0
yrk
Cursul 2 22
csi yik ck
, csi , , , x
ir yrk yrk
xr x
csi xi csi yik ck csr xr csr yrk r
ir ir yrk yrk
m m x x
csi xi csi yik ck r z zk ck r z .
y yrk
i 1 i 1
rk
0
z zk 0
(q.e.d.)
Cursul 2 23
Paşii algoritmului simplex
Pasul 0. Se determină (dacă există?!) o bază primal admisibilă B şi se
calculează B–1.
Pasul 1. Se calculează
x B 1 b 0, z cBf x , Y B 1 A, z f c f cBf Y c f .
Pasul 2. (test de optimalitate) Dacă z c 0, atunci s-a obţinut valoarea
optimă z , şi soluţia optimă de bază xB x , xR 0. STOP.
B 1 Er B 1 şi se revine la Pasul 1.
Cursul 2 24