Programação Dinâmica Aproximada paraAplicações de Alta Dimensionalidade
X Simpósio de Aplicações Operacionais em Áreas de Defesa26 de Setembro de 2008
© 2008 Warren B. Powell Slide 1
Hugo Passos SimãoWarren B. PowellCASTLE LaboratoryCASTLE LaboratoryCASTLE LaboratoryCASTLE LaboratoryPrinceton University
http://www.castlelab.princeton.edu
© 2008 H.Simão/W.Powell, Princeton University
Logística e transportesLogística e transportesLogística e transportesLogística e transportes
Companhias de transporteCompanhias de transporteCompanhias de transporteCompanhias de transporte
•Reposicionamento de locomotivas numa rede ferroviária.
•Alocação de motoristas a cargas rodoviárias.
•Alocação de tripulação e aeronaves a fregueses numa empresa de propriedade fracionária de jatos executivos.
•Roteamento de motoristas, caminhões-tanque e produtos numa rede de distribuição de gases liquefeitos.
Slide 4
liquefeitos.
Estoques de alto valorEstoques de alto valorEstoques de alto valorEstoques de alto valor
•Peças de reposição para aeronaves executivas: quantas peças em estoque e aonde localizá-las.
•Estoques sujeitos a restrições de orçamento e mínimos níveis de serviço.
•Transformadores de alta voltagem em redes de transmissão elétrica: altíssimo custo (~$5mi), baixa taxa de falhas e longo período de produção (1 a 2 anos).
•Falhas variam muito em termos do impacto econômico na rede.
Planejamento para um mundo sob riscoPlanejamento para um mundo sob riscoPlanejamento para um mundo sob riscoPlanejamento para um mundo sob risco
ClimaClimaClimaClima
•Projeto robusto de redes de reação a emergências.
•Projeto de instrumentos financeiros que contrabalancem emergências climáticas a fim de proteger indivíduos, companhias e municípios.
•Projeto de redes de sensores e sistemas de comunicação para gerenciar as reações a eventos climáticos de porte.
Slide 5
DoençasDoençasDoençasDoenças
•Modelos de propagação de doenças para o planejamento de reações.
•Gerenciamento de pessoal e equipamento médicos e de vacinas em resposta a surtos epidêmicos.
•Projeto robusto de cadeias de suprimentos para resistir a interrupções no sistema de transportes.
Gerenciamento de energiaGerenciamento de energiaGerenciamento de energiaGerenciamento de energia
AlocaAlocaAlocaAlocação de recursos energéticosção de recursos energéticosção de recursos energéticosção de recursos energéticos
•Qual é a combinação adequada de tecnologias energéticas?
•Como coordenar o uso de diferentes recursos energéticos ao longo do tempo e espaço?
•Como deveria ser o portfólio de P&D em energia?
•Deve-se investir em energia nuclear?
•Qual o impacto de um imposto sobre a emissão de dióxido de carbono?
Slide 6
dióxido de carbono?
Mercados de energiaMercados de energiaMercados de energiaMercados de energia
•Como contrabalançar diferentes recursos energéticos?
•Qual é o preço correto dos recursos energéticos?
•E qual é o preço correto para contratos de opção futura em energia?
Desafios
� Controle em tempo real» Alocação de aeronaves, pilotos, geradores e aviões-tanque
» Preço de ações e opções
» Alocação de recursos elétricos
� Planejamento tático de curto-prazo» Devo aceitar o pedido de um freguês?
Slide 7
» Devo aceitar o pedido de um freguês?
» Devo alugar equipamento?
» Quanta energia posso prometer com minhas turbinas eólicas?
� Planejamento estratégico» Quais são as melhores órbitas para aviões-tanque?
» Qual é a composição mais adequada de equipamento?
» Qual é o valor de uma aeronave mais confiável?
Sumário
� Um modelo de alocação de recursos� Programação dinâmica aproximada� Reabastecimento em vôo – gerenciamento de aviões-
tanque� Transporte e logística militar
© 2008 Warren B. Powell Slide 8
Um modelo de alocação de recursos
� Vetor de atributos:
Localizacao Localizacao Tipo Tipo de ativo
Slide 9
a = Localizacao
Horario de chegada
Tipo de aeronave
Combustivel
Base
Tripulacao
Eqpt1
Eqpt100
M
Localizacao
Horario de chegada
Domicilio
Experiencia
Horas dirigindo
Tipo
Localizacao
Idade
Tipo de ativo
Tempo de
investimento
Um modelo de alocação de recursos
� Modelando recursos:» Os atributos de uma unidade de recurso:
» O vetor de estado dos recursos:
Os atributos de uma unidade de recurso
O dominio de atributos
a
a
=∈A
Slide 10
» O vetor de estado dos recursos:
» A evolução de informações:
ˆ Mudanca no nivel de recursos com atributo .taR a=
( )Nivel de recursos com atributo no instante
O vetor de estado dos recursos no instante
ta
t ta a
R a t
R R t∈
=
=A
Um modelo de alocação de recursos
� Modelando demanda (ou tarefas):» Os atributos de uma unidade de demanda:
» O vetor de estado da demanda:
Os atributos de uma unidade de demanda a ser servida
O dominio de atributos
b
b
=∈B
Slide 11
» O vetor de estado da demanda:
» A evolução de informações:
ˆ Mudanca no nivel de demanda com atributo .tbD b=
( )Nivel de demanda com atributo no instante
O vetor de estado da demanda no instante
tb
t tb b
D b t
D D t∈
=
=B
Modelando recursos energéticos
� O estado do sistema:
( ), , Estado do sistema, onde:
Nivel de recursos (capacidade, reservas)
Nivel de demanda
t t t t
t
t
S R D
R
D
ρ
ρ
= =
===
Slide 12
"parametros do sistema"
Tecnologia (custos, desempentρ =
ho)
Clima (temperatura, precipitacao, vento)
Politicas governamentais (incentivos ao
uso de energia solar)
Precos de mercado (petroleo, carvao)
Modelando recursos energéticos
� A variável de decisão:
aumento ou
reducao de nivel
Slide 13
:
recurso
/
demanda
t
para cadax
=
Modelando recursos energéticos
� Dados exógenos:
( )ˆ ˆ ˆNovos dados = , ,t t t tW R D ρ=
Slide 14
ˆ Mudancas exogenas em capacidade, reservas
ˆ Novas demandas por energia de cada fonte
ˆ Mudancas exogenas nos parametros.
t
t
t
R
D
ρ
=
==
Um modelo de alocação de recursos
t t+1 t+2Otimizando ao longo do horizonte
Slide 18
Otimizando num intervalo de tempo
Sumário
� Um modelo de alocação de recursos� Programação dinâmica aproximada� Reabastecimento em vôo – gerenciamento de aviões-
tanque� Transporte e logística militar
© 2008 Warren B. Powell Slide 19
Chuva .8 -$2000
Nublado .2 $1000Sol .0 $5000Chuva .8 -$200Nublado .2 -$200Sol .0 -$200Chuva .1 -$2000
Nublado .5 $1000
Sol .4 $5000Chuva .1 -$200
Nublado .5 -$200
Informação64748
Ação64748
Informação64748
Ação64748
Estado
Estado
Nublado .5 -$200Sol .4 -$200Chuva .1 -$2000
Nublado .2 $1000
Sol .7 $5000Chuva .1 -$200
Nublado .2 -$200
Sol .7 -$200Chuva .2 -$2000
Nublado .3 $1000
Sol .5 $5000Chuva .2 -$200
Nublado .3 -$200Sol .5 -$200
- Nós de decisão
- Nós de resultados
A equação de Bellman
� Nós acabamos de resolver a equação de Bellman:
{ }( )1 1( ) max ( , ) ( ) |t t t t t t t tx
V S C S x E V S S+ +∈= +
X
Slide 24
» Nós descobrimos o valor de estar em cada estado do sistema trilhando a árvore de decisão no sentido inverso.
A equação de Bellman
� O desafio da programação dinâmica:
{ }( )1 1( ) max ( , ) ( ) |t t t t t t t tx
V S C S x E V S S+ +∈= +
X
Slide 25
� Problema: a praga da dimensionalidade
Três pragas
O domínio de estadosO domínio de resultados
O domínio de ações (região viável)
A equação de Bellman
� O desafio computacional:
{ }( )1 1( ) max ( , ) ( ) |t t t t t t t tx
V S C S x E V S S+ +∈= +
X
Slide 26
Como determinar ? 1 1( )t tV S+ +
Como calcular o valor esperado?
Como achar a solução ótima?
Use
wea
ther
repo
rt
Forecast sunny .6
Rain .8 -$2000
Clouds .2 $1000Sun .0 $5000Rain .8 -$200
Clouds .2 -$200Sun .0 -$200
Schedule game
Cancel game
Rain .1 -$2000
Clouds .5 $1000Sun .4 $5000Rain .1 -$200
Clouds .5 -$200Sun .4 -$200
Schedule game
Cancel game
Forecast cloudy .3
Forecast ra
in .1U
se w
eath
er re
port
Forecast sunny .6
Rain .8 -$2000
Clouds .2 $1000Sun .0 $5000Rain .8 -$200
Clouds .2 -$200Sun .0 -$200
Schedule game
Cancel game
Rain .1 -$2000
Clouds .5 $1000Sun .4 $5000Rain .1 -$200
Clouds .5 -$200Sun .4 -$200
Schedule game
Cancel game
Forecast cloudy .3
Forecast ra
in .1
tS
1tS+
Do not use
weather report
Use
wea
ther
repo
rt
Forecast sunny .6
Sun .4 -$200Rain .1 -$2000
Clouds .2 $1000Sun .7 $5000Rain .1 -$200
Clouds .2 -$200
Sun .7 -$200
Schedule game
Cancel game
Rain .2 -$2000
Do not use
weather report
Use
wea
ther
repo
rt
Forecast sunny .6
Sun .4 -$200Rain .1 -$2000
Clouds .2 $1000Sun .7 $5000Rain .1 -$200
Clouds .2 -$200
Sun .7 -$200
Schedule game
Cancel game
Rain .2 -$2000
{ }( )1 1( ) max ( , ) ( ) |t t t t t t t tx
V S C S x E V S S+ +∈= +
X
Use
wea
ther
repo
rt
Forecast sunny .6
Rain .8 -$2000
Clouds .2 $1000Sun .0 $5000Rain .8 -$200
Clouds .2 -$200Sun .0 -$200
Schedule game
Cancel game
Rain .1 -$2000
Clouds .5 $1000Sun .4 $5000Rain .1 -$200
Clouds .5 -$200Sun .4 -$200
Schedule game
Cancel game
Forecast cloudy .3
Forecast ra
in .1U
se w
eath
er re
port
Forecast sunny .6
Rain .8 -$2000
Clouds .2 $1000Sun .0 $5000Rain .8 -$200
Clouds .2 -$200Sun .0 -$200
Schedule game
Cancel game
Rain .1 -$2000
Clouds .5 $1000Sun .4 $5000Rain .1 -$200
Clouds .5 -$200Sun .4 -$200
Schedule game
Cancel game
Forecast cloudy .3
Forecast ra
in .1
Do not use
weather report
Use
wea
ther
repo
rt
Forecast sunny .6
Sun .4 -$200Rain .1 -$2000
Clouds .2 $1000Sun .7 $5000Rain .1 -$200
Clouds .2 -$200
Sun .7 -$200
Schedule game
Cancel game
Rain .2 -$2000
Clouds .3 $1000Sun .5 $5000Rain .2 -$200
Clouds .3 -$200
Sun .5 -$200
Schedule game
Cancel game- Decision nodes
- Outcome nodes
Do not use
weather report
Use
wea
ther
repo
rt
Forecast sunny .6
Sun .4 -$200Rain .1 -$2000
Clouds .2 $1000Sun .7 $5000Rain .1 -$200
Clouds .2 -$200
Sun .7 -$200
Schedule game
Cancel game
Rain .2 -$2000
Clouds .3 $1000Sun .5 $5000Rain .2 -$200
Clouds .3 -$200
Sun .5 -$200
Schedule game
Cancel game- Decision nodes
- Outcome nodes
Estados pré e pós-decisão
� Um novo conceito:» A variável de estado “pré-decisão”:
•
• Equivalente ao “nó de decisão” na árvore de decisão.
Informacao necessaria para se tomar a decisao t tS x=
Slide 29
» A variável de estado “pós-decisão”:
•
• Equivalente ao “nó de resultados” na árvore de decisão.
O estado daquilo que se conhece imediatamente
depois de se tomar a decisao.
xtS =
Estados pré e pós-decisão
� Um problema de estoque:» A equação básica de estoque:
{ }1 1ˆmax 0,
onde
estoque no instante
t t t t
t
R R x D
R t
+ += + −
=
Slide 30
» Usando estados pré e pós-decisão:
1
estoque no instante
quantidade encomendada
ˆ demanda no periodo que comeca no instante .
t
t
t
R t
x
D t+
==
=
{ }1 1
estado pos-decisao
ˆmax 0, estado pre-decisao
xt t t
xt t t
R R x
R R D+ +
= +
= −
Estados pré e pós-decisão
xtS ,
1 1( , )M W xt t tS S S W+ +=
Slide 331 1 1
ˆ ˆ( , )t t tW R D+ + +=
Equações de Bellman com o estado pós-decisão
� Forma clássica da equação de Bellman:
� As equações de Bellman usando os estados pré e pós-decisão:» Problema de otimização(tomando a decisão):
{ }( )1 1( ) max ( , ) ( ) |t t t t t t t tx
V S C S x E V S S+ +∈= +
X
Slide 35
» Problema de otimização(tomando a decisão):
• Nota: este problema é determinístico!
» Problema de simulação (o efeito de informaçõesexógenas):
( )( ),( ) max ( , ) ( , ) x M xt t x t t t t t t tV S C S x V S S x= +
{ },1 1( ) ( ( , )) |x x M W x x
t t t t t tV S E V S S W S+ +=
Equações de Bellman com o estado pós-decisão
� Desafios» Na maioria dos problemas práticos é difícil computar
» Proposta: substituir por uma aproximação e resolver
( )( ) max ( , ) ( ) x xt t x t t t t tV S C S x V S= +
( )x xt tV S
( )xt tV S
Slide 36
resolver
» O problema agora se torna:• Qual aproximação?• Como estimá-la?
( )( ) max ( , ) ( ) xt t x t t t t tV S C S x V S= +
Aproximando a função de valor
� Aproximações para a função de valor:» Linear (nas variáveis de estado):
» Linear por partes, separável:
( )x xt t ta ta
a
V R v R∈
= ⋅∑A
Slide 37
» Indexada, linear por partes, separável:
( ) ( )x xt t ta ta
a
V R V R∈
=∑A
( ) ( ) | ( )x xt t ta ta t
a
V R V R caracteristicas∈
=∑A
Aproximando a função de valor
� Aproximações para a função de valor :» Ridge Regression(Klabjan and Adelman)
( ) ( ) f
xt t tf tf tf fa ta
f a
V R V R R Rθ∈ ∈
= =∑ ∑F A
Slide 38
» Cortes de Benders
0x
( )t tV R
1x
Estimando a função de valor
� Comparação com outros métodos:» PMD Clássico (iteração de valor)
» PDA Clássica (estado pré-decisão):
( )11( ) max ( , ) ( )n n
x tV S C S x EV Sγ −+= +
Slide 39
» Nosso método (atualizar no estado pós-decisão):
( ), 1 ,
, 1 ,1 1 1 1 1 1
ˆ max ( , ) ( ( , ))
ˆ( ) (1 ) ( )
n n x n M x nt x t t t t t t
n x n n x n nt t n t t n t
v C S x V S S x
V S V S vα α
−
−− − − − − −
= +
= − +
( )11
'
11 1
ˆ max ( , ) ( ' | , ) '
ˆ( ) (1 ) ( )
n n n nt x t t t t t t
s
n n n n nt t n t t n t
v C S x p s S x V s
V S V S vα α
−+
−− −
= +
= − +
∑
ˆ atualiza ( )t t tv V S
1 1ˆ atualiza ( )xt t tv V S− −
, 1x ntV −
Valor esperado
Esquema geral do algoritmo
Passo 1: Comece com o estado pré-decisão
Passo 2: Resolva a otimização determinística usando
uma função de valor aproximada:
para obter . ( )1 ,ˆ max ( , ) ( ( , ) )n n n M x n
t x t t t t t tv C S x V S S x−= +ntx
ntS
Otimizaçãodeterminística
Slide 40
Passo 3: Atualize a função de valor aproximada
Passo 4: Gere uma amostra Monte Carlo of
e compute o próximo estado pré-decisão:
Passo 5: Retorne ao passo 1.
, 1 ,1 1 1 1 1 1̂( ) (1 ) ( )n x n n x n n
t t n t t n tV S V S vα α−− − − − − −= − +
t
( )ntW ω
1 1( , , ( ))n M n n nt t t tS S S x W ω+ +=
Simulação
Estatísticarecursiva
Sumário
� Um modelo de alocação de recursos� Programação dinâmica aproximada� Reabastecimento em vôo – gerenciamento de aviões-
tanque� Transporte e logística militar
© 2008 Warren B. Powell Slide 41
Tanque voando da base para uma órbita de abastecimento
Trajetória retilínea de abastecimento
Receptor voando de uma base para uma órbita
Base de aviões-tanque com aviões lá
Tanque/ Receptor
Tanque numa órbita
Receptor
-Verde: reabastendo
-Azul: tanque na órbita
-Marrom: receptores em fila
Reabastecimento em vôo
1nR →
2nR →
� Para cada período de tempo, primeiro aloque os aviões-tanque:
3nR →
4nR →
5nR →
Reabastecimento em vôo
� Dada uma alocação de tanques no instantet:
» Simule o movimento e processamento de receptores entre t e t+1
Tanque
Receptores
TempoÓrbita
Tanque
Reabastecimento em vôo
� Calculando derivadas:
ˆ ( ) ( )ta t t a t tv F R e F Rπ π= + −
Custo (combustível consumido pelos receptores) dada uma alocação de tanques e uma política de reabastecimento
tRπ
Custo se adicionarmos um tanque com atributos a (localização, tipo, etc) e resimularmos
Average Tankers In Flight per Period
8
10
12
14T
anke
rs
Reabastecimento em vôo
0
2
4
6
1 13 25 37 49 61 73 85 97 109
121
133
145
157
169
181
193
Iteration
Tan
kers
8
10
12
14
Tan
kers
Reabastecimento em vôo
Custo do avião-tanque mais alto
0
2
4
6
1 13 25 37 49 61 73 85 97 109
121
133
145
157
169
181
193
Iteration
Tan
kers
Reabastecimento em vôo
� Possibilidades:» Mais realismo na representacao de recursos (atributos,
operações).» Modelar a organização e o fluxo de informações e
decisões:• Que informações estão sendo comunicadas• Quem tomaas decisões, quando e com que informações• Quem tomaas decisões, quando e com que informações
» Estudos:• Qual o valor de diferentes arquiteturas de comunicação?• Como diferentes características do avião-tanque (ex.
capacidade de aceitar combustível de um outro tanque) afetam o desempenho do sistema?
• Qual é o custo de incerteza no processo de tomada de decisões robustas?
Sumário
� Um modelo de alocação de recursos� Programação dinâmica aproximada� Reabastecimento em vôo – gerenciamento de aviões-
tanque� Transporte e logística militar
© 2008 Warren B. Powell Slide 77
Comando de Mobilidade Aérea
Comando
Combustível
Manutenção
Armazenagem
ComandoMobilidade
Aérea
CarregamentoPátio
The optimization challenge
Custos reais: $3000 - custo de vôo
Porém:- Deseja-se evitar a passagem de C 5’s pela
Arábia Saudita porque lá não há equipamentos de manutenção apropriados para essa aeronave(mas, na falta de outras opções …).
Transporte e logística militar
Aeronaves RequisiçõesCalifornia
Germany
New Jersey
Taiwan
England
New Jersey
tR
=
� Recursos conhecidos …e previstos
ColoradoNew Jersey
CaliforniaGermany
New Jersey
Colorado
Taiwan
England
New Jersey
( )' 't t tR
>=
Transporte e logística militar
� Estudos:
» Qual é o efeito de incertezas na demanda no cronograma de transporte aéreo militar?
» Qual é o efeito de falhas das aeronaves?» Qual é o efeito de falhas das aeronaves?
» Qual é o efeito de ter informações mais cedo?
� Livro do Prof. Warren Powell
� www.castlelab.princeton.edu
Referências:
© 2008 Warren B. Powell Slide 85
Top Related