Este documento presenta una introducción a la programación dinámica. Explica que la programación dinámica es un método de optimización versátil que se puede usar para resolver problemas de decisión en múltiples pasos. Luego describe brevemente la historia de la programación dinámica y tres modelos comunes: el problema de la diligencia, el problema de la mochila y la programación de producción e inventarios. Finalmente, concluye que la programación dinámica evita calcular repetidamente la misma información al mantener una tabla de resultados conocidos.
Programación dinámica: modelos, características y aplicaciones
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR
I.U.P. “BICENTENARIO DE ARAGUA”
CUÁ ESTADO MIRANDA
INVESTIGACIÓN DE OPERACIONES II
INTEGRANTE:
JONATHAN GUTIERREZ ARENALES
C.I. 16.937.246
PROFESOR:
MAYIRA BRAVO
PROGRAMACIÓN DINÁMICA
2. INTRODUCCIÓN
La programación dinámica es un método de optimización de
extraordinaria versatilidad. si bien fue desarrollada especialmente
para la resolución de problemas en procesos de decisión en
múltiples pasos, diferentes investigaciones han mostrado que las
mismas ideas pueden utilizarse en otro tipo de problemas de
matemática aplicada, e incluso pueden ser útiles en el planteo de
algunas cuestiones teóricas. Habiendo surgido en los inicios de las
épocas de las computadoras, la programación dinámica fue,
además, concebida con un ojo puesto en esta potente herramienta.
3. HISTORIA
Durante la segunda guerra mundial la investigación matemática se extendió hacia
zonas que hasta entonces le habían sido ajenas. si bien la participación de la ciencia, y de
la matemática en particular, en los enfrentamientos bélicos, puede remontarse a la
organización, por parte de Arquímedes, delas defensas de Siracusa, lo cierto es que, hasta
la segunda guerra, no habían existido políticas consecuentes de aplicación específica de la
matemática a problemas de importancia en esta materia. en realidad, este fenómeno
comenzó en los años previos al estallido de la guerra. Alemania, Inglaterra, estados unidos
y la U.R.S.S. formaron equipos de investigación, cuyos trabajos fueron la base de muchos
de los inventos que aparecieron en funcionamiento durante la guerra (el radar, por
ejemplo) y que abrieron las nuevas ramas de la matemática que se desarrollarían
enormemente después de 1945.
La Programación Dinámica es, hoy en día, un recurso imprescindible de
Matemática Aplicada y, también, una importante herramienta teórica.
4. MODELOS DE PROGRAMACIÓN DINÁMICA
Existen tres modelos diferentes manejados por WINQSB.
* Problema de la diligencia (STAGECOACH
PROBLEM)
* Problema de la mochila (SNAPSACK PROBLEM)
* Programación de producción e inventarios
(PRODUCTION AND INVENTORY SCHEDULING)
7. Problema de Diligencia “Formulación”
Variables de decisión: destino inmediato de la etapa n : n-ésimo viaje de la diligencia.
Xn (n= 1,2,3,4) ruta : a x1 x2 x3 x4 , donde x4 = j
Coste de la mejor política (s,xn) : coste al inicio de la etapa n (n-ésimo viaje), en función
del estado de partida y de la decisión a tomar, para afrontar las etapas restantes.
Fn (s,xn ) (n= 1,2,3,4) estado: s, decisión: xn
Coste mínimo estado etapa : coste mínimo al inicio de la etapa n (n-ésimo viaje), en
función del estado de partida, tomando la mejor decisión para afrontar las etapas restantes.
Fn*(s) = min/xn . fn (s,xn ) = fn . (s,xn*) (n= 1,2,3,4,5)
Fn . (s,xn ) = C /s,xn + F /n+1* (Xn ) (n= 1,2,3,4)
13. Características de los problemas de programación
dinámica
• División en etapas: agregación de decisiones simples para tomar una decisión compleja.
• Etapa: se caracteriza por un conjunto de estados.
• Decisión: transición de un estado a otro con valor económico. el efecto de la política de decisión es en
cada etapa transformar el estado actual a otro del inicio de la etapa siguiente.
• Valor función económica: suma de valores económicos de las transiciones.
• Política: secuencia de decisiones.
• Política óptima: dado un estado actual, una política óptima para las etapas restantes es independiente de
la política adoptada en etapas anteriores.
• Principio de optimalidad: la decisión inmediata óptima depende sólo del estado actual y no de cómo se
llegó ahí.
• Ecuación de recurrencia: permite establecer la política óptima a partir de cada estado posible.
• Ecuación funcional: nombre de la ecuación de recurrencia cuando el número de etapas no está acotado.
14. Problema de Mochila
La idea básica es que existen “n” tipos distintos de artículos que
pueden cargarse en una mochila; cada artículo tiene asociados un
peso y un valor. el problema consiste en determinar cuántas unidades
de cada artículo se deben colocar en la mochila para maximizar el
valor total. nótese que este enfoque resulta útil para la planificación
del transporte de artículos en algún medio, por ejemplo: carga de un
buque, avión, camión etc. también es utilizable este modelo en
planificación de producción, por ejemplo enrutamiento de la
producción a través de varias máquinas.
15. Programación de Producción e Inventario
El problema consiste en determinar un programa de
producción para un periodo de tiempo con el fin de minimizar los
costos totales relacionados. hay demandas conocidas para cada
periodo, límites de capacidad tanto para la producción como para
los inventarios (almacenamiento). cuando hay más producción que
demanda, se acumula inventario, y cuando la producción es menor
que la demanda, se generarán retrasos en el cumplimiento de
pedidos (backorder). para cada periodo, una producción no-cero
incurre en un costo de preparación. en programación dinámica, el
costo variable se expresa como una función de la producción (p), el
inventario (h), y backorder (b).
16. Sea:
* P(n): el número de unidades producidas en el periodo n
* D(n): la demanda en el periodo n
* H(n): el inventario disponible al final del periodo n
* B(n): el backorder al final del periodo n
* I(n): la posición del inventario al final del periodo n, es decir, I(n) = H(n)
o I(n) =B(n)
I(n) = I(n-1) + P(n) - D(n)
* S(n): el costo de preparación en el periodo n
* V (P(n), I(n)): el costo variable = función de P(n), H(n), y/o B(n)
* C(n,P(n),I(n)): = S(n) + V(P(n),I(n)) si P(n)>0, = V(P(n),I(n)) si P(n)=0
* f(n,i): costo total acumulativo dado el nivel del inventario inicial i para el
periodo n
17. CONCLUSIÓN
La programación dinámica es un algoritmo que evita calcular
dos veces la misma información, manteniendo una tabla de resultados
conocidos, la cual se va llenando a medida que se resuelven los
subcasos. es una técnica ascendente que normalmente, empieza por
los subcasos más pequeños y más sencillos. combinando sus
soluciones, obtenemos las respuestas para los subcasos cada vez
mayores, hasta que llegamos a la solución del caso original.
La programación dinámica se aplica no solo por razones de
eficiencia, sino porque permite resolver de manera eficiente
problemas que no se pueden resolver por otras metodologías.