Buscar

Controle ótimo e programação dinâmica

Prévia do material em texto

Controle ótimo e programação dinâmica:
do discreto ao contínuo
e de volta outra vez
Bernardo Freitas Paulo da Costa
Sextas Matemáticas – 18 de Junho 2021
Bernardo Controle ótimo Sextas Matemáticas 1 / 18
Controle ótimo e programação dinâmica:
do discreto ao contínuo
e de volta outra vez
Bernardo Freitas Paulo da Costa
Sextas Matemáticas – 18 de Junho 2021
Bernardo Controle ótimo Sextas Matemáticas 1 / 18
Controle ótimo
Ideia fundamental: tomar decisões ao longo do tempo.
Modelo simples:
Estado: xt;
Controle: ut;
Dinâmica: xt`1 “ fpxt, utq;
Custo: cpxt, utq a cada instante, mais gpxT q final.
Problema: escolher ut para minimizar o custo total.
Bernardo Controle ótimo Sextas Matemáticas 2 / 18
Controle ótimo
Ideia fundamental: tomar decisões ao longo do tempo.
Modelo simples:
Estado: xt;
Controle: ut;
Dinâmica: xt`1 “ fpxt, utq;
Custo: cpxt, utq a cada instante, mais gpxT q final.
Problema: escolher ut para minimizar o custo total.
Bernardo Controle ótimo Sextas Matemáticas 2 / 18
Controle ótimo
Ideia fundamental: tomar decisões ao longo do tempo.
Modelo simples:
Estado: xt;
Controle: ut;
Dinâmica: xt`1 “ fpxt, utq;
Custo: cpxt, utq a cada instante, mais gpxT q final.
Problema: escolher ut para minimizar o custo total.
Bernardo Controle ótimo Sextas Matemáticas 2 / 18
Controle ótimo
Ideia fundamental: tomar decisões ao longo do tempo.
Modelo simples:
Estado: xt;
Controle: ut;
Dinâmica: xt`1 “ fpxt, utq;
Custo: cpxt, utq a cada instante, mais gpxT q final.
Problema: escolher ut para minimizar o custo total.
Bernardo Controle ótimo Sextas Matemáticas 2 / 18
Alguns exemplos
Clássicos:
Controlador linear quadrático: custo quadrático, dinâmica linear;
Alocação de pessoal: custos lineares, controle discreto;
Planejamento de operações: custos lineares, controle limitado;
Gestão de portfólio: custos aleatórios.
E contemporâneos:
Frota de carros elétricos: uso alternativo das baterias;
Serviço de entregas: cálculo de rotas e posições;
Bernardo Controle ótimo Sextas Matemáticas 3 / 18
Alguns exemplos
Clássicos:
Controlador linear quadrático: custo quadrático, dinâmica linear;
Alocação de pessoal: custos lineares, controle discreto;
Planejamento de operações: custos lineares, controle limitado;
Gestão de portfólio: custos aleatórios.
E contemporâneos:
Frota de carros elétricos: uso alternativo das baterias;
Serviço de entregas: cálculo de rotas e posições;
Bernardo Controle ótimo Sextas Matemáticas 3 / 18
Roteiro
1. Algoritmos diretos
2. Recorrência e função de custo futuro
3. Algoritmos “discretos”
4. Algoritmos “contínuos”
5. Um método universal
Bernardo Controle ótimo Sextas Matemáticas 4 / 18
Algoritmos diretos
OpT q variáveis de decisão: todas as xt e ut.
Custo por iteração:
Gradiente descendente: OpT q
Newton genérico: OpT 3q
Newton tridiagonal: OpT q
d “ dimpxtq ` dimputq
Bernardo Controle ótimo Sextas Matemáticas 5 / 18
Algoritmos diretos
OpT q variáveis de decisão: todas as xt e ut.
Custo por iteração:
Gradiente descendente: OpT q
Newton genérico: OpT 3q
Newton tridiagonal: OpT q
d “ dimpxtq ` dimputq
Bernardo Controle ótimo Sextas Matemáticas 5 / 18
Algoritmos diretos
OpT q variáveis de decisão: todas as xt e ut.
Custo por iteração:
Gradiente descendente: OpT q
Newton genérico: OpT 3q
Newton tridiagonal: OpT q
d “ dimpxtq ` dimputq
Bernardo Controle ótimo Sextas Matemáticas 5 / 18
Algoritmos diretos
OpT q variáveis de decisão: todas as xt e ut.
Custo por iteração:
Gradiente descendente: OpT q
Newton genérico: OpT 3q
Newton tridiagonal: OpT q
d “ dimpxtq ` dimputq
Bernardo Controle ótimo Sextas Matemáticas 5 / 18
Algoritmos diretos
OpT q variáveis de decisão: todas as xt e ut.
Custo por iteração:
Gradiente descendente: OpTdq
Newton genérico: OpT 3d3q
Newton tridiagonal: OpTd3q
d “ dimpxtq ` dimputq
Bernardo Controle ótimo Sextas Matemáticas 5 / 18
Recorrência
Caso T “ 1:
Qpx0q “
minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ fpx0, u0q
u0 P U , x1 P X.
Função de custo de um passo: Qpx0q.
Dado x0, é fácil calcular Qpx0q.
Bernardo Controle ótimo Sextas Matemáticas 6 / 18
Recorrência
Caso T “ 1:
Qpx0q “ minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ fpx0, u0q
u0 P U , x1 P X.
Função de custo de um passo: Qpx0q.
Dado x0, é fácil calcular Qpx0q.
Bernardo Controle ótimo Sextas Matemáticas 6 / 18
Recorrência
Caso T “ 1:
Qpx0q “ minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ fpx0, u0q
u0 P U , x1 P X.
Função de custo de um passo: Qpx0q.
Dado x0, é fácil calcular Qpx0q.
Bernardo Controle ótimo Sextas Matemáticas 6 / 18
O controlador linear-quadrático
Sem restrições em u e x, apenas com custos quadráticos:
Qpx0q “ minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ Ax0 `Bu0.
Proposição
O controle ótimo é linear em x0.
O custo Q é uma função quadrática de x0.
Ideia: condições de otimalidade lineares.
Bernardo Controle ótimo Sextas Matemáticas 7 / 18
O controlador linear-quadrático
Sem restrições em u e x, apenas com custos quadráticos:
Qpx0q “ minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ Ax0 `Bu0.
Proposição
O controle ótimo é linear em x0.
O custo Q é uma função quadrática de x0.
Ideia: condições de otimalidade lineares.
Bernardo Controle ótimo Sextas Matemáticas 7 / 18
O controlador linear-quadrático
Sem restrições em u e x, apenas com custos quadráticos:
Qpx0q “ minu0,x1 cpx0, u0q ` gpx1q
s.a x1 “ Ax0 `Bu0.
Proposição
O controle ótimo é linear em x0.
O custo Q é uma função quadrática de x0.
Ideia: condições de otimalidade lineares.
Bernardo Controle ótimo Sextas Matemáticas 7 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica I
Definimos
1. QT pxT q “ gpxT q;
2. Qtpxtq “ minut,xt`1 ctpxt, utq `Qt`1pxt`1q
s.a xt`1 “ Axt `Btut
;
3. Recorrência para calcular a forma quadrática Qt;
4. Complexidade: OpTd3q.
Ganhamos o controle ótimo partindo de qualquer x0.
Também é conhecido como “controle ótimo por feedback linear”.
Bernardo Controle ótimo Sextas Matemáticas 8 / 18
Programação dinâmica II
Caso geral: discretizar Qt.
Complexidade: T ˆO
`
d3 ¨ p1{εqn
˘
.
d “ dimpxtq ` dimputq
n “ dimpxtq
p1{εqn é conhecido como a “maldição da dimensão”.
Bernardo Controle ótimo Sextas Matemáticas 9 / 18
Programaçãodinâmica II
Caso geral: discretizar Qt.
Complexidade: T ˆO
`
d3 ¨ p1{εqn
˘
.
d “ dimpxtq ` dimputq
n “ dimpxtq
p1{εqn é conhecido como a “maldição da dimensão”.
Bernardo Controle ótimo Sextas Matemáticas 9 / 18
Programação dinâmica II
Caso geral: discretizar Qt.
Complexidade: T ˆO
`
d3 ¨ p1{εqn
˘
.
d “ dimpxtq ` dimputq
n “ dimpxtq
p1{εqn é conhecido como a “maldição da dimensão”.
Bernardo Controle ótimo Sextas Matemáticas 9 / 18
O caso estocástico
Variáveis aleatórias ξt: influenciam custo e dinâmica.
ctpxt, ut, ξtq
xt`1 “ ftpxt, ut, ξtq
Variáveis de decisão: utpξrtsq e xt`1pξrtsq.
Outro crescimento exponencial:
dimpxt, utq “ OpN tq
com N amostras a cada estágio.
Bernardo Controle ótimo Sextas Matemáticas 10 / 18
O caso estocástico
Variáveis aleatórias ξt: influenciam custo e dinâmica.
ctpxt, ut, ξtq
xt`1 “ ftpxt, ut, ξtq
Variáveis de decisão: utpξrtsq e xt`1pξrtsq.
Outro crescimento exponencial:
dimpxt, utq “ OpN tq
com N amostras a cada estágio.
Bernardo Controle ótimo Sextas Matemáticas 10 / 18
O caso estocástico
Variáveis aleatórias ξt: influenciam custo e dinâmica.
ctpxt, ut, ξtq
xt`1 “ ftpxt, ut, ξtq
Variáveis de decisão: utpξrtsq e xt`1pξrtsq.
Outro crescimento exponencial:
dimpxt, utq “ OpN tq
com N amostras a cada estágio.
Bernardo Controle ótimo Sextas Matemáticas 10 / 18
Recorrência estocástica
Qtpxtq “ minut,xt`1 E rctpxt, ut, ξtq `Qt`1pxt`1qs
s.a xt`1 “ ftpxt, ut, ξtq
Complexidade de um passo: N ˆO
`
d3 ¨ p1{εqn
˘
. Não é exponencial em T .
Bernardo Controle ótimo Sextas Matemáticas 11 / 18
Recorrência estocástica
Qtpxtq “ minut,xt`1 E rctpxt, ut, ξtq `Qt`1pxt`1qs
s.a xt`1 “ ftpxt, ut, ξtq
Complexidade de um passo: N ˆO
`
d3 ¨ p1{εqn
˘
.
Não é exponencial em T .
Bernardo Controle ótimo Sextas Matemáticas 11 / 18
Recorrência estocástica
Qtpxtq “ minut,xt`1 E rctpxt, ut, ξtq `Qt`1pxt`1qs
s.a xt`1 “ ftpxt, ut, ξtq
Complexidade de um passo: N ˆO
`
d3 ¨ p1{εqn
˘
. Não é exponencial em T .
Bernardo Controle ótimo Sextas Matemáticas 11 / 18
Programação dinâmica & convexidade
Suponha
ct e gt convexas
U e X convexos
ft linear
Então cada Qt é convexa.
Bernardo Controle ótimo Sextas Matemáticas 12 / 18
Programação dinâmica & convexidade
Suponha
ct e gt convexas
U e X convexos
ft linear
Então cada Qt é convexa.
Bernardo Controle ótimo Sextas Matemáticas 12 / 18
Programação dinâmica & convexidade
Suponha
ct e gt convexas
U e X convexos
ft linear
Então cada Qt é convexa.
Bernardo Controle ótimo Sextas Matemáticas 12 / 18
Programação dinâmica & convexidade
Suponha
ct e gt convexas
U e X convexos
ft linear
Então cada Qt é convexa.
Bernardo Controle ótimo Sextas Matemáticas 12 / 18
Programação dinâmica & convexidade
Amostrar Qt em alguns pontos:
Qt
t
Complexidade de aproximação de Qt.
Bernardo Controle ótimo Sextas Matemáticas 13 / 18
Programação dinâmica & convexidade
Aproximar as funções Qt por tangentes:
Qt
t
Complexidade de aproximação de Qt.
Bernardo Controle ótimo Sextas Matemáticas 13 / 18
Programação dinâmica & convexidade
Aproximar as funções Qt por tangentes:
Qt
t
Complexidade de aproximação de Qt.
Bernardo Controle ótimo Sextas Matemáticas 13 / 18
Complexidade no caso estocástico
Dimensões:
T estágios;
n variáveis de estado (xt);
d variáveis de decisão (xt e ut);
N amostras de ξt.
Newton tridiagonal em blocos: OpNT ˆ Td3q
Programação dinâmica: OpTNqOpd3qO
`
p1{εqOpnq
˘
Bernardo Controle ótimo Sextas Matemáticas 14 / 18
Complexidade no caso estocástico
Dimensões:
T estágios;
n variáveis de estado (xt);
d variáveis de decisão (xt e ut);
N amostras de ξt.
Newton tridiagonal em blocos: OpNT ˆ Td3q
Programação dinâmica: OpTNqOpd3qO
`
p1{εqOpnq
˘
Bernardo Controle ótimo Sextas Matemáticas 14 / 18
Complexidade no caso estocástico
Dimensões:
T estágios;
n variáveis de estado (xt);
d variáveis de decisão (xt e ut);
N amostras de ξt.
Newton tridiagonal em blocos: OpNT ˆ Td3q
Programação dinâmica: OpTNqOpd3qO
`
p1{εqOpnq
˘
Bernardo Controle ótimo Sextas Matemáticas 14 / 18
Demo
Dimensões:
T “ 12 estágios;
n “ 2 variáveis de estado;
d “ 16 variáveis de decisão;
N “ 10 amostras por estágio.
0 50 100 150 200 250 300
0
1
2
3
4
1e9
Cota inferior
Cota superior
50 100 150 200 250 300
4.90
4.95
5.00
5.05
5.10
5.15
5.20
1e8
Cota inferior
Cota superior
Convergência do Algoritmo
Bernardo Controle ótimo Sextas Matemáticas 15 / 18
Demo
Dimensões:
T “ 12 estágios;
n “ 2 variáveis de estado;
d “ 16 variáveis de decisão;
N “ 10 amostras por estágio.
0 50 100 150 200 250 300
0
1
2
3
4
1e9
Cota inferior
Cota superior
50 100 150 200 250 300
4.90
4.95
5.00
5.05
5.10
5.15
5.20
1e8
Cota inferior
Cota superior
Convergência do Algoritmo
Bernardo Controle ótimo Sextas Matemáticas 15 / 18
Demo
Dimensões:
T “ 12 estágios;
n “ 2 variáveis de estado;
d “ 16 variáveis de decisão;
N “ 10 amostras por estágio.
0 50 100 150 200 250 300
10 2
10 1
100
101
102
103 Gap
50 100 150 200 250 300
0.004
0.006
0.008
0.010Gap
Erro relativo da solução
Bernardo Controle ótimo Sextas Matemáticas 15 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
Casos não-convexos
Variáveis de decisão inteiras;
Dinâmicas não-lineares;
Restrições não-convexas em geral.
1. Discretizar o problema (programação dinâmica “clássica”);
2. Aproximar o problema (envoltória convexa, . . . ) [Thomé 2013];
3. Problemas especiais (Q monótona) [MIDAS 2016];
4. Aumentar a dimensão para convexificar [SDDiP 2018];
5. Usar aproximadores não-convexos [SLDP 2020].
Bernardo Controle ótimo Sextas Matemáticas 16 / 18
A dificuldade do caso não-convexo
SB SDDiP SLDP
LB 1.167 2.370 3.031
UB 3.453 3.490 3.380
tempo (s) 12 3317 23
Tabela: T “ 8, n “ 1
SB SDDiP SLDP SLDP
# iters 100 50 100 250
LB 4.605 4.577 7.113 7.883
tempo (s) 10 2500 21 194
Tabela:T “ 8, n “ 4
Bernardo Controle ótimo Sextas Matemáticas 17 / 18
A dificuldade do caso não-convexo
SB SDDiP SLDP
LB 1.167 2.370 3.031
UB 3.453 3.490 3.380
tempo (s) 12 3317 23
Tabela: T “ 8, n “ 1
SB SDDiP SLDP SLDP
# iters 100 50 100 250
LB 4.605 4.577 7.113 7.883
tempo (s) 10 2500 21 194
Tabela: T “ 8, n “ 4
Bernardo Controle ótimo Sextas Matemáticas 17 / 18
Temas de pesquisa
Algoritmos mistos entre diretos e recorrentes;
Análise dos sistemas dinâmicos de controle com T Ñ8;
Constantes de Lipschitz, curvatura, e qualidade de aproximação;
Propriedades estruturais adicionais;
Aversão a risco.
Bernardo Controle ótimo Sextas Matemáticas 18 / 18
Temas de pesquisa
Algoritmos mistos entre diretos e recorrentes;
Análise dos sistemas dinâmicos de controle com T Ñ8;
Constantes de Lipschitz, curvatura, e qualidade de aproximação;
Propriedades estruturais adicionais;
Aversão a risco.
Bernardo Controle ótimo Sextas Matemáticas 18 / 18
Temas de pesquisa
Algoritmos mistos entre diretos e recorrentes;
Análise dos sistemas dinâmicos de controle com T Ñ8;
Constantes de Lipschitz, curvatura, e qualidade de aproximação;
Propriedades estruturais adicionais;
Aversão a risco.
Bernardo Controle ótimo Sextas Matemáticas 18 / 18
Temas de pesquisa
Algoritmos mistos entre diretos e recorrentes;
Análise dos sistemas dinâmicos de controle com T Ñ8;
Constantes de Lipschitz, curvatura, e qualidade de aproximação;
Propriedades estruturais adicionais;
Aversão a risco.
Bernardo Controle ótimo Sextas Matemáticas 18 / 18
Temas de pesquisa
Algoritmos mistos entre diretos e recorrentes;
Análise dos sistemas dinâmicos de controle com T Ñ8;
Constantes de Lipschitz, curvatura, e qualidade de aproximação;
Propriedades estruturais adicionais;
Aversão a risco.
Bernardo Controle ótimo Sextas Matemáticas 18 / 18
	Introdução
	Algoritmos

Continue navegando