O documento discute a programação dinâmica, que surgiu após a Segunda Guerra Mundial para resolver problemas de decisão multiestágios de forma otimizada. A programação dinâmica utiliza decomposição recursiva para solucionar problemas de otimização de forma sequencial. O princípio da otimalidade estabelece que as decisões futuras devem ser ótimas dadas as decisões passadas, levando à equação de Bellman fundamental para a programação dinâmica.
2. Programação Dinâmica
• A programação dinâmica surgiu logo após a 2a
guerra mundial, sob a pressão gerada pelos
novos problemas formulados nas Forças
Armadas, na Engenharia, Economia, nasArmadas, na Engenharia, Economia, nas
Ciências Organizacionais, entre outros
campos.
• Surgiu bastante integrada e formulada nos
termos da Teoria dos Sistemas.
3. Programação Dinâmica
• A programação dinâmica é uma técnica
utilizada para a otimização de processos de
decisão multiestágios.
• processo de decisão multiestágios: aquele que• processo de decisão multiestágios: aquele que
pode ser desdobrados segundo um certo
número de etapas sequenciais ou estágios.
4. Programação Dinâmica
• Decisões: alternativas disponíveis na conclusão
de um estágio.
• Estado: condição do processo dentro de cada
estágio.estágio.
• Cada estágio inclui a tomada de uma decisão que
pode ou não alterar o estado do processo, mas
que, obrigatoriamente, representa uma transição
entre o estado corrente e o estado futuro do
processo.
5. Programação Dinâmica
• Processo de Decisão Multiestágios Finito:
quando existem apenas um número finito de
estágios no processo e um número finito de
estados possíveis associado a cada estágio.estados possíveis associado a cada estágio.
6. Programação Dinâmica
• Dentro do processo multiestágios, o objetivo
do decisor é encontrar uma política ótima
(trajetória ótima) em relação ao retorno
obtido com as decisões.
• A programação dinâmica sugere a
decomposição do problema de otimização
para ser resolvido numa sequência de
problemas mais simples, obtendo-se a solução
ótima por via recursiva.
7. Programação Dinâmica
• Principais contribuições:
– Richard Bellman desenvolveu vários estudos sobre
o assunto nos anos 50.
– Escola Soviética (1950) que estudam o problema– Escola Soviética (1950) que estudam o problema
de otimização sequencial em termos contínuos,
obtendo o importante Princípio do Máximo de
Potryagin.
8. Programação Dinâmica
• Existem diferenças em relação ao problema de
otimização dinâmica em termos contínuos e
em termos discretos.
• Alguns autores chamam a programação• Alguns autores chamam a programação
dinâmica de otimização sequencial discreta,
separando da otimização sequencial
dinâmica.
9. Programação Dinâmica
• Problema de otimização estática: deseja-se
alocar recursos para atividades em um dado
momento.
– Escolhe-se valores para certas variáveis, chamadas– Escolhe-se valores para certas variáveis, chamadas
variáveis de decisão, dado um conjunto de
alternativas possíveis para estas variáveis, de
forma a otimizar uma determinada função
objetivo.
10. Programação Dinâmica
• Problema de otimização dinâmica: deseja-se alocar recursos para
atividades em um intervalo de tempo a partir de um tempo inicial
até um tempo final.
– O problema consiste em escolher uma trajetória para certas variáveis,
chamadas variáveis de controle, a partir de uma classe de trajetória,
chamada conjunto de controle.
– A escolha das trajetórias para as variáveis de controle implica em um– A escolha das trajetórias para as variáveis de controle implica em um
conjunto de equações diferenciais chamadas de equações de
movimento.
– As trajetórias para certas variáveis descrevem o sistema chamado
variáveis de estado, e as trajetórias das variáveis de controle
escolhidas para maximizar um dado funcional dependente das
trajetórias para as variáveis de controle e para as variáveis de estado,
chamado funcional objetivo.
– Este problema é também conhecido como problema de controle
ótimo.
11. Problema de Controle Ótimo
• O problema do controle ótimo pode ser
tratado segundo três abordagens: problema
de cálculo variacional, programação dinâmica,
principio do máximo.principio do máximo.
12. Modelagem de um Problema de
Controle
• O modelo de um problema de controle é
formado por:
1. um instante de tempo,
2. um conjunto de variáveis de estado,2. um conjunto de variáveis de estado,
3. um conjunto de variáveis de controle,
4. equações de movimento,
5. determinação de um instante final,
6. um funcional objetivo.
13. Modelagem de um Problema de
Controle
• O instante de tempo t, é medido em unidades
contínuas e é definido sobre um intervalo de
tempo relevante, a partir de um instante de
tempo inicial t0 , que normalmente étempo inicial t0 , que normalmente é
conhecido até um instante de tempo final t1, o
qual usualmente precisa ser determinado,
assim o período de tempo t é 10 ttt ≤≤
14. Modelagem de um Problema de
Controle
• Qualquer instante de tempo no intervalo de
tempo relevante é caracterizado por n número
reais x1(t), x2(t) , ..., xn(t) , chamadas variáveis
de estado, sumarizadas pelo vetor de estado:
• um vetor coluna de dimensão 1 x n , o qual
pode ser interpretado geometricamente como
um ponto no espaço euclidiano En.
T
n txtxtxtx ))(),...,(),(()( 21=
15. Modelagem de um Problema de
Controle
• Cada variável de estado supõe-se ser uma função
contínua do tempo, assim a trajetória de estado é
o valor para qualquer instante t no intervalo
relevante:
{ } { }|)())( tttEtxtx n
≤≤∈=
• Geometricamente, a trajetória de estado é um
caminho de pontos em En , partindo de um
estado inicial ( o qual é normalmente
conhecido), terminado no estado final ( o qual
normalmente deve ser determinado).
{ } { }10|)())( tttEtxtx n
≤≤∈=
16. Modelagem de um Problema de
Controle
• Para qualquer instante t no intervalo
relevante, as escolhas (decisões) que podem
ser feitas, são caracterizadas por r números
reais u1(t), u2(t) , ..., ur(t) , chamadas variáveis
de controle e sumarizadas pelo vetor de
1 2 r
de controle e sumarizadas pelo vetor de
controle:
• um vetor coluna de dimensão 1 x r , o qual
pode ser interpretado geometricamente como
um ponto no espaço euclidiano Er.
T
r tutututu ))(),...,(),(()( 21=
17. Modelagem de um Problema de
Controle
• Assim a trajetória de controle é:
• As variáveis de controle são escolhidas sujeitas a
{ } { }10|)()( tttEtutu r
≤≤∈=
,
• As variáveis de controle são escolhidas sujeitas a
certas restrições sobre seus possíveis valores,
assim
• Conjunto de Trajetórias Admissíveis: Geralmente
supõe-se compacto (fechado e limitado) e
convexo e não variando no tempo.
Ω∈)(tu 10 ttt ≤≤
Ω
18. Modelagem de um Problema de
Controle
• Uma trajetória de controle é admissível se é um
pedaço de uma função do tempo contínua sobre
o intervalo relevante, dos valores, para os quais
todos os instantes de tempo neste intervalo
pertencem a .Ωpertencem a .
• O conjunto de controle U é o conjunto de todas
as trajetórias de controle admissíveis.
• A trajetória de controle deve pertencer a este
conjunto, .
Ω
{ } Utu ∈)(
19. Modelagem de um Problema de
Controle
• A trajetória de estado é caracterizada por equações de
movimento, um conjunto de n equações diferenciais
mostrando a evolução do sistema, a mudança de cada
variável de estado, como uma função das variáveis de
estado, das variáveis de controle e do tempo:
{ })(tx
• , ou ainda, escrita completamente
• onde cada uma das n funções f1(...), f2(...), ..., fn(...) é
assumida como conhecida e continuamente diferenciável.
Se a equação diferencial não depende explicitamente do
tempo então as equações de movimento são autônomas.
[ ]ttutxftx ),(),()(
.
=
[ ]ttutututxtxtxftxt
dt
dx
rnjj
j
);(),...,(),();(),...,(),()()( 2121==
•
,,...,2,1 nj =
20. Modelagem de um Problema de
Controle
• As condições de contorno para as equações de movimento são os
valores iniciais das variáveis de estado.
• Dados estes valores iniciais e dado uma trajetória de controle ,
existe uma única trajetória de estado satisfazendo as equações
de movimento e as condições de contorno, a qual pode ser obtida
integrando a equação diferencial a partir de x .
{ })(tu
{ })(tx
integrando a equação diferencial a partir de x0.
• Uma trajetória de estado obtida a partir das equações de
movimento e estado inicial usando um controle admissível é
chamada viável.
• Qualquer vetor de estado obtido sobre uma trajetória de estado
viável num tempo finito é dito viável.
21. Modelagem de um Problema de
Controle
• O instante final t1 é definido por
com onde T é um subconjunto dado de
En +1 , chamado superfície final.
Tttx ∈)),((
1tt =
• O funcional objetivo é o valor que deve ser
maximizado. Em geral, no modelo este é
supostamente da forma
{ } ∫ +==
1
0
),,()),()),(()( 11
t
t
txFdtttutxItuJJ
22. Modelagem de um Problema de
Controle
• onde I(...) é chamada função intermediária,
mostra a dependência do funcional em
relação às trajetórias das variáveis de estado,
das variáveis de controle e do tempo dentrodas variáveis de controle e do tempo dentro
do intervalo relevante.
));(),...,(),();(),...,(),((),,( 2121 ttutututxtxtxItuxI rn=
10 ttt ≤≤
23. Modelagem de um Problema de
Controle
• o termo F(..) chamado função final, mostra a
dependência do funcional do estado final e do
instante final,
• ambos I(...) e F(..) são supostamente dados,
contínuos e diferenciáveis.
));(),...,(),((),( 11121111 ttxtxtxFtxF n=
24. Modelagem de um Problema de
Controle
• O problema geral de controle pode ser
modelado como:
{ } ∫ +=
1
),(),,(max 11
)(
t
tu
txFdttuxIJ
S/A:
dados,
{ } ∫
0
)(
t
tu
);,,( tuxfx =
•
000 )(, xtxt =
Tttx ∈)),(( 1tt =
{ } Utu ∈)(
25. Programação Dinâmica e o Princípio da
Otimalidade
• A programação dinâmica é uma das duas
modernas abordagens para o problema do
controle. Ela pode ser aplicada diretamente ao
problema geral do controle:problema geral do controle:
{ }
{ } Utu
xtx
xtx
tuxfx
txFdttuxIJ
t
t
tu
∈
=
=
=
+=
•
∫
)(
)(
)(
),,(
),(),,(max
11
00
11
)(
1
0
26. Programação Dinâmica e o Princípio da
Otimalidade
• A abordagem da programação dinâmica pode ser
aplicada a uma larga classe de problemas que podem
ser resolvidos a partir de um princípio básico, o
princípio da otimalidade, entre estes problemas se
encontra o problema do controle ótimo.encontra o problema do controle ótimo.
• A partir do princípio da otimalidade obtém-se uma
relação de recorrência fundamental, que é uma
equação diferencial parcial, conhecida como equação
de Bellman, que uma vez resolvida fornece a solução
para uma larga classe de problemas de otimização.
27. O PRINCÍPIO DA OTIMALIDADE E A
EQUAÇÃO DE BELLMAN
• O Princípio da Otimalidade determina que:
– “Quaisquer que sejam o estado inicial e o comando inicial, os
comandos seguintes devem ser ótimos em relação ao estado
que representa o resultado da adoção do primeiro comando.”
– “Uma política ótima deve ter a propriedade de que,
independente do percurso tomado para chegar a um
“Uma política ótima deve ter a propriedade de que,
independente do percurso tomado para chegar a um
determinado estado, as decisões restantes devem constituir-se
numa política ótima a partir daquele estado.”
• “Uma política ótima para i = 1,...,n goza da propriedade de
também ser ótima para i =k até i =n com e relativamente a
xk , quaisquer que sejam as decisões tomadas de i=1 até
i=k-1.”
28. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• A determinação do comando para um estágio qualquer de
um processo multiestágios consiste apenas na escolha dos
comandos seguintes.
• Supondo que existe uma solução para o problema geral do
controle, seja
a função desempenho ótima, ou seja, o valor maximizado
do funcional objetivo do problema, partindo do estado
inicial x no tempo t.
• O valor ótimo do funcional objetivo para o problema do
controle ótimo é:
),(*
txJ
),( 00
**
txjJ =
29. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• De acordo com o princípio da otimalidade, se
J*(x,t) é a função de desempenho ótimo para o
problema começando no estado x no tempo t,
então é a função de desempenho
ótimo para a segunda porção da trajetória ótima,
começado no estado no tempo . Assim
),(*
ttxxJ ∆+∆+
ótimo para a segunda porção da trajetória ótima,
começado no estado no tempo . Assim
pode-se dizer que a função de desempenho
ótimo começando no tempo t pode ser igual a
soma ótima das contribuições de duas porções
no intervalo de tempo, logo:
xx ∆+ tt ∆+
{ }
[ ]),(),,(max),( *
)(
*
ttxxJttuxItxJ
tu
∆+∆++∆=
esta é a relação de recorrência fundamental.
30. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• Por hipótese é contínua e diferenciável,
podendo-se usar uma série de Taylor para
representar no ponto (x,t), como
),(*
txJ
),(*
ttxxJ ∆+∆+
JJ ∂∂ **
onde
substituindo a expansão de Taylor em ,
tem-se
t
t
J
x
x
J
txJttxxJ ∆
∂
∂
+∆
∂
∂
+=∆+∆+
**
**
),(),(
),...,,(
*
2
*
1
**
nx
J
x
J
x
J
x
J
∂
∂
∂
∂
∂
∂
=
∂
∂
),(*
txJ
{ }
.),,(max0
**
)(
∂
∂
+
∆
∆
∂
∂
+=
t
J
t
x
x
J
tuxI
tu
31. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• tomando o limite de , onde
• Logo:
0→∆t
),,,(
0
tuxfx
t
x
Lim
t
==
∆
∆ •
→∆
• Logo:
• Esta equação é a equação diferencial parcial
básica da programação dinâmica e é chamada de
equação de Bellman.
{ }
∂
∂
+=
∂
∂
− ),,(),,(max
*
)(
*
tuxf
x
J
tuxI
t
J
tu
32. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• A equação de Bellman pode ser escrita como:
{ }
∂
∂
+=
∂
∂
− ∑=
n
j
j
j
tu
tuxf
x
J
tuxI
t
J
1
*
)(
*
),,(),,(max
• A condição de contorno associada a equação
de Bellman é a condição final
),()),(( 111
*
txFttxJ =
33. CONSEQUÊNCIA DO PRINCÍPIO DA
OTIMALIDADE
• Encontrando-se a solução da equação de
Bellman, encontra-se a solução para o
problema do controle e outros problemas de
mesma natureza, entretanto, em geral estamesma natureza, entretanto, em geral esta
equação diferencial parcial de primeira ordem
não tem solução analítica!
34. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Em muitos problemas dinâmicos o tempo é modelado
como uma variável discreta e tal problema é referenciado
como um problema de otimização multiestágios e pode
ser resolvido por programação dinâmica.
• Assim num problema de otimização multiestágios o tempo
toma valores discretos t , t , ..., t , ..., t .toma valores discretos t0, t0+1, ..., tt, ..., t1.
• O estado do sistema no tempo t é dado pelo vetor xt e o
controle, comando ou ação em t é dado pelo vetor ut. O
estado no instante t+1 é então dado por
• onde é um vetor de funções contínuas e diferenciáveis
do estado atual e das variáveis de controle. O estado inicial
é x0, o qual é supostamente dado.
),,(1 tttt uxfx =+ 1100 ,...,, −+= ttttt
(...)tf
35. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• A função objetivo é
• a qual pode ser maximizada pela escolha de
∑
−
=
+=
1
1
1
0
1
),(),(
t
tt
tttt txFuxIJ
• a qual pode ser maximizada pela escolha de
uma sequencia de vetores de controle
sujeito a condição de que estes controles
pertençam a um dado conjunto de controle U.
{ }11100
,...,, −+ ttt uuu
36. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Tomando como parâmetros do problema de
otimização multiestágios o estado inicial e o
tempo ou instante inicial, a função de
desempenho ótimo é ),,(*
txJdesempenho ótimo é
• a qual é o valor ótimo da função objetivo para
o problema começando no estado x no tempo
t, a solução para o problema é então:
),,( txJ
).,( 00
*
txJ
37. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Pelo Princípio da Otimalidade tem-se que:
• Os estados do valor ótimo da função objetivo
[ ],)1,(),(max),( 1
**
++= + txJuxItxJ tttt
ut
• Os estados do valor ótimo da função objetivo
começam no estado x no instante t
consistindo da soma ótima da quantidade
e os valores ótimos restantes
• Usando a equação a relação de
recorrência é:
),( ttt uxI
[ ].)1,( 1
*
++ txJ t
),(1 tttt uxfx =+
[ ].)1),,((),(max),( **
++= tuxfJuxItxJ tttttt
ut
38. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• A condição de contorno é:
• O estado do valor ótimo da função objetivo
),,(),( 111
*
1
txFtxJ t=
• O estado do valor ótimo da função objetivo
começando no estado x1 e no instante t1, é
simplesmente o valor final da função avaliado
neste estado e neste instante.
39. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Outra abordagem para o problema de otimização
multiestágio é caracterizar o problema não pelo
estado inicial e tempo inicial, mas tempo inicial e
pela quantidade de tempo anterior no problema.
.
• A função de desempenho ótimo é então:
• a qual é o valor ótimo da função objetivo para um
problema num intervalo de tempo de
comprimento começando no estado .
)( 1
*
ττ −txJ
τ τ−1tx
40. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• A solução deste problema para
• Neste caso o método para programação dinâmica
resolve o problema trabalhando voltando do
instante final t1 via uma sequencia de soluções.
).(: 0
*
1 1
xJt t=τ
• O primeiro membro desta sequencia é o
qual é o valor ótimo da função objetivo para o
problema de comprimento zero começando e
estando em . Mas o valor ótimo para este
problema é simplesmente o valor final da função
objetivo:
),( 10 txJ
1tx
).,()( 1
*
0 11
txFxJ tt =
41. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Agora considere-se o qual é o valor ótimo
da função objetivo para o problema de
comprimento um, começando em , chamado
de primeiro estágio.
),( 1
*
1 1 −txJ
11 −tx
de primeiro estágio.
• Este problema de tamanho um, envolve a escolha
do vetor controle , que é otimizado pela
maximização da parte da função objetivo relativa
a este instante de tempo, , mais o
valor ótimo para o problema começando em t1 :
11 −tu
),( 111 111 −−− ttt uxI
[ ])(),(max)( 11`11
11
1
*
01111
*
1 tttt
u
t xJuxIxJ
t
+= −−−−
−
42. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Ou usando
• Esta escolha do controle no estágio um é
),(1 tttt uxfx =+
[ ].)),((),(max)( 111
*
01111
*
1 1111`11
11
1 −−−−−−− +=
−
tttttt
u
t uxfJuxIxJ
t
• Esta escolha do controle no estágio um é
consistente com o Princípio da Otimalidade
visto que o controle é ótimo com respeito
ao estado
11 −tu
11 −tx
43. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• Similarmente, para o segundo estágio:
• A relação geral de recorrência, para o estágio τ
[ ].)),((),(max)( 222
*
12222
*
2 1111`11
21
1 −−−−−−− +=
−
tttttt
u
t uxfJuxIxJ
t
• A relação geral de recorrência, para o estágio τ
é:
[ ].)),((),(max)( 1111`11
1
1
*
1
*
τττττττττ
τ
−−−−−−−− +=
−
tttttt
u
t uxfJuxIxJ
t
44. SOLUÇÃO POR P.D. DE PROBLEMAS DE
OTIMIZAÇÃO MULTIESTÁGIOS
• O problema é então resolvido como o último
valor ótimo encontrado na sequencia de
otimização de estágios simples descrita pela
equação funcional acima, para com
condição de contorno
)( 0
*
1
xJt
,,...,2,1 1t=τ
).,()(*
txFxJ =condição de contorno
• O problema de otimização multiestágios é
reduzido via programação dinâmica, a uma
sequencia de problemas de otimização de
estágios simples.
).,()( 1
*
0 11
txFxJ tt =