Está en la página 1de 26

19-1

Características de la Programación Dinámica

- Puede utilizarse en problemas: lineales o no lineales,


determinísticos o estocásticos,
uni o multivariados.

Es útil para resolver un problema donde se debe


tomar una serie de decisiones interrelacionadas.

 Formato General: A diferencia de la P.L, la


Programación Dinámica no tiene formulación
matemática estándar. Se trata de un enfoque de tipo
general para la solución de problemas y las
ecuaciones se derivan de sus condiciones individuales.
19-2
El problema de la diligencia
Un cazafortunas desea ir de Missouri a California
en una diligencia, y quiere viajar de la forma más
segura posible. Tiene los puntos de salida y destino
conocidos, pero tiene múltiples opciones para viajar
a través del territorio.

Se entera de la posibilidad de adquirir un seguro de


vida como pasajero de la diligencia.

El costo de la póliza estándar ( cij ) se muestra en la


tabla siguiente.

19-3
Diagrama.

B E
H
A C F J
I
D G
E F G H I
B C D J
B 7 4 6 E 1 4
H 3
A 2 4 3 C 3 2 4 F 6 3
I 4
D 4 1 5 G 3 3
19-4
¿Cual es la ruta
que minimiza el
costo total de la
póliza de seguro?

19-5
Algunas estrategias de solución.

1. Enumeración exhaustiva:
Enumerar todas las rutas posibles,
calcular su costo y elegir la de menor
valor. En total son 18 rutas.
“Fuerza bruta”

2. Optimización por etapas: (óptimo local)


Elegir la ruta más barata en cada etapa.
Esta solución no conduce al óptimo global.
Un pequeño sacrificio en una etapa puede
permitir mayores ahorros más adelante.
19-6
3. Programación dinámica.

Estrategia de solución: Un problema


complejo es desagregado en problemas
simples que se resuelven etapa por etapa.

En el caso de la diligencia: Un problema


simple sería pensar qué pasaría si al viajero
sólo le faltara una jornada de viaje.

19-7
Por P.D la solución sería entonces ir desde el
estado actual (cualquiera que sea) y llegar a
su destino final (estado J) al costo c ij

Se hace lo mismo para cada jornada (etapa),


ensanchando el problema. Así encontramos
la solución óptima del lugar al que debe
dirigirse teniendo en cuenta la información
de la iteración anterior.
Veamos la
formulación
19-8
Formulación.

Sea Xn (n = 1, 2, 3, 4 ) las variables que


representan el destino inmediato en la etapa
n.

Luego la ruta seleccionada será:


A X1 X2 X3 X4 = J

La
La decisión en la última etapa puede ser trivial
sigue 19-9
Sea fn (Sn, Xn) el costo total de la mejor
política global para las etapas restantes, dado
que el agente se encuentra en el estado Sn
listo para iniciar la etapa n y se dirige a Xn
como destino inmediato.

Dados S y n, sea Xn* el valor de Xn (no


necesariamente único), que minimiza
fn(Sn, Xn), y sea fn*(S) el valor mínimo
correspondiente de fn (Sn, Xn) entonces: sigue 19-10
fn*(S) = Min Xn fn (Sn, Xn) = fn (Sn, Xn*)

Costo Mínimo costo


inmediato + futuro (etapa
fn(Sn, Xn) =
(etapa n) n+1 en adelante)

= csn , xn + fn+1 * (Xn)

Costos por ir Costo óptimo


de la ciudad i acumulado
al destino j
sigue 19-11
Procedimiento de solución hacia atrás

Etapa n = 4

Como el destino final (estado J) se alcanza al


terminar la etapa 4, entonces
f5*(J) = 0
El objetivo es hallar f1*(A) y su ruta correspondiente.

Cuando el cazafortunas tiene sólo una etapa por


recorrer (n = 4), su ruta de ahí en adelante, estará
determinada por el estado actual (H o I) y su destino
final X4 = J
La ruta será: S J donde S = H o I 19-12
Luego f4*(S) = c S , J + f5*(J) = c S , J
S4 f4*(S) X4*
f4 (H) = cH , J = 3
H 3 J
f4 (I) = c I , J = 4
I 4 J
Etapa n = 3

El cazafortunas tiene 2 etapas por recorrer (n = 3).


Suponga que sale de E.

C E, H
=1 H f3(E) = cE ,H + f4*(H) = 4
E
CE =
,I 4
I f3(E) = cE ,I + f4*(I) = 8
19-13
Luego f3*(E) = 4 y X3* = H

En general para la etapa 3


se tiene:

X3 f3 (S, X3)= cS ,X3 + f4*( X3) * *


S3 X
f3 (S) 3
H I
E 4 8 4 H

F 9 7 7 I

G 6 7 6 H

19-14
Etapa n = 2

En la segunda etapa, el cazafortunas tiene 3 jornadas


por recorrer (n = 2). Suponga que sale de C

E f2(C) = cC ,E + f3*(E) = 7
=3
,E
c C

c C, F =2
C F f2(C) = cC ,F + f3*(F) = 9
c
C
,G
=4
G f2(C) = cC ,G + f3*(G) = 10

19-15
Luego f2*(C) = 7 y X2* = E

En general para la etapa 2


se tiene:
X2 f2 (S, X2)= cS ,X2 + f3*( X2) * *
S2 f2 (S) X 2
E F G
B 11 11 12 11 EoF

C 7 9 10 7 E

D 8 8 11 8 EoF

19-16
Etapa n = 1
En la primera etapa, el cazafortunas tiene todas las
jornadas por recorrer (n = 1). Necesariamente debe
salir de A

B f1(A) = cA ,B + f2*(B) = 13
=2
,B
c A

c A, C =4
A C f1(A) = cA ,C + f2*(C) = 11
c
A
,D
=3
D f1(A) = cA ,D + f2*(D) = 11
19-17
Luego f1*(A) = 11 y X1* = C o D

Veamos :

X1 f1 (S, X1)= cS ,X1 + f2*( X1) * *


S1 f1 (S) X1
B C D
A 13 11 11 11 CoD

Veamos la solución del


problema gráficamente:
19-18
Solución
7
B E 1
4
3 H 3
4

4
A C F 3
J
1 4
3
3 I
D G

Podemos apreciar que partiendo de


A existen 3 rutas óptimas.
19-19
Características de la P.D

1. El problema se puede dividir por etapas, que


requieren una decisión en cada una de ellas.

2. Cada etapa tiene cierto número de estados


asociados a su inicio. Estados son las diferentes
condiciones posibles en las que se puede
encontrar el sistema en cada etapa.

19-20
3. El efecto de la decisión en cada etapa, es
transformar el estado actual en un estado
asociado con el INICIO de la siguiente etapa.

4. El procedimiento pretende hallar la política


óptima para el problema completo. Esto quiere
decir, la política a emplear desde cualquier
posible estado del problema.

19-21
5. Dado el estado actual, la política óptima
desde este estado es independiente de las
políticas adoptadas en las etapas
anteriores. (la solución
depende únicamente del estado actual y no
de cómo se llegó allí).
PRINCIPIO DE OPTIMALIDAD EN
P.D,
(Richard Bellman, 1957)

6. El procedimiento de solución termina


cuando se obtiene la política óptima de la
última etapa (por lo general la solución en 19-22
7. Siempre se dispone de una relación
recursiva (esto es lo que permite trabajar las
decisiones interrelacionadas).

La relación recursiva será:


fn* (Sn) = Max Xn  fn (Sn, Xn)
o también
fn* (Sn) = Min Xn  fn (Sn, Xn)
N: número de etapas. Sn: Estado actual para la
n: etiqueta para la etapa etapa n.
actual (1, 2, ..., N) Xn: variable de decisión
para la etapa n 19-23
8. Cuando se tiene una relación recursiva como
la de la función, el procedimiento de solución
“hacia atrás” inicia en la última etapa y se
mueve hacia la primera, etapa por etapa

Xn Fn (Sn, Xn)= cS ,Xn + fn+1*( Xn) * *


Sn fn (S) X n

Xn*: Valor óptimo de Xn dado Sn

19-24
Algoritmo de P.D hacia atrás

Para cada posible valor de la


variable de estado al inicio de la
etapa, determinar el mejor estado
final.

19-25
Algoritmo de P.D hacia adelante

Para cada posible valor de la


variable de estado al final de la
etapa, determinar el mejor estado
inicial.

19-26

También podría gustarte