PROGRAMACION DINAMICA
TIPO 1: RUTA MÁS CORTA
PROBLEMA 1
Encuentre la ruta más corta de la siguiente red. Los números representan las distancias
correspondientes reales entre los nodos.
Solución con WINQSB
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
Con lo que obtenemos que la ruta mas corta tiene una distancia optima de 19
PROBLEMA 2
Una compañía estatal de petróleo cuenta con una red de oleoductos que utiliza para transportar
petróleo desde su refinería R hasta su centro de almacenamiento A, como se muestra en el grafo
siguiente. Encontrar la ruta optima:
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
Con lo que obtenemos que la ruta mas corta tiene una distancia optima de 13
TIPO 2: PROBLEMA DE LA MOCHILA
PROBLEMA 1
Un navegante solitario dispone en su barco de 5 metros cúbicos para almacenar cuatro objetos. El
objeto A tiene un volumen de 2 m3 y reporta al navegante 3 unidades de beneficio (ub). Los
objetos B,C, y D ocupan respectivamente 4,3 y 2 m3 y el beneficio respectivo es de 5,1 y 1 ub.
a) Determinar mediante un algoritmo de programación dinámica cuales son los objetos que debe
llevar el navegante.
Solución con WINQSB
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
La mejor solución es llevar 2 unidades de A con lo que obtendremos una utilidad de 6
PROBLEMA 2
Adaptacion del algoritmo de programación dinámica para la resolución del problema de la
mochila unidimensional al caso en que las variables son enteras y acotadas de la forma
0 ≤ Xj ≤ Mj
Solución con WINQSB
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
La mejor solución es llevar 2 unidades de “2” con lo que obtendremos una utilidad de 6
TIPO 3: PLAN DE PRODUCCION
PROBLEMA 1:
Una corporación internacional produce aviones livianos a pedido, y tiene los siguientes pedidos
para ser entregados al final de los próximos 5 años.
Año 1 2 3 4 5
Nro de aviones 3 5 2 1 4
Solución con WINQSB
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
El costo total óptimo es de 1160000 dólares
PROBLEMA 2
Una empresa sabe que la demanda de su producto durante cada uno de los cuatro meses
siguientes será como sigue:
Mes Junio Julio Agosto Septiembre
Unidades 1 3 2 4
Al principio de cada mes, la empresa debe determinar cuantas unidades se deben producir
durante ese mes. Durante un mes en el que se produce cualquier numero de unidades, se incurre en
un costo de preparación de 3 dólares. Además hay un costo variable de 1 dólar por cada unidad
producida. Al final de cada mes, se incurre en un costo de 50 centavos durante cada mes. El
tamaño de las bodegas de la empresa restringe el inventario final de cada mes a 4 unidades
cuando mucho. La empresa desea determinar un calendario de producción para cada mes que
cumpla a tiempo con las demandas y que reduzca al mínimo la suma de los costos de producción
y de almacenamiento durante los cuatro meses.
Solución con WINQSB
Primero abrimos el programa WINQSB en su opción Dynamic Programming; a continuación
elegimos la siguiente opción:
Luego procedemos a ingresar los datos del problema:
Elegimos la opción solve y obtendremos la solución óptima:
El costo total optimo es de 20 dólares