Está en la página 1de 68

PROGRAMACIÓN DINÁMICA

INTRODUCCIÓN

Existe una serie de problemas cuyas soluciones pueden ser expresadas


recursivamente en términos matemáticos, y posiblemente la manera más natural de
resolverlos es mediante un algoritmo recursivo. Sin embargo, el tiempo de ejecución
de la solución recursiva, normalmente de orden exponencial y por tanto
impracticable, puede mejorarse substancialmente mediante la Programación
Dinámica.
La programación dinámica es un método para reducir el tiempo de ejecución de un
algoritmo mediante la utilización de subproblemas superpuestos y subestructuras
óptimas, como se describe a continuación.
Una subestructura óptima significa que soluciones óptimas de subproblemas pueden
ser usadas para encontrar las soluciones óptimas del problema en su conjunto. Por
ejemplo, el camino más corto entre dos vértices de un grafo se puede encontrar
calculando primero el camino más corto al objetivo desde todos los vértices
adyacentes al de partida, y después usando estas soluciones para elegir el mejor
camino de todos ellos. En general, se pueden resolver problemas con
subestructuras óptimas siguiendo estos tres pasos:
 Dividir el problema en subproblemas más pequeños.
 Resolver estos problemas de manera óptima usando este proceso de tres
pasos recursivamente.
 Usar estas soluciones óptimas para construir una solución óptima al problema
original.
Los subproblemas se resuelven a su vez dividiéndolos ellos mismos en
subproblemas más pequeños hasta que se alcance el caso fácil, donde la solución al
problema es trivial.
Decir que un problema tiene subproblemas superpuestos es decir que un mismo
subproblema es usado para resolver diferentes problemas mayores. Por ejemplo, en
la sucesión de Fibonacci, F3 = F1 + F2 y F4 = F2 + F3 — calcular cada término supone
calcular F2. Como ambos F3 y F4 hacen falta para calcular F5, una mala
implementación para calcular F5 acabará calculando F2 dos o más veces. Esto
ocurre siempre que haya subproblemas superpuestos: una mala implementación
puede acabar desperdiciando tiempo recalculando las soluciones óptimas a
subproblemas que ya han sido resueltos anteriormente.
Esto se puede evitar guardando las soluciones que ya hemos calculado. Entonces,
si necesitamos resolver el mismo problema más tarde, podemos obtener la solución
de la lista de soluciones calculadas y reutilizarla. Este acercamiento al problema se
llama memorización. Si estamos seguros de que no volveremos a necesitar una
solución en concreto, la podemos descartar para ahorrar espacio. En algunos casos,
podemos calcular las soluciones a problemas que sabemos que vamos a necesitar
de antemano.
En resumen, la programación dinámica hace uso de:
 Subproblemas superpuestos
 Subestructuras óptimas
 Memorización
La programación dinámica toma normalmente uno de los dos siguientes enfoques:
 Top-down: El problema se divide en subproblemas, y estos subproblemas se
resuelven recordando las soluciones en caso de que sean necesarias
nuevamente. Es una combinación de memorización y recursión.
 Bottom-up: Todos los subproblemas que puedan ser necesarios se resuelven de
antemano y después son usados para resolver las soluciones a problemas
mayores. Este enfoque es ligeramente mejor en consumo de espacio y llamadas
a funciones, pero a veces resulta poco intuitivo encontrar todos los subproblemas
necesarios para resolver un problema dado.

¿QUÉ ES LA PROGRAMACIÓN DIMÁMICA?

La Programación Dinámica es una técnica de programación que se emplea


típicamente para resolver problemas de optimización en los cuales el problema
principal se encuadra en varios sub problemas, solucionando cada uno de ellos y
luego ligando las soluciones de una forma óptima, donde la solución final permita
resolver y tomar decisiones correctas a problemas actuales y futuros.

¿A QUÉ PROBLEMAS SE APLICA?

Esta técnica se aplica sobre problemas que a simple vista necesitan un alto coste
computacional (posiblemente exponencial) donde:

 Sub problemas optimales: La solución óptima a un problema puede ser definida


en función de Soluciones óptimas a sub problemas de tamaño menor,
generalmente de forma recursiva.
 Solapamiento entre sub problemas: Al plantear la solución recursiva, un mismo
problema se resuelve más de una vez

 ¿QUÉ SE LOGRA?

 La Programación Dinámica utiliza un enfoque ascendente (botton-up) para


obtener la solución, primero calcula las soluciones óptimas a problemas de
tamaño pequeño. Utilizando dichas soluciones encuentra soluciones a
problemas de mayor tamaño.

 La idea de la PD es encontrar la solución a los sub problemas y almacenarlos


en alguna estructura (diccionario) para utilizarlas posteriormente.
 Por tanto, es más eficiente que la fuerza bruta que resuelve el mismo sub
problema una y otra vez.
 Evita calcular lo mismo varias veces. Usualmente se utiliza una matriz que se
rellena conforme las soluciones a los Sub problemas que son calculados
(espacio vs. tiempo).

ELEMENTOS DE LA PROGRAMACIÓN DINÁMICA

Los siguientes cuatro elementos conforman la resolución de un problema mediante


PD:

 Principio de Optimalidad de Bellman


 Definición Recursiva de la solución optimal
 Enfoque ascendente
 Búsqueda solución optima

PRINCIPIO DE OPTIMALIDAD DE RICHARD BELLMAN (1957)

Cuando hablamos de optimizar nos referimos a buscar la mejor solución de entre


muchas alternativas posibles. Dicho proceso de optimización puede ser visto como
una secuencia de decisiones que nos proporcionan la solución correcta. Si, dada
una subsecuencia de decisiones, siempre se conoce cual es la decisión que debe
tomarse a continuación para obtener la secuencia óptima, el problema es elemental
y se resuelve trivialmente tomando una decisión detrás de otra, lo que se conoce
como estrategia voraz.
A menudo, aunque no sea posible aplicar la estrategia voraz, se cumple el principio
de optimalidad de Bellman que dicta que «dada una secuencia óptima de
decisiones, toda subsecuencia de ella es, a su vez, óptima». En este caso sigue
siendo posible el ir tomando decisiones elementales, en la confianza de que la
combinación de ellas seguirá siendo óptima, pero será entonces necesario explorar
muchas secuencias de decisiones para dar con la correcta, siendo aquí donde
interviene la programación dinámica.
Contemplar un problema como una secuencia de decisiones equivale a dividirlo en
subproblemas más pequeños y por lo tanto más fáciles de resolver como hacemos
en Divide y Vencerás, técnica similar a la de Programación Dinámica. La
programación dinámica se aplica cuando la subdivisión de un problema conduce a:
 Una enorme cantidad de subproblemas.
 Subproblemas cuyas soluciones parciales se solapan.
 Grupos de subproblemas de muy distinta complejidad.

CARACTERÍSTICAS DE UN PROBLEMA DE PD
Para que un problema pueda ser resuelto con la técnica de programación dinámica,
debe cumplir con ciertas características:

 Naturaleza secuencial de las decisiones: El problema puede ser dividido en


etapas. Cada etapa tiene un número de estados asociados a ella.
 La decisión óptima de cada etapa depende solo del estado actual y no de las
decisiones anteriores.
 La decisión tomada en una etapa determina cual será el estado de la etapa
siguiente. En síntesis, la política óptima desde un estado s de la etapa k a la
etapa final está constituida por una decisión que transforma s en un estado s’ de
la etapa k +1 y por la política óptima desde el estado s’ hasta la etapa final.

A continuación veremos una explicación sobre las características que son comunes
en la mayor parte de las aplicaciones de la programación dinámica.

CARACTERÍSTICA 1

El problema se puede dividir en etapas; cada etapa requiere una decisión. En


muchos problemas de programación dinámica, la etapa es la cantidad de tiempo que
pasa desde el inicio del problema, en ciertos casos no se necesitan decisiones en
cada etapa.

CARACTERÍSTICA 2

Cada etapa tiene un número de estados asociados con ella. Por estado se entiende
la información que se necesita en cualquier etapa para tomar una decisión óptima.

CARACTERÍSTICA 3

La decisión tomada en cualquier etapa indica cómo se transforma el estado en la


etapa actual en el estado en la siguiente etapa. En muchos problemas, una decisión
no determina con certeza el estado de la siguiente etapa; en lugar de ello, la
decisión actual sólo determina la distribución de probabilidad del estado en la etapa
siguiente.

CARACTERÍSTICA 4

Dado el estado actual, la decisión óptima para cada una de las etapas restantes no
debe depender de estados previamente alcanzados o de decisiones previamente
tomadas. A esta idea se le conoce como principio de optimalidad.
CARACTERÍSTICA 5
Si los estados del problema se han clasificado en uno de T etapas, debe haber una
formula recursiva que relacione el costo o recompensa durante las etapas t, t+1,…, T
con el costo o recompensa de las etapas t +1, t +2,…, T En esencia, la fórmula
recursiva formaliza el procedimiento de marcha atrás.

RESOLUCIÓN DE UN PROBLEMA DE PD

Para resolver un problema de programación dinámica debemos al menos cumplir


con: Identificación de etapas, estados y variable de decisión:

 Cada etapa debe tener asociado una o más decisiones (problema de


optimización), cuya dependencia de las decisiones anteriores está dada
exclusivamente por las variables de estado.
 Cada estado debe contener toda la información relevante para la toma de
decisión asociada al período.
 Las variables de decisión son aquellas sobre las cuales debemos definir su valor
de modo de optimizar el beneficio acumulado y modificar el estado de la próxima
etapa.

Descripción de ecuaciones de recurrencia: Nos deben indicar como se acumula la


función de beneficios a optimizar (función objetivo) y como varían las funciones de
estado de una etapa a otra. Resolución: Debemos optimizar cada sub problema por
etapas en función de los resultados de la resolución del sub problema siguiente. Al
final obtendremos una solución óptima para el problema.

PROGRAMACIÓN DINÁMICA PROBABILÍSTICA (PDP)

La programación dinámica probabilística (PDP) es una técnica matemáticamente útil


para la toma de decisiones interrelacionadas, se presenta cuando el estado en la
siguiente etapa no está determinado por completo por el estado y la política de
decisión de la etapa actual. En su lugar existe una distribución de probabilidad para
determinar cuál será el siguiente estado. Sin embargo, esta distribución de
probabilidad si queda bien determinada por el estado y la política de decisión en la
etapa actual. Por consiguiente la diferencia entre la programación dinámica
probabilística y la programación dinámica determinística (PDD) está en que los
estados y los retornos o retribuciones en cada etapa son probabilísticos. La
programación dinámica probabilística se origina en especial en el tratamiento de
modelos estocásticos de inventarios y en los procesos markovianos de decisión.

Aplicaciones de programación dinámica probabilística

Algunas de las aplicaciones de programación dinámica probabilística son:


 Un juego aleatorio
 Problema de inversión
 Maximización del evento de lograr una meta.

PROGRAMACIÓN DINÁMICA DETERMINÍSTICA (PDD)

En este caso se profundiza sobre el enfoque de programación dinámica en los


problemas determinísticos, en donde el estado en la siguiente etapa está
completamente determinado por el estado y la política de decisión de la etapa
actual. El caso probabilístico en el que existe una distribución de probabilidad para el
valor posible del siguiente estado este se analizara más adelante.

Aplicaciones de programación dinámica determinística.

Algunas de las aplicaciones de programación dinámica determinística son:

 Modelo De La Ruta Más Corta


 Modelo De Volumen-Carga ―Mochila‖
 Modelo Del Número De Empleados
 Modelo De Reemplazo De Equipos
 Modelo De Asignación De Recursos
 Modelo De Inventarios

DEFINICION

Técnica matemática que permite dar soluciones secuénciales con las que mediante
cálculos recursivos se obtiene la solución óptima del problema.
La programación dinámica consiste en una técnica que permite determinar de
manera eficiente las decisiones que optimizan el comportamiento de un sistema que
evoluciona a lo largo de una serie de etapas. En otras palabras, trata de encontrar la
secuencia de decisiones que optimiza el comportamiento de un proceso polietápico.
Proporciona un procedimiento sistemático para determinar la combinación de
decisiones para resolver problemas divididos en etapas, de tal forma que se
maximice la efectividad total. Es característico de estos problemas que deba
adoptarse una política general de decisión, y que ésta pueda ser aplicada en cada
etapa, arrojando un resultado óptimo para el problema en general, y un resultado
factible para cada etapa en que se divide el problema.

En cada etapa, las decisiones para las etapas restantes son independientes de las
decisiones tomadas anteriormente, aunque hay que tomar en cuenta que se llegó a
ésta etapa debido a las decisiones tomadas con anterioridad. La programación
dinámica es, pues, una técnica muy útil para tomar el mejor conjunto de decisiones
interrelacionadas.
La programación dinámica se basa en la noción matemática de recursión.

ESTRUCTURA DE LA PROGRAMACIÓN DINÁMICA

Decisión(es)

Di
Variable de Variable de
Fi
Estado Estado
Xi Xi+1
Función de Transformación
(Entrada) (Salida)

Ri

Medida de

Rendimiento

Ejemplo: Empresa comercializadora de alimentos (ECASA)


Año 2013
COMPONENTE DESCRIPCION INFORMACION
1 Nº de empleados 1000
2 Depositos Bancarios $ 158000
, , ,
, , ,
, , ,
100 Trigo Almacenado 5000 TM
Año 2014
COMPONENTE DESCRIPCION INFORMACION
1 Nº de empleados 1000
2 Depositos Bancarios $ 325000
, , ,
, , ,
, , ,
100 Trigo Almacenado 6500TM

FUNCIÓN DE TRANSFORMACIÓN

[Nº de empleados en Tn] = [Nº de empleados en to] + [empleados contratados en tn-


to] - [empleados dados debajo en tn-to]

[trigo almacenado en Tn] = [trigo almacenado en To) + [recepción trigo en tn – to] –


[salida de trigo en tn – to] - [merma trigo en tn – to]

Problema de Decisión de n etapas (para 12 meses)

Entonces:
Xn = fn (Xn-1 )

Xn-1 = fn-1 (Xº)

Función Generalizada:

Xn = fn (fn-1 (fn-2 (…f2 (f1 (xº))…)))

APLICACIONES:

APLICACIÓN 1: MODELO DE LA RUTA MÁS CORTA

En la ciudad 1 queda un aeropuerto internacional con afluencia de muchos turistas


que desean conocer los centros turísticos indicados en la red de la figura mostrada
en la parte inferior.
La red muestra la distancia (en kilómetros) de un centro a otro, así mismo muestra
las alternativas de traslado.
Una agencia de CityTour internacional desea determinar lo siguiente:
Para los turistas que desean conocer únicamente el centro turístico número 10 hallar
la trayectoria de menor distancia.
SOLUCIÓN:

Estructura:

Donde:
Xi: Estado actual en el que se encuentra el turista en la etapa i
X1={1} X2={2, 3, 4} X3={5, 6, 7} X4={8, 9}
Xi+1: Estado final al que dirige en la etapa i
X2={2, 3, 4} X3={5, 6, 7} X4={8, 9} X5={10}
fi* : Valor acumulado de la función objetivo (menor distancia) para el estado Xi en la
etapa i
gij : Distancia recorrida en el tramo ij
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra en la
etapa i

A continuación se muestran las iteraciones recursivas del problema aplicando el

PROCESO DE RETROCESO:

En la tabla anterior se muestra las distancias más cortas que hay desde el nodo
donde se encuentra actualmente (8 ó 9) al nodo final (10).

En la tabla precedente se muestra también las distancias más cortas que hay desde
el nodo donde se encuentra actualmente (5, 6 ó 7) hasta el nodo final (10), pasando
por 8 ó 9. Estas distancias se determinan aplicando la ecuación recursiva f4* + g34.
Por ejemplo para determinar la distancia que hay entre X3=5 y el nodo final (10),
tomando la decisión K3=8, será igual a la distancia que entre la ciudad 5 a la ciudad
8 mas la distancia que hay entre la ciudad 8 hasta la ciudad 10, o sea
610+1030=1640.
La tabla final nos muestra las distancias que desde el nodo 1 hasta el nodo 10,
pasando por 2, 3 ó 4 y son 2870, 3120 y 2920 kilómetros, respectivamente.

Donde
Por lo tanto la solución óptima en detalle será:

Etapa nodo actual nodo destino Interpretación


1 1 2 De la ciudad 1, se tendrá que ir a ciudad 2.
2 2 5 De la ciudad 2, ir a la ciudad 5.
3 5 8 De la ciudad 5, ir a la ciudad 8
4 8 10 Finalmente de la ciudad 8 ir a la ciudad 10
La distancia recorrida desde la ciudad 1 hasta la ciudad 10 es 2870 kilómetros.

APLICACIÓN 2: ANÁLISIS DE REEMPLAZO DE EQUIPOS


Cuando una máquina llega a cierta edad, se elevan sus costos operacionales y de
mantenimiento, por lo que puede ser más económico reemplazarla. Luego, hay que
determinar la edad de vida útil económica de la máquina

Se supone el problema de reemplazo de equipo a lo largo de n años. Al principio de


cada año se decide prolongar el servicio del equipo un año más, o reemplazarlo por
uno nuevo
Características, fases, etc.

Se definen:

r(t) : beneficio anual del equipo de edad t años


c(t) : costo de operación del equipo de edad t años
s(t) : valor de rescate del equipo que ha estado en servicio durante t años
I : costo de adquisición de un equipo nuevo en cualquier año

Etapas: i, son los años i = 1, 2, ……, n

Alternativas conservar la máquina (C) o reemplazarla (R)

Estados ti, edad de la máquina al principio del año i

Función Recursiva fi(t) Ingreso neto máximo para los años i, i+1, ……, n

La determinación de los estados es un tanto difícil, se recomienda hacer una red


edad de la máquina v/s año de la decisión, para distinguir los estados posibles y los
valores factibles para la edad de la máquina en cada etapa

Aplicación

La principal máquina de un proceso químico de producción es inspeccionada


anualmente, siendo conservada o reemplazada. El costo de mantenimiento y el valor
de rescate de esta máquina se presenta en la tabla siguiente:

El costo de una máquina nueva es de $ 2 000 000. La vida útil de las instalaciones
que realizan este proceso de producción es de 5 años al final de lo cual toda la
instalación será rescatada. La máquina actual completará 3 años en la próxima
inspección. Determine el plan de mantenimiento y reemplazo de esta máquina.

SOLUCIÓN:
Estructura:
Donde:
Xi: Edad del activo al inicio de la etapa i
Xi+1: Decisión de Conservar o Reemplazar en la etapa i
fi*: Valor acumulado de la función objetivo (menor costo) para el estado del activo Xi
desde la etapa i hasta el final del horizonte de vida.
rij : Costo de reemplazar o conservar el activo en tramo ij.
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el activo
en la etapa i
A continuación presentamos la red del problema en términos de costos de
reemplazar o conservar el activo.

A continuación se muestran las iteraciones recursivas del problema:


ETAPA 6

ETAPA 5

ETAPA 4

ETAPA 3

Los resultados en K3* de R ó C indican que posiblemente este problema tiene más
de una solución óptima.
ETAPA 2

ETAPA 1
Por lo tanto las políticas óptimas en base a las tablas de recursividad serán: (dos
soluciones óptimas)

AÑO Alternativa 1 Alternativa 2


1 R R
2 C C
3 C R
4 R C
5 C C
V V
Analizando la solución óptima de la alternativa 1, se tiene:
En el año 1 la decisión óptima será de Reemplazar (R), esto implica comprar una
máquina nueva, la cual al final del año tendrá 1 año de edad.
En el año 2, dado que se tiene una máquina de 1 año de edad, la decisión óptima
será Conservar (C), por lo tanto al final del año 2 la máquina tendrá 2 años de edad,
y así sucesivamente se rescata las mejores decisiones en las demás etapas del
problema.
Entonces si la empresa quiere a la larga optimizar sus costos de operación y
mantenimiento, deber aplicar cualquiera de las dos alternativas de políticas de
reemplazo para sus activos.

MÉTODO ALTERNATIVO
Aplicando el proceso gráfico
ETAPA 6

ETAPA 5

ETAPA 4

ETAPA 3
Los resultados en K3* de R ó C indican que posiblemente este problema tiene más
de una solución óptima.
ETAPA 2

ETAPA 1

Las soluciones estarían dadas por:

APLICACIÓN 3: PRESUPUESTO DE CAPITAL

Una corporación recibe cuatro propuestas de sus tres plantas respecto a la posible
expansión de las instalaciones. La corporación tiene un presupuesto de $8 millones
para asignarlo. A cada planta se le solicita someta sus propuestas, indicando el
costo total (c) y el ingreso total (R) para cada propuesta. En la tabla siguiente se
resumen los costos e ingresos (en millones de dólares). La meta de la corporación
es la de maximizar el ingreso total resultante de la asignación de los $8 millones a
las tres plantas. Determine la asignación óptima de las propuestas a cada planta,
suponiendo que se acepta sólo una propuesta por planta.
SOLUCIÓN:
Estructura:

Donde:

Xi: Capital disponible en la etapa i.


X1: Capital disponible para las 4 plantas
X2: Capital disponible para las plantas 2, 3 y 4
X3: Capital disponible para las plantas 3 y 4
X4: Capital disponible para la planta 4
Ki: Propuesta elegida para la planta i
fi* : Valor acumulado de la función objetivo (mayor rendimiento) desde la etapa i
hasta el final
ri : Rendimiento en la etapa i
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el monto
del capital disponible en la etapa i

A continuación presentamos las iteraciones recursivas del problema:

Etapa 4
Etapa 3

Etapa 2
Etapa 1

En consecuencia analizando las iteraciones recursivas, se tiene la siguiente Política


Optima:

A la planta 1 se debera asignar la propuesta B, a la planta 2 también la B, a la planta


3 se debe asignar la propuesta C y a la planta 4 la propuesta B, obteniendo un
rendimiento total máximo de 15 millones de dólares.
APLICACIÓN 4: PLAN DE PRODUCCIÓN

Un constructor produce barcos a pedido, y tiene los siguientes pedidos para ser
entregados al final de los próximos 6 meses:

Él puede construir hasta 4 barcos en cualquier mes, y puede guardar hasta 3 barcos
en stock. El costo de construcción de los barcos considera un costo fijo de 10 000
dólares y un costo variable de 4 000 dólares por barco construido. Para mantener un
barco en stock durante el periodo de un mes, el constructor gasta $ 1 000. ¿Cuál
debe ser el plan optimo de construcción, de modo que se minimice el costo total del
constructor? Formule un modelo de programación dinámica para obtener la solución.
SOLUCIÓN:

Estructura:

Donde:
Xi: Inventario al inicio del mes i
Xi+1: Inventario final del mes i
Ki: Número de unidades a producir en el mes i
fi*: Valor acumulado de la función objetivo (menor costo) desde la etapa i hasta el
final
ri : Costo de producción + costo de inventario en la la etapa i
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el
inventario inicial disponible en la etapa i
Las relaciones siguientes expresan los costos en miles de dólares:
10  4 Ki, siKi  0
Costos de producción Cp(Ki) = 
 0, siKi  0
Costos de almacenamiento Ci(Xi) = 1*Xi

A continuación se muestran las iteraciones recursivas del problema:


Etapa 6: Diciembre

Etapa 5: Noviembre

Para esta etapa debe observarse que 2≤ X5+K5≤ 3; 2 porque al menos hay que
satisfacer la demanda del mes y 3 por que a lo más se puede almacenar 1 barco
para el siguiente mes:
X5+K5-d5≤1  X5+K5≤1+d5, como d5=2, se tiene que X5+K5≤3.
Etapa 4: Octubre
Para esta etapa debe observarse que 3≤X4+K4≤6; 3 por que la demanda del mes es
3 y 6 por que se puede almacenar hasta 3 barcos para los posteriores meses:
X4+K4-d4≤3  X4+K4≤3+d4, como d4=3, se tiene que X5+K5≤6.

Etapa 3: Septiembre

Para esta etapa debe observarse que 5 ≤ X3+K3 ≤ 7

Etapa 2: Agosto

Para esta etapa debe observarse que 3 ≤ X2+K2 ≤ 5


Etapa 1: Julio

Para esta etapa debe observarse que 1 ≤ X1+K1 ≤ 4


Por lo tanto la Solución Óptima será:
En consecuencia se deberá producir 4, 0, 4, 3, 3 y 0 unidades en los meses de Julio,
Agosto, Septiembre, Octubre, Noviembre y Diciembre respectivamente, obteniendo
un costo total mínimo de 101 mil dólares.

APLICACION 5: NIVELACIÓN DE LA PRODUCCIÓN

El modelo trata de determinar el mejor plan de producción de un artículo estacional.


Los costos básicos estan dados por el costo de producción y almacenamiento. El
objetivo es reducir al mínimo los costos totales de operación.
Los factores conocidos son:
 Costos de producción, en términos de producción ordinaria y extra
 Costos de almacenamiento en términos de cantidad de artículos almacenados.
PROBLEMA.- La compañía cervecera del sur ha compilado los siguientes datos para
los futuros requerimientos mensuales de producción y costos:

Al 31 de Diciembre hay 400 cajas a un costo de $ 5.00 cada caja, la producción


normal no puede ser mayor de 650 cajas y la producción extra no puede ser mayor
de 300 cajas, los costos de almacenamiento son de $ 1.50 al mes por caja. ¿Cuál es
el programa óptimo de producción y sus respectivos costos totales?. Suponer que no
se desea ningún inventario al terminar el semestre.
SOLUCIÓN DEL PROBLEMA

Como el problema consiste en reducir al mínimo los costos de producción y


almacenamiento, puede considerarse como un modelo de transporte, donde los
requerimientos son el total de cajas requeridas en el semestre y las disponibilidades
u ofertas por la producción normal y extra.

La solución establece los siguientes costos:


APLICACION 6.- CONTRATACIÓN DE PERSONAL

Un contratista necesita decidir el tamaño de su fuerza de trabajo en las 5 semanas


siguientes. El tamaño mínimo de la fuerza de trabajo necesario para las 5 semanas
es de 6, 5, 3, 6 y 8 respectivamente. El exceso de trabajadores que se mantienen en
la fuerza laboral costará 300 dólares por trabajador, por semana y las nuevas
contrataciones en cualquier semana incurrirán en un costo fijo de 400 mas 200
dólares por trabajador, por semana.
Si la fuerza de trabajo inicial es de 4 trabajadores, y el costo de despido en
cualquiera de las semanas es de 200 dólares, determine los tamaños óptimos de la
fuerza de trabajo para el horizonte de planeación de 5 semanas.
Determinar la política de contratación de personal en un horizonte de 5 semanas
SOLUCIÓN:
La estructura del problema es:
Donde:
Xi: Número de trabajadores disponibles al inicio de la semana i
Ki: Número de trabajadores a mantener en la semana i
fi*: Valor acumulado de la función objetivo (menor costo) desde la etapa i hasta el
final
ri : Costo de contratación + costo de despido +costo de exceso
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el
número de trabajadores disponibles en la etapa i
400  200 * NroTrabaja doresContratados,

Costo Contratación (CC) = si NroTrabaja doresContratados  0
 0, si NroTrabaja doresContratados  0

Costo de despido (CD) = 200*(No Trabajadores Despedidos)


Costo de exceso (CE) = 300*(No Trabajadores Excedentes)
Entonces las iteraciones recursivas del problema son:
ETAPA 5

ETAPA 4
ETAPA 3

ETAPA 2

ETAPA 1

Política óptima:

La solución óptima es contratar 2 trabajadores en la primera semana, conservar 6


trabajadores durante las 3 semanas siguientes y contratar 2 trabajadores más en la
última semana. Esta política da como costo máximo 2800 dólares.
APLICACIÓN 7.- PROBABILIDAD DE FUNCIONAMIENTO

Considere el diseño de un dispositivo electrónico que consta de cuatro componentes


principales. Los cuatro componentes están dispuestos en serie, de manera que la
falla de uno de ellos hará que falle todo el dispositivo. (ver siguiente diagrama):

1 2 3 4

La confiabilidad del dispositivo se puede mejorar a través de la instalación de


unidades de reserva, lo que significa que cada componente principal puede incluir
hasta tres unidades en paralelo. (ver diagrama siguiente):

El capital total disponible para el diseño del dispositivo es $15 000. Los datos de la
confiabilidad Ri(ki) y el costo ci(ki) del i-ésimo componente ( i = 1, 2, 3, 4) dadas ki
unidades en paralelo se resumen a continuación. Suponiendo que el dispositivo
debe tener como mínimo 1 unidad de cada componente, determine el número de
unidades paralelas, ki, que debe tener el dispositivo de cada componente i de tal
forma que se maximice su probabilidad de funcionamiento (confiabilidad) sin exceder
el capital asignado.

Nota: el costo esta en miles de soles


SOLUCIÓN:
Estructura:
Donde:
Xi: Capital disponible para la etapa i
X1: Capital disponible para los 4 componentes
X2: Capital disponible para los componentes 2, 3 y 4
X3: Capital disponible para los componentes 3 y 4
X4: Capital disponible para el componente 4
Ki: Número de unidades en paralelo asignadas del componente i
Fi*: Valor acumulado de la función objetivo (mayor probabilidad de funcionamiento)
desde la etapa i hasta el final
ri : probabilidad de funcionamiento en la etapa i
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el capital
disponible en la etapa i
Entonces las iteraciones recursivas del problema son:
ETAPA 4

ETAPA 3

ETAPA 2
ETAPA 1

POLITICA OPTIMA

Por lo tanto la solución es incluir 1 unidad del componente 1, 1 unidad del


componente 2 y 3 unidades del componente 3, de esta manera el dispositivo alcanza
una probabilidad de funcionamiento del 45.36%.

APLICACIÓN 8.- PROBLEMA DE LA MOCHILA

Suponga que se tiene 3 tipos de cargamento a transportar en una barco con


capacidad para 10 toneladas. En la siguiente tabla se muestra el peso y la utilidad
de cada tipo de cargamento.
Determinar el número de unidades de cada tipo de carga a incluir en el barco de tal
manera que se maximice su utilidad.
SOLUCIÓN:
Estructura

Donde:

Xi: Capacidad disponible en la etapa i


X1: Capacidad disponible para las 3 cargas
X2: Capacidad disponible para las cargas B y C
X3: Capacidad disponible para la carga C
Ki: Número de unidades a incluir en el barco de la carga i
fi*: Valor acumulado de la función objetivo (mayor utilidad) desde la etapa i hasta el
final
ri : Utilidad en la etapa i
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra la
capacidad disponible del barco en la etapa i

Entonces las iteraciones recursivas del problema son:

ETAPA 3
ETAPA 2
ETAPA 1

POLITICA OPTIMA

Por lo tanto se debe incluir 1 carga del tipo A y 2 cargas del tipo B, alcanzando una
utilidad de S/.2500.00.

APLICACIÓN 9.- DISTRIBUCIÓN DE PERSONAL

Una compañía dispone de 7 vendedores que deben trabajar en tres regiones. La


siguiente tabla muestra el número de ventas que resulta al asignar n vendedores a
una región:
Si la compañía exige por lo menos 1, 2 y 2 agentes para las regiones 1, 2 y 3
respectivamente, determine la asignación óptima de agentes.

SOLUCIÓN

A continuación se muestran las iteraciones recursivas del problema:


ETAPA 3

ETAPA 2

ETAPA 1

Respuesta:
Se deberá asignar a cada Región el número de vendedores como sigue:

APLICACIÓN 10.- PLANEACIÓN DE GASTOS DE PUBLICIDAD

Una compañía decide hacer experimentos de mercadotecnia en uno de sus


mercados de prueba. La empresa quiere determinar la mejor combinación de
publicidad, así como sus frecuencias, la empresa ha reunido datos de relación de
ventas con frecuencias de publicidad. Las cifras se basan en condiciones optimistas
y pesimistas, que se muestran en las tablas, el costo de utilización de publicidad R,
S y T es de $ 3000, $ 5500 y $ 9000 respectivamente. El total de presupuesto para
publicidad es de $ 22000, determinar la propuesta optima en condiciones pesimistas
y optimistas.

SOLUCION

En el problema se tienen datos de ventas pesimistas y optimistas, se desarrollará la


solución pesimista, para lo cual se tomará en cuenta en presupuesto de publicidad
de $ 22000, como sigue:

Analizaremos en cada etapa las combinaciones de frecuencia de publicidad R, S con


cero, uno y dos de T.

Etapa 1.- Combinación R, S con cero de T


Etapa 2.- Combinación R, S con uno de T

Etapa 3.- Combinación R, S con dos de T

La solución sería invertir $ 20500 en 2 publicidad de R, 1 publicidad de S y una


publicidad de T para una venta de 665 unidades.
OTRAS APLICACIONES

APLICACIÓN 1.- Modelo del viajero

Javier vive en la ciudad A, pero está pensando en conducir hasta la ciudad k para
visitar a su amada, su dinero es escaso y por lo tanto a decidido pasar cada noche
de su viaje en un hotel de visitantes que son muy baratos, como se muestra en la
figura. Javier sabe que después de conducir un día puede dormirse y causar un
accidente así que no sabe que ruta sería la más corta para llegar hasta donde su
amada en la ciudad K ¿podrías ayudarle con la más corta ruta?

Solución

Etapa I

Etapa II

Etapa III
Etapa IV

La mejor opción es la ruta ACFJK con un valor de 15, siendo esta la más corta para
nuestro viajero.

APLICACIÓN 2.- Modelo de Producción e inventario

Una empresa sabe que la demanda de su producto durante cada uno de los cuatro
meses siguientes será como sigue:

Al principio de cada mes, la empresa debe determinar cuántas unidades se deben


producir durante ese mes. Durante un mes en el que se produce cualquier número
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 de dólar por unidad en inventario. Las limitaciones de
capacidad permiten la producción de un máximo de 5 unidades 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. Suponer que hay cero unidades al principio del primer mes.

SOLUCIÓN
La función de costo variables para todos los meses es: P + 0.5H

El problema es del tipo PROGRAMACIÓN DE PRODUCCIÓN E INVENTARIOS,


elegimos esa opción.

Ingresando los datos:

La solución del problema es:

Respuesta:
Se deberá producir 3, 0, 3 y 4 unidades en los meses 1, 2, 3 y 4 respectivamente,
obteniendo un costo total mínimo de $ 20.00.

APLICACIÓN 3.- MODELO DE CARGA MAXIMA

La empresa ALBACO S.A. ofrece productos de latón y productos de cobre, desea


llevar un pedido de Barras solidas redondas, barras solidas cuadradas, lingotes y
platinas de latón para lo cual cuenta con un conteiner que puede transportar hasta 7
toneladas, obligatoriamente tiene que hacer llegar por lo menos una unidad de
barras solidas cuadradas y una unidad de Platinas. Determinar el cargamento de
ALBACO debe enviar con la finalidad de optimizar sus utilidades.

Las utilidades y los pesos por productos están representados en la siguiente tabla:

CARGAMENTO MÁXIMO Y MÍNIMO POR PRODUCTO:

ETAPA 1
ETAPA 2

ETAPA 3

ETAPA 4

SOLUCION ÓPTIMA
APLICACIÓN 4.- Un extraterrestre está a punto de regresar a casa. Para que su
viaje tenga éxito deben funcionar bien el relevador solar, el impulsor y la máquina de
caramelos. Encontró tres actores desempleados que desean ayudar a tener lista la
nave para su despegue. En la tabla siguiente se presenta la probabilidad de que
cada componente trabaje en forma correcta durante el viaje, en función del número
de actores desempleados asignados a la reparación de cada componente.

NRO DE ACTORES ASIGNADOS A UN COMPONENTE

Con programación dinámica ayude a maximizar la probabilidad de que el


extraterrestre tenga un buen viaje de regreso.

SOLUCIÓN
A continuación se muestran las iteraciones recursivas del problema:
Respuesta:
El extraterrestre deberá asignar 1, 0 y 2 actores desempleados al Impulsor,
Revelador solar y Dulcería respectivamente, obteniendo una probabilidad de 17.6%
de tener un buen viaje de regreso.

APLICACIÓN 5.- Modelo Distribución de Inversiones

El propietario de 3 tiendas ha comprado 5 cestas de cerezas, para satisfacer la


demanda en las diferentes tiendas. El propietario desea determinar la forma de
distribuir los canastos, de manera de maximizar el beneficio total. Los retornos
(utilidades) en función del número de canastos distribuidos (se asume vendidos) en
las 3 tiendas están dados en la siguiente tabla:

Solución:

Etapa 3:

Etapa 2:
Etapa 1:

Solución Óptima:

APLICACIÓN 6.- Una Corporación petrolera tiene 4 millones de dólares para invertir
en tres campos petroleros. Las utilidades que gana el sitio i (i=1, 2, 3) dependen de
la cantidad invertida en él, tal como se muestra en la siguiente tabla:

Si se supone que la cantidad invertida en cada campo debe ser múltiplo exacto de 1
millón de dólares, determine con programación dinámica una política de inversiones
que eleve al máximo las utilidades que gana la corporación con sus tres campos
petroleros.
SOLUCIÓN

A continuación se muestran las iteraciones recursivas del problema:

Se deberá invertir 1 millón, 2 millones y 1 millón de dólares en el Campo 1, Campo


2 y Campo 3 respectivamente, obteniendo una utilidad total máxima de $ 24 000
000.

APLICACIÓN 7.- El número de crímenes en cada una de las tres demarcaciones


policiacas de una ciudad depende del número de patrullas asignada a ellas (véase la
siguiente tabla)

Se dispone de un total de 5 patrullas. Con programación dinámica determine


cuántas patrullas deben asignarse a cada demarcación.
SOLUCIÓN

A continuación se muestran las iteraciones recursivas del problema:

Se deberá asignar 1, 1, y 3 patrullas a la Demarcación 1, Demarcación 2 y


Demarcación 3, obteniendo una disminución del total de crímenes a 37.

APLICACIÓN 8.- Un Ingeniero Forestal, requiere saber: i) Cuál es el costo mínimo, y


ii) Cuál es la ruta con ese costo mínimo, para ir desde su oficina hasta el lugar donde
está la cosecha. En su camino debe pasar por 3 sectores o ciudades antes de llegar
a su destino, y lugares posibles en esos sectores o ciudades. Las posibles rutas, y el
costo asociado por Kms. de distancia y otros en $, se ven en el siguiente esquema:
Solución:

Para ir de 1 a 13 hay 48 rutas posibles. Una posibilidad para encontrar la


solución es calcular el valor asociado a cada una y ver cual es la que proporciona el
menor costo. ¿Y si fuesen miles de rutas?. Por se descarta esa alternativa y se usa
el método de la programación Dinámica, donde se resuelve desde el final hacia el
inicio, y hay etapas y estados.
Etapas: Son 4. La etapa 1 es decidir ir del estado inicial 1 al estado 2,3,4 o 5 que
son los puntos posibles en el sector siguiente. La etapa 2 es decidir ir a 6, 7 u 8. La
etapa 3 es decidir ir a 9, 10, 11 o 12. La etapa 4 es decidir a 13.
Estado: Lugar donde se encuentra. La etapa 1 tiene 1 estado: el 1. La etapa 2 tiene
4 estados: 2, 3, 4, 5. La etapa 3 tiene 3 estados: 6,7,8. La etapa 4 tiene 4 estados: 9,
10, 11, 12.

Cálculos:
n=4

n=3
n=2

n=1

El óptimo es: 24
La solución óptima es: X1 = 3; X2 = 8; X3= 9; X4= 13.
La ruta óptima es:

Respuesta al problema planteado:


El Ingeniero Forestal tiene un costo mínimo de $24 para ir desde su oficina al lugar
de cosecha, y ese mínimo lo puede lograr yendo desde su oficina al lugar 3 luego al
lugar 8 luego al lugar 9 y de ahí al lugar 13, que es donde está la cosecha.

APLICACIÓN 9.- Un Técnico Forestal, debe revisar 3 faenas: Poda, Raleo y


Cosecha, y dispone de 4 días. Según la dedicación en días que le de a cada faena,
éstas tendrán una probabilidad de fracasar, y con ello fracasar la faena total, por lo
que puede ser despedido. Por ello, dicho Técnico desea minimizar la probabilidad
de ser despedido minimizando la probabilidad de que las 3 tareas fracasen al mismo
tiempo.

Un día no asignado a una faena no tiene valor asociado. A lo más se puede asignar
3 días a una misma faena.
Solución:
Etapas: Son 3. La etapa 1 es el proceso de asignación de días a Poda. La etapa 2
es el proceso de asignación de días a Raleo. La etapa 3 es el proceso de asignación
de días a Cosecha.

Estados: Son los días disponibles para ser asignados, y van de 0 a 4, dependiendo
de las etapas. La etapa 1 tiene 1 estado factible y es: tener 4 días disponibles para
ser asignados.

Las variables de decisión son 3: X1, X2, X3 y representan: Cuántos días asignar a la
faena poda, Cuántos días asignar a la faena de raleo, Cuántos días asignar a la
faena de cosecha; respectivamente.
La Función Objetivo y las restricciones forman en el modelo para este problema y
es: P: Min( p(X1)*p(X2)*p(X3) ) ; s.a: X1+X2+X3  4 ; Xi 0,1,2,3; i=1,2,3
La probabilidad de ser despedido en este momento es: 0.5*0.6*0.4 =0.12, que es de
un 12%, y con los 4 días disponibles desea minimizar esa probabilidad.

Los cálculos:
n=3

n=2

n=1

Òptimo = 0.04305 ( un 4,3% ).


La solución óptima es: X1 = 0 ; X2 = 2 ; X3= 2
La ruta óptima es:
Respuesta al problema planteado: La probabilidad mínima de ser despedido es
0.04305 , es decir de un 4,3%, y la asignación óptima de días es: 0 días a la Poda,
2 días al Raleo, 2 Días a la Cosecha.

APLICACIÓN 10.- Un aserradero debe enviar 4 o 5 cargamentos a cuatro destinos.


La máxima asignación para cada destino es de cuatro cargamentos. En la tabla
siguiente se indica g(xi) como los ingresos en MM$ obtenidos por cada una de las
decisiones posibles. Se desea maximizar el ingreso del aserradero por estos
envíos.
Además al destino 2 no se puede asignar 4 sino que máximo 3 cargamentos. Al
destino 3 ya se ha decidido asignar exactamente 1 cargamento. Un cargamento no
asignado no tiene valor asignado.

Solución:
Etapas: son 4 etapas. La etapa 1,2,3,4 es el proceso de decisión de envíos de
cargamento al destino 1, destino 2, destino 3 y destino 4 respectivamente.
Estados: La cantidad de cargamentos disponibles para ser enviados en cada etapa.
El modelo en este caso es: (Son 2 problemas en uno).
P: Máx (  g(xi); i=1,2,3,4) s.a: X1+X2+X3 +X4  5 ; Xi 0,1,2,3,4; i=1,2,3,4.
P: Máx (  g(xi); i=1,2,3,4) s.a: X1+X2+X3 +X4  4 ; Xi 0,1,2,3,4; i=1,2,3,4.
Los Cálculos.
n=4

n=3
n=2

n=1

Respuesta:
A) Si envía 4 cargamentos, el óptimo es: MM$ 22, y la solución óptima es: X 1 = 3 ;
X2 = 0 ; X3= 1; X4= 0;
La ruta óptima es:

Es decir: Al destino-1 debe enviar 2 cargamentos, al destino-2 debe enviar 0


cargamento, al destino-3 enviar 1 cargamento, y al destino-4 enviar 1 cargamento.
Con esto obtiene el máx que es de MM$22.

B) Si envía 5 cargamentos, el óptimo es: MM$ 28, y la solución óptima es: X1 = 2


; X2 = 1 ; X3= 1; X4= 1;
La ruta óptima es:
Es decir: Al destino-1 debe enviar 2 cargamentos, al destino-2 debe enviar 1
cargamento, al destino-3 enviar 1 cargamento, y al destino-4 enviar 1 cargamento.
Con esto obtiene el máx que es de MM$22.

APLICACIÓN 11.- Un dueño de tres supermercados tiene 5 cargas de fresas


frescas. Su problema es destinar las fresas a cada supermercado, ya que en cada
uno las fresas tienen distinto valor. El ingreso en los supermercados, según la
asignación de cargas se indica a continuación en MM$.

El no asignar las cargas de fresas a un supermercado tiene valor asociado de cero


pesos al horizonte, porque se perderán.
¿Cuál es el máximo ingreso posible, y cuál es la asignación que para ello?

Solución:
n=3

n=2

n=1
Respuesta: El máximo ingreso posible es MM$ 25, y se puede alcanzar con la
asignación : X1 = 1 ; X2 = 2 ; X3= 2 ( Con ingresos: 5+11+9= 25). O bien con la
asignación: X1 = 3 ; X2 = 2 ; X3= 0 ( Con ingresos: 14+11+0 = 25 ).

APLICACIÓN 12.- Se dispone de 6 brigadas para asignar a tres sectores. El


aumento de la productividad en los sectores depende de la asignación, y es la que
se indica en el cuadro siguiente:

¿Cuántas brigadas asignar a cada sector para hacer máxima la suma de aumento
de la productividad?.
Una brigada no asignada no tiene valor asociado en la productividad. Esto equivale
a decir que el valor al horizonte de una brigada no asignada es de cero, ya que ese
valor no influye sobre el valor de la función objetivo.

Solución:

Las etapas: Son tres etapas


Los Estados: Son el número de brigadas disponibles al inicio de la etapa.
Estado inicial: Es uno sólo, y es tener 6 brigadas disponibles.
Variables de decisión: Son 3, indicadas por: X1 , X2 , X3 y el valor de ellas es un
elemento del conjunto: 0,1,2,3, 4 
El modelo: P: Máx (  f (Xi ); i=1,2,3) s.a: X1+X2+X3  6 ; Xi 0,1,2,3,4; i=1,2,3.

Los cálculos: n=3


n=2

n=1

Respuesta: Optimo =75; Solución óptima: X1*=2; X2*=3; X3*=1


Respuesta: La mayor productividad posible es de 75 y se logra asignando 2 brigadas
al sector 1, 3 brigadas al sector 2 y 1 brigada al sector 3.
Ruta óptima:

PROGRAMACIÓN DINÁMICA CON WINQSB

PROGRAMACIÓN DINÁMICA.

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. Las
decisiones tomadas en una etapa condicionan la evolución futura del sistema,
afectando a las situaciones en las que el sistema se encontrará en el futuro
(denominadas estados), y a las decisiones que se plantearán en el futuro.

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.
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.
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)

Problema de la diligencia.

El problema de la diligencia es un prototipo literal de los problemas de


programación dinámica. Por tanto una manera de reconocer una situación que se
puede formular como un problema de programación dinámica es poder
identificar una estructura análoga a la del problema de la diligencia.

Características básicas:

1.- El problema se puede dividir en etapas que requieren una política de decisión
en cada una de ellas.

2.- Cada etapa tiene cierto número de estados asociados con su inicio. Los estados
son las distintas condiciones posibles en las que se puede encontrar el sistema en
cada etapa del problema.

3.- El efecto de la política de decisión en cada etapa es transformar el estado actual


en un estado asociado con el inicio de la siguiente etapa.
4.- El procedimiento de solución está diseñado para encontrar una política óptima
para el problema completo.

5.- Dado el estado actual, una política óptima para las etapas restantes es
independiente de la política adoptada en etapas anteriores. Este es el principio de
optimalidad para programación dinámica.

6.- El procedimiento de solución se inicia al encontrar la política óptima para la


última etapa.

7.- Se dispone de una relación recursiva que identifica la política óptima para la
etapa n, dada la política óptima para la etapa n+1.
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.
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)

EJEMPLO SOBRE EL PROBLEMA DE LA DILIGENCIA

Considérese el gráfico que contempla las rutas posibles para ir desde la


ciudad 1 hasta la ciudad 10. Cada nodo representa una ciudad y los arcos la
infraestructura vial disponible. La tabla recoge el costo asociado al desplazamiento
entre cada par de nodos para cada una de las etapas. Se Supone que todos los
desplazamientos tienen la misma duración, y que el viaje ha de realizarse en
cuatro etapas. Cada una de ellas se corresponde con un único desplazamiento
entre un par de nodos del grafo, así al finalizar la primera etapa estaremos en una
de las ciudades 2, 3 ó 4. La segunda etapa finalizará en la ciudad 5, la número 6 ó
la número7. La tercera jornada nos llevará a la ciudad 8 o a la número 9. La cuarta
etapa permite finalizar el viaje en la ciudad 10.
Períodos o etapas: Sea N= {1, 2,....., n} un conjunto finito de elementos. Mediante
el índice n ∈ N, se representa cada una de ellas. N es el conjunto de períodos o

etapas del proceso. En la Ilustración anterior existen cuatro etapas de viaje, cada

una de ellas es un

período y se representa mediante un valor del índice n, así cuando n =1 se


refiere a la primera etapa del proceso.

Espacio de estados: {S ∈ N} es una familia de conjuntos, uno para cada período n.

S se denomina espacios de estados en el periodo n. Cada uno de sus elementos, 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.

La relación recursiva dinámica se expresa como f(n, s) = mínimo [C(s, j) + f(n-1,


j)] para todos los arcos (s, j) en la red
El problema contiene 10 nodos claramente identificados:

Al pulsar OK se puede ingresar el resto de información, el cual se basa en las


relaciones existentes entre los nodos. Los valores van de acuerdo a la red
establecida en el problema:
Para resolver el problema se pulsa la opción Resolver el problema (Solve the
Problem) del menú Resolver y analizar (Solve and Analyze).

La ventana siguiente permite identificar los nodos de inicio y fin:

Al pulsar SOLVE se genera la solución al problema:

Si queremos una solución detallada se debe pulsar sobre Mostrar


solución detallada (Show Solution Detail) en el menú Resultados (Results):
Problema de la 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.

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.

El problema se desarrolla bajo dos consideraciones, primero teniendo en


cuenta el peso y luego el volumen. Este es un problema que también podría
resolverse por programación lineal entera teniendo en cuenta la función objetivo y
sus restricciones siguientes.

EJEMPLO SOBRE PROBLEMA DE LA MOCHILA O CANASTA DE EQUIPAJE


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.

La carga de un avión se distribuye con el propósito de maximizar el ingreso


total. Se consideran 5 elementos y sólo se necesita uno de cada uno. La
compañía gana 5000 u.m. por elemento más una bonificación por elemento. El
avión puede transportar 2000 libras.

a) ¿Cuáles elementos deben transportarse?

b) Si se considera un volumen máximo de 200 pies cúbicos. ¿qué elementos deben


transportarse?
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:
Siendo xj el elemento j a transportar.
Para el caso del volumen se reformaría la primera restricción cambiando los
coeficientes por los volúmenes de los ítems.
Sea j: la variable que representa el artículo:

x(j): el número de unidades el número de unidades cargadas del artículo j


w(j): el espacio o el peso que demanda cada unidad del artículo j
R(j,x(j)): la función del retorno del artículo j si se llevan x(j) unidades en la mochila,
del artículo j
g(j,w): retorno del total acumulativo dado el espacio w disponible para el artículo
j
La relación recursiva dinámica se expresa como:
g(j,w) = máximo {R(j,x(j)) + g[j-1,w-w(j)x(j)]} para todo posible x(j)

Ahora se ingresan los datos al Winqsb:

La entrada de datos queda como sigue.


Al resolver el problema se tiene:

La solución indica que se deben transportar los ítems 3, 4 y 5 con un retorno total
de 17800 u.m. y utilización plena de la capacidad (en peso), disponible del avión.
Teniendo en cuenta sólo el volumen, el nuevo modelo es:

La solución es:
EJEMPLO DE PROGRAMACION DE PRODUCCION E INVENTARIOS
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).
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
La relación recursiva dinámica se expresa como:
F(n, i) = máximo {C(n, P(n), i+P(n)-D(n)) + f(n-1, i+P(n)-D(n))} para todo posible P(n).
La tabla muestra los datos del siguiente problema de producción e
inventario: la demanda para los meses de enero, febrero, marzo y abril es de 4, 5, 3
y 4 unidades, respectivamente. Las capacidades de producción son de 6, 4, 7, y 5
unidades; las capacidades de almacenaje son 4, 3, 2 y 4 unidades
respectivamente. Los costos de preparación varían de un mes a otro y son: 500,
450, 500 y 600 u.m. para enero, febrero, marzo y abril.
Determinar un programa de producción con el fin de minimizar los costos
totales relacionados.
Al igual que en los ejercicios anteriores, se procede a ingresar los datos:

La solución del problema es:


Las cantidades a producir mostradas en la tabla son de tal forma que
permiten un costo mínimo en la planeación: se deben producir 5, 4, 3 y 4 unidades
para los meses de enero, febrero, marzo y abril respectivamente. El costo total es
de $7080, dividido en $2050 por concepto de costos de preparación y $5030
de costos variables. La tabla también muestra el juego de inventarios
resultante de la producción y la demanda mensuales.

También podría gustarte