Sunteți pe pagina 1din 32

Coninutul

Teorema fundamental
a programrii liniare.
cursului:
Teoremele algoritmului simplex primal.
Algoritmul simplex. Formule de schimbarea bazei.
Determinarea unei baze primal admisibile. Metoda celor dou
faze.
Sisteme liniare de inegaliti. Lema Farka-Minkowski.
Dualitate n programarea liniar. Teoreme de dualitate.
Algoritmul simplex dual.
Problema transporturilor.
Postoptimizare i programare liniar parametric.
Programare liniar n numere ntregi.
Recapitulare

Notaii i cteva definiii


Fie:

A Rmn , b Rm i considerm sistemul: A x b

n
unde x R reprezint vectorul necunoscutelor.

Notm:

Ai ai1 , ai 2 ,L , ain linia ''i '' a matricei A;


A a1 j , a2 j ,L , amj
j

A x b

coloana ''j '' a matricei A.

Ai x bi , i 1, m

j
A
x j b.
j 1

Considerm

rang A m n.

Partiionarea matricei:

Partiionarea variabilei:

A B MR .

Matricea de baz
Notaii:

B As1 As2 ... Asm .

B s1 , s2 ,..., sm ,
R 1, 2,..., n \ B.

xB
xR , x .
xR
n

Recapitulare

A x b

B xB R xR

xB

B
1 b B1 R xR

Vectorul v R se numete soluie a sistemului dac A v b.


n

O soluie a sistemului este numit soluie de baz, dac


componentele ei diferite de zero corespund unor coloane liniar
independente ale matricei A.
Pentru orice baz

B, se poate obine o soluie de baz:

B 1 b
vB


vR
0R

Deoarece rang(A) = m, cel mult m componente ale unei soluii de


baz pot fi nenule. Dac soluia de baz are exact m componente
nenule, ea se numete nedegenerat; n caz contrar ea se numete
degenerat.
Recapitulare

Probleme de optimizare
liniar
Fie R i R.
n

Tipuri de restricii n raport cu felul problemei de optimizare:

maximizare

minimizare

concordant

f x

neconcordant

concordant

neconcordant

f x

f x

f x

Recapitulare

Forma general:
Conine toate tipurile de restricii i variabile care pot aprea.

inf c1ff x1 c2 x2 c3f x3


n raport cu
A11 x1 A12 x2
A x A x
21 1
22
2

A31 x1 A32 x2

x1 0
Datele problemei:

Aij R

mi n j

A13 x3

b1

A23 x3 b2
A33 x3 b3
x3 0

concordante
egalitate
neconcordante
n

, bi Rmi , c j R j , 1 i 3, 1 j 3.

Necunoscutele problemei sunt grupate n trei variabile vectoriale:


x1 are componente nenegative;
n

x j R j , 1 j 3,

x2

oarecare;

x3

are componente nepozitive.


Recapitulare

Forma standard:
Conine restricii egalitate i variabile nenegative.

inf c f x A x b, x 0
Datele problemei:

A Rmn , b Rm , c Rn .

Forma canonic:
Conine restricii concordante i variabile nenegative.

inf c f x A x b, x 0
Datele problemei:

A Rmn , b Rm , c Rn .

Recapitulare

Forma mixt:
Conine restricii concordante i egalitate, i variabile nenegative.

inf c x
, x 0
A2 x b2

Datele problemei:

A
1 x b1

A1 Rm1n ,

b1 Rm1

m2 n
m2
A

R
,
b

R
2
2

, c Rn .

Recapitulare

Teorema fundamental a
Considerm problema
de programare liniar
n forma standard:
programri
liniare
inf c x | A x b, x 0
f

(P)

Fr a restrnge generalitatea, presupunem: rang A m n.

n
Vectorul v R se va numi soluie admisibil a problemei (P), dac

A v b, v 0.
O soluie admisibil v R este o soluie optim a problemei (P),
c ff v c y.
dac oricare ar fi soluia admisibil y , avem:
n

Teorem:
1. Dac problema (P) are o soluie admisibil, atunci ea are i o
soluie admisibil de baz.
2. Dac problema (P) are o soluie optim, atunci ea are i o
soluie optim de baz.
Recapitulare

Teoremele algoritmului simplex


Considerm problema de programare liniar n forma standard:

inf c f x | A x b, x 0

mn
m
n
unde A R , b R , c R ,

rang A m n.

(P)

Considerm matricea de baz B As1 As2 ... Asm .


Partiionm matricea A BR i obinem:

A x b

xB B 1
b B 1 R xR x
Y jxj
jR

1
m
j
1
j
unde am notat: x B b R i Y B A , 1 j n.

Poziia indicelui

si B s1 , s2 ,..., sm o notm locB si i.

Pe componente, sistemul se scrie:

xsi xi yij x j , si B , i locB si .


jR

Recapitulare

B 1b
xB
x
x
Soluia de baz corespunztoare lui B :

x
0
0

R

1
Matricea de baz B se numete primal admisibil, dac B b 0.
Funcia obiectiv se poate exprima astfel:

z c x cB xB c
ff

ff
R

xR

cB
x

Y
jR

x j

f
cR
xR

cBff x cB
Y j c j x j z z j c j x j
jR

jR

B o baz primal admisibil. Dac z j c j 0,


pentru orice j R , atunci baza B este optim.

Teorem (optim): Fie

Teorem (optim infinit): Fie

B o baz primal admisibil. Dac exist

un indice k R , astfel nct zk ck 0, i Y k B 1 Ak 0,


atunci problema (P) are optimul (-)infinit.
Recapitulare

10

B As1 As2 L Asm Rmm nesingular i


vectorul Ak Rm , k B s , s ,..., s . Considerm matricea:
1 2
m
Lema (substituiei): Fie

B% As1 L Asr 1 Ak Asr 1 L Asm .

Notm vectorul

Y k B 1 Ak y1k , y2 k ,..., ymk .

Au loc urmtoarele afirmaii:


. det B% 0
Pentru

unde

yrk 0, unde r locB sr .

1
1
yrk 0, avem: B% Er B

yr 1, k 1 yr 1, k
y1k
y

,...,
,
,
,..., mk
yrk
yrk
yrk
yrk
yrk

1 L

Er e1 L er 1 e r 1 L e m

M O

ei Rm este vector unitar cu 1 in pozitia i.

Recapitulare

0 L

M
yik
yrk
M
1
yrk
M

11

Teorem (schimbarea bazei): Fie B As1 As2 L Asm o baz


primal admisibil. Presupunem c exist k R , astfel nct zk ck 0
i vectorul Y k B 1 Ak are cel puin un element pozitiv.
Dac alegem indicele sr B , locB sr r , astfel nct

xi
xr
min
yrk 1i m yik

yik 0 ,

B% As1 L Asr 1 Ak Asr 1 L Asm este o baz primal


1
1
%
admisibil, pentru care z% c ff%B

c
B

b z.
B
B
atunci, matricea

Recapitulare

12

Paii algoritmului simplex primal

Pasul 0. Se determin (dac exist?!) o baz primal admisibil B i se


calculeaz B1.
Pasul 1. Se calculeaz

x B 1 b 0, z cBff x , Y B 1 A, z c ff cB Y cf .
Pasul 2. (test de optimalitate) Dac
z c 0, atunci s-a obinut valoarea
optim z , i soluia optim de baz xB x , xR 0. STOP.

Pasul 3. (test de optim infinit) Dac k R pentru care


atunci problema are optim (-)infinit. STOP.

Pasul 4. (schimbarea bazei) Se alege k Rcu


s B , loc s r ,astfel nct
r

Se formeaz matricea

zk ck 0i Y k 0,

zk ck 0i de determin

xr
x
min i
yrk 1i m yik

yik 0 .

B% B \ Asr U Ak , se calculeaz inversa

B%1 Er B 1 i se revine la Pasul 1.


Recapitulare

13

Formule pentru schimbarea bazei


Recalcularea elementelor din algoritmul simplex n urma schimbrii unei
baze se face cu ajutorul Lemei substituiei.
Valoarea nou Formul de calcul cu valori vechi
Notm:

B 1 ij 1i m

B%1 %
ij 1i m

1 j m

Avem:

B%1 Er B 1 ,

1 j m

de unde rezult:

yik rj
%
ij ij
pentru i 1, m, i r , j 1, m;
yrk

rj
%
rj
pentru j 1, m.
yrk
Recapitulare

14

Valorile soluiei de baz:

1
x% B%
b Er B 1 b E
r x

1 L

yik
yrk

M O

0 L

1
yrk

x%
i xi
x%
r

y
M

ik

xr
i

yrk
xi


M
M

xr
xr

yrk

yik
xr pentru i r ;
yrk

xr
unde r loc k pentru k B%
.
yrk
Recapitulare

15

Valorile pentru multiplicatorii simplex:


Componenta j:

rj
, 1 j m.
yrk

u%j u j zk ck
y%
ij yij

1
Pentru matricea Y% B%
A,

y%
rj

Valoarea funciei obiectiv:

Valoarea costurilor reduse:

z% z

yik
yrj pentru i 1, m, i r ;
yrk

yrj

j 1, n .

yrk

zk ck x
yrk

z%
j cj zj cj

zk ck yrj

Recapitulare

yrk

, 1 j n.

16

Determinarea unei baze primal


Considerm problema de
programare liniar n forma standard:
admisibile
inf c f x | A x b, x 0

mn
m
unde A R , b R ,

b 0,

(P)

c Rn .

Acestei probleme i asociem problema artificial:

min e f x a | A x I m xa

unde

b, x

0, x a

(Pa)

e 1,...,1 Rm , x a xn 1 , xn 2 ,..., xn m Rm ,
f

iar Im este matricea unitate de ordinul m .


Teorem. Dac valoarea minim a problemei (Pa), za 0, atunci
problema iniial (P) nu are soluie.
Teorem. Dac B n 1,..., n m , atunci

za 0 i B este o

baz primal admisibil a problemei iniiale (P).

Recapitulare

17

Teorem. Dac valoarea minim a lui (Pa) este z 0 i exist n i B ,


a
0
pentru care
atunci,
rang A m 1
yi j 0, j 1, n , i0 locB n i0 ,
0

i restricia i0 din (P) este o combinaie liniar de celelalte restricii.


Teorem. Dac valoarea minim a lui (Pa) este z 0 i exist n i B ,
a
0
pentru care i0 locB n i0 , k 1,..., n , yi k 0, atunci, se poate
0

efectua o schimbare de baz prin care vectorul unitar


de coloana

ei0

din

B s fie nlocuit

Ak.

Observaie. Dac za 0, toate variabilele artificiale au valoarea zero !


inclusiv cele care au mai rmas n baz.
eliminate mpreun
mpreun
eliminate
cu restricia
restricia asociat.
asociat.
cu
Variabilele artificiale
artificiale din
din baz
baz
Variabilele
care au
au valoarea
valoarea zero,
zero, pot
pot fi:
fi:
care

sau
nlocuite cu
cu oo variabil
variabil
nlocuite
problemei date.
date.
aa problemei
Recapitulare

18

Metoda celor dou faze


za 0

Faza 1. Se rezolv (Pa)


cu baza iniial Im.

(P) nu are
soluie.

nu

STOP

da

nu

n i0 B

yi0 j 0

da

da

j 1, n

nu

Se nlocuiete

xn i0 cu xk

Se elimin restricia i0

Faza 2. Se rezolv (P)


cu baza admisibil B.
(P) are optim
infinit.
(P) are optim finit.

Recapitulare

STOP

19

Degenerare i ciclare
zk ck

z% z
x

Descreterea funciei obiectiv:

yrk

Metoda perturbrii (A. Charnes, 1952)

inf c x A x b , x 0
f

xr 0

cu b b j A j , 0.
j 1

Propoziia 1. Fie B = (A1, , Am) o baz primal admisibil. Atunci exist

B 0

astfel nct

x B 1 b 0,

0, B .

Propoziia 2. Fie B primal admisibil n condiiile Teoremei de schimbare a

bazei i x 0, 0, B . Atunci, ' 0 astfel nct criteriul de


ieire din baz este ndeplinit pentru un singur indice r , 0, ' :

xi
xr
min
1i m
yrk
yik

yik 0 .

Recapitulare

20

Lema Farkas-Minkowski
Fie

A Rmn , b Rm . Considerm urmtoarele sisteme liniare:

A x b
(S1)
x0

Af u 0
(S2) f
b u 0

Lem. Dintre sistemele (S1) i (S2) doar unul i numai unul are soluii.
Lema se poate aplica i la alte perechi de sisteme liniare.

A x b

A x I y b

x0

x 0, y 0

Af u 0
u0
b f u 0

duala F-M

O consecin la Lema Farkas-Minkowski:

S x 0
Teorem. Fie S R o matrice antisimetric S S . Sistemul
x0
are o soluie x 0 cu proprietatea S x x 0 .
f

n n

Recapitulare

21

Dualitate n optimizarea liniar


inf c1ff x1 c2 x2 c3f x3

Problema primal:
n raport cu

A11 x1 A12 x2 A13 x3 b1

A21 x1 A22 x2 A23 x3 b2


A31 x1 A32 x2 A33 x3 b3

x1 0
x3 0

(P)

=========================================================================

sup b1ff u1 b2
u2 b3f u3

Problema dual:

n raport cu
A11ff u1 A21
u2 A31f u3

c1

(D)

A u1 A22 u2 A u3 c2
A u1 A23
u2 A u3 c3
ff
12
ff
13

u1 0

Recapitulare

f
32
f
33

u3 0

22

Reguli de asociere a problemelor duale

Unei probleme de minimizare i corespunde o problem de


maximizare, i reciproc.
Coeficienii din funcia obiectiv a unei probleme devin
coeficienii termenului liber n cealalt problem, i reciproc.
Matricea restriciilor dintr-o problem este matricea transpus
din cealalt problem, i reciproc.
Fiecrei restricii dintr-o problem i corespunde o variabil n
cealalt problem, i reciproc.
Relaia de asociere este urmtoarea:

unei restricii concordante i corespunde o variabil nenegativ 0 ,


i reciproc;
unei restricii egalitate i corespunde o variabil oarecare (fr
condiii de semn), i reciproc;
unei restricii neconcordante i corespunde o variabil nepozitiv 0 ,
i reciproc.

Recapitulare

23

Teoreme de dualitate
Fie

A Rmn , b Rm , c Rn

i definim domeniile de admisibilitate:

P x Rn | A x b, x 0 ,

D u Rm | Af
u c, u 0

Considerm perechea de probleme (canonice) duale:

inf c f x | x P

sup b u | u D
f

........................... ( P )
........................... ( D )

P , D ,
atunci x P , u D , are loc relaia: c ff x b
u.
Teorem (dualitate slab). Dac domeniile de admisibilitate

P , D ,
ff
u , atunci, x este soluie
i x P , u D , astfel nct c x b
Teorem (dualitate tare). Dac domeniile de admisibilitate

optim pentru (P) i

este soluie optim pentru (D) .


Recapitulare

24

Teorema (fundamental a dualitii). Fiind dat perechea de probleme duale


(P) i (D) doar una din urmtoarele afirmaii are loc:
a)

P i u% D , soluii
P i D . n cazul acesta x%

c ff x%b
u%
.

optime pentru (P), respectiv (D), astfel nct


b)

P i D .

c)

P i D sau P i D . n cazul acesta problema


care are soluii admisibile are optimul infinit.

Teorem (tare a ecarturilor complemetare).

Dac

atunci, pentru (P) i (D) exist soluiile optime

A x%b

u%0,

Teorem (slab a ecarturilor complemetare).


Atunci,

P , D ,

x%, respectiv u%,

astfel nct

Af
u%
x% 0.
Fie

x P , u D .

x este soluie optim pentru (P)


u este soluie optim pentru (D)
Recapitulare

u f A x b 0,

x ff c A
u 0.
25

Algoritmul simplex dual


Matricea de baz B se numete dual admisibil, dac cB B
ff

A c

Teorem (optim): Dac baza B este primal i dual admisibil, atunci ea


este optim pentru problemele (P) i (D).
Teorem (domeniu vid).
component

xi 0,

Fie

B o baz dual admisibil. Dac exist o

pentru care

nu are soluie.

yij 0, j 1, n,

atunci problema (P)

Teorem (schimbarea bazei): Fie B As1 As2 L Asm


o baz dual
admisibil i componenta x 0, pentru care exist j R cu y 0.
rj

Dac alegem indicele k R astfel nct

z j c j
zk ck
min
jR
yrk
yrj

B% As1 L Asr 1 Ak Asr1 L Asm este o baz dual


1
1
%
admisibil, pentru care z% c ff B

c
B

b z.
B
B%
atunci, matricea

Recapitulare

yrj 0

26

Paii algoritmului simplex dual

Pasul 0. Se determin (dac exist?!) o baz dual admisibil B i se


calculeaz B1.

Pasul 1. Se calculeaz

1
ff
1
ff
f
f
x

b
,
z

x
,
Y

B
A

,
z
c

0
.
B
B
Pasul 2. (test de optimalitate) Dac
atunci s-a obinut valoarea

optim

i soluia optim de baz

x 0,

STOP.

xB x , xR 0.

, Dac
Pasul 3. (test domeniuzvid)
pentru care
atunci problema (P) nu are soluie. STOP.
Pasul 4. (schimbarea bazei) Dac
nct

xi 0
i

xr 0

k R
Se formeaz B% B \ A r
i se revine la Pasul 1.
s

yij 0, j 1, n,

cu

se determin

j R

z j c j
zk ck
min
jR
yrk
yrj

astfel

yrj 0,

yrj 0 .

U Ak , se calculeaz inversa B%1 Er B 1


Recapitulare

27

Algoritmul simplex adaptat


pentru problema de transport
x11

x12

x1n

a1

x21

x22

x2n

a2

Marf disponibil

m Depozite
xm1
b1

xm2
b2

n Beneficiari

xmn

am
Matricea
costurilor

bn

Marf solicitat

Recapitulare

c11

c1n

cm1

cmn
28

Forma standard a problemei de transport:


n

x
j 1

n raport cu

ij

x
i 1

ij

min cij xij

ai , i 1, m ,

i 1 j 1

(PT)

bj ,

j 1, n ,

xij 0, i 1, m , j 1, n .
Teorem. (PT) are o soluie admisibil dac i numai dac

ai 0, i 1, m ; b j 0, j 1, n ;

a b .
i 1

j 1

Teorema. Rangul matricei este = m + n 1.


Determinarea unei soluii iniiale de baz:

Testul de optimalitate

Metoda colului de NV
Metoda costului minim
Schimbarea soluiei de baz

Recapitulare

29

Reoptimizare
inf c f x | A x b, x 0

Considerm problema:
n care

A Rmn , b Rm , c Rn , rang A m n.

Fie matricea de baz B As1 As2 ... Asm , i notm mulimile de indici

B s1 ,K , sm ,

R 1,K , n \ B.

B 1 b 0

primal admisibilitatea

Condiiile de optimalitate:

cBff B 1 A c

dual admisibilitatea

Efectul unei perturbaii asupra:


termenului liber:

b b ,

coeficienilor din funcia obiectiv:

c c ,

B 1 b 0 ?

ff
B

B B 1 A c ff 0 ?

Recapitulare

30

Programare liniar n numere ntregi


Considerm problema:

inf c f x A x b, x Rn , xk Z, k
K
Notaii:

P0 x Rn A x b, x 0

1, 2,K , n

(P*)

P * x P0 xk Z, k K

(P0)

inf c f x x P0

Se rezolv cu algoritmul simplex.

(P*)

inf c f x x P *

Trebuie elaborat o metod!

Propoziie. Fie x P0 soluia optim a lui (P0). Dac x P *, atunci


este soluie optim i pentru problema (P*).
Stop
Soluia optim.
Algoritm: metoda planelor de seciune.
da

i=0

Rezolv (Pi )

c ff x inf c x
xPi

Determin

x P *

nu

Pi 1 Pi I i
x Pi 1

ii+1
Recapitulare

31

Determinarea planelor de seciune (Gomory).


Fie B o baz optim pentru (Pi ) i presupunem c sk B ,
Avem:

xsk xk ykj x j

Cu notaiile:

jR

rezult,

xsk Z.

xk xk f k 0 unde 0 f k 0 1,
ykj ykj f kj unde 0 f kj 1,

xsk xk ykj x j f k 0 f kj x j 0
jR

jR

Prin urmare, putem defini:

Pi 1 Pi I i x Pi

Implementare.

f x
jR

kj

y i 1 f k 0 , y i 1

Dac B(i) este o baz optim pentru (Pi ), atunci matricea:

B i

B i 1 f
0

este dual admisibil pentru (Pi+1 ) .

Recapitulare

32

S-ar putea să vă placă și