capítulo 10 programação dinâmica - autenticação · •resolução do problema com pd 21....

30
Capítulo 10 Optimização e Decisão Resumo de aula 3 Novembro 2008 Programação Dinâmica Autores: Miguel Couto, nº 53226 José Dias, nº 63736

Upload: doanhanh

Post on 20-Jan-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Capítulo 10

Optimização e DecisãoResumo de aula

3 Novembro 2008

Programação Dinâmica

Autores: Miguel Couto, nº 53226

José Dias, nº 63736

Page 2: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Sumário

1. Introdução

2. Exemplo 1

3. Programação Dinâmica Determinística

2

3. Programação Dinâmica Determinística

4. Problema de Distribuição de Recursos

5. Exemplo 2

6. Exemplo 3

7. Conclusões

2

Page 3: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Introdução

• Não há uma formulação convencional para o problema

• Equações particulares têm de ser obtidas de modo

33

• Equações particulares têm de ser obtidas de modo a enquadrarem-se em cada problema

.·. É necessário praticar muito para perceber quando e como um problema pode ser resolvido com PD

Page 4: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1 …

Objectivo: ir do IST para o Bairro Alto pelo caminho mais seguro (a pé).

44

Page 5: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1…

Enumeração exaustiva -> menos eficiente para grandes problemas

5

Page 6: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1…

• Formulação

Sendo,

A � x1 � x2 � x3 � J

f*n(s) = min fn(s,xn) = fn(s,x*n) f*n(s) = min fn(s,xn) = fn(s,x*n)

f n (s, xn) = cImediato(n) + min(cFuturo)

f*5(J) = 0;

Calcular f*4(s), f*3(s), f*3(s), f*2(s) para cada s

possível.

Finalmente obtém-se f*1(A)

6

xn

Page 7: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1…

• Procedimento para determinar solução

n = 4

7

n = 3

Page 8: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1…

n = 2

8

n = 1

Page 9: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1…

• Solução optima ���� Qual o caminho que é

mais seguro?

99

Page 10: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 1

Conclusões

• Problema simples com poucas

interrelações entre etapas

• Caminho percorrido não influencia

1010

• Caminho percorrido não influencia

próxima etapa

• Estados da mesma etapa não podem

estar ligados

Page 11: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Características PD …

1. Problema dividido em etapas

– Decisão é necessária em cada etapa

– Sequência de decisões interrelacionadas

2. Etapas têm estados associados ao início de

cada etapa

11

cada etapa

3. Efeito da decisão em cada etapa é transformar

o estado actual num estado associado com o

início da próxima etapa

4. Desenvolvimento da solução encontra solução

óptima

Page 12: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Características PD

5. Princípio de Optimalidade (propriedade

Markoviana)

6. Solução começa por calcular a decisão óptima

para a última etapa

7. Relacionamento recursivo identifica decisão

12

7. Relacionamento recursivo identifica decisão

óptima na etapa n com base na decisão

óptima da etapa n+1

Page 13: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Programação Dinâmica

Determinística

• Problemas determinísticos: o estado da

etapa seguinte é totalmente determinado

pelo estado e política de decisão no

estado actual.estado actual.

• Forma da função objectivo

• Conjunto de estados

13

Page 14: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Problema de Distribuição de

Recursos

• Formulação:

– Etapa n = actividade n

• xn = quantidade de recursos usados na actividade

n

Estado S = quantidade de recursos restantes das • Estado Sn = quantidade de recursos restantes das

etapas anteriores

– Na etapa n, no estado Sn, a escolha de xn

resulta de o estado em n+1 ser Sn+1=Sn-xn

14

Page 15: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2

• Objectivo: distribuir equipas médicas por países

de modo a máxima eficácia.

15

3 eq. médicas

disponíveis

nº equipas

médicasn =

???xn =

??? ???sn =

Page 16: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

Visualização gráfica do problema

16

Page 17: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

• Definição do problema

17

Page 18: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

• Equações

18

Page 19: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

• Resolução do problema com PD

19

Page 20: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

• Resolução do problema com PD

20

Page 21: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2 ...

• Resolução do problema com PD

21

Page 22: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 2

Solução GráficaSolução Gráfica

22

Page 23: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Problema de Distribuição de

Recursos

• Formulação:

– Etapa n = actividade n

• xn = quantidade de recursos usados na actividade • xn = quantidade de recursos usados na actividade

n

• Estado Sn = quantidade de recursos restantes das

etapas anteriores

– Na etapa n, no estado Sn, a escolha de xn

resulta de o estado em n+1 ser Sn+1=Sn-xn

23

Page 24: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 3

• Recurso xn = nº de aparelhos a produzir na

semana n

24

Week

Maximum Production,

Regular Time

Maximum Production,

Overtime

Production Cost per Unit

Regular Time

1 2 2 $300

2 3 2 $500

3 1 2 $400

Page 25: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 3

• sn

= numero de aparelhos disponiveis no

inicio da semana n

• sn+1 = sn + xn -3

• s1 = 2.• s1 = 2.

• cn = custo de produção em tempo regular

25

Page 26: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo…

n rn mn cn

1 2 4 300

2 3 5 500

3 1 3 400

26

rn = tempo de produção regular maximomn= produção maxima total

)3,0max(50),0max(100),( −++−+=n

xns

nr

nx

nx

nc

nx

ns

np

Page 27: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 3

)]3(),([min)( *1

3

*−++=

+≤≤−

nnnnnnmxs

nn xsfxspsfnnn

Sn+1

s f *(s ) x *

For n = 3:

27

s3 f3*(s3) x3

*

0 1,400 3

1 900 2

2 400 1

3 ≤ s3 0 0

Page 28: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Exemplo 3

x2 f2(s2, x2) = p2(s2, x2)+ f3*(s2+ x2-3) f2

*(s2) x2*

s2 0 1 2 3 4 5

0 2,900 3,050 3,200 2,900 3

1 2,400 2,450 2,600 2,850 2,400 2

2 1,900 1,950 2,000 2,250 2,900 1,900 1

For n = 2:

2 1,900 1,950 2,000 2,250 2,900 1,900 1

3 1,400 1,450 1,500 1,650 2,300 2,950 1,400 0

28

x1 f1(s1, x1) = p1(s1, x1)+ f2*(s1+ x1-3) f1

*(s1) x1*

s1 0 1 2 3 4

2 3,200 3,050 3,000 2,950 2,950 4

For n = 1:

Page 29: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Concluões

• Variáveis de estado são discretas (sn)

• Ordem das etapas pode não ser relevante

(característica dos ProbDistEsf)

29

(característica dos ProbDistEsf)

• Condições da PL (proporcionalidade, divisibilidade e certeza)

podem não ser cumpridas em problemas de PD.

Apenas a aditividade tem de ser cumprida

(príncipio de optimalidade) para ProbDistEsf.

Page 30: Capítulo 10 Programação Dinâmica - Autenticação · •Resolução do problema com PD 21. Exemplo 2 Solução Gráfica 22. Problema de Distribuição de Recursos •Formulação:

Outros Exemplos

• Variáveis de estados discretas

– Worked Examples (CD-ROM) – 2 exemplos

30

• Variáveis de estado contínuas

– Exemplo 4: Escalonamento do nível de emprego

• Mais do que um recurso

– Exemplo 5 – Wynddor Glass Company