1. Page 1
Aplicaciones
República Bolivariana de Venezuela.
Ministerio del Poder Popular para la Educación Universitaria.
I.U.P “Santiago Mariño”.
Extensión – Maturín.
Asesor(a):
Amelia Malavé
Sección E “Tarde”
Autor(a):
Lilianny Rondón 24.126.684
Maturín, Enero del 2015
3. Page 3
Introducción
En lo general muchos problemas de programación matemática se
resuelven mediante un modelo único y completo que tenga un gran
número de variables (etapas) y restricciones (relaciones entre etapas), por
lo cual el problema puede hacerse muy grande.
Una alternativa al problema anterior es la programación dinámica que
propone descomponer un problema grande en subproblemas pequeños
("divide y vencerás"). Richard Ernest Bellman (1920-1984) fue un
matemático aplicado cuya mayor contribución fue la metodología
denominada "Programación Dinámica" en 1953, propuesta para optimizar
problemas complejos que pueden ser discretizados y secuencializados.
4. Page 4
Definiciones
La programación dinámica es una técnica matemática útil en la toma de una serie de
decisiones interrelacionadas. Proporciona un procedimiento sistemático para
determinar la combinación óptima de decisiones.
La programación dinámica es un enfoque general para la solución de problemas en
los que es necesario tomar decisiones en etapas sucesivas.
Conviene resaltar que a diferencia de la programación lineal, el modelado de
problemas de programación dinámica no sigue una forma estándar. Así, para cada
problema será necesario especificar cada uno de los componentes que caracterizan
un problema de programación dinámica.
El procedimiento general de resolución de estas situaciones se divide en el análisis
recursivo de cada una de las etapas del problema, en orden inverso, es decir
comenzando por la última y pasando en cada iteración a la etapa antecesora. El
análisis de la primera etapa finaliza con la obtención del óptimo del problema.
5. Page 5
Caracterizar la estructura de una solución óptima.
Definir de forma recursiva la solución óptima.
Calcular la solución óptima de forma ascendente.
Construir la solución óptima a partir de los datos
almacenados al obtener soluciones parciales
Uso de la Programación Dinámica
6. Page 6
Importancia de la Programación
Dinámica
Este algoritmo 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 sub-casos.
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.
7. Page 7
Aplicación de la Programación
Dinámica
1. Se comprueba que se
cumple el principio de
optimalidad de Bellman, para
lo que hay que encontrar la
“estructura” de la solución.
2. Se define recursivamente la
solución óptima del problema
(en función de los valores de
las soluciones para
subproblemas de menor
tamaño)
3. Se calcula el valor de la
solución óptima utilizando un
enfoque ascendente
4. Se determina la solución
óptima a partir de los datos
almacenados en la tabla.
8. Page 8
Elementos de la Programación
Dinámica
ETAPAS: Divisiones del problema (n+1).
ESTADOS: Cada etapa tiene distintos estados.
DECISIÓN: Transición del estado actual a otro nestado de la etapa
siguiente.
FORMULACIÓN RECURSIVA: Ecuación que n relaciona el costo de un
estado actual con el n costo de el siguiente estado. *Debe existir
naturaleza secuencial en las decisiones.
9. Page 9
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)
10. Page 10
PROBLEMA DE LA DILIGENCIA
(Stagecoach Problem)
• Es una manera de reconocer una situación que se puede formular
como un problema de programación dinámica.
• Es encontrar la ruta que minimiza el costo total de un nodo
específico.
12. Page 12
• Períodos o etapas: Sea N= {1, 2,....., n} un conjunto finito de elementos.
Mediante el índice, representamos cada uno de ellos. N es el conjunto de períodos o
etapas del proceso. En la ilustración anterior N= {1, 2, 3, 4}, las cuatro etapas del
viaje, cada una de ellas es un período y se representa mediante un valor del índice
n, así cuando n =1 nos estamos refiriendo a la primera etapa del proceso.
• Espacio de estados: { } es una familia de conjuntos, uno para cada período n. S se
denomina espacio de estados en el período n. Cada uno de sus elementos, que se
representa mediante Sn, es un estado, que describe una posible situación del
proceso en ese período. En nuestro ejemplo, S1 = {1}, S2= {2, 3, 4}, S3= {5, 6, 7},
S4= {8, 9}.
• La función recursiva: Dados unos nodos y unos arcos que conectan estos nodos, el
problema de la diligencia intenta encontrar la ruta más corta que conecta un nodo de
arranque con el nodo final (el destino).
Sea s: el estado de inicio; j: estado destino
• n: la fase, normalmente representa el número de arcos hasta el destino.
• C(s,j): costo o distancia de ir desde s hasta j.
• f(n,s): la política de costo mínimo cuando se encuentra en el estado s de la etapa n.
13. Page 13
PROBLEMA DE LA MOCHILA
(Snapsack Problem)
• Consiste en escoger un conjunto de artículos para llenar una
mochila de modo de que se cumplan ciertas restricciones.
14. Page 14
El problema se desarrolla bajo las dos consideraciones, primero
teniendo en cuenta el peso y luego el volumen. Como puede apreciarse
este es un problema que bien podría resolverse por programación lineal
entera teniendo en cuenta la función objetivo y restricciones siguientes:
16. Page 16
PROGRAMACIÓN DE PRODUCCIÓN E
INVENTARIOS
(Production and Inventory Scheduling)
• "Función de dirigir o regular el movimiento metódico de los materiales por
todo el ciclo de fabricación, desde la requisición de materias primas, hasta la
entrega del producto terminado, mediante la transmisión sistemática de
instrucciones a los subordinados, según el plan que se utiliza en las
instalaciones del modo más económico".
• Para lograr el objetivo, la gerencia debe estar al tanto del desarrollo de los
trabajos a realizar, el tiempo y la cantidad producida; así como modificar los
planes establecidos, respondiendo a situaciones cambiantes.