Aula 2
06 Ago 2019
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 1 / 64
Resumo da aula passada
Conceitos preliminares: Horizontes de predicao e controle, horizonteretrocedente.
Elementos basicos de uma formulacao de controle preditivo: Funcaode custo, modelo de predicao (dinamica da planta e perturbacoes),restricoes.
Exemplo: Dynamic Matrix Control (DMC)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 2 / 64
Recapitulando: Notacao adotada
y =
y(k + 1|k)y(k + 2|k)
...y(k + N|k)
, r =
yrefyref
...yref
, [yref ]N
∆u =
∆u(k|k)
∆u(k + 1|k)...
∆u(k + M − 1|k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 3 / 64
Recapitulando: Funcao de custo adotada no DMC
J(y,∆u) = (y − r)T (y − r) + ρ∆uT∆u
y e ∆u nao sao independentes.
A relacao entre y e ∆u e dada pelo modelo de predicao adotado.
Como se vera agora, assumindo um modelo de predicao linear einvariante no tempo, a relacao entre y e ∆u toma a forma de umaequacao de predicao linear, que pode ser obtida com base naresposta a degrau da planta.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 4 / 64
Resposta a degrau
u(t) =
{1, t ≥ 00, t < 0
, Sistema inicialmente em repouso
=⇒ y(t) = g(t) ≡ Resposta a Degrau.
u g t
tT T
g(T)
g(2T)
T
u t
g t
g(0) = 0
g(3T)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 5 / 64
Seguindo a notacao inicialmente convencionada, os valores de u e g nok-esimo instante de amostragem serao indicados por u(k) e g(k),respectivamente.
k
k
g(1)
g(2)
u k
g k
g(0) = 0
g(3)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 6 / 64
Modelo baseado na resposta a degrau
k
∆u(k−3)
u(k−3)u(k−2)
u(k−1)
∆u(k−2)
∆u(k−1)
Predição
Tempo
∆u(k) = u(k) − u(k−1)
y(k) = g(1)∆u(k − 1) + g(2)∆u(k − 2) + · · · =∑∞
n=1 g(n)∆u(k − n)
(Somatoria de Convolucao)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 7 / 64
Estimacao de perturbacoes
A formulacao DMC supoe a existencia de uma perturbacao constante d nasaıda da planta:
Plantau y
d+
+
y(k) =∞∑n=1
g(n)∆u(k − n) + d(k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 8 / 64
y(k) =∞∑n=1
g(n)∆u(k − n) + d(k)
Supondo que y(k) seja medido por um sensor, pode-se obter umaestimativa para a perturbacao d(k) como sendo
d(k|k) = y(k)−∞∑n=1
g(n)∆u(k − n)
Nao esta sendo usado chapeu em d(k|k) por nao se tratar de uma variavelde otimizacao (de acordo com a notacao adotada neste curso).
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 9 / 64
Predicao um passo a frente
y(k) =∞∑n=1
g(n)∆u(k − n) + d(k)
y(k + 1) =∞∑n=1
g(n)∆u(k + 1− n) + d(k + 1) =
= g(1)∆u(k) +∞∑n=2
g(n)∆u(k + 1− n) + d(k + 1)
Em termos de valores preditos:
y(k + 1|k) = g(1)∆u(k|k) +∞∑n=2
g(n)∆u(k + 1− n) + d(k + 1|k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 10 / 64
Sob a hipotese de perturbacao constante:
d(k + 1|k) = d(k|k) = y(k)−∞∑n=1
g(n)∆u(k − n)
Logo:
y(k + 1|k) = g(1)∆u(k|k) +∞∑n=2
g(n)∆u(k + 1− n) + d(k + 1|k)
= g(1)∆u(k|k) +∞∑n=2
g(n)∆u(k + 1− n)
+ y(k)−∞∑n=1
g(n)∆u(k − n)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 11 / 64
y(k + 1|k) = g(1)∆u(k|k) +
∑∞n=1 g(n+1)∆u(k−n)︷ ︸︸ ︷
∞∑n=2
g(n)∆u(k + 1− n)
+y(k)−∞∑n=1
g(n)∆u(k − n)
y(k + 1|k) = g(1)∆u(k|k) + y(k) +∞∑n=1
[g(n + 1)− g(n)]∆u(k − n)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 12 / 64
y(k + 1|k) = g(1)∆u(k|k) + y(k) +∞∑n=1
[g(n + 1)− g(n)]∆u(k − n)︸ ︷︷ ︸f (k+1|k)
O termo
f (k + 1|k) = y(k) +∞∑n=1
[g(n + 1)− g(n)]∆u(k − n)
e denominado “resposta livre” (free response) da planta.
y(k + 1|k) = g(1)∆u(k|k) + f (k + 1|k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 13 / 64
Calculo da resposta livre
f (k + 1|k) = y(k) +∞∑n=1
[g(n + 1)− g(n)]∆u(k − n)
Se a planta for estavel, tem-se
g(n + 1)− g(n)n→∞−→ 0
Logo, a somatoria na expressao de f (k + 1|k) pode ser truncada em umnumero Ns suficientemente grande de termos:
f (k + 1|k) ' y(k) +Ns−1∑n=1
[g(n + 1)− g(n)]∆u(k − n)
(assumindo g(n) ' g(Ns), ∀n ≥ Ns).
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 14 / 64
Predicao i passos a frente
y(k) =∞∑n=1
g(n)∆u(k − n) + d(k)
y(k + i) =∞∑n=1
g(n)∆u(k + i − n) + d(k + i) =
=i∑
n=1
g(n)∆u(k + i − n) +∞∑
n=i+1
g(n)∆u(k + i − n) + d(k + i)
Em termos de valores preditos:
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k) +∞∑
n=i+1
g(n)∆u(k + i − n)
+ d(k + i |k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 15 / 64
Sob a hipotese de perturbacao constante:
d(k + i |k) = d(k|k) = y(k)−∞∑n=1
g(n)∆u(k − n)
Logo:
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k) +∞∑
n=i+1
g(n)∆u(k + i − n)
+ y(k)−∞∑n=1
g(n)∆u(k − n)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 16 / 64
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k) +
∑∞n=1 g(n+i)∆u(k−n)︷ ︸︸ ︷
∞∑n=i+1
g(n)∆u(k + i − n)
+ y(k)−∞∑n=1
g(n)∆u(k − n)
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k)
+ y(k) +∞∑n=1
[g(n + i)− g(n)]∆u(k − n)︸ ︷︷ ︸f (k+i |k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 17 / 64
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k) + f (k + i |k)
em que
f (k + i |k) ' y(k) +Ns−1∑n=1
[g(n + i)− g(n)]∆u(k − n)
sendo Ns suficientemente grande para que g(Ns + i) ' g(Ns).
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 18 / 64
Equacao de predicao: Uso de notacao matricial
y(k + i |k) =i∑
n=1
g(n)∆u(k + i − n|k) + f (k + i |k)
y(k + 1|k) = g(1)∆u(k|k) + f (k + 1|k)
y(k + 2|k) = g(2)∆u(k|k) + g(1)∆u(k + 1|k) + f (k + 2|k)
...
y(k + N|k) = g(N)∆u(k|k) + g(N − 1)∆u(k + 1|k) + · · ·
+ g(1)∆u(k + N − 1|k) + f (k + N|k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 19 / 64
y(k + 1|k)y(k + 2|k)
...y(k + N|k)
=
g(1) 0 · · · 0g(2) g(1) · · · 0
......
. . ....
g(N) g(N − 1) · · · g(1)
∆u(k|k)∆u(k + 1|k)
...∆u(k + N − 1|k)
+
f (k + 1|k)f (k + 2|k)
...f (k + N|k)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 20 / 64
y(N×1)︷ ︸︸ ︷y(k + 1|k)y(k + 2|k)
...y(k + N|k)
=
G(N×N)︷ ︸︸ ︷g(1) 0 · · · 0g(2) g(1) · · · 0
......
. . ....
g(N) g(N − 1) · · · g(1)
∆u(N×1)︷ ︸︸ ︷∆u(k|k)
∆u(k + 1|k)...
∆u(k + N − 1|k)
+
f (k + 1|k)f (k + 2|k)
...f (k + N|k)
︸ ︷︷ ︸
f(N×1)
=⇒ y = G∆u + f
G : “Matriz Dinamica” (formato Toeplitz).
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 21 / 64
Equacao de predicao: Caso M < N
Se o horizonte de controle M for menor que o horizonte de predicao N,deve-se impor ∆u(k + i − 1|k) = 0, M + 1 ≤ i ≤ N. Logo:
y =
g(1) 0 · · · 0 0 · · · 0g(2) g(1) · · · 0 0 · · · 0
......
......
......
...g(M) g(M − 1) · · · g(1) 0 · · · 0
......
......
......
...g(N − 1) g(N − 2) · · · g(N −M) g(N −M − 1) · · · 0g(N) g(N − 1) · · · g(N −M + 1) g(N −M) · · · g(1)
×
[∆u(k|k) ∆u(k + 1|k) · · · ∆u(k + M − 1|k) | 0 · · · 0]T + f
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 22 / 64
y =
G(N×M)︷ ︸︸ ︷
g(1) 0 · · · 0g(2) g(1) · · · 0
......
......
g(M) g(M − 1) · · · g(1)...
......
...g(N − 1) g(N − 2) · · · g(N −M)g(N) g(N − 1) · · · g(N −M + 1)
×
∆u(M×1)︷ ︸︸ ︷[∆u(k|k) ∆u(k + 1|k) · · · ∆u(k + M − 1|k)]T +f
=⇒ y = G∆u + f
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 23 / 64
Solucao do problema de otimizacao
Problema: Minimizar
J(y,∆u) = (y − r)T (y − r) + ρ∆uT∆u
s.a.y = G∆u + f
com respeito a y ∈ RN , ∆u ∈ RM .
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 24 / 64
J(y,∆u) = (y − r)T (y − r) + ρ∆uT∆u (1)
y = G∆u + f (2)
Substituindo a expressao de y dada em (2) na funcao de custo (1),chega-se a
J = (G∆u + f − r)T (G∆u + f − r) + ρ∆uT∆u =
= ∆uTGTG∆u +
2(f−r)T (G∆u)︷ ︸︸ ︷(G∆u)T (f − r) + (f − r)T (G∆u) +
+ (f − r)T (f − r) + ρ∆uT∆u
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 25 / 64
J = ∆uTGTG∆u +
2(f−r)T (G∆u)︷ ︸︸ ︷(G∆u)T (f − r) + (f − r)T (G∆u) +
+ (f − r)T (f − r) + ρ∆uT∆u
= ∆uT (GTG + ρI )︸ ︷︷ ︸(1/2)H
∆u + 2(f − r)TG︸ ︷︷ ︸cT
∆u + (f − r)T (f − r)︸ ︷︷ ︸cte
J =1
2∆uTH∆u + cT∆u + cte
sendo
H = 2(GTG + ρI ), c = 2GT (f − r), cte = (f − r)T (f − r)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 26 / 64
Problema reformulado
Minimizar
J(∆u) =1
2∆uTH∆u + cT∆u + cte
com respeito a ∆u ∈ RM .
Problema de otimizacao sem restricoes
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 27 / 64
Revisao de Otimizacao sem Restricoes
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 28 / 64
Mini-Tutorial: Matrizes Positivo/Negativo-Definidas
Uma matriz Q ∈ Rn×n simetrica e dita positivo-definida (PD) se esomente se (s.s.s)
xTQx > 0,∀x ∈ Rn, x 6= 0
Notacoes comumente empregadas: Q = QT > 0, Q = QT � 0.
Termo alternativo: Definida positiva
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 29 / 64
Relacao com os autovalores de Q
Sejam λ1, λ2, . . . , λn os autovalores de uma matriz Q = QT ∈ Rn×n.
Tem-se que Q > 0⇐⇒ λi > 0, i = 1, 2, . . . , n.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 30 / 64
Q > 0⇐⇒ λi > 0, i = 1, 2, . . . , n
Demonstracao: Sejam v1, v2, . . . , vn os autovetores de Q (com normaunitaria) associados aos autovalores λ1, λ2, . . . , λn. Tendo em vista queQvi = λivi , i = 1, 2, . . . , n, pode-se escrever
Q [v1 v2 · · · vn] = [v1 v2 · · · vn]︸ ︷︷ ︸V
λ1 0 · · · 00 λ2 · · · 0...
.... . . 0
0 0 · · · λn
︸ ︷︷ ︸
Λ
ou seja QV = VΛ.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 31 / 64
Como Q = QT ∈ Rn×n, sabe-se que os autovalores λ1, λ2, . . . , λn saoreais e os autovetores v1, v2, . . . , vn sao mutuamente ortogonais.
Com efeito, se λ e um autovalor de Q associado a um autovetor v , tem-se
Qv = λv
Multiplicando os dois lados dessa identidade por v?, em que ? denota ocomplexo-conjugado transposto, obtem-se
v?Qv = v?λv = λv?v
Por outro lado, tem-se que v?Qv ∈ R, pois (v?Qv)? = v?Q?v = v?Qv .Portanto, como v?v ∈ R, deve-se ter λ ∈ R.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 32 / 64
Uma prova simples da ortogonalidade entre vi e vj , i 6= j , pode serconstruıda para o caso particular em que λi 6= λj .
Neste caso, pode-se escrever
Qvi = λivi (3)
Qvj = λjvj (4)
Pre-multiplicando (3) e (4) por vTj e vTi , respectivamente, tem-se
vTj Qvi = λivTj vi (5)
vTi Qvj = λjvTi vj (6)
Subtraindo (6) de (5) chega-se a (λi − λj)vTi vj = 0. Como λi 6= λj , porhipotese, conclui-se que vTi vj = 0.
Para o caso de autovalores com multiplicidade maior do que um, verGANTMACHER, F. R. The Theory of Matrices, 2 ed. New York: Chelsea,1990 (v. 1, p. 270-272).
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 33 / 64
Retornando a demonstracao principal:
QV = VΛ (7)
Como v1,v2, . . . ,vn possuem norma unitaria e sao mutuamente ortogonais,tem-se que
V TV = VV T = I
sendo I uma matriz identidade.
Logo, pos-multiplicando os dois lados de (7) por V T , tem-se que
QVV T = VΛV T ⇒ Q = VΛV T (8)
sendo
V = [v1 v2 · · · vn] , Λ =
λ1 0 · · · 00 λ2 · · · 0...
.... . . 0
0 0 · · · λn
(9)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 34 / 64
Q = VΛV T , V = [v1 v2 · · · vn] , Λ =
λ1 0 · · · 00 λ2 · · · 0...
.... . . 0
0 0 · · · λn
Portanto, dado x ∈ Rn tem-se que
xTQx = xTVΛV T x = zTΛz
sendo z = V T x . Por outro lado,
zTΛz = [z1 z2 · · · zn]
λ1 0 · · · 00 λ2 · · · 0...
.... . . 0
0 0 · · · λn
z1
z2...zn
= λ1z
21 + λ2z
22 + · · ·+ λnz
2n
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 35 / 64
Demonstracao da suficiencia:
Hipotese: λi > 0, i = 1, 2, . . . , n.
Tese: Q > 0 (isto e, x 6= 0⇒ xTQx > 0)
Seja x 6= 0. Tomando z = V T x , tem-se que
||z ||2 = zT z = xTVV T x = xT x 6= 0
e portanto z 6= 0.
Sabe-se ainda que
xTQx = zTΛz = λ1z21 + λ2z
22 + · · ·+ λnz
2n
Como z 6= 0, tem-se que zi 6= 0 para algum i . Como λi > 0, por hipotese,segue que
xTQx = zTΛz ≥ λiz2i > 0
Portanto, xTQx > 0, cqd.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 36 / 64
Demonstracao da necessidade:
Hipotese: Q > 0 (isto e, x 6= 0⇒ xTQx > 0)
Tese: λi > 0, i = 1, 2, . . . , n.
Por absurdo, suponha que λi ≤ 0 para algum i . Seja aindaz = [0 · · · 0 zi 0 · · · 0]T com zi 6= 0 e tome-se x = Vz . Tem-se entao que
||x ||2 = xT x = zTV TVz = zT z = z2i > 0
e, portanto, x 6= 0. Por outro lado,
xTQx = zTΛz = λ1z21 + λ2z
22 + · · ·+ λnz
2n = λiz
2i ≤ 0
dado que λi ≤ 0, por hipotese. Verifica-se entao que e possıvel terxTQx ≤ 0 com x 6= 0, o que contradiz a hipotese de que Q > 0.Portanto, assumir que λi ≤ 0 para algum i conduz a uma contradicao.Logo, todos os autovalores λi , i = 1, 2, . . . , n, devem ser estritamentepositivos, c.q.d.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 37 / 64
Observacoes:
Uma matriz PD pode ter elementos negativos.
Por exemplo, a matriz
Q =
[2 −1−1 3
]tem autovalores λ1 = 1,4 e λ2 = 3,6.
Uma matriz com todos os elementos positivos nao e necessariamentePD.
Por exemplo, a matriz
Q =
[2 44 3
]tem autovalores λ1 = −1,5 e λ2 = 6,5.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 38 / 64
Definicoes adicionais
Seja Q = QT ∈ Rn×n. Diz-se que:
Q > 0 (Positivo-Definida) se xTQx > 0,∀x 6= 0.
Q ≥ 0 (Positivo-Semidefinida) se xTQx ≥ 0, ∀x .
Q < 0 (Negativo-Definida) se xTQx < 0, ∀x 6= 0.
Q ≤ 0 (Negativo-Semidefinida) se xTQx ≤ 0,∀x .
Q e Indefinida nos demais casos.
Condicoes sobre os autovalores:
Q > 0⇔ λi > 0, i = 1, 2, . . . , n
Q ≥ 0⇔ λi ≥ 0, i = 1, 2, . . . , n
Q < 0⇔ λi < 0, i = 1, 2, . . . , n
Q ≤ 0⇔ λi ≤ 0, i = 1, 2, . . . , n
Q indefinida ⇔ λi > 0 e λj < 0 para algum i e j .
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 39 / 64
Condicoes de otimalidade
Seja uma funcao J : Rn → R. Um ponto x∗ ∈ Rn e dito ser um mınimolocal de J se J(x∗) ≤ J(x) para todo x em uma vizinhanca de x∗.
Se J(x∗) ≤ J(x) para todo x ∈ Rn, diz-se que x∗ e um mınimo global de J.
Notacoes comumente empregadas:
x∗ = arg minx∈Rn
J(x)
J(x∗) = minx∈Rn
J(x)
O problema de otimizacao e expresso como
minx∈Rn
J(x)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 40 / 64
Teorema de Taylor - Caso univariado
Seja uma funcao J : R→ R. Se J ∈ C r (isto e, se J possui derivadascontınuas ate ordem r), entao dados x ∈ R e h ∈ R, existe θ ∈ [0,1] talque
J(x + h) = J(x) + hJ ′(x) +1
2h2J ′′(x) + · · ·+
+1
(r − 1)!hr−1J(r−1)(x) + hr
1
r !J(r)(x + θh)
Em particular, se J ∈ C 2, entao
J(x + h) = J(x) + hJ ′(x) +1
2h2J ′′(x + θh)
Referencia: GILL, P.E.; MURRAY, W.; WRIGHT, M.H. Practical Optimization,Academic Press, 1981.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 41 / 64
Condicoes necessarias para otimalidade - Caso univariado
Seja uma funcao J : R→ R pertencente a classe C 2. Se x∗ ∈ R e ummınimo local de f , entao as seguintes condicoes devem ser satisfeitas:
J ′(x∗) = 0
J ′′(x∗) ≥ 0
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 42 / 64
Condicoes suficientes para otimalidade - Caso univariado
Seja uma funcao J : R→ R pertencente a classe C 2. Se as seguintescondicoes forem satisfeitas:
J ′(x∗) = 0
J ′′(x∗) > 0
entao x∗ ∈ R e um mınimo local de J.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 43 / 64
Teorema de Taylor - Caso multivariado com r = 2
Seja uma funcao J : Rn → R da classe C 2. Dados x ∈ Rn e ∆x ∈ Rn,existe θ ∈ [0, 1] tal que
J(x + ∆x) = J(x) +
[∂J
∂x(x)
]T∆x +
1
2∆xT
[∂2J
∂x2(x + θ∆x)
]∆x
em que ∂J∂x ∈ Rn (vetor gradiente) e ∂2J
∂x2 ∈ Rn×n (matriz Hessiana, ou “decurvatura”) sao dados por
∂J
∂x=
∂J∂x1∂J∂x2...∂J∂xn
, ∂2J
∂x2=
∂2J∂x2
1
∂2J∂x1∂x2
· · · ∂2J∂x1∂xn
∂2J∂x2∂x1
∂2J∂x2
2· · · ∂2J
∂x2∂xn...
.... . .
...∂2J
∂xn∂x1
∂2J∂xn∂x2
· · · ∂2J∂x2
n
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 44 / 64
Observacao sobre a matriz Hessiana
∂2J
∂x2=
∂2J∂x2
1
∂2J∂x1∂x2
· · · ∂2J∂x1∂xn
∂2J∂x2∂x1
∂2J∂x2
2· · · ∂2J
∂x2∂xn...
.... . .
...∂2J
∂xn∂x1
∂2J∂xn∂x2
· · · ∂2J∂x2
n
Como as derivadas de segunda ordem sao contınuas (no caso r = 2),tem-se que
∂2J
∂xi∂xj=
∂2J
∂xj∂xi
Portanto, a matriz Hessiana ∂2J∂x2 e simetrica.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 45 / 64
Condicoes necessarias para otimalidade - Caso multivariado
Seja uma funcao J : Rn → R pertencente a classe C 2. Se x∗ ∈ Rn e ummınimo local de J, entao as seguintes condicoes devem ser satisfeitas:
∂J
∂x(x∗) = 0
∂2J
∂x2(x∗) ≥ 0
Observacao: Se∂J
∂x(x∗) = 0, diz-se que x∗ e um “ponto estacionario” de J.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 46 / 64
Condicoes suficientes para otimalidade - Caso multivariado
Seja uma funcao J : Rn → R pertencente a classe C 2. Se as seguintescondicoes forem satisfeitas:
∂J
∂x(x∗) = 0
∂2J
∂x2(x∗) > 0
entao x∗ ∈ Rn e um mınimo local de J.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 47 / 64
Observacao: Suponha que J ∈ C 2 e∂J
∂x(x∗) = 0. Tem-se entao:
∂2J
∂x2(x∗) > 0⇒ x∗ e mınimo local.
∂2J
∂x2(x∗) < 0⇒ x∗ e maximo local.
∂2J
∂x2(x∗) indefinida ⇒ x∗ e ponto de sela.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 48 / 64
Algumas expressoes para calculo de gradientes
Sejam x ∈ Rn, y ∈ Rn,Q ∈ Rn×n. Entao:
∂(yT x)
∂x=∂(xT y)
∂x= y
∂(yTQx)
∂x=∂(xTQT y)
∂x= QT y
∂(xTQx)
∂x= Qx + QT x
∂[(x − y)TQ(x − y)
]∂x
= (Q + QT )(x − y)
Se Q for simetrica, as expressoes se simplificam, pois Q + QT = 2Q.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 49 / 64
Algumas expressoes para calculo de Hessianas
Sejam x ∈ Rn, y ∈ Rn,Q ∈ Rn×n. Entao:
∂2(xTQx)
∂x2= Q + QT
∂2[(x − y)TQ(x − y)
]∂x2
= Q + QT
Se Q for simetrica, as expressoes se simplificam, pois Q + QT = 2Q.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 50 / 64
Ex: Funcoes Quadraticas
J(x) =1
2xTHx + cT x + cte
Neste caso, tem-se
∂J
∂x(x) = Hx + c
Portanto, x∗ deve satisfazer Hx∗ + c = 0, isto e
x∗ = −H−1c
desde que H seja nao singular.
Adicionalmente, a matriz Hessiana em x∗ e dada por
∂2J
∂x2(x∗) = H
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 51 / 64
Exemplo 1
x∗ = −H−1c,∂2J
∂x2(x∗) = H
H =
[1 00 2
], c =
[00
]
−1
−0.5
0
0.5
1
−1
−0.5
0
0.5
10
0.5
1
1.5
x1x2
J(x)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 52 / 64
Exemplo 2
x∗ = −H−1c,∂2J
∂x2(x∗) = H
H =
[1 00 −2
], c =
[00
]
−1
−0.5
0
0.5
1
−1
−0.5
0
0.5
1−1
−0.5
0
0.5
x1x2
J(x)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 53 / 64
Retornando ao problema inicial (DMC)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 54 / 64
Minimizar
J(∆u) =1
2∆uTH∆u + cT∆u + cte
com respeito a ∆u ∈ RM , sendo
H = 2(GTG + ρI ), c = 2GT (f − r)
ρ > 0
Vale notar que a matrix Hessiana H e simetrica e positivo-definida. Comefeito, dado x 6= 0, tem-se que
xTHx = 2xT (GTG + ρI )x = 2 xT (GTG )x︸ ︷︷ ︸≥0
+ 2ρ xT x︸︷︷︸>0
> 0
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 55 / 64
J(∆u) =1
2∆uTH∆u + cT∆u + cte
H > 0
Trata-se de uma funcao quadratica em ∆u com matriz Hessianapositivo-definida. Assim, como visto anteriormente,
∆u∗ = −H−1c
comH = 2(GTG + ρI ), c = 2GT (f − r)
Logo,∆u∗ = (GTG + ρI )−1GT (r − f)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 56 / 64
Observacoes
∆u∗ = (GTG + ρI )−1GT (r − f)
A matriz (GTG + ρI ) tem dimensoes M ×M
O parametro ρ > 0 pode ser usado para ajustar o esforco de controle.
No instante atual k, a variacao de controle a ser aplicada correspondeao primeiro elemento do vetor ∆u∗, isto e:
∆u(k) = ∆u∗(k|k) = KMPC (r − f)
sendo KMPC a primeira linha da matriz (GTG + ρI )−1GT .
Vale notar que r = f ⇒ ∆u(k) = 0, ou seja, se a resposta livre seguiro sinal de referencia, nao e necessario promover alteracoes nocontrole.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 57 / 64
Interpretacao para N = M = 1
Neste caso, tem-se G = g(1), r = yref , f = f (k + 1|k). Logo:
(GTG + ρI )−1GT =g(1)
g2(1) + ρ= KMPC
∆u(k) = KMPC (yref − f (k + 1|k))
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 58 / 64
Observacoes
∆u∗ = (GTG + ρI )−1GT (r − f)
Se a referencia for constante, sera empregada a seguinte notacao:
r = [yref ]N
sendo [•]N um vetor-coluna formado pelo empilhamento vertical de Ncopias de •.
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 59 / 64
Observacoes
Se a referencia variar com o tempo, mas for previamente conhecida, bastafazer
r =
yref (k + 1)yref (k + 2)
...yref (k + N)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 60 / 64
DMC: Resumo
Informacao requerida sobre a planta:
Resposta a degrau g(n), n = 1, 2, . . . ,Ns
(assume-se g(0) = 0 e g(n) = g(Ns),∀n ≥ Ns).
Parametros de projeto:
Peso do controle ρ
Horizonte de predicao N
Horizonte de controle M
Inicializacao:
Fazer G =
g(1) 0 · · · 0g(2) g(1) · · · 0
......
. . ....
g(N) g(N − 1) · · · g(N −M + 1)
Calcular KMPC = [ 1 0 · · · 0 ](GTG + ρIM)−1GT
Fazer k = 0, u(−1)=0 e ∆u(−1)=∆u(−2)= · · ·=∆u(−Ns + 1)=0
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 61 / 64
Rotina principal:
1 Ler y(k) (saıda da planta) e yref (valor de referencia)
2 Fazer r = [yref ]N3 Calcular
f (k + i |k) = y(k) +Ns−1∑n=1
[g(n + i)− g(n)]∆u(k − n), i = 1, 2, . . . ,N
4 Fazer f = [f (k + 1|k) f (k + 2|k) · · · f (k + N|k)]T
5 Calcular o incremento no controle: ∆u(k) = KMPC (r − f)
6 Atualizar o controle aplicado a planta: u(k) = u(k − 1) + ∆u(k)
7 Fazer k = k + 1
8 Aguardar o proximo instante de amostragem e retornar ao passo 1
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 62 / 64
Resumo da aula de hoje
DMC: Obtencao da equacao de predicao a partir da resposta a degrauda planta:
y = G∆u + f
Solucao do problema de otimizacao
∆u∗ = (GTG + ρI )−1GT (r − f)
∆u(k) = ∆u∗(k|k) = [ 1 0 · · · 0 ](GTG + ρI )−1GT (r − f)
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 63 / 64
Topicos da proxima aula
DMC: Sintonia de parametros (Perıodo de amostragem, M, N, ρ)
Implementacao em Matlab/Simulink
Exemplos
EE-254 (Controle Preditivo) Aula 2 06 Ago 2019 64 / 64