Vous êtes sur la page 1sur 17

,,3URJUDPDomR/LQHDU 3/

&DStWXOR  2 PpWRGR 6LPSOH[  $OJRULWPR 3ULPDO 6LPSOH[

 3URI *ODG\V &DVWLOOR



$OJRULWPR
2 TXH p XP DOJRULWPR" 2 TXH p XP "
4XDOTXHU SURFHGLPHQWR LWHUDWLYR H ILQLWR GH VROXomR 4XDOTXHU SURFHGLPHQWR LWHUDWLYR H ILQLWR GH VROXomR p XP DOJRULWPR p XP DOJRULWPR 8P 8P
DOJRULWPR DOJRULWPR

p XP SURFHVVR TXH p XP SURFHVVR TXH

UHSHWH UHSHWH

LWHUD LWHUD

VXFHVVLYDV YH]HV XP SURFHGLPHQWR VLVWHPiWLFR DWp VXFHVVLYDV YH]HV XP SURFHGLPHQWR VLVWHPiWLFR DWp REWHU XP UHVXOWDGR $OHP GLVVR WDPEpP LQFOXL XP REWHU XP UHVXOWDGR $OHP GLVVR WDPEpP LQFOXL XP
SURFHGLPHQWR SURFHGLPHQWR WHUPLQDU WHUPLQDU SDUD LQLFLDU SDUD LQLFLDU

H XP H XP

FULWpULR FULWpULR

SDUD SDUD

 3URI *ODG\V &DVWLOOR



(VWUXWXUDGHXPDOJRULWPR ,QtFLR 3DVVR,WHUDWLYR Sim No


9HULILFD R FULWpULR GH SDUDJHP"

),0

 3URI *ODG\V &DVWLOOR



0pWRGR6LPSOH[ 0pWRGR6LPSOH[
2 TXH p R PpWRGR 6LPSOH[" 2 TXH p R PpWRGR "

2 PpWRGR 6LPSOH[ p XP DOJRULWPR TXH SHUPLWH 2 PpWRGR 6LPSOH[ p XP DOJRULWPR TXH SHUPLWH UHVROYHU SUREOHPDV GH 3URJUDPDomR /LQHDU UHVROYHU SUREOHPDV GH 3URJUDPDomR /LQHDU

A ideia bsica do mtodo Simplex consiste em A ideia bsica do mtodo Simplex consiste em resolver repetidas vezes um sistema de equaes resolver repetidas vezes um sistema de equaes lineares para obter uma sucesso de SBA, cada uma lineares para obter uma sucesso de SBA, cada uma "melhor" do que aa anterior, at se chegar aa uma SBA "melhor" do que anterior, at se chegar uma SBA ptima. ptima.

 3URI *ODG\V &DVWLOOR



0pWRGR6LPSOH[,GHLD%iVLFD 0pWRGR6LPSOH[,GHLD%iVLFD

&DGD QRYD 6%$ p REWLGD D SDUWLU GD &DGD QRYD 6%$ p REWLGD D SDUWLU GD DQWHULRU VXEVWLWXLQGR DQWHULRU VXEVWLWXLQGR XPD YDULiYHO XPD YDULiYHO EiVLFD SRUXPDYDULiYHOQmREiVLFD EiVLFD SRUXPDYDULiYHOQmREiVLFD D YDULiYHOQmREiVLFDTXHHQWUD D YDULiYHOQmREiVLFDTXHHQWUD pVXEVWLWXtGDSHOD YDULiYHOEiVLFDTXHVDL pVXEVWLWXtGDSHOD YDULiYHOEiVLFDTXHVDL

 3URI *ODG\V &DVWLOOR



6ROXo}HV%iVLFDV$GMDFHQWHV

Duas solues bsicas que apenas diferem numa varivel Duas solues bsicas que apenas diferem numa varivel bsica designam-se por solues bsicas adjacentes. bsica designam-se por solues bsicas adjacentes.

Uma SBA ptima quando nenhuma das SBA adjacentes Uma SBA ptima quando nenhuma das SBA adjacentes melhor, i.e., nenhuma melhora o valor da funo melhor, i.e., nenhuma melhora o valor da funo objectivo. objectivo.

 3URI *ODG\V &DVWLOOR



$OJRULWPR3ULPDO6LPSOH[)OX[RJUDPD $OJRULWPR3ULPDO6LPSOH[)OX[RJUDPD Identificar uma SBA inicial

Existe alguma SBA adjacente que seja melhor? Sim Mover-se para uma SBA Mover"melhor"

No FIM !!! a soluo ptima

 3URI *ODG\V &DVWLOOR



INCIO Forma Padro Identificar uma SBA inicial. Construir o quadro Simplex correspondente Calcular os custos reduzidos A soluo ptima ? FIM Soluo ptima !!!

Sim critrio de optimalidade No Identificar a varivel no bsica que entra critrio de entrada ptimo no finito?

critrio de ptimo no finito No Identificar a varivel bsica que sai critrio de sada Calcular nova SBA Actualizar o quadro Simplex
 3URI *ODG\V &DVWLOOR

FIM O problema no tem ptimo finito Sim



,QLFLDOL]DomR5HGXomRj)RUPD3DGUmR ,QLFLDOL]DomR5HGXomRj)RUPD3DGUmR ([HPSOR3URWyWLSR


5HVWULomR GH GHVLJXDOGDGH 9DULiYHO GH IROJD 5HVWULomR GH LJXDOGDGH

1 2 3

x11 4 x 4 2 x22 12 2 x 12
3 xx + 2 xx 18 3 11 + 2 22 18

x33 x x44 x x55 x

x11 + x33 = 4 x + x =4 2 x22 + x44 = 12 2 x + x = 12 3 x11+ 2 x22+ x55 = 18 3 x + 2 x + x = 18

 3URI *ODG\V &DVWLOOR



,QLFLDOL]DomR5HGXomRj)RUPD3DGUmR ,QLFLDOL]DomR5HGXomRj)RUPD3DGUmR
)RUPD &DQyQLFD )RUPD 3DGUmR

Maximizar Z= 33xx + 55xx Maximizar Z= 11 + 22 sujeito aa sujeito 22xx 22 33xx + 22xx 1 + 2


1 2

Maximizar Z= 33xx + 55xx Maximizar Z= 11 + 22 sujeito aa sujeito xx 1 22xx 22 33xx + 22xx 1 + 2


1 1 2

xx 11

44 12 12 18 18

+ xx + 33

+ xx + 44

= 44 = = 12 = 12 + xx = 18 + 55 = 18

xx , , xx 0 11 22 0

xx , , xx , ,xx , , xx , ,xx 0 11 22 33 44 55 0

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSOR3DVVR


3DVVR  'HWHUPLQDU XPD 6%$ LQLFLDO ;  &RQVWUXLU R TXDGUR 6LPSOH[ FRUUHVSRQGHQWH

B
P1 P2 P3 P4 P5 Po P3 P4 P5
resolvendo B;=b

1 0 1 0 0 2 0 1 3 2 0 0

0 4 0 12 1 18

1 0 0 1 0 0

0 0 1

P0

x3 x4 x5

4 12 18

variveis bsicas variveis bsicas variveis no bsicas variveis no bsicas

xx , ,xx , , xx 33 44 55 xx , ,xx 11 22

O ponto extremo A=(0,0) corresponde SBA inicial X0=(0,0,4,12,18)

 3URI *ODG\V &DVWLOOR





0DWUL]$ 4XDGUR6LPSOH[ 0DWUL]$ 4XDGUR6LPSOH[

Matriz A do problema de PL
B N B N P1 Pm Pm+1 Pn a11 ... a1m a1m+1 a1n a21 a2m a2m+1 a2n .. . . am1 ... amm amm+1 amn

Quadro Simplex
B-1B= II B-1B= x1 xm x11 ... x1m x21 x2m .. . . . xm1 ... xmm B-1N B-1N xm+1 xn x1m+1 x1n x2m+1 x2n xmm+1 xmn

A=

x B-1

As colunas do quadro do simplex correspondentes s variveis de deciso {x1,,, xm , xm+1 , xn } correspondem aos vectores Pj da matriz original x multiplicados pela inversa da base B
 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ &XVWRVUHGX]LGRV


&RPR FDOFXODU RV FXVWRV UHGX]LGRV FMM]MM "

cj coeficientes da f.o.

cj--zj ,, j=1,2, nn cj zj j=1,2,

xij componente i da coluna j do quadro simplex

ci coeficientes das variveis bsicas na f.o .

z j = ci xij
i =1

, j = 1,2 ,...,n

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


,QtFLR &RQVWUXomR GR  48$'52
coeficientes das variveis na f.o. valores das variveis bsicas

cj
coeficientes das variveis bsicas na f.o.

CB

XB

x1
1 0 3 0

x2 x3
0 2 2 0 5 1 0 0 0 0

x4
0 1 0 0 0

x5
0 0 1 0 0

b
4 12 18 0

z1= 0 x 1 + 0 x 0 + 0 x 3 z2= 0 x 0 + 0 x 2 + 0 x 2

0 0 0

x3 x4 x5 zj

valor da f.o.

custos reduzidos (no caso de minimizao zj -cj )

cj -zj 3

os custos reduzidos das variveis bsicas so sempre nulos

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[
3DVVR  &ULWpULR GH RSWLPDOLGDGH ([LVWH DOJXP FXVWR UHGX]LGR SRVLWLYR"

 6H  6H

VLP QmR

R SURFHVVR FRQWLQXD R SURFHVVR WHUPLQDD 6%$ p XPD VROXomR

ySWLPD

Existe algum cj-zj >0 ?


Sim

No

FIM a soluo ptima !!!

Passar ao passo seguinte


 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  &ULWpULR GH RSWLPDOLGDGH ([LVWH DOJXP FXVWR UHGX]LGR SRVLWLYR"

Calcular os cj-zj

ccj--zzj j j

3 3

5 5

0 0

0 0

0 0

Existe algum cj-zj >0 ?


Sim

3 >0, 5 >0 ?
Sim

Passar ao passo seguinte


 3URI *ODG\V &DVWLOOR

Passar ao passo seguinte





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[
3DVVR  'HWHUPLQDU D YDULiYHO QmR EiVLFD TXH
HQWUD

Critrio de entrada:
coluna pivot.

max {{ cj -- zj || cj -- zj >0 } =cr -- zr max cj zj cj zj >0 } =cr zr j


j

x11 ... x1r x1n x21 x2r x2n .. . . . xm1 ... xmr xmn

x1 xr xm

Existe algum xir >0 ?


Sim

No

FIM o problema no tem ptimo finito

Passar ao passo seguinte

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  'HWHUPLQDU D YDULiYHO QmR EiVLFD TXH
a varivel que entra: x2
Procura-se Procura-se melhorar (ou pelo melhorar (ou pelo menos no menos no piorar) oovalor da piorar) valor da f.o. na prxima f.o. na prxima SBA SBA
HQWUD

cj
CB XB

coluna pivotal

x1
1 0 3 0

x2 x3
0 2 2 0 5 1 0 0 0 0

x4
0 1 0 0 0

x5
0 0 1 0 0

b
4 12 18 0

0 0 0

x3 x4 x5 zj

max { cj - zj | cj - zj >0 } =5

cj -zj 3

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[
3DVVR  'HWHUPLQDU D YDULiYHO EiVLFD TXH  6HOHFFLRQDU RV FRHILFLHQWHV xi r >0
VDL

Procura-se Procura-se manter aa manter admissibilidade admissibilidade na prxima na prxima soluo bsica soluo bsica

2. 'LYLGLU FDGD FRHILFLHQWH xi0

GD FROXQD GRV WHUPRV

LQGHSHQGHQWHV SHOR FRHILFLHQWH xi r >0 GD FROXQD SLYRWDO

r.

3. 6HOHFFLRQDU D OLQKD s RQGH VH DOFDQFH R PHQRU GRV


TXRFLHQWHV UHJUD GR PHQRU TXRFLHQWH 
coluna pivotal.

x11 ... x1r x1n x21 x2r x2r .. . . . xm1 ... xmr xmn xm0
 3URI *ODG\V &DVWLOOR

x1 xr xm

_ b x10 x20

x x =min i xir >0= s i xsr xir


0 0 0





&ROXQDHOLQKDSLYRWDO(OHPHQWR3LYRW &ROXQDHOLQKDSLYRWDO(OHPHQWR3LYRW A coluna rronde se verifica o maior custo reduzido A coluna onde se verifica o maior custo reduzido max { cc --zz ||cc --zz >0 } =cr --zz >0 max { j j j j j j j j >0 } =cr rr >0 jj designa-se por coluna pivotal designa-se por coluna pivotal A linha ssonde se verifica o mnimo dos quocientes A linha onde se verifica o mnimo dos quocientes x x =min i xir >0= s i xir xsr designa-se por linha pivotal. designa-se por linha pivotal.
0 0 0

O elemento xx onde se intersectam aa linha pivot ss ee aa O elemento sr onde se intersectam linha pivot sr coluna pivot rr coluna pivot designa-se por pivot .. designa-se por pivot
 3URI *ODG\V &DVWLOOR





10

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  'HWHUPLQDU D YDULiYHO EiVLFD TXH
VDL

linha pivotal: i =2 CB
a varivel que sai:

cj
XB

coluna pivotal: j =2

x1
1 0 3 0

x2 x3
0 2 2 0 5
mximo

x4
0 1 0 0 0

x5
0 0 1 0 0

b
4 12 18 0

mnimo
12/2= 6 18/2= 9

x4 pivot

0 0 0

x3 x4 x5 zj

1 0 0 0 0

cj -zj 3
 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[
3DVVR   &DOFXODU QRYD 6%$

1 2

A varivel no bsica que entra

xr xs
nova SBA: nova SBA: ((xx ,,xx ,xr ,..,xm ,0,...,0 )) ,x x 11 22 x r ,..,xm ,0,...,0

A varivel bsica que sai


xr entra xs sai

SBA: SBA: ((xx ,,xx ,xs ,..,xm ,0 ,..,0 )) x ,..,x ,0 ,..,0 11 22 ,xs x m

 3URI *ODG\V &DVWLOOR





11

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[
3DVVR   &RQVWUXLU XP QRYR TXDGUR VLPSOH[ DSOLFDQGR R 0pWRGR GH UHGXomR *DXVV-RUGDQ

5HGX]LU D  R Q~PHUR SLYRW SDUD LVWR p SUHFLVR GLYLGLU WRGD D OLQKD SLYRWDO SHOR SLYRW

Nova linha pivotal =

linha pivotal pivot

5HGX]LU D  DV RXWUDV FRPSRQHQWHV GD FROXQD SLYRWDO SDUD LVWR p SUHFLVR FDOFXODU WRGDV D OLQKDV H[FHSWR D OLQKD SLYRWDO  SHOD VHJXLQWH IyUPXOD

nova linha = linha (componente da coluna pivotal x nova linha pivotal )

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  &DOFXODU D QRYD 6%$

X1

1 2

A varivel no bsica que entra

x2 x4
SBA X11 =( xx ,,x22,,xx )) SBA X BB=( 33 x 55

A varivel bsica que sai


x2 entra

SBA X B =(xx ,,x4 ,,xx )) SBA B 33 x4 55


x4 sai

X00 =(

 3URI *ODG\V &DVWLOOR





12

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ 3DVVRFRQVWUXLURTXDGUR


Linha 1: NO MUDA o coeficiente na coluna pivot igual a 0. Linha Pivotal: Nova linha 2= Linha 2 / pivot Nova linha 3= linha 3 ( 2 x nova linha pivotal)

cj
CB

5 0 2 2 0 5 0 1 0

0 1 0 0 0 0 1 0 0

0 0 0

3 2 0 0 1 18 -(2) 0 1 0 1/2 0 6 3 0 0 -1 1 6

x3 x4 x5 zj cj -zj x3 0 x2 5 0 x5

XB

x1
1 0 3 0 3 1 0 3

x2 x3

x4
0 1 0 0 0 0 1 2 -1

x5
0 0 1 0 0 0 0 1

b
4 12 18 0 4 6 6

A SBA X1=( 0, 6, 4, 0, 6 )
 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGUR

cj
CB XB

x1
1 0 3 0

x2 x3
0 1 0 5 0 1 0 0

x4

x5
0 0 1 0 0

b
4 6 6 30 0

0 5 0
zz= 00xx11+ 55xx00+ 00xx33 11= + + zz= 00xx00+ 55xx11+ 00xx00 22= + +

x3 x2 x5 zj

cj -zj 3

0 1 2 -1 5 0 2 0 - 5 2

 3URI *ODG\V &DVWLOOR





13

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  &ULWpULR GH RSWLPDOLGDGH ([LVWH DOJXP FXVWR UHGX]LGR SRVLWLYR"

Calcular os cj-zj

0 - 5 2

Existe algum cj-zj >0 ?


Sim

3>0 3>0

Passar ao passo seguinte

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  'HWHUPLQDU D YDULiYHO QmR EiVLFD TXH HQWUD
a varivel que entra: x1 coluna pivotal

cj
CB XB

x1
1 0 3 0

x2 x3
0 1 0 5 0 1 0 0

x4

x5
0 0 1 0 0

b
4 6 6 30 0

0 5 0
max { cj - zj | cj - zj >0 } =3

x3 x2 x5 zj

cj -zj 3

0 1 2 -1 5 0 2 0 - 5 2

 3URI *ODG\V &DVWLOOR





14

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  'HWHUPLQDU D YDULiYHO EiVLFD TXH VDL
coluna pivotal: j =1

cj
a varivel que sai: x5

CB

XB

x1
1 0 3 0

x2 x3
0 1 0 5 0 1 0 0

x4

x5
0 0 1 0 0

b
4 6 6 30 0

4/1= 4

linha pivotal: i =3 pivot

0 5 0

x3 x2 x5 zj

cj -zj 3
mximo

0 1 2 -1 5 0 2 0 - 5 2

6/3= 2

mnimo
(menor quociente)

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  &DOFXODU D QRYD 6%$

X2

1 2

A varivel no bsica que entra

x1 x5
SBA X22 =( xx ,,xx ,,xx )) SBA X BB=( 33 22 11

A varivel bsica que sai


x1 entra

SBA X11 =( xx ,,xx ,,xx )) SBA X BB=( 33 22 55


x5 sai

 3URI *ODG\V &DVWLOOR





15

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ 3DVVRFRQVWUXLURTXDGUR


Linha Pivotal: Nova linha 3= Linha 3 / pivot

cj
CB

5 0 1 0
5

0 1 0 0
0

linha 2: NO MUDA o coeficiente na coluna pivotal igual a 0.

0 0 0

Nova linha 1= linha 1 (1 x nova linha pivotal)

1 0 1 0 0 4 -(1) 1 0 0 -1/3 1/3 2 0 0 1 1/3 -1/3 2


 3URI *ODG\V &DVWLOOR

0 5 3

x3 x2 x5 zj cj -zj x3 x2 x1

XB

x1
1 0 3
0

x2 x3

x4
0
1 2

x5
0 0 1
0

b
4 6 6 0 2 6 2


-1
5 2 5 - 2 1 3 1 2 1 - 3

3 0 0 1

0 0 1 0

0 1 0 0

0
1 - 3

0
1 3



$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGUR

cj
CB XB

5 0 1 0 5 0

0 1 0 0 0

x1
0 0 1 3

x2 x3

x4
1 3 1 2 1 - 3

x5
1 - 3

b
2 6 2 36 6

0 5 3
todos os custos reduzidos so no positivos, logo a soluo ptima

x3 x2 x1 zj

0
1 3

cj -zj 0

3 2 0 - 3 2

1 -1

A SBA X22=(2, 6, 2, 0, 0 ))aasoluo ptima A SBA X = (2, 6, 2, 0, 0 soluo ptima


 3URI *ODG\V &DVWLOOR





16

$OJRULWPR3ULPDO6LPSOH[ $OJRULWPR3ULPDO6LPSOH[ ([HPSORTXDGURSDVVR


3DVVR  &ULWpULR GH RSWLPDOLGDGH ([LVWH DOJXP FXVWR UHGX]LGR SRVLWLYR"

Calcular os cj-zj

0 - 3 2 FIM !!! FIM !!!

-1

Existe algum cj-zj >0 ?

No

a SBA X22=((2 ,6, 2, 0, 0 )) a SBA X = 2 ,6, 2, 0, 0 ptima !!! ptima !!!

 3URI *ODG\V &DVWLOOR





$OJRULWPR3ULPDO6LPSOH[&RQFOXV}HV $OJRULWPR3ULPDO6LPSOH[&RQFOXV}HV
2 $OJRULWPR 3ULPDO 6LPSOH[ HQYROYH RV VHJXLQWHV HOHPHQWRV

 XPD 6%$ FRPR SRQWR GH SDUWLGD   XP PHFDQLVPR TXH GHWHUPLQD D SDVVDJHP SDUD
XPD QRYD 6%$ PHOKRU GR TXH D DQWHULRU SHUDQWH XPD
VROXomR ySWLPD

 FULWpULRV GH SDUDJHP TXH LQGLFDP TXDQGR VH HVWi


ILQLWD RX SHUDQWH D R YDORU GD IR FUHVFH
LQH[LVWrQFLD GH ySWLPR ILQLWR

LQGHILQLGDPHQWH 

 3URI *ODG\V &DVWLOOR





17

Vous aimerez peut-être aussi