Está en la página 1de 21

PROGRAMACIÓN DINAMICA

INTRODUCCIÓN
• Técnica cuantitativa de toma de decisiones
desarrollada por Bellman y Dantzig en 1957

• Se basa en una estructura de optimalidad que tiene


un conjunto de: una política óptima consiste de
subpolíticas óptimas. (Recursividad).

• PD: Técnica matemática que resuelve una serie de


decisiones secuenciales, cada una de las cuales
afecta las decisiones futuras
Problema de la Diligencia

• Un vendedor mítico debe viajar hacia el Oeste a través de tierras


hostiles, utilizando como medio de transporte una diligencia
• Aun cuando su punto de partida y destino son fijos, tiene un
numero considerable de opciones para elegir que estados
recorrer en su ruta
• El vendedor ofrece seguros de vida a los pasajeros de la diligencia
• El vendedor necesita determinar cual será la ruta mas segura para
disminuir sus costos de póliza de seguros.
• Los territorios y costos de póliza en cada recorrido se observan
en la figura a continuación
Problema de la Diligencia
Costo del recorrido
7
2 4
5 1

2 6
4 8
3 3
6
4 2
1 3 6 3 10
4
4
3 4
1
3
3
9
5
4 7
estado
¿Cuál ruta (conjunto de Caminos) minimiza el costo total de la póliza?
Problema de la Diligencia
sacrificando un poco en una etapa
camino más barato ofrecido pero
es posible obtener ahorros
en cada etapa sucesiva mayores de allí en adelante.
1-2-6-9-10 -> Costo total de 13 1-4-6 es globalmente más barata
que 1-2-6
pero
el número de rutas es muy
Solución 2: por tanteos, grande (1x3x3x2x1=18)
Problema de la Diligencia

Solución 3:
PROGRAMACIÓN
DINÁMICA

Parte de una pequeña porción del problema y encuentra la solución


óptima para ese problema más pequeño. Entonces gradualmente
Agranda el problema, hallando la solución óptima en curso a partir de la
anterior, hasta que se resuelve por completo el problema original.
Problema de la Diligencia
Etapa, subproblema que
n estamos resolviendo
(n=1,2,3,4) .

Variable de decisión,
estado inmediato en la
etapa n
s Estado
Costo del estado S a Xn

f n (s, Costo total de la mejor política


global para las etapas
xn ) restantes, dado que el
vendedor se encuentra en el
nodo S (listo para inicial la
etapa n) y se selecciona a Xn
como destino inmediato.
Problema de la Diligencia
Metodo de solución
Problema de la Diligencia
Metodo de solución
Problema de la Diligencia
Metodo de solución

El problema de la diligencia es
un diseño conceptual, para dar
una interpretación física literal
de los problemas de PD.
Características de Programación Dinámica
• Característica fundamental: Procesos multietapa de toma de
decisiones.

• Propiedades:

• Sólo un número reducido de variables se debe conocer en


cualquier etapa con el fin de describir al problema.
• El resultado de una decisión en cualquier etapa altera los
valores numéricos de un número reducido de variables
relevantes al problema.
Elementos básicos de Programación Dinámica
• El problema puede dividirse en etapas, con una decisión de la política
requerida en cada etapa.

• Cada etapa tiene un cierto número de estados asociados a ella. En general


los estados son de diversas condiciones posibles, en las que el sistema
podría estar en esa etapa del problema. Puede ser finito o infinito.

• El valor asociado al estado no pude depender de decisiones de la misma


etapa no de futuras decisiones.

• El estado representa una foto del sistema. Una evaluación en un instante de


tiempo.
Elementos básicos de PD
• La decisión debe corresponder a la política del estado vigente y
no del futuro.
• El efecto de la decisión de una política en cada etapa es:
“transformar el estado actual” en un estado asociado con la
etapa siguiente”. El estado resultante podría ser probable
distribución.
• Dado el estado actual, una política óptima para las etapas
restantes es independiente de la política adoptada en las etapas
previas (n-1, n, n+1)
• El procedimiento de resolución empieza por hallar la política
óptima para cada estado de la última etapa.
Elementos básicos de PD
• Se dispone de una “relación recursiva” que identifica la política óptima para
cada estado en la etapa n, dada la política óptima para cada estado en la
etapa (n+1).
• Usando esta relación recursiva, el procedimiento de resolución se mueve
“hacia atrás”, etapa por etapa - hallando en cada ocasión la política óptima
para cada estado de esa etapa - hasta que se encuentra la política óptima
cuando se parte de la etapa inicial.
Resultado de la
política optima en
la etapa siguiente
(n+1)

Estado posible
de la etapa
Actual (n)
Ejemplo 2
Programación Dinámica
Determinística
Ejercicio2: preparando exámenes
Una estudiante universitaria cuenta con siete Puntos de
días para preparar los exámenes finales de Calificación
Cuatro cursos y quiere asignar su tiempo de
Días Estimados
estudio de la manera más eficiente posible.
Cursos
Necesita por lo menos un día para cada curso y 1 2 3 4
quiere concentrarse sólo en un curso cada día
1 3 5 2 6
por lo que quiere asignar uno, dos, tres o cuatro
días a cada curso. 2 5 5 4 7
Como hace poco tomó un curso de 3 6 6 7 9
investigación 4 7 9 8 9
de operaciones, decide aplicar programación
dinámica para hacer estas asignaciones que
maximicen el total de puntos obtenidos en los
cuatro cursos. Estima que las distintas opciones 28

en días de estudio le significaran puntos de


calificación según la siguiente tabla:
Programación Dinámica
Determinística
Ejercicio 3:

Etapas: cursos n=(1,2,3,4)


xn: días estudiando para el curso n, xn (1,2,3,4)
Estado: días de estudio disponibles
sn+1=sn-xn
Decisiones: cantidad de días de estudio para el curso n

Función recursiva:
*

29
Programación Dinámica
Determinística
Ejercicio 3:
Puntos de
Etapa 4, n=4, s5=0
Calificación
s4 * x4 Estimados
Días
1 6 1 Cursos
2 7 2 1 2 3 4
3 9 3 1 3 5 2 6
4 9 4
2 5 5 4 7
3 6 6 7 9
4 7 9 8 9

30
Programación Dinámica
Determinística
Ejercicio 3: s4 f4*(s4) x4
Etapa 3, n=3 1 6 1
2 7 2
3 9 3
s3/x3 1 2 3 4 f3(s3) x3
4 9 4
1
2 2+6=8 8 1
3 2+7=9 4+6=10 10 2
4 2+9=11 4+7=11 7+6=13 13 3
5 2+9=11 4+9=13 7+7=14 8+6=14 14 3ó4

31
Programación Dinámica
Determinística
Ejercicio 3:
Etapa 2, n=2

s2/x2 1 2 3 4 f2(s2) x2
1
2
3 5+8=13 13 1
4 5+10=15 5+8=13 15 1
5 5+13=18 5+10=15 6+8=14 18 1
6 5+14=19 5+13=18 6+10=16 9+8=17 19 1

32
Programación Dinámica
Determinística
Ejercicio 3:
Etapa 1, n=1

s1/x1 1 2 3 4 f1*(s) x1
7 3+19=22 5+18=23 6+15=21 7+13=20 23 2

Curso 1 Curso 2 Curso 3 Curso 4

33

También podría gustarte