benedito c. silva universidade federal de itajubá – unifei instituto de recursos naturais - irn

35
Programação Linear Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Programação Linear

Benedito C. Silva

Universidade Federal de Itajubá – UNIFEI

Instituto de Recursos Naturais - IRN

Page 2: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Vamos ver algumas questões importantes em relação às inequações de restrição:

0 C :casos os ambos em

variable)(surplus excesso de variávelé C caso neste

B C -A

B A

de caso No

maior slackmenor

B C A

variable)(slack folga de variávelchamada é C onde

B C A

:igualdade em expressão estar transforma posso eu

B A

inequação a suponha

Page 3: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Vamos supor o seguinte problema

0 X2

0 X1

18 2X2 3X1

10 X22 X1

a sujeito

X2 X1 ZMax

0s

0r

0 X2

0 X1

18 s 2X2 3X1

10 r X22 X1

a sujeito

X2 X1 ZMax

Vamos transformá-lo na sua forma slack (com folga)

Page 4: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Graficamente, tem-se:

Observem cada vértice da área hachurada...

O que acontece em cada ponto?

Page 5: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Observem que em cada reta limite uma das variáveis X1, X2, r ou s é igual a zero!!!

Como é que podemos identificar os vértices desta figura?

Simples....

Se observarmos a figura:

cada vértice é um ponto onde duas das quatro variáveis X1, X2, r e s são zeros....

Portanto: se eu fizer duas variáveis iguais a zero, determinando as demais (garantindo a unicidade e a não negatividade), encontro um vértice.....mas atenção.....não esquecer da não negatividade.

Atenção este vérticenão é válido

s = -12

Page 6: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Essa regra de procura de vértices pode ser generalizada:

Se o problema tiver seis variáveis, faço três variáveis iguais a zero e determino as demais, garantindo a não negatividade e a unicidade..( na forma slack)

Se o problema tiver oito...idem......e assim por diante

Lembrete importante: sabemos que o máximo ou o mínimo é um desses vértices.......portanto.....temos um caminho para chegar ao ótimo.....

Page 7: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Vamos ver agora o Método Simplex

Os problemas que serão resolvidos possuem a seguinte forma:

envolvidas variáveisdas denegativida não a ,finalmente e,

ou

ou

:tipo do restrições

u

:tipo do função umaminimizar oumaximizar

ibnxinaxiaxiaibnxinaxiaxiaibnxinaxiaxia

dnxncxcxc

.........................2211

.........................2211

.........................2211

............2211

Atenção (problema padrão):

• em geral vamos max u e as restrições são do tipo menor igual;

• a não negatividade pode não ser necessária, mas isso é um caso especial...

Page 8: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Vamos supor o seguinte problema:

0,

1832

122

43]max[

0,

1832

122

.

43min

yx

yx

yx

yxu

yx

yx

yx

as

yxu

:padrão forma na problema mesmo o

0,

1832

122

43]max[

0,

1832

122

.

43min

yx

yx

yx

yxu

yx

yx

yx

as

yxu

:padrão forma na problema mesmo o

Não está na forma padrão

Page 9: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Suponhamos agora o problema

0,,,

1832

122

43max

0,,,

1832

122

.

43max

0,

1832

122

.

43max

sryx

syx

ryx

yxu

sryx

syx

ryx

as

yxu

yx

yx

yx

as

yxu

:ainda ou

:como escritoser pode padrão slack forma na problema este

0,,,

1832

122

43max

0,,,

1832

122

.

43max

0,

1832

122

.

43max

sryx

syx

ryx

yxu

sryx

syx

ryx

as

yxu

yx

yx

yx

as

yxu

:ainda ou

:como escritoser pode padrão slack forma na problema este

0,,,

1832

122

43max

0,,,

1832

122

.

43max

0,

1832

122

.

43max

sryx

syx

ryx

yxu

sryx

syx

ryx

as

yxu

yx

yx

yx

as

yxu

:ainda ou

:como escritoser pode padrão slack forma na problema este

Page 10: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Este formato, como será visto, é muito prático para aplicação do método Simplex, além de servir para a análise da dualidade e análise de sensibilidade

Este formato nos diz que as variáveis do lado esquerdo podem tomar qualquer valor, definindo as variáveis do lado direito

variáveis do lado esquerdo são chamadas de independentes

variáveis do lado direito de dependentes

se as variáveis do lado esquerdo forem iguais a zero:

x=0 e y=0 implica que r=12 e s=18

Page 11: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Vamos supor uma PL com m restrições e n variáveis, onde:

nm

A PL está na forma canônica (padrão, regra..) se todas as restrições forem equações e se cada restrição possuir uma variável que ocorre somente nela, com coeficiente igual a 1

• essas variáveis com coeficiente 1 são chamadas de básicas (variáveis dependentes)

• as demais variáveis são chamadas de não básicas

Page 12: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

No exemplo anterior:

básicas são folga) (de slack variáveisas

0,,,

1832

122

.

43max

sryx

syx

ryx

as

yxu

Entretanto, podem existir variáveis que não são slack’s e que podem ser básicas, imaginem o problema:

)slack! é não (e básica é z e canônico é sistema este

:slack forma na

0,,,

192

122

.

343max

0,,

192

122

.

343max

szyx

zyx

syx

as

zyxu

zyx

zyx

yx

as

zyxu

Page 13: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Considera-se em geral que:

• variável básica = variável dependente = variável slack

• variável independente é sinônimo de não básica

A forma canônica facilita a solução da PL:

Qualquer problema de PL possui uma forma canônica!

Definição: qualquer ponto que satisfaça as restrições e a não negatividade de uma PL é um ponto viável (feasible point)

Page 14: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Um ponto viável básico é obtido quando fazemos as variáveis não básicas iguais a zero e calculamos as demais variáveis e obtém-se valores não negativos;

Teorema Importante:

O máximo ou um mínimo de uma PL na forma canônica, se existir, é um ponto viável básico

Vamos ver mais alguns conceitos importantes....

Vamos ver um CONCEITO MUITO IMPORTANTE

Page 15: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Uma PL está no formato canônico perfeito se:

• a Função Objetivo é do tipo maximizar U

• os valores dos b’s (lado direito das restrições) são todos positivos

• a função objetivo é expressa somente em função de variáveis não básicas

Vamos sempre procurar esta forma canônica perfeita!

Vamos supor o seguinte problema:

básicas variáveissãot e s

0,,,

192

122

.

max

tsyx

tyx

syx

as

yxu

Forma canônica perfeita

Outro fato importante: este sistema pode ser transformado numa outra forma canônica perfeita

Page 16: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Pontos básicos vinculados a formas canônicas perfeitas são viáveis e portanto candidatos para o ÓTIMO...

Vamos ver agora o que se chama de pivoteamento (pivoting):

é o procedimento usado para ir de uma forma canônica para outra, mudando uma variável não básica para variável básica

Para isso, vamos ver o “tableau” Simplex:

Page 17: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Considere:

0........2,1,......,2,1

,.................22,11,

.

.

22,2.................22,211,2

11,1.................22,111,1

.....................2211

msssnxxx

mbmsnxnmaxmaxma

bsnxnaxaxa

bsnxnaxaxa

asujeito

udxcxc

Maximizar

Vamos passar as variáveis básicas s para o lado direito e as variáveis b’s para a esquerda...

Page 18: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0........2,1,......,2,1

,..............22,11,

.

.

22,2.................22,211,2

11,1...................22,111,1

.....................2211

msssnxxx

msmbnxnmaxmaxma

sbnxnaxaxa

sbnxnaxaxa

asujeito

udxcxc

Maximizar

Em forma de tableau temos.......

Page 19: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

tableau

AS RESTRIÇÕES DE NÃO NEGATIVIDADE NÃO ESTÃO NO tableau PORQUE SE CONSIDERA QUE ELAS ESTÃO ATENDIDAS

Page 20: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Como fazer o pivoteamento...xj por si

lkajka

isliaji

a

jx

,,

.*,

),/(),)(,(,),/(,

,/).(,/1

jialiajkalkajiajka

jxjialiajia

is

Page 21: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

O método Simplex para PL na forma canônica perfeita (estágio 2)

Vamos considerar o seguinte exemplo:

denegatividanão

tzyx

szyx

rzyx

as

uzyx

Max

643

932

122

.

234

U

Page 22: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

u 0 2 3- 4

t- 6- 1- 4 3

s- 9- 3 2 1-

r- 12- 1 1 2

1 z y x

Coeficientesda FO

Variáveis básicas

Variáveis não básicas

Primeiro passo: escolher qualquer coeficiente positivo cj da função objetivo....p.e. o valor 4

Page 23: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

u 0 2 3- 4

t- 6- 1- 4 *3

s- 9- 3 2 1-

r- 12- 1 1 2

1 z y x

Segundo passo: procurar na coluna do 4 todos valores positivos de ai,j..no caso 2 e 3....calculo para cada um o valor de bi/ai,j

para 2 temos 12/2 = 6

para 3 temos 6/3 = 2 (menor valor...escolho este...por isso o *....).....

Page 24: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Próximo passo....pivotar a3,1...ou seja vou x por t....

Obtenho:

Observem que o valor da FO é igual a 8

Mas este valor é o ótimo?...

NÃO.....ainda existe um coeficiente positivo na FO...10/3....vamos fazer um novo pivoting.......

Page 25: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

O novo tableau é:

Solução: t=0, y=0 e s=0

FO=87/4 e r=9/8 z=33/8 e x=27/8

Page 26: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Como transformar problemas de PL na sua forma canônica perfeita......

0 z ey x,

7 3z2y 4x

5- y -2x

3 z-2y x

s.a

2z3y4xuMax

:exemplopor

Primeiro passo é colocar o sistema na sua forma slack...

Page 27: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 z ey x,

7 3z2y 4x

5- sy -2x

3 r z-2y x

s.a

2z3y4xu

Max

Vamos multiplicar a segunda restrição por -1

0 z ey x,

7 3z2y 4x

5- y -2x

3 z-2y x

s.a

2z3y4xuMax

:exemplopor

Page 28: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0 z ey x,

7 3z2y 4x

5 sy 2x -

3 r z-2y x

s.a

2z3y4xu

Max

Estas duas restrições não possuem

variáveis básicas

0 z ey x,

7 A2 3z2y 4x

5 A1 s-y 2x -

3 r z-2y x

s.a

2z3y4xu

Max

solução

A1 e A2 são variáveis artificiais.....

Page 29: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Duas questões importantes:

• as variáveis artificiais precisam ser iguais a zero para validade das inequações

• caso apareçam variáveis básicas (VB’s) na FO o Método Simplex não se aplica, neste caso deve-se resolver um problema equivalente, sem VB na FO

0ts,r,y,x,

11 t 2y -4x

10 s y 2x

9 r y x

s.a

sr x UMax

:exemplopor

Vamos resolver?

solução

0t s,r,y,x,

11t2y-4x

10sy2x

9ryx

s.a

192y-2x- uMax

Page 30: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

As variáveis artificiais precisam ser iguais a zero, isso pode ser feito de duas maneiras:

O Método do Grande M (Big M): quando for necessário o emprego de variáveis artificiais, elas entram na FO com coeficientes grandes para induzir o valor zero das mesmas..exemplo...

Page 31: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

0BA,s,r,y, x,com 4Bs-y-3x

2Ar-2yx

s.a

MB-MA-2y-3xU-Max

:para problema nosso omodificar vamoszero, a iguais

B e A queremos como caso 4...nesteBs-y-3x

2Ar-2yx

2y--3xU-Max

:necessário é portanto básicas, são não s er

0sr,y, x,com 4s-y-3x

2r-2yx

2y--3xU-Max

:slack forma na problema ocolocar vamos

0yx,

4y-3x

2yx

s.a

2y3x U Min

2

0BA,s,r,y, x,com 4Bs-y-3x

2Ar-2yx

s.a

MB-MA-2y-3xU-Max

:para problema nosso omodificar vamoszero, a iguais

B e A queremos como caso 4...nesteBs-y-3x

2Ar-2yx

2y--3xU-Max

:necessário é portanto básicas, são não s er

0sr,y, x,com 4s-y-3x

2r-2yx

2y--3xU-Max

:slack forma na problema ocolocar vamos

0yx,

4y-3x

2yx

s.a

2y3x U Min

2

0BA,s,r,y, x,com 4Bs-y-3x

2Ar-2yx

s.a

MB-MA-2y-3xU-Max

:para problema nosso o modificar vamos zero, a iguais

B e A queremos como caso neste

4Bs-y-3x

2Ar-2yx

2y--3xU-Max

:necessário é portanto básicas, são não s e r

0sr,y, x,com 4s-y-3x

2r-2yx

2y--3xU-Max

:slack forma na problema o colocar vamos

0yx,

4y-3x

2y2x

s.a

2y3x U Min

Page 32: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Dois casos podem ocorrer:• A e B são variáveis não básicas iguais a zero ou• A, ou B ou ambas são básicas com valores iguais a zero• se A ou B ou ambas forem diferente de zero o problema não

tem solução (infeasible)

0BA,s,r,y, x,com 4Bs-y-3x

2Ar-2yx

s.a

MB-MA-2y-3xU-Max

:para problema nosso o modificar vamos zero, a iguais

B e A queremos como caso neste

4Bs-y-3x

2Ar-2yx

2y--3xU-Max

:necessário é portanto básicas, são não s e r

0sr,y, x,com 4s-y-3x

2r-2yx

2y--3xU-Max

:slack forma na problema o colocar vamos

0yx,

4y-3x

2y2x

s.a

2y3x U Min

0BA,s,r,y, x,com 4Bs-y-3x

2Ar-2yx

s.a

MB-MA-2y-3xU-Max

:para problema nosso o modificar vamos zero, a iguais

B e A queremos como caso neste

4Bs-y-3x

2Ar-2yx

2y--3xU-Max

:necessário é portanto básicas, são não s e r

0sr,y, x,com 4s-y-3x

2r-2yx

2y--3xU-Max

:slack forma na problema o colocar vamos

0yx,

4y-3x

2y2x

s.a

2y3x U Min

Page 33: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Solução:

primeiro devemos retirar da FO as variáveis básicas A e B

U- 6M- M- M- M2- 4M3-

B- 4- 1- 0 1- 3

A- 2- 0 1- 2 1

1 s r y x

Maior coeficiente

Primeiro tableau:

Page 34: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

O tableau final será:

U- 34/7- 4/7- 9/7- M-9/7 M-4/7

x- 10/7- 2/7- 1/7- 1/7 2/7

y- 2/7- 1/7 3/7- 3/7 1/7-

1 s r A B

Portanto, A=0, B=0, r=0, s=0 e y=2/7 e x=10/7

valor de U = 34/7

Vejam que curioso: sem saber o valor de M resolvemos o problema!!!

Page 35: Benedito C. Silva Universidade Federal de Itajubá – UNIFEI Instituto de Recursos Naturais - IRN

Tentem resolver o seguinte problema:

0yx,

12y2x

122yx

s.a

2y4x UMax

O que aconteceu no tableau?

Todos os pontos nesta reta são

solução