Ecuación de Bellman Con Factor de Descuento

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

ECUACIÓN DE BELLMAN CON FACTOR DE DESCUENTO EN TIEMPO FINITO

Se considera el siguiente problema de Programación Dinámica, conteniendo el factor de descuento


𝛽𝛽 ∈ (0,1)
𝑇𝑇

max𝑇𝑇 � 𝛽𝛽 𝑡𝑡 𝑓𝑓[𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡] + 𝛽𝛽 𝑇𝑇+1 𝑆𝑆[𝑥𝑥 𝑇𝑇+1 ],


{𝑢𝑢𝑡𝑡 }0
𝑡𝑡=0
sujeto a : 𝑥𝑥𝑡𝑡+1 = 𝑔𝑔(𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡), para 𝑡𝑡 = 0,1, ⋯ , 𝑇𝑇,
con : 𝑥𝑥(0) = 𝑥𝑥0
𝑢𝑢𝑡𝑡 ∈ Ω(t).

Para resolver el problema formulado se aplican las ecuaciones de Bellman:

*
𝐽𝐽𝑇𝑇+1 {𝑥𝑥 𝑇𝑇+1 } = 𝛽𝛽 𝑇𝑇+1 𝑆𝑆[𝑥𝑥𝑇𝑇+1 ]

y para cada t ∈ {𝑇𝑇, 𝑇𝑇 − 1, ⋯ ,1,0}

𝐽𝐽𝑡𝑡* {𝑥𝑥𝑡𝑡 } = max {𝛽𝛽 𝑡𝑡 𝑓𝑓[𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡] + 𝐽𝐽𝑡𝑡+1


*
{𝑔𝑔(𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡)}}
𝑢𝑢𝑡𝑡 ∈Ω(t)

1
Estas ecuaciones de Bellman se pueden expresar también en tiempo corriente multiplicando a los
𝛽𝛽𝑡𝑡
funcionales óptimos para 𝑡𝑡 = 0,1, ⋯ , 𝑇𝑇 + 1
*
1 *
𝑉𝑉𝑇𝑇+1 {𝑥𝑥𝑇𝑇+1 } = � � 𝐽𝐽𝑇𝑇+1 {𝑥𝑥 𝑇𝑇+1 } = 𝑆𝑆[𝑥𝑥 𝑇𝑇+1 ]
𝛽𝛽 𝑇𝑇+1

para 𝑡𝑡 = 𝑇𝑇, 𝑇𝑇 − 1, … ,1,0,

1 *
𝑉𝑉𝑡𝑡* {𝑥𝑥𝑡𝑡 } = � � 𝐽𝐽 {𝑥𝑥 }
𝛽𝛽 𝑡𝑡 𝑡𝑡 𝑡𝑡

Por lo tanto las ecuaciones en tiempo corriente serán las siguientes:

*
𝑉𝑉𝑇𝑇+1 {𝑥𝑥 𝑇𝑇+1 } = 𝑆𝑆[𝑥𝑥𝑇𝑇+1 ]

y para cada t ∈ {𝑇𝑇, 𝑇𝑇 − 1, ⋯ ,1,0}

𝑉𝑉𝑡𝑡* {𝑥𝑥𝑡𝑡 } = max {𝑓𝑓[𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡] + 𝛽𝛽𝑉𝑉𝑡𝑡+1


*
{𝑔𝑔(𝑥𝑥𝑡𝑡 , 𝑢𝑢𝑡𝑡 , 𝑡𝑡)}}
𝑢𝑢𝑡𝑡 ∈Ω(t)
Ejemplo. Resolver el siguiente problema, utilizando las ecuaciones de Bellman en tiempo corriente
2

min 𝐽𝐽 = �{0, 9𝑘𝑘 [𝑢𝑢𝑘𝑘2 + (𝑥𝑥𝑘𝑘 − 2𝑘𝑘)2 ]} + 0, 93 (𝑥𝑥3 − 5)2


{𝑢𝑢𝑘𝑘 }20
𝑘𝑘=0
sujeto a : 𝑥𝑥𝑘𝑘+1 = 𝑥𝑥𝑘𝑘 + (𝑘𝑘 + 1)𝑢𝑢𝑘𝑘 , para 𝑘𝑘 = 0,1,2,
con : 𝑥𝑥0 = 0.

SOLUCIÓN.

𝑢𝑢0 𝑢𝑢1 𝑢𝑢2

𝑥𝑥0 𝑥𝑥1 𝑥𝑥2 𝑥𝑥3

Como es habitual en programación dinámica, comenzamos situándonos en el instante final.

𝑉𝑉3* {𝑥𝑥3 )} = (𝑥𝑥3 − 5)2 .

𝑉𝑉2* {𝑥𝑥2 } = min 𝑉𝑉 = {𝑢𝑢22 + (𝑥𝑥2 − 4)2 + 0,9𝑉𝑉3* {𝑥𝑥2 + 3𝑢𝑢2 }}


𝑢𝑢2
= min 𝑉𝑉 = {𝑢𝑢22 + (𝑥𝑥2 − 4)2 + 0,9(𝑥𝑥2 + 3𝑢𝑢2 − 5)2 }
𝑢𝑢2

Hay que resolver el siguiente problema de programación matemática:

min 𝑉𝑉(𝑢𝑢) = 𝑢𝑢2 + 0,9(𝑥𝑥 + 3𝑢𝑢 − 5)2 .


𝑢𝑢

Imponiendo las condiciones de optimalidad, se tiene:

𝑉𝑉 ′ (𝑢𝑢) = 0 = 2𝑢𝑢 + 5,4(𝑥𝑥 + 3𝑢𝑢 − 5),


𝑉𝑉''(𝑢𝑢) = 18,2 > 0, que es condición de mínimo.

Por tanto, se ha obtenido que

𝑢𝑢2∗ = 1,48 − 0,30𝑥𝑥2 ,


𝑉𝑉2* {𝑥𝑥2 } = 1,10𝑥𝑥22 − 8,99𝑥𝑥2 + 18,47.

La ecuación de Bellman correspondiente a este período es:

𝑉𝑉1* {𝑥𝑥1 } = min 𝑉𝑉 = {𝑢𝑢12 + (𝑥𝑥1 − 2)2 + 0,9𝑉𝑉2* {𝑥𝑥1 + 2𝑢𝑢1 }}


𝑢𝑢1
= min 𝑉𝑉 = {𝑢𝑢12 + (𝑥𝑥1 − 2)2 + 0,9{1,10[𝑥𝑥1 + 2𝑢𝑢1 ]2 − 8,99[𝑥𝑥1 + 2𝑢𝑢1 ] + 18,47}}.
𝑢𝑢1
Hay que resolver el siguiente problema de programación matemática:

min 𝑉𝑉 = {𝑢𝑢2 + 0,9{1,10(𝑥𝑥 + 2𝑢𝑢)2 − 8,99(𝑥𝑥 + 2𝑢𝑢)}}.


𝑢𝑢

Imponiendo las condiciones de optimalidad, se tiene:

𝑉𝑉'(𝑢𝑢) = 0 = 2𝑢𝑢 + 3,96𝑥𝑥 + 7,92𝑢𝑢 − 16,18.


𝑉𝑉''(𝑢𝑢) = 9,92 > 0, que es condición mínimo.

Por tanto, se ha obtenido que

𝑢𝑢1∗ = 1,63 − 0,40𝑥𝑥1


𝑉𝑉1* {𝑥𝑥1 } = 1,20𝑥𝑥12 − 3,63𝑥𝑥1 + 4,42.

sea 𝑥𝑥0 = 0 dado


La ecuación de Bellman correspondiente es:

𝑉𝑉0* {0} = min 𝑉𝑉 = {𝑢𝑢02 + 0,9𝑉𝑉1* {𝑢𝑢0 }}


𝑢𝑢0
= min 𝑉𝑉 = {𝑢𝑢02 + 0,9{1,20𝑢𝑢02 − 3,63𝑢𝑢0 + 4,42}}
𝑢𝑢0

Se obtiene que

𝑢𝑢0∗ = 0,65, V0∗ {0} = 2,73.

Haciendo ahora el recorrido de principio a final, se obtiene finalmente que

𝑥𝑥0∗ = 0, 𝑢𝑢0∗ = 0,65, 𝑥𝑥1∗ = 0,65, 𝑢𝑢1∗ = 1,37,


𝑥𝑥2∗ = 3,39, 𝑢𝑢2∗ = 0,46, 𝑥𝑥3∗ = 4,77,

siendo el valor óptimo del funcional objetivo igual a 2,73.

También podría gustarte