Escolar Documentos
Profissional Documentos
Cultura Documentos
2-Introdução à Programação
Dinâmica
ProfFernandoGomide DCA-FEEC-Unicamp
Conteúdo
1. Introdução
2. Problema do caminho mínimo
3. Solução com programação dinâmica
4. Análise de complexidade
5. Programação dinâmica forward
6. Exemplos
DCA-FEEC-Unicamp
1-Introdução
Programação dinâmica
– metodologia de otimização
– problemas que requerem decisões sequenciais interelacionadas
– decisão tem um custo imediato e afeta contexto decisões futuras
Objetivo
– como obter a sequência de decisões
– minimização custo total em um número de estágios
– compromisso entre custo imediato e futuro
DCA-FEEC-Unicamp
Processos de decisão multiestágios
Decisão multiestágios
– processo que pode ser desdobrado em um número de etapas
seqüenciais, ou estágios
Estado
– condição do processo num dado estágio é o estado neste estágio
Decisões
– opções que se tem em cada estágio
– cada decisão causa uma transição do estado
DCA-FEEC-Unicamp
Estratégia (política)
– uma seqüência de decisões
– uma decisão para cada estado do processo
Retorno
– custo, benefício, associado a cada estágio de decisão
– pode variar com o estágio e o estado
Questão
– determinar a política ótima (aquela que resulta no melhor retorno)
DCA-FEEC-Unicamp
Princípio de otimalidade de Bellman
x1
A x2 G
1 n N
DCA-FEEC-Unicamp
2-Problema do caminho mínimo
q 1 c 5 e 2 h
Qual é o caminho de menor
0 4 1 3 esfôrço (tempo, custo, dis -
7 f 1 i 3 tância, etc.) entre q e r ?
d l
3 2 4 5
5 j 2 m 2 • 20 caminhos distinos
g o • 5 adições por caminho
• 19 comparações
4 2 8 2
k
2 n 4 p 1 r
DCA-FEEC-Unicamp
3-Solução com programação dinâmica
vi melhor caminho de i até r
vq = min {1+ vc , 0 + vd}
va vc
vc = min {5 + ve , 4 + vf}
q 1 c 5 e 2 h
vd = min {7 + vf , 3 + vg}
………………………..
0 4 1 3
7 f 1 i 3 vl = 5 + vo
vd d l
vm = min {2 + vo , 8 + vp}
3 2 4 5
vn = 4 + vp
5 j 2 m 2
g o vo = 2
vp = 1
4 2 8 2
k vr= 0
2 n 4 p 1 r
DCA-FEEC-Unicamp
S estado
PS sucessor de S no caminho ótimo de S até r
24 adições
9 comparações
DCA-FEEC-Unicamp
4-Análise de complexidade
DCA-FEEC-Unicamp
5-Programação dinâmica forward
vi melhor caminho de q até i
vr = min {2+ vo , 1 + vp}
va vc vo = min {5+ vl , 2 + vm}
q 1 c 5 e 2 h vm = min {4 + vi , 2 + vj}
vl = min {3 + vh , 3 + vi}
0 4 1 3 vn = min {2 + vj , 2 + vk}
7 f 1 i 3 ......................................
vd d l ve = min {5 + vc}
vf = min {4+ vc , 7 + vd}
3 2 4 5
vg = min {3 + vd}
5 j 2 m 2
g o
vd = 0
4 2 8 2 vc = 1
k
2 n 4 p 1 r vq = 0
DCA-FEEC-Unicamp
6-Exemplos
Ι = conjunto de nós 14
1 2
L = conjunto de arcos (i , j ) 10
8
cij = custo de i para j 3 5
q r
I i+ = conjnto de nós j tal que ∃ (i , j ) ∈ L 15 17
DCA-FEEC-Unicamp
Equação de Bellman
Solução iterativa
DCA-FEEC-Unicamp
Algoritmo de Pape
M j ≠ r
vj =
0 j=r
C = {q} lista de candidatos
1. remover nó j ∈ C do topo de C
2. ∀j ∈ I +j
ˆvi = cij + v j
se v̂i < vi então vi = v̂i
se i ∉ C então C = C ∪ {i}; i no fim de C
3. remover j de C . Se C ≠ φ então passo 1 senão fim
DCA-FEEC-Unicamp
Algoritmo geral caminho mínimo
DCA-FEEC-Unicamp
Proposição: sejam v1, v2, ....,vN escalares satisfazendo
vj ≤ vi + cij ∀(i, j) ∈ L
Prova
DCA-FEEC-Unicamp
Estocástico: atribuição dinâmica
– atributos de um técnico
a1 localzação técnico
at = a2 = tipo equipamento
a # dias no trabalho
3
DCA-FEEC-Unicamp
– demanda serviços técnicos
DCA-FEEC-Unicamp
– decisões
DCA-FEEC-Unicamp
– impacto decisões nos atributos: função transição
at +1 = a M (at , d )
1 se a M (at , d ) = a′
δ a′ (at , d ) =
0 caso contrário
DCA-FEEC-Unicamp
– indicação das decisões tomadas
Modelo míope
∑ xtad ≤ Dtbd , d ∈ D D
a∈ A
xtad ≥ 0
DCA-FEEC-Unicamp
– Dinâmica do sistema
– Estado do sistema
St ( Rt , Dt )
DCA-FEEC-Unicamp
Modelo atribuição dinâmica
DCA-FEEC-Unicamp
Observação
DCA-FEEC-Unicamp