Introducción al control óptimo

IE3041 - Sistemas de Control 2

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

control LTI local

\(\mathbf{x}_0\) debe de estar dentro de la región de atracción para que funcione

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

control LTI local

\(\mathbf{x}_0\) debe de estar dentro de la región de atracción para que funcione

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

control LTI local

\(\mathbf{x}_0\) debe de estar dentro de la región de atracción para que funcione

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

control LTI de alta ganancia?

 

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

control LTI de alta ganancia?

\(\Rightarrow\) puede requerir demasiado esfuerzo de control

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

estrategias como gain-scheduling?

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

estrategias como gain-scheduling?

\(\Rightarrow\) asumen una visión demasiado LTI de la realidad (?)

¿Dónde estamos por el momento?

el problema con estas estrategias es que son sólo "decentes" a pesar de requerir una gran cantidad de manipulaciones matemáticas 

¿Dónde estamos por el momento?

el problema con estas estrategias es que son sólo "decentes" a pesar de requerir una gran cantidad de manipulaciones matemáticas 

esta visión local del mundo impide que el controlador explote la dinámica del sistema

¿Dónde estamos por el momento?

el problema con estas estrategias es que son sólo "decentes" a pesar de requerir una gran cantidad de manipulaciones matemáticas 

esta visión local del mundo impide que el controlador explote la dinámica del sistema

¿Qué estamos buscando?

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

se aprovecha el flujo para una estrategia más eficiente

¿Dónde estamos por el momento?

condición inicial \(\mathbf{x}_0\)

"meta" \(\mathbf{x}_{ss}\)

se aprovecha el flujo para una estrategia más eficiente

óptima

\(\Rightarrow\) control óptimo

¿Dónde estamos por el momento?

Control óptimo

problema de control formulado como búsqueda

similar a los casos de optimización "simples", el control óptimo busca resolver un problema específico de optimización pero más complejo | abstracto

Control óptimo

problema de control formulado como búsqueda

la solución es una trayectoria específica, por lo que el problema también se conoce como optimización de trayectorias

similar a los casos de optimización "simples", el control óptimo busca resolver un problema específico de optimización pero más complejo | abstracto

Control óptimo

problema de control formulado como búsqueda

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}

\(=J\left(\mathbf{u}(t)\right)\) funcional de costo

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}

horizonte finito

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}
\mathbf{x_0} \\ t_0
\mathbf{x_f} \\ t_f

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}
\mathbf{x_0} \\ t_0
\mathbf{x_f} \\ t_f

costo de parqueo o de frontera

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}
\mathbf{x_0} \\ t_0
\mathbf{x_f} \\ t_f

costo de parqueo o de frontera

costo de trayectoria

El problema de control óptimo

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}

obliga que la solución cumpla con la dinámica del sistema

El problema de control óptimo

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m
\dim\left(\mathbf{u}(t)\right)= \dim\left( \begin{bmatrix} u_1(t) \\ u_2(t) \\ \vdots \\ u_m(t)\end{bmatrix} \right)

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m
\dim\left(\mathbf{u}(t)\right)= \dim\left( \begin{bmatrix} u_1(t) \\ u_2(t) \\ \vdots \\ u_m(t)\end{bmatrix} \right)
=\dim\left(u_1(t)\right)+\dim\left(u_2(t)\right)+\cdots+\dim\left(u_m(t)\right)

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m
\dim\left(\mathbf{u}(t)\right)= \dim\left( \begin{bmatrix} u_1(t) \\ u_2(t) \\ \vdots \\ u_m(t)\end{bmatrix} \right)
=\dim\left(u_1(t)\right)+\dim\left(u_2(t)\right)+\cdots+\dim\left(u_m(t)\right)

señales de tiempo continuo \(\Rightarrow \dim \to \infty\)

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m
\dim\left(\mathbf{u}(t)\right)= \dim\left( \begin{bmatrix} u_1(t) \\ u_2(t) \\ \vdots \\ u_m(t)\end{bmatrix} \right)
=\dim\left(u_1(t)\right)+\dim\left(u_2(t)\right)+\cdots+\dim\left(u_m(t)\right) \\ =m \times \infty = \infty

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

\dim(\mathbf{u})=m
\dim\left(\mathbf{u}(t)\right)= \dim\left( \begin{bmatrix} u_1(t) \\ u_2(t) \\ \vdots \\ u_m(t)\end{bmatrix} \right)
=\dim\left(u_1(t)\right)+\dim\left(u_2(t)\right)+\cdots+\dim\left(u_m(t)\right) \\ =m \times \infty = \infty

(!)

1. ¿Variables de decisión?

¿Por qué es complicado este problema?

2. Resticciones

\textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right)

restricción de igualdad en forma de una ecuación diferencial vectorial no lineal

¿Por qué es complicado este problema?

2. Resticciones

¿Por qué es complicado este problema?

\textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right)

restricción de igualdad en forma de una ecuación diferencial vectorial no lineal

(!)

  • analíticas
    • cálculo de variaciones
    • teoría de Hamilton-Jacobi-Bellman (dynamic programming)
    • principio del máximo de Pontryagin
  • numéricas
    • requieren transcripción a un programa no lineal

¿Qué herramientas existen para resolver?

  • analíticas
    • cálculo de variaciones
    • teoría de Hamilton-Jacobi-Bellman (dynamic programming)
    • principio del máximo de Pontryagin
  • numéricas
    • requieren transcripción a un programa no lineal

¿Qué herramientas existen para resolver?

\begin{aligned} & \displaystyle\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}

Transcripción directa

\begin{aligned} & \displaystyle\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}
\begin{aligned} & \displaystyle\min_{\mathbf{z}} & f\left(\mathbf{z}\right) \qquad \\ & \text{s.t.} & \mathbf{g}_i\left(\mathbf{z}\right) \le\mathbf{0} \quad \forall i \\ & & \mathbf{h}_j\left(\mathbf{z}\right)=\mathbf{0} \quad \forall j \end{aligned}

Transcripción directa

\begin{aligned} & \displaystyle\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{t_f} \mathcal{L}\left(\mathbf{x}(\tau), \mathbf{u}(\tau) \right)d\tau + \varphi\left(\mathbf{x}_0,\mathbf{x}_f\right) \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \end{aligned}
\begin{aligned} & \displaystyle\min_{\mathbf{z}} & f\left(\mathbf{z}\right) \qquad \\ & \text{s.t.} & \mathbf{g}_i\left(\mathbf{z}\right) \le\mathbf{0} \quad \forall i \\ & & \mathbf{h}_j\left(\mathbf{z}\right)=\mathbf{0} \quad \forall j \end{aligned}

primero discretizamos y luego optimizamos

Transcripción directa

sencillos de plantear y resolver pero menos precisos

Transcripción directa

sencillos de plantear y resolver pero menos precisos

¿Transcripción indirecta?

presentan mejor precisión pero requieren de las técnicas analíticas para su planteamiento

Transcripción directa

sencillos de plantear y resolver pero menos precisos

¿Transcripción indirecta?

presentan mejor precisión pero requieren de las técnicas analíticas para su planteamiento

\(\Rightarrow\) NO los emplearemos

Transcripción directa

  • métodos de disparo (shooting)
    • basados en simulación
    • buenos para problemas sin (muchas) restricciones
  • métodos de colocación (collocation)
    • basados en aproximaciones de la dinámica
    • mejores para problemas con restricciones

Dos métodos

Shooting vs Collocation

  • métodos de disparo (shooting)
    • basados en simulación
    • buenos para problemas sin (muchas) restricciones
  • métodos de colocación (collocation)
    • basados en aproximaciones de la dinámica
    • mejores para problemas con restricciones

método de colocación directa

Dos métodos

IE3041 - Lecture 12 (2025)

By Miguel Enrique Zea Arenales

IE3041 - Lecture 12 (2025)

  • 1