Control óptimo
(Demostración del principio del máximo)*
David Abel Barraza Salguero**
1 de marzo de 2013
Resumen
Este documento no intenta ser un copia del libro de referencia, sino más bien una explicación detallada e
interpretación de la condición del primer orden del Control Óptimo. Se han desarrollado las pasos omitidos
por los autores del texto para un mayor entendimiento de la demostración del principio del máximo. La
notación usada aquı́ es la misma que la del libro referido para evitar confusiones.
Definimos primero el problema al que nos enfrentamos:
ˆ T
M ax V = f (t, y, u) dt
0
·
s.a. y = g (t, y, u)
y (0) = y0 (dado)
y (T ) = yT (libre)
u (t) ∈ Ω ∀ t ∈ [0, T ]
El Hamiltoniano de dicho problema es:
H (t, y, u, λ) = f (t, y, u) + λ (t) g (t, y, u) (1)
Una vez definida la base, nos apoyaremos de ella para generar una condición llamada principio del máximo
para hallar las sendas de las variables de estado, coestado y control.
·
Para ello generamos un artificio utilizando la ecuación y = g (t, y, u) que mantendrá su igualdad en todo los
perı́odos [0, T ].
h· i
Construimos λ (t) y − g (t, y, u) = 0 para obtener:
ˆ T
·
h i
λ (t) g (t, y, u) − y dt = 0 (2)
0
Ya que (2) es cero en todo t, entonces puede ser sumada a V sin alterar su valor. Definiremos el ’nuevo valor’
como W :
ˆ T ˆ T
·
h i
W = f (t, y, u) dt + λ (t) g (t, y, u) − y dt
0 0
ˆ T z H(t,y,u,λ)
·
}| {
= f (t, y, u) + λ (t) g (t, y, u) − λ (t) y dt (3)
0
En (3) puede ser reemplazo el Hamiltoniano (1). De ello se obtiene:
ˆ Th
·
i
W = H (t, y, u, λ) − λ (t) y dt (4)
0
ˆ T ˆ T
·
= H (t, y, u, λ) dt − λ (t) ydt (5)
0 0
* Basado en el libro Optimización dinámica y teorı́a económica de Bonifaz y Lama, Primera edición corregida, Universidad
del Pacı́fico (2010). La intención es explicar de manera más detallada la demostración de como hallar las condiciones de primer
orden para el control óptimo.
** Actualmente estudiante de Economı́a en la PUCP.
1
Vemos que el procedimiento que seguimos ha buscado internalizar el Hamiltoniano a partir de una condición
inicial como (2). Se utilizó la igualdad de la ecuación de movimiento de la variable de estado para todo t como
artificio para lograrlo.
´T ·
El término 0 λ (t) ydt de (5) debe ser tratado como una integral por partes. Recordemos dicho apartado.
Integral por partes:
Para derivar el producto de dos funciones w (t) y v (t) hacemos uso de la condición:
d (wv) dw dv
=v +w (6)
dt dt dt
De (6) multiplicado por dt obtenemos:
d (wv) = vdw + wdv (7)
Despejando wdv de (7) e integrando en ambos miembros:
ˆ ˆ ˆ
wdv = d (wv) − vdw
ˆ
= wv − vdw (8)
´T ·
Utilizando el mismo principio para el término 0 λ (t) ydt podemos asignarles valores a w y dv, y diferenciando
e intregrando ambos respectivamente tenemos:
·
w = λ (t) → dw = λdt
·
dv = ydt → v = y
Reemplazando en (8) obtenemos de manera análoga:
ˆ T ˆ T ·
· T
λ (t) ydt = (λ (t) y)|0 − y λdt
0 0
ˆ T ·
= λ (T ) yT − λ (0) y0 − y λdt (9)
0
Ahora, reemplazando (9) en (5) obtenemos una forma más desarrollada que antes:
ˆ T ˆ T ·
W = H (t, y, u, λ) dt − λ (T ) yT + λ (0) y0 + y λdt
0 0
ˆ T ·
= H (t, y, u, λ) + y λ dt − λ (T ) yT + λ (0) y0 (10)
0
Para poder llegar a establecer una condición que sirva para hallar las sendas óptimas que cumplan las condi-
ciones del principio del máximo, debemos suponer que hay una infinidad de sendas posibles cercanas a aquellas
que cumplen la condición de optimalidad. Sean u∗ (t), λ∗ (t) y y ∗ (t) las sendas óptimas. Supondremos una
senda auxiliar z (t) para la variable de control que representa curvas cercanas a u∗ (t). Por ello las sendas
factibles están definidas como:
u (t) = u∗ (t) + θz (t) (11)
donde θ es un número bastante pequeño.
Hecemos lo mismo con la variable de estado y:
y (t) = y ∗ (t) + θh (t) (12)
donde h (t) es la senda auxiliar de la variable de estado y.
Por otra parte, si suponemos que T y yT son libres1 , podemos también suponer valores factibles para ambos
términos:
T = T ∗ + θ∆T (13)
1 Debemos tener en cuenta que podemos manipular a conveniencia la terminologı́a referida a libre y dado. Ello nos servirá para
expresar determinada condición de transversalidad para distintos contextos de T y yT .
2
yT = yT∗ + θ∆yT (14)
Definimos también una variable de error D (θ) como la diferencia entre un W subóptimo y el W ∗ óptimo2 :
ˆ T ∗ +θ∆T
·
∗ ∗ ∗
W (t, y, u, λ) = H (t, y (t) + θh (t) , u (t) + θz (t) , λ) + [y (t) + θh (t)] λ dt . . .
0
−λ (T ∗ + θ∆T ) [yT∗ + θ∆yT ] + λ (0) y0 (15)
ˆ T
·
W ∗ (t∗ , y ∗ , u∗ , λ∗ ) = H (t∗ , y ∗ , u∗ , λ∗ ) + y ∗ λ dt − λ (T ) yT + λ (0) y0 (16)
0
entonces:
D (θ) = W (t, y, u, λ) − W ∗ (t∗ , y ∗ , u∗ , λ∗ ) < 0 (17)
ˆ T ∗ +θ∆T ·
= H (t, y ∗ (t) + θh (t) , u∗ (t) + θz (t) , λ) + [y ∗ (t) + θh (t)] λ dt . . .
0
ˆ T
·
−λ (T ∗ + θ∆T ) [yT∗ + θ∆yT ] + λ (0) y0 − H (t∗ , y ∗ , u∗ , λ∗ ) + y ∗ λ dt . . .
0
+λ (T ) yT − λ (0) y0 (18)
Para poder operar y compactar (18) debemos hacer uso una regla conocida. Esta es la Regla de Leibnitz
que nos permite resolver integrales definidas en cuyos lı́mite superior o inferior se encuentra una función
de alguna de las variables del integrando.
Regla de Leibnitz3 :
Dada la integral definida:
ˆ b
F (t, c) = f (c, t) dt
a
La derivada con respecto a c (también definida como Regla de Leibnitz) es igual a:
ˆ b
dF ∂f (c, t)
= dt (19)
dc a ∂c
La derivada con respecto a b es igual a:
dF
= f (t, c)|t=b = f (b, c) (20)
db
Si el lı́mite superior de la integral dependiera de la variable c:
ˆ b(c)
F (t, c) = f (c, t) dt
a
La derivada con respecto a c se obtiene a partir de las propiedades (19) y (20):
ˆ b(c)
dF ∂f (c, t) db
= dt + f (b (c) , c)
dc a ∂c dc
Nota: Veamos que en (18) debemos minimizar la brecha entre el valor subóptimo y óptimo de W . Dado que
la diferencia es negativa la primera derivada de D (θ) será un ejercicio de minimizar la función. Entonces
0
hacemos D (θ) = 0.
2 Es claro que ésta diferencia es negativa ya que W (·) estará por debajo de W ∗ (·) por ser subóptimo.
3 Este apartado fue extraı́do ı́ntegramente del libro Optimización dinámica y teorı́a económica de Bonifaz y Lama, Primera
edición corregida, Universidad del Pacı́fico (2010).
3
Haciendo uso de la Regla de Leibnitz entonces podremos calcular (21) que es la parte en azul de la ecuación
(18):
ˆ T ∗ +θ∆T
z
y(t,θ)
}| { z
u(t,θ)
}| { z
y(t,θ)
}| { ·
∗ ∗ ∗
F (t, θ) = H t, y (t) + θh (t), u (t) + θz (t), λ + [y (t) + θh (t)]λ dt (21)
0
ˆ T ∗ +θ∆T
·
·
dF ∂H ∂H
= h (t) + z (t) + h (t) λ dt + H + y λ ∆T (22)
dθ 0 ∂y ∂u t=T
Recurriendo nuevamente a (18), vemos que falta derivar un tramo de color rojo de dicha ecuación. Esta
0
separación se hizo por motivos didácticos nada más. Juntando ambas derivadas obtenemos D (θ) que es
justamente lo que deseamos calcular:
0 dF d {λ (T ∗ + θ∆T ) [yT∗ + θ∆yT ]}
D (θ) = −
dθ dθ
ˆ T ∗ +θ∆T ·
·
∂H ∂H
= h (t) + z (t) + h (t) λ dt + H +
yλ
∆T
. . .
0 ∂y ∂u t=T
·
−λ (T ) ∆yT − λ (T)y T ∆T (23)
h 0i 0
En la ecuación (23) podemos ver unos términos en azul. Si resolvemos la parte yλ = yT λ (T ), nos damos
t=T
cuenta que aquellos términos son iguales. Es por ello que podemos cancelarlos4 . Entonces obtenemos:
ˆ T ∗ +θ∆T
·
0 ∂H ∂H
D (θ) = h (t) + z (t) + h (t) λ dt + [H]t=T ∆T − λ (T ) ∆yT (24)
0 ∂y ∂u
0
Evaluando (24) en 0 (o sea D (0) = 0):
ˆ T∗
·
0 ∂H ∂H
D (0) = + λ h (t) + z (t) dt + [H]t=T ∗ ∆T ∗ − λ (T ∗ ) ∆yT ∗ = 0 (25)
0 ∂y ∂u
decimos que:
u (t) = u∗ (t)
y (t) = y ∗ (t)
T = T∗
yT = yT∗
Si consideramos que el tiempo al final de las sendas está predeterminado (por lo que no es libre, y se define el
lı́mite superior del funcional como un número dado) entonces ∆T = 0; por lo que:
[H]t=T ∆T = 0
Si el problema de optimización dinámica deja libre el valor terminal de la variable de estado, entonces
∆yt no será cero por lo que debe cumplirse necesariamente que:
λ (T ) = 0
para que λ (T ) ∆yT = 0.
0
Para que D (0) sea efectivamente cero se debe cumplir algo más:
∂H ·
+λ=0 (26)
∂y
∂H
=0 (27)
∂u
4 Para hacer uso del corte diagonal para cancelar términos utilizamos el siguiente código LATEX en el preámbulo:
\usepackage{cancel}
De esa forma podremos hacer uso del paquete cancel a lo largo del documento y en todas sus variantes.
4
Y siempre se cumplirá la igualdad de la ecuación de movimiento de la variable de estado para todo t:
· ∂H
y = g (t, y, u) = (28)
∂λ
Finalmente, obtuvimos la condición de primer orden (29) que nos da las sendas óptimas y resuelve el problema
de óptimización dinámica para un valor final de la variable de estado yT libre y un T0 final dado.
∂H
∂u = 0
∂H = y·
ecuación de movimiento de la variable de estado
∂λ
· (29)
∂H
∂y = −λ ecuación de movimiento de la variable de coestado
λ (T ) = 0 condición de transversalidad para yT libre