INVOP2 Programación Dinámica Deterministica PROBLEMA 1 (Modelo: Volumen de carga)
Un barco de 4 toneladas es cargado con uno o más de tres artículos. La tabla siguiente muestra el peso unitario pn, en toneladas y el ingreso por unidad in , en miles de $, para el artículo n. ¿Cómo se debe cargar el barco para maximizar m aximizar los ingresos totales? Ar tíc ul o n 1 2 3
pn
in
2 3 1
31 47 14
Tener en cuenta que el barco puede cargar estos artículos en cualquier orden, además, como el peso unitario y el peso permisible p ermisible son enteros, las variables sólo deben tener valores enteros. Solución: Etapa: Cada tipo de artículo hace referencia a una etapa. Estado: La disponibilidad respecto a la capacidad del barco Decisión: Cuántas unidades de cada tipo de artículo llevar Función recursiva: Representa el total de ingreso que se quiere maximizar.
s3 0 1 2 3 4
x3 =0 14(0)=0 14(0) =0 14(0)=0 14(0) =0 14(0)=0 14(0) =0 14(0)=0 14(0) =0 14(0)=0 14(0) =0
Etapa 3 f 3(s3 ,x3)=14x )=14x3 x3 =1 x3 =2 x3 =3 14(1)=14 14(1)= 14 14(1)=14 14(1)= 14 14(2) 14(2)=28 =28 14(1)=14 14(1)= 14 14(2) 14(2)=28 =28 14(3) 14(3)=42 =42 14(1)=14 14(1) =14 14(2) 14(2)=28 =28 14(3) 14(3)=42 =42
x3 =4 14(4)=56 14(4) =56
Solución óptima f 3*(s3) x3* 0 0 14 1 28 2 42 3 56 4
s3=0; significa que el barco está lleno, disponibilidad cero. s3=4; significa que el barco está vacío, disponibilidad 4 ton.
s2 0 1 2 3 4
s1 0 1 2 3 4
Etapa 2 f 2(s2 ,x2)=47x )=47x2+ f 3*(s2-3x2) x2 =0 x2 =1 47(0)+ 47(0) +0=0 47(0)+ 47(0) +14 14=14 =14 47(0)+ 47(0) +28 28=28 =28 47(0)+ 47(0) +42 42=42 =42 47(1) 47(1)+ +0=47 47(0)+ 47(0) +56 56=56 =56 47(1) 47(1)+ +14 14=61 =61
Solución óptima f 2*(s2) x2* 0 0 14 0 28 0 47 1 61 1
Etapa 1 f 1(s1 ,x1)=31x )=31x1+ f 2*(s1-2x1) x1 =0 x1 =1 x1 =2 31(0)+ 31(0) +0=0 31(0)+ 31(0) +14 14=14 =14 31(0)+ 31(0) +28 28=28 =28 31(1) 31(1)+ +0=31 31(0)+ 31(0) +47 47=47 =47 31(1) 31(1)+ +14 14=45 =45 31(0)+ 31(0) +61 61=61 =61 31(1) 31(1)+ +28 28=59 =59 31(2) 31(2)+ +0=62
Solución óptima f 1*(s1) x1* 0 0 14 0 31 1 47 0 62 2
Para obtener la solución óptima, se observa que el máximo ingreso generado en la etapa 1, es decir $62 mil, se produce cuando se decide llevar 2 unidades del artículo 1. PROBLEMA 2 (Modelo: Fuerza labor al)
Un contratista constructor estima que la fuerza de trabajo necesaria durante las próximas 5 semanas será de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en exceso que se conserve le costará $300 por trabajador semanalmente, y la nueva contratación en cualquier sem ana tendrá un costo fijo de $400 más $200 por trabajador y por semana. Sugiera un plan de contratación para minimizar los costos en los que se incurren. Solución: Sea xn la mano de obra asignada a cada semana. Sea r n la mano de obra requerida para cada semana, entonces: r 1 =5, r 2 =7, r 3 =8, r 4 =4 y r 5 =6
Costo de exceso de mano de obra: 300(xn – r n) Costo de contratación: 400 + 200(xn – sn)
s5 4 5 6
s4 8
Solución óptima f 5*(s5) x5* 800 6 600 6 0 6
Etapa 4 (r 4 = 4) f 4(s4 ,x4)=300(x4 - 4)+[400+200(x4-s4)]+ f 5*(x4) x4 =4 x4 =5 x4 =6 300(0)+[0]+800=800 300(1)+[0]+600=900 300(2)+[0]+0=600
s3 7 8
s2 5 6 7 8
Etapa 5 (r 5 = 6) f 5(s5 ,x5)=300(x5 - 6)+[400+200(x5-s5)] x5 =6 300(0)+[400+200(2)]=800 300(0)+[400+200(1)]=600 300(0)+[0]=0
cuando: xn > r n cuando: xn > sn
Etapa 3 (r 3 = 8) f 3(s3 ,x3)=300(x3 - 8)+[400+200(x3-s3)]+ f 4*(x3) x3 =8 300(0)+[400+200(1)]+600=1200 300(0)+[0]+600=600
Solución óptima f 4*(s4) x4* 600 6
Solución óptima f 3*(s3) x3* 1200 8 600 8
Etapa 2 (r 2 = 7) f 2(s2 ,x2)=300(x2 - 7)+[400+200(x2-s2)]+ f 3*(x2) x2 =7 x2 =8 300(0)+[400+200(2)]+1200=2000 300(1)+[400+200(3)]+600=1900 300(0)+[400+200(1)]+1200=1800 300(1)+[400+200(2)]+600=1700 300(0)+[0]+1200=1200 300(1)+[400+200(1)]+600=1500 300(0)+[0]+1200=1200 300(1)+[0]+600=900
Solución óptima f 2*(s2) x2* 1900 8 1700 8 1200 7 900 8
Etapa 1 (r 1 = 5) f 1(s1 ,x1)=300(x1 - 5)+[400+200(x1-s1)]+ f 2*(x1) s1
0
x1 =5 300(0)+[400+200(5)] +1900=3300
x1 =6 300(1)+[400+200(6)] +1700=3600
x1 =7 300(2)+[400+200(7)] +1200=3600
PROBLEMA 3 (Modelo: Reposición de equipo)
x1 =8 300(3)+[400+200(8)] +900=3800
Solución óptima * f 1 (s1) x1*
3300
5
En el transcurso de los cuatro siguientes años, durante cierto proceso de producción, se desea saber cuándo remplazar una máquina o seguir conservándola con la finalidad de encontrar lo más beneficioso para la empresa. Inicialmente se tiene una máquina con tres años de antigüedad trabajando en la producción. Los datos respecto a la maquina los obtenemos en la siguiente tabla: t
Tiempo (años) 0 1 2 3 4 5 6
I(t) Ingreso (miles de $) 20000 19000 18500 17200 15500 14000 12200
C(t) Costo de operación ( $ ) 200 600 1200 1500 1700 1800 2200
R(t) Valor de Recuperación ( $ ) 80000 60000 50000 30000 10000 5000
Considerar que: El costo de una máquina nueva es $100000. Toda máquina con 6 años de antigüedad debe reemplazarse. Terminado el horizonte de planeación, la máquina debe venderse.
Como esta es la última etapa, la máquina debe venderse, y no hay contribuciones posteriores. El estado de la etapa n es la antigüedad t de la máquina al inicio del año n, entonces: Etapa 4 t s4 1 2 3 6
Conservar I(t) - C(t) + R(t +1) 19000-600+60000=78400 18500-1200+50000=67300 17200+1500+30000=45700 Se debe reemplazar
Reemplazar I(0) + R(t) + R(1) - 100000 - C(0) 20000+80000+80000-100000-200=79800 20000+60000+80000-100000-200=59800 20000+50000+80000-100000-200=49800 20000+5000+80000-100000-200=4800
Solución óptima f 4*(s4) x4* 79800 R 67300 C 49800 R 4800 R
Etapa 3 t s3
Conservar I(t) - C(t) + f 4(t +1)
Reemplazar I(0) + R(t) - 100000 - C(0) + f 4*(1)
Solución óptima f 3*(s3) x3*
1 2 5
19000-600+67300=85700 18500-1200+49800=67100 14000-1800+4800=17000
85700 67100 17000
20000+80000-100000-200+79800=79600 20000+60000-100000-200+79800=59600 20000+10000-100000-200+79800=9600
C C C
Etapa 2 t s2 1 4
Conservar I(t) - C(t) + f 3(t +1) 19000-600+67100=85500 15500-1700+17000=30800
Reemplazar I(0) + R(t) - 100000 - C(0) + f 3*(1) 20000+80000-100000-200+85700=85500 20000+30000-100000-200+85700=35500
Solución óptima f 2*(s2) x2* 85500 C o R 35500 R
Etapa 1 t s1 3
Conservar I(t) - C(t) + f 2(t +1) 17200-1500+35500=51200
Reemplazar I(0) + R(t) - 100000 - C(0) + f 2*(1) 20000+50000-100000-200+85500=55300
Solución óptima f 1*(s1) x1* 55300 R
PROBLEMA 4
Una empresa requiere 28, 30, 25, 29 y 20 trabajadores para los próximos 5 años respectivamente. En la actualidad hay 30 empleados en la empresa. Cada trabajador gana 16000 soles al año. Al empezar cada año se puede contratar o despedir trabajadores. Cuesta 1000 soles contratar un trabajador y 15000 soles despedirlo, debido a los seguros y beneficios que se tienen que pagar. Por lo fatigoso que es el trabajo, cada año renuncian 3 trabajadores (los cuales no cobran los 15000 soles de despido). Mediante el uso de programación dinámica encontrar la política óptima definiendo las etapas, estados y variables de decisión; además explicar la función recursiva. Tener en cuenta que, de ser económico, sería ideal tener el número exacto de trabajadores necesarios en cada semana; además, la empresa trata en lo posible de evitar los costos de contratación o despido. Solución: r n: Requerimiento de año n xn: Trabajadores asignados el año n Etapa: año Estado: trabajadores que quedan al inicio del presente período. f n(sn,xn)= min{16000(xn) + 1000(xn-sn) + 15000(sn-xn) +f n+1(sn+1) } o también f n(sn,xn)= min{16000(xn) + 1000(xn-sn) + 15000(sn-xn) + f n+1(xn-3) } teniendo en cuenta que: 1000(x n-sn); xn>sny15000(sn-xn); sn>xn Por practicidad los costos en las tablas se encuentran en miles de soles Etapa 5 (r 5 = 20) f 5(s5 ,x5)=16000(x5)+15000(s5-x5) s5 x5 =20 29-3=26 16(20)+15(6)=410
Solución óptima f 5*(s5) x5* 410 20
Etapa 4 (r 4 = 29) f 4(s4 ,x4)=16000(x4)+1000(x4-s4)+f 5(x4-3) s4 x4 =29 25-3=22 16(22)+1(7)+410 =769 27-3=24 16(24)+1(5)+410=799
s3
Etapa 3 (r 3 = 25) f 3(s3 ,x3)=16000(x3)+15000(s3-x3)+f 4(x3-3) x2 =25 x2 =27
Solución óptima f 4*(s4) x4* 769 29 799 29
Solución óptima f 3*(s3) x3*
30-3=27
16(25)+15(2)+769=1199
16(27)+ 799=1231
Etapa 2 (r 2 = 30) f 2(s2 ,x2)=16000(x2)+1000(x2-s2)+f 3(x2-3) s2 x2 =30 28-3=25 16(30)+1(5)+1199 =1754 30-3=27 16(30)+1(3)+1199 =1724
s1
30
1199
25
Solución óptima f 2*(s2) x2* 1754 30 1724 30
Etapa 1 (r 1 = 28) f 1(s1 ,x1)=16000(x1)+15000(s1-x1)+f 2(x1-3) x1 =28 x1 =30 16(28)+15(2)+1754=2232 16(30)+1724=2204
Solución óptima f 1*(s1) x1* 2204 30
PROBLEMA 5
Una empresa requiere tener una máquina que trabaje durante los 5 años siguientes. En la actualidad tiene una máquina nueva. La compañía podría conservar la máquina o venderla al empezar cada año y comprar una nueva. Una máquina nueva cuesta 5000 dólares. Los ingresos obtenidos con la máquina, el costo de mantenimiento y el valor de salvamento que se puede obtener al venderla al final del año, dependen de la edad de la máquina (véase tabla). Puede utilizarse una máquina hasta un máximo de tres años de antigüedad. Utilice la programación dinámica para maximizar la utilidad neta ganada durante los seis años siguientes.
AÑO 0-1 AÑO 1-2 Ingresos ($) Costos de operación ($) Valor de salvamento al final del año
4500 500 3000
3000 700 1800
AÑO 2-3 1500 1100 500
ETAPAS: Años ESTADOS: Edad de la máquina ALTERNATIVAS: Conservar, Reemplazar
Como esta es la última etapa, la máquina debe venderse, y no hay contribuciones posteriores. El estado de la etapa n es la antigüedad t de la máquina al inicio del año n, entonces: Etapa 6 t s6
1
Conservar I(t) - C(t) + R(t +1) 3000-700+1800=4100
Reemplazar I(0) + R(t) + R(1) - 5000 - C(0) 4500+3000+3000-5000-500=5000
Solución óptima f 6* (s6 ) x6 * 5000 R
2 3
1500-1100+500=900 Se debe reemplazar
4500+1800+3000-5000-500=3800 4500+500+3000-5000-500=2500
3800 2500
R R
Etapa 5 t s5
1 2 3
Conservar I(t) - C(t) + f 6* (t +1) 3000-700+3800=4100 1500-1100+2500=2900 Se debe reemplazar
Reemplazar I(0) + R(t) - 5000 - C(0) + f 6* (1) 4500+3000-5000-500+5000=7000 4500+1800-5000-500+5000=5800 4500+500-5000-500+5000=4500
Solución óptima f 5*(s5) x5* 7000 R 5800 R 4500 R
Etapa 4 t s4
1 2 3
Conservar I(t) - C(t) + f 5*(t +1) 3000-700+5800=8100 1500-1100+4500=4900 Se debe reemplazar
Reemplazar I(0) + R(t) - 5000 - C(0) + f 5*(1) 4500+3000-5000-500+7000=9000 4500+1800-5000-500+7000=7800 4500+500-5000-500+7000=6500
Solución óptima f 4*(s4) x4* R 9000 R 7800 6500 R
Etapa 3 t s3
1 2
Conservar I(t) - C(t) + f 4*(t +1) 3000-700+7800=10100 1500-1100+6500=6900
Reemplazar I(0) + R(t) - 5000 - C(0) + f 4*(1) 4500+3000-5000-500+9000=11000 4500+1800-5000-500+9000=9800
Solución óptima f 3*(s3) x3* R 11000 9800 R
Etapa 2 t s2
1
Conservar I(t) - C(t) + f 3*(t +1) 3000-700+9800=12100
Reemplazar I(0) + R(t) - 5000 - C(0) + f 3*(1) 4500+3000-5000-500+11000=13000
Solución óptima f 2*(s2) x2* 13000 R
Etapa 1 t s1
0
Conservar I(t) - C(t) + f 2*(t +1) 3000-700+13000=15300
Reemplazar I(0) + R(t) - 5000 - C(0) + f 2*(1) -
Solución óptima f 1*(s1) x1* C 15300
PROBLEMA 6
Una empresa tiene los siguientes datos de demanda de su producto: Mes 1 2 3 4
o o o o o o
Demanda
1 3 2 4 ¿Cuántas unidades debe fabricar en el mes? Sabiendo que: Durante el mes que se producen algunas unidades se incurre en un costo fijo de $30. El costo variable es de $10 por cada unidad fabricada. Al final de cada mes se genera un costo de almacenamiento de $5 por cada unidad. Las limitaciones de capacidad permiten una producción máxima de 5 unidades. El tamaño del almacén restringe un inventario final máximo de 4 unidades cada mes. Se dispone de 0 unidades al principio del primer mes. Características:
Se conoce la demanda de cada mes al principio del mes 1. Se debe determinar cuántas unidades deben producirse teniendo en cuenta que la capacidad de fabricación es limitada. La demanda de cada período debe satisfacerse a tiempo con el inventario o la producción actual. Durante cada período donde la producción tiene lugar se genera un costo fijo, así como un costo variable por unidad. Se tiene capacidad limitada de almacenamiento. Se genera un costo de almacenamiento por unidad al inventario final de cada período. El objetivo es minimizar el costo total por cumplir con la demanda de cada período. Modelo de revisión periódica: El inventario se conoce al final de cada período, y se toma la decisión sobre la producción. Solución: Sean: xn el nivel de producción en el mes n yn el inventario inicial en el mes n dn la demanda en el mes n CP(xn) el costo de producción de x n unidades, CP(xn)=30+10xn Lo que tenga en almacén el siguiente mes, será: lo que tenía en inventario + lo que produje - la demanda de dicho mes es decir: yi+1 = yi + xi - di entonces: CI(yi+1)=5(yi + xi - di) Función recursiva: Costo {CI(yi+1) + CP(xn) + f n+1(sn+1)} Etapa: Cada mes Estado: Inventario inicial
s4
0 1 2 3 4
mínimo
de
cumplir
las
Etapa 4 (demanda=4) f 4(s4 ,x4)=30+10x4 x4 = 1 x4 = 2 x4 = 3 x4 = 4 30+40 30+30 30+20 30+10 -
x4 = 0 0+0
demandas
f n(sn ,xn)
=
min
Solución óptima f 4*(s4) x4* 70 4 60 3 50 2 40 1 0 0
Etapa 3 (demanda=2) f 3(s3 ,x3)= 5(y3+x3-d 3)+30+10x 3+ f 4*(y3+x3-d 3)
s3
0 1 2 3 4
x3 = 0 0+0+70=70 5+0+60=65 10+0+50=60
x3 = 1 0+40+70=110 5+40+60=105 10+40+50=100 15+40+40=95
x3 = 2 0+50+70=120 5+50+60=115 10+50+50=110 15+50+40=105 20+50+0=70
x3 = 3 5+60+60=125 10+60+50=120 15+60+40=115 20+60+0=80 -
x3 = 4 10+70+50=130 15+70+40=125 20+70+0=90 -
x3 = 5 15+80+40=135 20+80+0=100 -
Solución óptima * f 3 (s3) x3*
120 100 70 65 60
2 5 0 0 0
Etapa 2 (demanda=3) f 2(s2 ,x2)= 5(y2+x2-d 2)+30+10x 2+ f 3*(y2+x2-d 2)
s2
0 1 2
x2 = 0 -
x2 = 1 0+40+120=160
x2 = 2 0+50+120=170 5+50+100=155
x2 = 3 0+60+120=180 5+60+100=165 10+60+70=140
x2 = 4 5+70+100=175 10+70+70=150 15+70+65=150
x2 = 5 10+80+70=160 15+80+65=160 20+80+60=160
Solución óptima f 2*(s2) x2*
160 150 140
5 4 3
3 4
0+0+120=120 5+0+100=105
5+40+100=145 10+40+70=120
10+50+70=130 15+50+65=130
15+60+65=140 20+60+60=140
20+70+60=150 -
-
120 105
0 0
Etapa 1 (demanda=1)
0
Solución óptima
f 1(s1 ,x1)= 5(y1+x1-d 1)+30+10x1+ f 2*(y1+x1-d 1)
s1 x1 = 0 -
x1 = 1 0+40+160=200
x1 = 2 5+50+150=205
x1 = 3 10+60+140=210
x1 = 4 15+70+120=205
x1 = 5 20+80+105=205
f 1*(s1)
x1*
200
1
PROBLEMA 7
Una compañía construye aviones comerciales para varias líneas aéreas de todo el mundo. La última etapa del proceso consiste en la fabricación de los motores de turbina y su instalación en la estructura del avión. La compañía tiene que hacer entrega, próximamente, de un gran número de aviones y, por este motivo, desea programar la producción de los motores de turbina para los próximos cuatro meses. En la siguiente tabla se muestra, para cada uno de los próximos cuatro meses, la cantidad de motores que deben de estar listos para su instalación, la capacidad de producción máxima de dicho mes, el coste unitario de fabricar cada motor (que puede variar de mes a mes debido a las necesidades de personal, alteraciones en los precios de las materiales, consumos energéticos, etc.), y el coste de almacenar un motor durante un mes (en este caso, el coste siempre es fijo de $15000 por motor).
Mes 1 2 3 4
Instalaciones Producción Costo unitario Costo unitario programadas máxima de producción* de almacenaje* 10 15 25 20
25 35 30 10
1.08 1.11 1.10 1.13
0.015 0.015 0.015
*costo dado en millones de $.
Dada las variaciones de los costos de producción, podría valer la pena fabricar algunos motores antes de su fecha de instalación. Utilice métodos de programación dinámica para determinar la producción óptima de cada mes, teniendo en cuenta que las cantidades producidas deben ser múltiplos de 5. Solución: Sean: xn el nivel de producción en el mes n yn el inventario inicial en el mes n dn la demanda en el mes n Función recursiva: Costo mínimo de cumplir las demandas f n(sn ,xn) = min {CP(xn)+CI(yi+1)+f n+1(sn+1)} Etapa: Cada mes Estado: Inventario inicial
s4
10 15 20
ETAPA 4 (Demanda =20) f 4(s4 ,x4)= 1.13x4 Solución óptima x4=0 x4=5 x4=10 f 4*(s4) x4 11.3 10 11.3 5.65 5.65 5 0 0 0 -
s3
5 10 15 20 25 30 35
s2
0 5 10 15
ETAPA 3 (Demanda =25) f 3(s3 ,x3)= 1.10x3 + 0.015(y3+x3-d 3) + f 4*(y3+x3-d 3) x3=0 x3=5 x3=10 x3=15 x3=20 x3=25 x3=30 44.45 38.95 38.875 33.45 33.375 33.3 27.95 27.875 27.8 22.45 22.375 22.3 16.95 16.875 16.8 11.45 11.375 11.3 -
x2=0 -
ETAPA 2 (Demanda =15) f 2(s2 ,x2)= 1.11x2 + 0.015(y2+x2-d 2) + f 3*(y2+x2-d 2) x2=5 x2=10 x2=15 x2=20 x2=25 x2=30 66.725 66.775 66.825 61.175 61.225 61.275 61.4 55.625 55.675 55.725 55.85 55.975 50.075 50.125 50.175 50.3 50.425 50.55
s1
0
Solución óptima f 3*(s3) x3 44.45 30 38.875 30 33.3 30 27.8 25 22.3 20 16.8 15 11.375 10
x2=35 66.95 61.525 56.1 50.675
ETAPA 1 (Demanda =10) f 1(s1 ,x1)= 1.08x1 + 0.015(y1+x1Solución óptima d 1)+ f 2*(y1+x1-d 1) x1=10 x1=15 x1=20 x1=25 f 1*(s1) x1 77.525 77.375 77.225 77.075 77.075 25
Solución óptima f 2*(s2) x2 66.725 20 61.175 15 55.625 10 50.075 5