Sunteți pe pagina 1din 27

Algoritmul SIMPLEX pentru rezolvarea PPL

Master AAT - Comert, An universitar 2014 - 2015

METODE DE OPTIMIZARE A PROCESELOR


DECIZIONALE
Conf. Dr. Cristinca FULGA
Academia de Studii Economice
Bucuresti, Romania

Algoritmul SIMPLEX pentru rezolvarea PPL

Metode de Optimizare a Proceselor Decizionale

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul Simplex Primal


Ipoteze:
1) Modelul matematic e adus la forma standard
8
< min f (x) = cT x
Ax = b
:
x 0

2) Vectorul termenilor liberi b

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

3) Printre coloanele matricei A (unde A 2 Mm;n (R) ;


rangA = m < n) exista baza canonica a Rm (formata din vectorii
coloana ai matricei identitate de dimensiune m m)
vectorii coloana ai1 ; ... ,aim ai matricei A care formeaza baza
canonica a s.v. Rm vor considerati ca ind grupati in matricea
B 2 Mm;m (R)
restul coloanelor matricei A vor forma matricea S

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

=) o partitionare a matricei A s.a. A =


=) apare separarea X =

XB
XS

care in sistemul Ax = b are semni catia


( B
X = vectorul necunoscutelor principale
X S = vectorul necunoscutelor secundare

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Ax = b
()

XB
XS

=b

() BX B + SX S = b

() BX B = b

() X B = B

SX S

SX S

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Observatia 1) Daca X =

XB
XS

solutie de baza

def

=) X S = 0
=) X are componentele
XB = B
XS = 0

1b

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Observatia 2) La inceputul aplicarii algoritmului (la prima iteratie)


avem B = Im =)
XB = B

b = (Im )

b=b

=) la prima iteratie, solutia initiala de baza X are componentele


XB = b
XS = 0

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL


Observatia 3) Separ si vectorul coe cientilor functiei obiectiv
c=

CB
CS

Observatia 4) La inceput, in prima iteratie, vectorii coloana aj ai


matricei A aveau anumite coordonate, exprimati ind in baza
canonica.
Cand, prin iteratii succesive, se ajunge in baza B = fai1 ; :::; aim g ; alta
decat Im ; coordonatele vectorului aj vor schimbate, noile coordonate
ind
not
B 1 aj = yBj ; 8j = 1; n:

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Fie X o solutie realizabila oarecare


i.e. veri ca sistemul restrictiilor

AX = b
X 0

Calculez
f (x) = cT x =

CB

CS

XB
XS

= CB X B + CS X S

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Cum X =

XB
XS

este solutie realizabila,

adica avem X B = B

1b

1 SX S

=)

f (X) = CB X B + CS X S =
= CB

= CB B

B
CB B

SX S + CS X S =
1

CS X S

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL


Fie X0 o solutie realizabila de baza
i.e. veri ca sistemul restrictiilor
0

=) X0 = @

X0B
X0S

AX0 = b
si in plus X0S = 0
X0 0

A are componentele
8 B
< X0 = B
:

X0S = 0

1b

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Calculez
f (X0 ) = CT X0 =

CB

CS

0
@

= CB X0B + CS X0S = CB B
|{z}
|{z}
B

=) f (X0 ) = CB B

1 b:

1b

X0B
X0S
1
b

A=

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Recapitulam:
Pentru

=)

X solutie realizabila oarecare


X0 solutie realizabila de baza

8
< f (X) = CB B
:

=)

f (X0 ) = CB B

1b

CB B

1S

CS X S

1b

f (X) = f (X0 )

CB B

CS X S

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Deci, pentru ca X0 sa e solutie optima a problemei de minim (PPL)


trebuie ca
f (X0 ) f (X) ; 8X solutie realizabila
() f (X0 )
() CB B

f (X)
1S

0; 8X solutie realizabila

CS X S

0; 8X solutie realizabila

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Dar, cum X solutie realizabila =)


X are toate componentele

0 i.e. X S

si deci conditia CB B

CS X S

1S

0
0 8X solutie realizabila

este echivalenta cu
CB B

CS

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Asta inseamna ca, pentru 8j nebazic, trebuie sa avem


C B B 1 aj
| {z }
|

yBj

{z
j

cj
}

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Concluzie:
X0 este solutie optima a problemei de minim (PPL)
()

0; 8j nebazic

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

OBSERVATIE:
Pentru j bazic, calculand aceeasi expresie pentru j obtinem
0 1
0
B .. C
B . C
B C
B 0 C
B C
B
1
B B
cj = C B 1 C
B
aj
j = C
C cj = cj
| {z }
B 0 C
B C
vectorul j al
B .. C
@ . A
bazei canonice
0

cj = 0

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Daca toate inegalitatile sunt stricte s.a.


j

< 0; 8j nebazic,

Atunci X0 este solutie optima unica a problemei (PPL) de minim

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL


Cazul solutiei multiple
Daca:
8j nebazic,

9j nebazic cu

j
j

=0

Atunci:
in afara de solutia optima gasita (X0 ) mai exista cel putin inca o
solutie optima si, in plus,
8 combinatie convexa a lor este de asemenea solutie optima

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Cazul optimului in nit


Daca:
9j nebazic cu

> 0 (i.e. solutia optima inca nu este atinsa)

cu proprietatea ca
yBj

Atunci problema are optim in nit:


min f (x) =
x2<

unde < = fx 2 Rn jAx = b; x

0g :

1;

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Pentru problema de maxim


Criteriul de optim: 8j nebazic,

Criteriul de optim unic: 8j nebazic,

>0

Criteriul de optim multiplu:


1
2

8j nebazic, j 0 si
9 cel putin un indice j nebazic cu

=0

Criteriul de optim in nit: 9j nebazic cu

< 0 si yBj

0.

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL


Teorema Fie X o solutie realizabila de baza a unei (PPL) de minim
ce corespunde bazei B = fai1 ; :::; aim g :
Daca 9j nebazic cu CB yBj

cj > 0 (i.e.

> 0) cu yBj

Atunci, inlocuind vectorul ak din baza fai1 ; :::; aim g cu vectorul aj ;


unde k = indicele pentru care se realizeaza
xkB
xiB
=
min
B ;
yBkj
yBij >0 yij
se va obtine o alta baza careia ii va corespunde o solutie realizabila de
baza X 0 care va cel putin la fel de buna ca X (i.e. f (X 0 ) f (X)) :

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL


Criteriu de intrare in baza pentru problema de minim:
Intra in baza vectorul aj pentru care se realizeaza j = max

Criteriu de intrare in baza pentru problema de maxim:


Intra in baza vectorul aj pentru care se realizeaza j = min

>0

<0

Criteriu de iesire pentru PPL de min si max:


Iese din baza vectorul ak unde k este indicele pentru care se realizeaza
xkB
xiB
=
min
yBkj yBij >0 yBij

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Reamintim: Algoritmul Simplex Primal poate

aplicat doar daca:

1) modelul matematic este adus la forma standard


2) b

3) printre coloanele matricei A exista baza canonica a Rm

Algoritmul SIMPLEX pentru rezolvarea PPL

Algoritmul SIMPLEX pentru rezolvarea PPL

Daca ipoteza 1) nu e indeplinita ! introducem variabile de


compensare ( 0)
Daca ipoteza 2) nu e indeplinita ! inmultim restrictia
respectiva cu ( 1)
Daca ipoteza 3) nu e indeplinita ! aplicam Metoda bazei
arti ciale

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