Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoria de Programacion Dinamica
Teoria de Programacion Dinamica
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:
1. Dividir el problema en subproblemas más pequeños.
2. Resolver estos problemas de manera óptima usando este proceso de tres pasos
recursivamente.
3. 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:
1
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.
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.
ETAPAS
…
Cálculos Recursivos
Solución
X1 X2 X3 … Xn-1 Xn Optima
Variables Optimizadoras
2
PRINCIPIO DE OPTIMALIDAD DE RICHARD BELLMAN (1957)
3
Ejemplo: Empresa comercializadora de alimentos (ECASA)
FUNCIÓN DE TRANSFORMACIÓN
4
Problema de Decisión de n etapas (para 12 meses)
Entonces:
Xn = fn (Xn-1 )
X n = (f n-1 (Xº))
Xº X1 X2 Xn-2 Xn-1 Xn
1 2 n-1 n
f f f f
Función Generalizada:
APLICACIONES:
5
APLICACIÓN 1: MODELO DE LA RUTA MÁS CORTA
770
510 1390
790
700
4 7 9
830 270
ETAPAS
SOLUCIÓN: Estructura:
K1 K2 K3 K4
X1 X2 X3 X4 X5
1 2 3 4
r1 r2 r3 r4
Donde:
Xi: Estado actual en el que se encuentra el turista en la etapa i
X1={1}
6
X2={2, 3, 4}
X3={5, 6, 7}
X4={8, 9}
X5={10}
Ki: Estado final al que dirige en la etapa i
K1={2, 3, 4}
K2={5, 6, 7}
K3={8, 9}
K4={10}
Fi* : Valor acumulado de la función objetivo (menor distancia) para el estado Xi desde la
etapa i hasta el destino final (nodo 10)
ri : Distancia recorrida en la etapa i
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:
Etapa 4 g45 Solución Optima
X4 X5 10 f4* k4*
8 1030 1030 10
9 1390 1390 10
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).
Etapa 3 f4* + g34 Solución Optima
X3 X4 8 9 f3* k3*
5 610+1030=1640 790+1390=2180 1640 8
6 540+1030=1570 940+1390=2330 1570 8
7 790+1030=1820 270+1390=1660 1660 9
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.
Etapa 2 f3* + g23 Solución Optima
X2 X3 5 6 7 f2* k2*
2 680+1640=2320 790+1570=2360 1050+1660=2710 2320 5
3 580+1640=2220 760+1570=2330 660+1660=2320 2220 5
4 510+1640=2150 700+1570=2270 830+1660=2490 2150 5
7
1 550+2320=2870 900+2220=3120 770+2150=2920 2870 2
La tabla precedente 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.
Por lo tanto la solución óptima en detalle será:
Etapa nodo actual nodo destinoInterpretación
1 1 2 Encontrándose en ciudad 1, se tendrá que ir 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.
Estructura:
K1 K2 K3 K4 K5 K6
X1=8 X2 X3 X4 X5 X6 X7
1 2 3 4 5 6
X7
r1 r2 r3 r4 r5 r6
Donde:
Xi: Edad del activo al inicio de la etapa i
Ki: Decisión de Conservar o Reemplazar en la etapa i
Para la etapa 6 la única decisión es Vender.
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.
ri : Costo de reemplazar o conservar el activo.
En la etapa 6 el valor de r6 es el producto del valor de rescate del activo.
8
Kix: Decisión optima en la etapa i dado el estado Xi en el que se encuentra el activo en la
etapa i
17
E1 E2 E3 E4 E5 E6
9
X4\X5 Reemplazar Conservar f4* k4*
6 2500-200=2300 1200+1750=2950 2300 R
7 2200-200=2000 900+1200=2100 2000 R
8 1750-200=1550 300+700=1000 1000 C
ETAPA 3
X3\X4 Reemplazar Conservar f3* k3*
4 2200+1000=3200 900+2300=3200 3200 RóC
5 1750+1000=2750 300+2000=2300 2300 C
Los resultados en K3* de R ó C indican que posiblemente este problema tiene más de
una solución óptima.
ETAPA 2
X2\X3 Reemplazar Conservar f2* k2*
2 1750+2300=4050 300+3200=3500 3500 C
3 2700+2300=5000 5000 R
ETAPA 1
X1\X2 Reemplazar Conservar f1* k1*
1 2500+3500=6000 1200+5000=6200 6000 R
Por lo tanto las políticas óptimas en base a las tablas de recursividad serán: (dos
soluciones óptimas)
Alternativa Alternativa
AÑO 1 2
1 R R
2 C C
3 C R
4 R C
5 C C
V V
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
10
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.
Propuesta c1 R1 c2 R2 c3 R3 c4 R4
A 0 0 0 0 0 0 0 0
B 3 5 1 2 2 3 1 3
C 4 6 4 5 3 5 3 6
D 5 8 6 9
SOLUCIÓN:
Estructura:
K1 K2 K3 K4
X1=8 X2 X3 X4
1 2 3 4 X5
r1 r2 r3 r4
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
Etapa 4
11
PLANTA 4
Inversión k4 = A B C
Total c4 = 0 1 3 Solución óptima
X4 \ X5 r4 = 0 3 6 f4* k4*
0 0 0 A
1 0 3 3 B
2 0 3 3 B
3 0 3 6 6 C
4 0 3 6 6 C
5 0 3 6 6 C
6 0 3 6 6 C
7 0 3 6 6 C
8 0 3 6 6 C
Etapa 3
PLANTA 3
Inversión k3 = A B C D
Total c3 = 0 2 3 6 Solución óptima
X3 \ X4 r3 = 0 3 5 9 f3* k3*
0 0+0 0 A
1 0+3 3 A
2 0+3 3+0 3 A
3 0+6 3+3 5+0 6 A
4 0+6 3+3 5+3 8 C
5 0+6 3+6 5+3 9 C
6 0+6 3+6 5+6 9+0 11 D
7 0+6 3+6 5+6 9+3 12 D
8 0+6 3+6 5+6 9+3 12 D
Etapa 2
PLANTA 2
Inversión k2 = A B C D
Total c2 = 0 1 4 5 Solución óptima
X2 \ X3 r2= 0 2 5 8 f2* k2*
0 0+0 0 A
1 0+3 2+0 3 A
2 0+3 2+3 5 B
3 0+6 2+3 6 A
4 0+8 2+6 5+0 8 AóB
5 0+9 2+8 5+3 8+0 10 B
6 0+11 2+9 5+3 8+3 11 AóB
7 0+12 2+11 5+6 8+3 13 B
8 0+12 2+12 5+8 8+6 14 BóD
Etapa 1
PLANTA 1
12
Inversión k1 = A B C
Total c1 = 0 3 4 Solución óptima
X1 \ X2 r1= 0 5 6 f1* k1*
8 0+14 5+10 6+8 15 B
En consecuencia analizando las iteraciones recursivas, se tiene la siguiente Política
Optima:
CAPITAL CAPITAL
PLANTA DISPONIBLE PROPUESTA REQUERIDO RENDIMIENTO
1 8 B 3 5
2 5 B 1 2
3 4 C 3 5
4 1 B 1 3
TOTAL 15
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.
Un constructor produce barcos a pedido, y tiene los siguientes pedidos para ser
entregados al final de los próximos 6 meses:
Mes Julio Agosto Setiembre Octubre Noviembre Diciembre
No barcos 1 2 5 3 2 1
É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:
K1 K2 K3 K4 K5 K6
X1=8 X2 X3 X4 X5 X6
1 2 3 4 5 6 X7
r1 r2 r3 r4 r5 r6
Donde:
Xi: Inventario al inicio del mes i
Xi+1: Inventario final del mes i
13
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
Etapa 6: Diciembre
r6 = Cp(k6) + Ci(X6)
X6 \ k6 0 1 f6* k6*
0 14 14 1
1 1 1 0
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:
14
X4+K4-d4≤3 X4+K4≤3+d4, como d4=3, se tiene que X5+K5≤6.
Etapa 3: Septiembre
15
APLICACION 5: CONTRATACIÓN DE PERSONAL
El requerimiento r1 r2 r3 r4 r5
semanal de 6 5 3 6 8
personal es:
X1 X2 X3 X4 X5 X6
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
16
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
ETAPA 5
Solución
r5 = CC+CD+CE óptima
X5\ X6 8 f5* k5*
6 400+ (200)2+0+0=800 800 8
ETAPA 4
r4 = Solución
CC+CD+CE+f5* óptima
X4\ X5 6 f4* k4*
3 400+(200)3+0+0+800 1800 6
4 400+(200)2+0+0+800 1600 6
5 400+(200)1+0+0+800 1400 6
6 0+0+0+800 800 6
ETAPA 3
Solución
óptima
r3 = CC+CD+CE+f4*
X3\ X4 3 4 5 6 f3* k3*
5 0+200(2)+0+1800 0+200(1)+300(1)+1600 0+0+300(2)+1400 2000 5
6 0+(200)3+0+1800 0+200(2)+300(1)+1600 0+200(1)+300(2)+1400 0+0+300(3)+800 1700 6
ETAPA 2
Solución
r2 = CC+CD+CE+f3* óptima
X2\ X3 5 6 f2* k2*
6 0+200(1)+0+2000 0+0+300(1)+1700 2000 6
ETAPA 1
So
r1 = CC+CD+CE+f2* lución óptima
17
X1\ X2 6 f1* k1*
4 400+200(2)+0+0+2000 2800 6
Política óptima:
Requerimient
Etapa Xi Ki o Contrato Despido Exceso Costo
1 4 6 6 2 - - 800
2 6 6 5 - - 1 300
3 6 6 3 - - 3 900
4 6 6 6 - - - -
5 6 8 8 2 - - 800
Total 2800
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.
Ejercicio: Determinar la política óptima de contratación de personal, si el requerimiento
semanal es:
Semana 1 2 3 4 5
Requerimiento 5 3 8 5 7
1 2 3 4
Componentes principales
Componentes de reserva
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 k i
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.
18
COMPONENTES EN SERIE
Nº unidades 1 2 3 4
en paralelo P Costo P Costo P Costo P Costo
1 0,8 3 0,9 3 0,6 2 0,7 4
2 0,82 5 0,95 4 0,8 4 0,75 5
3 - - - - 0,9 5 0,85 7
Nota: el costo esta en miles de soles
SOLUCIÓN:
Estructura:
X5
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: Capi tal disponible para el componente 4
Ki: Número de unidades en paralelo asignadas del componente i
fi (Xi) : 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
COMPONENTE 4
Inversión k4 = 1 2 3
Total c4 = 4 5 7 Solución óptima
X4 \ X5 p4 = 0.7 0.75 0.85 f4* k4*
4 0.7 0.7 1
5 0.7 0.75 0.75 2
6 0.7 0.75 0.75 2
7 0.7 0.75 0.85 0.85 3
ETAPA 3
COMPONENTE 3
Inversión k3 = 1 2 3
19
Total c3 = 2 4 5 Solución óptima
X3 \ X4 p3 = 0.6 0.8 0.9 f3* k3*
6 0.6*0.7 0.42 1
7 0.6*0.75 0.45 1
8 0.6*0.75 0.8*0.7 0.56 2
9 0.6*0.75 0.8*075 0.9*0.7 0.63 3
ETAPA 2
COMPONENTE 2
Inversión k2 = 1 2
Total c2 = 3 4 Solución óptima
X2 \ X3 p2 = 0.9 0.95 f2* k2*
9 0.9*0.42 0.378 1
10 0.9*0.45 0.95*0.42 0.405 1
11 0.9*0.56 0.95*0.45 0.504 1
12 0.9*0.63 0.95*0.56 0.567 1
ETAPA 1
COMPONENTE 1
Inversión k1 = 1 2
Total c1 = 3 5 Solución óptima
X1 \ X2 p1 = 0.8 0.82 f1* k1*
15 0.8*0567 0.82*0405 4536 1
POLITICA OPTIMA
Componente 1 2 3 4
Capital Disponible 15 2 9 4
Nº Unidades 1 1 3 1 Total
Probabilidad 0.8 0.9 0.9 0.7 0.4536
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%.
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.
20
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
X4
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
CARGA C
Peso k3 = 0 1 2
Total w3 = 0 5 10 Solución óptima
X3 \ X4 r3 = 0 1200 2400 f3* k3*
0 0 0 0
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 1200 1200 1
6 0 1200 1200 1
7 0 1200 1200 1
8 0 1200 1200 1
9 0 1200 1200 1
10 0 1200 2400 2400 2
ETAPA 2
CARGA B
Peso k2 = 0 1 2 3
Total w2 = 0 3 6 9 Solución óptima
X2 \ X3 r2 = 0 700 1400 2100 f2* k2*
21
0 0+0 0 0
1 0+0 0 0
2 0+0 0 0
3 0+0 700+0 700 1
4 0+0 700+0 700 1
5 0+1200 700+0 1200 0
6 0+1200 700+0 1400+0 1400 2
7 0+1200 700+0 1400+0 1400 2
8 0+1200 700+1200 1400+0 1900 1
9 0+1200 700+1200 1400+0 2100+0 2100 3
10 0+2400 700+1200 1400+0 2100+0 2400 0
ETAPA 1
CARGA A
Peso k1 = 0 1 2
Total w1 = 0 4 8 Solución óptima
X1 \ X2 r1 = 0 1100 2200 f1* k1*
10 0+2400 1100+1400 2200+0 2500 1
POLITICA OPTIMA
Capacidad
CARGA Disponible Ki* Utilidad
A 10 1 1100
B 6 2 1400
C 0 0 0
Total 2500
Por lo tanto se debe incluir 1 carga del tipo A y 2 cargas del tipo B, alcanzando una
utilidad de S/.2500.00.
APLICACIONES PROPUESTAS
APLICACIÓN 1.- Una compañía dispone de 7 vendedores que deben trabajar en tres
regiones. Las siguiente tabla muestra el número de ventas que resulta al asignar n
vendedores a una región:
No Regiones
No trabajadores 1 2 3
0 10 12 8
1 14 15 12
2 17 18 15
3 23 22 19
4 28 27 22
5 31 33 29
6 35 36 34
7 40 42 39
22
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.
APLICACIÓN 1.- 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:
No Regiones
No Trabajadores 1 2 3
0 10 12 8
1 14 15 12
2 17 18 15
3 23 22 19
4 28 27 22
5 31 33 29
6 35 36 34
7 40 42 39
SOLUCIÓN
A continuación se muestran las iteraciones recursivas del problema:
k3
x3 2 3 4 f3(x3) k3*
2 15 - - 3 2
3 - 19 - 7 3
4 - - 22 8 4
k2
x2 2 3 4 f2(x2) k2*
4 18+15=33 33 2
5 18+19=37 22+15=37 37 2 3
6 18+22=40 22+19=41 27+15=42 42 4
k2
x2 2 3 4 f2(x2) k2*
4 18+15=33 33 2
5 18+19=37 22+15=37 37 2 3
6 18+22=40 22+19=41 27+15=42 42 4
k1
x1 1 2 3 f1(x1) k1*
7 14+42=56 17+37=54 23+33=56 56 1 3
Respuesta:
Se deberá asignar a cada Región el número de vendedores como sigue:
No Trabajadores
Región 1 1 3
23
Región 2 4 2
Región 3 2 2
APLICACIÓN 2.- Una empresa sabe que la demanda de su producto durante cada uno
de los cuatro meses siguientes será como sigue:
Mes 1 2 3 4
Unidades 1 3 2 4
SOLUCIÓN
24
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.
SOLUCIÓN
25
Se obtiene el siguiente resultado:
Respuesta:
Se deberá producir 200, 700 y 3 unidades en los meses 1, 2 y 3 respectivamente,
obteniendo un costo total mínimo de $ 10100.00.
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
COMPONENTE 0 1 2 3
Impulsor .30 .55 .65 .95
Relevador solar .40 .50 .70 .90
Dulcería .45 .55 .80 .98
Con programación dinámica ayude a maximizar la probabilidad de que el extraterrestre
tenga un buen viaje de regreso.
SOLUCIÓN
k2
x2 0 1 2 3 f2(x2) k2*
0 0.4*0.45=0.18 - - - 0.18 0
0.5*0.45=0.22
1 0.4*0.55=0.22 5 - - 0.225 1
0.5*0.55=0.27 0.7*0.45=0.31
2 0.4*0.8=0.32 5 5 - 0.32 0
0.4*0.98=0.39 0.7*0.55=0.38 0.9*0.45=0.40
3 2 0.5*0.8=0.4 5 5 0.405 3
f1(x1
k1
x1 0 1 2 3 ) k1*
26
0.3*0.405=0.12 0.55*0.32=0.1 0.65*0.225=0.146 0.95*0.18=0.1
3 15 76 25 71 0.176 1
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.- Para graduarse en la universidad del estado, Ángela necesita pasar al
menos uno de los tres cursos que toma este semestre. Está inscrita en francés, alemán y
estadística. El horario de las demás actividades le permite dedicar 4 horas de estudio por
semana. La probabilidad de que Ángela pase cada materia depende del número de
horas que dedique a estudiarla (véase tabla siguiente)
PROBABILIDAD DE
HORAS DE APROBAR EL CURSO
ESTUDIO POR
SEMANA Francés Alemán Estadística
0 .20 .25 .10
1 .30 .30 .30
2 .35 .33 .40
3 .38 .35 .45
4 .40 .38 .50
Utilice programación dinámica para determinar cuántas horas por semana debe dedicar
Ángela al estudio de cada materia. (Sugerencia: Explique por qué maximizar la
probabilidad de pasar al menos una materia es equivalente a minimizar la probabilidad
de no aprobar las tres materias).
AÑO 1 2 3 4 5
COSTO DE MANTENIMIENTO (Dólares) 20 30 40 60 70
Puedo conservar un teléfono cuando mucho 5 años. Acabo de comprar teléfono nuevo, y
mi teléfono anterior no tiene valor de salvamento. Determine cómo reducir al mínimo el
costo total de compra y funcionamiento de un teléfono durante los siguientes 6 años.
APLICACIÓN 7.- Suponga que un automóvil nuevo cuesta 10000 dólares y que el costo
anual de operación y valor de reventa son los que se muestran en la tabla siguiente:
27
6 1000 1000 año 6
Si tengo hoy un auto nuevo, determine una política de reemplazo que minimice el costo
neto de poseer y operar un automóvil durante los siguientes 6 años.
APLICACIÓN 8.- 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:
0 4 3 3
1 7 6 7
2 8 10 8
3 9 12 13
4 11 14 15
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.
NUMERO DE PATRULLAS
ASIGNADAS A CADA DEMARCACION
0 1 2 3 4 5
Demarcación 1 14 10 7 4 1 0
Demarcación 2 25 19 16 14 12 11
Demarcación 3 20 14 11 8 6 5
Año: 1 2 3 4 5
Nro de aviones: 3 5 2 1 4
La Corporación puede construir hasta 4 aviones en cualquier mes, y puede guardar hasta
3 aviones en stock. El costo de construcción de los aviones considera un costo fijo de 1
000 000 de dólares y un costo variable de 500 000 dólares por avión construido. Para
mantener un avión en stock durante el periodo de un año, el constructor gasta $ 50 000.
¿Cuál debe ser el plan optimo de construcción, de modo que se minimice el costo total
de la corporación?. Formule un modelo de programación dinámica para obtener la
solución.
PROGRAMACIÓN DINÁMICA
28
APLICACIONES PROPUESTAS-SOLUCIÓN
NOTA:
Para la solución de algunas de las siguientes aplicaciones se hará uso de la herramienta
Dynamic Programing del software WinQSB, cuyo manual se encuentra en:
http://www.eumed.net/libros/2006c/216/1j.htm
29
30
APLICACIÓN 5.- Para graduarse en la universidad del estado, Ángela necesita pasar al
menos uno de los tres cursos que toma este semestre. Está inscrita en francés, alemán y
estadística. El horario de las demás actividades le permite dedicar 4 horas de estudio por
semana. La probabilidad de que Ángela pase cada materia depende del número de
horas que dedique a estudiarla (véase tabla siguiente)
PROBABILIDAD DE APROBAR EL
CURSO
HORAS ESTUDIO Francés Alemán Estadística
POR SEMANA
0 .20 .25 .10
1 .30 .30 .30
2 .35 .33 .40
3 .38 .35 .45
4 .40 .38 .50
Utilice programación dinámica para determinar cuántas horas por semana debe dedicar
Ángela al estudio de cada materia. (Sugerencia: Explique por qué maximizar la
probabilidad de pasar al menos una materia es equivalente a minimizar la probabilidad
de no aprobar las tres materias).
SOLUCIÓN
Se tiene:
P(DT)+P(NDT)=1
P(DT) =1-P(NDT)
Pero:
P(NDT) =P(A1)
P(A1)=P(AF∩AA∩AE)
P(NDT)=P(AF∩AA∩AE)
Por tanto:
P(AF∩AA∩AE) = 1-P(DT)
Donde:
P(DT): Probabilidad de desaprobar todos los cursos
P(NDT): Probabilidad de no desaprobar todos los cursos
P(A1): Probabilidad de aprobar al menos 1curso
P(AF∩AA∩AE): Probabilidad de aprobar Francés o Alemán o Estadística.
31
k2
x2 0 1 2 3 4 f2
0 0.75*0.9=0.675 0
1 0.75*0.7=0.525 0.7*0.9=0.63 0
2 0.75*0.6=0.45 0.7*0.7=0.49 0.67*0.9=0.603 0
3 0.75*0.55=0.4125 0.7*0.6=0.42 0.67*0.7=0.469 0.65*0.9=0.585 0.
4 0.75*0.5=0.375 0.7*0.375=0.2625 0.67*0.6=0.402 0.65*0.7=0.455 0.62*0.9=0.558 0.
k1
x1 0 1 2 3 4
4 0.8*0.2625=0.21 0.7*0.4125=0.28875 0.65*0.45=0.2925 0.62*0.525=0.3255 0.6*0.675=
Respuesta:
Ángela deberá dedicar 0, 1 y 3 horas a la semana para estudiar Francés, Alemán y
Estadística respectivamente, así obtendrá un 79% (1-21%) de probabilidad de aprobar al
menos un curso (Estadística).
32
APLICACIÓN 6.- Cuesta 40 dólares comprar un teléfono en una tienda de
departamentos. Los costos estimados de mantenimiento durante cada año de
funcionamiento se muestran en la tabla siguiente:
AÑO 1 2 3 4 5
COSTO DE MANTENIMIENTO (Dólares) 20 30 40 60 70
Puedo conservar un teléfono cuando mucho 5 años. Acabo de comprar teléfono nuevo, y
mi teléfono anterior no tiene valor de salvamento. Determine cómo reducir al mínimo el
costo total de compra y funcionamiento de un teléfono durante los siguientes 6 años.
SOLUCIÓN
k6
x6 Reemplazar Conservar f6(x6) k6*
1 60 30 30 C
33
2 60 40 40 C
3 60 60 60 C-R
4 60 70 60 R
5 60 - 60 R
k5
x5 Reemplazar Conservar
1 60 30 90 30 40
2 60 30 90 40 60
3 60 30 90 60 60
4 60 30 90 70 60
k4
x4 Reemplazar Conservar
1 60 90 150 30 90 120
2 60 90 150 40 90 130
3 60 90 150 60 90 150
k3
x3 Reemplazar Conservar f4(x4) k4*
1 60 120 180 30 130 160 160 R-C
2 60 120 180 40 150 190 180 R
k2
x2 Reemplazar Conservar f3(x3) k3*
1 60 160 220 30 180 210 210 C
Respuesta:
Las políticas óptimas en base a las tablas de recursividad serán:
AÑO 1 C
AÑO 2 C
AÑO 3 R
AÑO 4 C
AÑO 5 R
AÑO 6 C
34
APLICACIÓN 7.- Suponga que un automóvil nuevo cuesta 10000 dólares y que el costo
anual de operación y valor de reventa son los que se muestran en la tabla siguiente:
EDAD DEL VALOR DE COSTO DE
AUTOMÓVIL REVENTA OPERACIÓN
(Años) (Dólares) (Dólares)
1 7000 300
2 6000 500
3 4000 800
4 3000 1200
5 2000 2000
6 1000 1000
Si tengo hoy un auto nuevo, determine una política de reemplazo que minimice el costo
neto de poseer y operar un automóvil durante los siguientes 6 años.
SOLUCIÓN
35
Reemplaza
k7
x7 r f6(x6) k6*
1 -7000 -7000 R
2 -6000 -6000 R
3 -4000 -4000 R
4 -3000 -3000 R
5 -2000 -2000 R
6 -1000 -1000 R
k6
x6 Reemplazar Conservar f5(x5) k5*
1 3300 -7000 -3700 500 -6000 -5500 -5500 C
2 4300 -7000 -2700 800 -4000 -3200 -3200 C
3 6300 -7000 -700 1200 1200 2400 -700 R
4 7300 -7000 300 2000 -2000 0 0 C
5 9300 -7000 2300 1000 -1000 0 0 C
k5
x5 Reemplazar Conservar f5(x5) k5*
1 3300 -5500 -2200 500 -3200 -2700 -2700 C
2 4300 -5500 -1200 800 -700 100 -1200 R
3 6300 -5500 800 1200 0 1200 800 R
4 7300 -5500 1800 2000 0 2000 1800 R
k4
x4 Reemplazar Conservar f4(x4) k4*
1 3300 -2700 600 500 -1200 -700 -700 C
2 4300 -2700 1600 800 800 1600 1600 C-R
3 6300 -2700 3600 1200 1800 3000 3000 C
k3
x3 Reemplazar Conservar f4(x4) k4*
1 3300 -700 2600 500 1600 2100 2100 C
2 4300 -700 3600 800 3000 3800 3600 R
k2
x2 Reemplazar Conservar f3(x3) k3*
1 3300 2100 5400 500 3600 4100 4100 C
Respuesta:
Las políticas óptimas en base a las tablas de recursividad serán:
AÑO 1 C
AÑO 2 C
AÑO 3 R
AÑO 4 C
AÑO 5 R
AÑO 6 C
36
APLICACIÓN 8.- 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:
CANTIDAD UTILIDADES
INVERTIDA (millones de dólares)
(millones de
Campo 1 Campo 2 Campo 3
dólares)
0 4 3 3
1 7 6 7
2 8 10 8
3 9 12 13
4 11 14 15
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:
k3
x3 0 1 2 3 4 f3(x3) k3*
0 3 - - - - 3 0
1 3 7 - - - 7 1
2 3 7 8 - - 8 2
3 3 7 8 13 - 13 3
4 3 7 8 13 15 15 4
k2
x2 0 1 2 3 4 f2(x2) k2*
0 3+3=6 - - - - 6 0
1 3+7=10 6+3=9 - - - 10 0
2 3+8=11 6+7=13 10+3=13 - - 13 1 2
3 3+13=16 6+8=14 10+7=17 12+3=15 - 17 2
4 3+15=18 6+13=19 10+8=18 12+7=19 14+3=17 19 1
k1
x1 0 1 2 3 4 f1(x1) k1*
4 4+19=23 7+17=24 8+13=21 9+10=19 11+6=17 24 1
Respuesta:
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.
37
APLICACIÓN 9.- 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)
NUMERO DE PATRULLAS
ASIGNADAS A CADA DEMARCACION
0 1 2 3 4 5
Demarcación 14 10 7 4 1 0
1
Demarcación 25 19 16 14 12 11
2
Demarcación 20 14 11 8 6 5
3
SOLUCIÓN
A continuación se muestran las iteraciones recursivas del problema:
k3
x3 0 1 2 3 4 5 f3(x3) k3*
0 20 - - - - - 20 0
1 20 14 - - - - 14 1
2 20 14 11 - - - 11 2
3 20 14 11 8 - - 8 3
4 20 14 11 8 6 - 6 4
5 20 14 11 8 6 5 5 5
f2(x2
k2
x2 0 1 2 3 4 5 ) k2*
25+20=4
0 5 45 0
25+14=3 19+20=3
1 9 9 39 0 1
19+14=3 16+20=3
2 25+11=36 3 6 33 1
16+14=3 14+20=3
3 25+8=33 19+11=30 0 4 30 1 2
14+14=2 12+20=3
4 25+6=31 19+8=27 16+11=27 8 2 27 1
12+14=2
5 25+5=30 19+6=25 16+8=24 14+11=25 6 11+20=31 24 2
k1
x1 0 1 2 3 4 5 f1(x1) k1*
5 14+24=38 10+27=37 7+30=37 4+33=37 1+39=40 0+45=45 37 1
Respuesta:
Se deberá asignar 1, 1, y 3 patrullas a la Demarcación 1, Demarcación 2 y Demarcación
3 respectivamente, obteniendo una disminución del total de crímenes a 37.
38
APLICACIÓN 10.- 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
La Corporación puede construir hasta 4 aviones en cualquier mes, y puede guardar hasta
3 aviones en stock. El costo de construcción de los aviones considera un costo fijo de 1
000 000 de dólares y un costo variable de 500 000 dólares por avión construido. Para
mantener un avión en stock durante el periodo de un año, el constructor gasta $ 50 000.
¿Cuál debe ser el plan óptimo de construcción, de modo que se minimice el costo total
de la corporación? Formule un modelo de programación dinámica para obtener la
solución.
SOLUCIÓN
Respuesta:
Se deberá producir 4, 4, 3, 0 y 4 unidades en los meses 1, 2, 3, 4 y 5 respectivamente,
obteniendo un costo total mínimo de $ 11 600 000.
39
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.
103
40
• Problema de la diligencia (Stagecoach Problem)
• Problema de la mochila (Snapsack Problem)
• programación de producción e inventarios (Production and Inventory
Scheduling)
Ejemplo 10-1:
2 5
8
1 3 6 10
9
4 7
2 3 4 5 6 7 8 9 10
1 2 3 4 2 7 4 6 5 1 4 8 3
3 3 2 4 6 6 3 9 4
4 4 1 5 7 3 3
42
Espacio de estados: { S ∈ N } 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}.
f(n,s) = mínimo [C(s,j) + f(n-1,,j)] para todos los arcos ( s,j) en la red
106
La ventana siguiente permite identificar los nodos de inicio y fin:
Identif
ica el
nodo
de
inicio
107
10.5 PROBLEMA DE LA MOCHILA O CANASTA DE EQUIPAJE
Ejemplo 10-2:
108
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:
Al resolver el problema
tenemos:
La solución
es:
1
1
0
10.6 PROGRAMACIÓN DE PRODUCCIÓN E INVENTARIOS
Sea:
112
La ventana debería quedar
como sigue:
La solución del
problema es:
MODELO DE CONFIABILIDAD
DATOS DE CONFIABILIDAD
Cj (miles de dólares)
COMPONENTES
Nº unidades 1 2 3
en paralelo R1 C1 R2 C2 R3 C3
1 0.6 1 0.7 3 0.5 2
2 0.8 2 0.8 5 0.7 4
3 0.9 3 0.9 6 0.9 5
Etapa 3: 2 ≤ IT ≤ 6
COMP 3
K3= 1 2 3
IT C3= 2 4 5
R3= 0.5 0.7 0.9 f*3 k*3
2 0.5 0.5 1
3 0.5 0.5 1
4 0.5 0.7 0.7 2
5 0.5 0.7 0.9 0.9 3
6 0.5 0.7 0.9 0.9 3
Etapa 2: 5 ≤ IT ≤ 9
COMP 2
K2= 1 2 3
IT C2= 3 5 6
R2= 0.7 0.8 0.9 f*2 k*2
5 0.7*0.5 0.35 1
6 0.7*0.5 0.35 1
7 0.7*0.7 0.8*0.5 0.49 1
8 0.7*0.9 0.8*0.5 0.9*0.5 0.63 1
9 0.7*0.9 0.8*0.7 0.9*0.5 0.63 1
Etapa 1: IT = 10
COMP 1
K1= 1 2 3
IT C1= 1 2 3
R1= 0.6 0.8 0.9 f*1 k*1
10 0.6*0.63 0.8*0.63 0.9*0.0.49 0.504 2
SOLUCIÓN OPTIMA
Componente 1 2 3
Capital Disponible 15 2 9
Nº Unidades 1 1 3 Total
Probabilidad 0.8 0.9 0.9 0.4536
ETAPA 5: CT=CE+CC+CD
Y5 6
Y4 f*5 Y*5
4 3(0)+4+2(2)+0 8 6
5 3(0)+4+2(1)+0 6 6
6 3(0)+0+0 0 6
ETAPA 4: CT=CE+CC+CD+f*5
Y4 4 5 6
Y3 f*4 Y*4
8 3(0)+0+0+8 3(1)+0+0+6 3(2)+0+0+0 6 6
ETAPA 3: CT=CE+CC+CD+f*4
Y3 8
Y2 f*3 Y*3
7 3(0)+4+2(1)+0+6 12 8
8 3(0)+0+0+6 6 8
ETAPA 2: CT=CE+CC+CD+f*3
Y2 7 8
Y1 f*2 Y*2
5 3(0)+4+2(2)+0+12 3(1)+4+2(3)+0+6 19 8
6 3(0)+4+2(1)+0+12 3(1)+4+2(2)+0+6 17 8
7 3(0)+0+0+12 3(1)+4+2(1)+0+6 12 7
8 3(0)+0+0+12 3(0)+0+0+6 9 8
ETAPA 4: CT=CE+CC+CD+f*5
SOLUCION OPTIMA
SEMANA DECISIÓN
1 No se contrata, ni se despide
2 Se contrata 3 trabajadores
3 No se contrata, ni se despide
4 Se despide a 2 trabajadores
5 No se contrata, ni se despide
PROGRAMACIÓN DINÁMICA.
Problema de la diligencia.
Características básicas:
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.
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.
Problema de la mochila.
Hay demandas conocidas para cada periodo, límites de capacidad tanto para la
producción como para los inventarios. 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. Para cada
periodo, una producción diferente de cero incurre en un costo de preparación.
PROGRAMACIÓN DINÁMICA
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 se refiere a la primera etapa del proceso.
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).
140
4.6.2. EJEMPLO SOBRE PROBLEMA DE LA MOCHILA O CANASTA DE
EQUIPAJE
142
b) Si se considera un volumen máximo de 200 pies cúbicos. ¿cuáles
elementos deben transportarse?
143
Ahora se ingresan los datos al Winqsb:
144
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:
Sea:
• P(n): el número de unidades producidas en el periodo n
• D(n): la demanda en el periodo n
145
• 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)
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).
147
148