Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 3 - 04PD - Ejercicios Desarrollados
Unidad 3 - 04PD - Ejercicios Desarrollados
Programación Dinámica
Ejercicios desarrollados
LOGRO DE LA UNIDAD
Maximizacion = (2*X1+4)*(3*X2+1)*(5*X3-2)
Sujeto a:
4*X1+5*X2+3*X3<=36;
X1>=1;
X2>=1;
X3>=1;
X1+X2+X3<=6;
ETAPA 3
Respuesta:
Se debe asignar a la primera investigación 1 investigador, en la segunda
investigación, dos investigadores y en la tercera, se debe asignar 3
investigadores
sets:
INVESTIGACIONES/1..3/:x,costo;
endsets
data:
costo = 4 5 3;
enddata
MAX =(2*x1+4)*(3*x2+1)*(5*x3-2);
@SUM(INVESTIGACIONES(I):x(I)*costo(I))<=36;
x1+x2+x3<=6;
@FOR(INVESTIGACIONES(I):x(I)>=1);
MODEL:
MAX= ( 2 * X1 + 4) * ( 3 * X2 + 1) * ( 5 * X3 - 2);
[_2] 4 * X_1 + 5 * X_2 + 3 * X_3 <= 36;
[_3] X_1 >= 1;
[_4] X_2 >= 1;
[_5] X_3 >= 1;
[_6] X_1 + X_2 + X_3 <= 6;
END
Resultados en lingo de las variables
El valor de las variables como se aprecia en el programa es una aproximación al resultado que se vio
aplicando la programación dinámica.
Modelo de asignación
El Sr. Julio Vendetodo, Gerente de Ventas de una compañía que cuenta con tres tiendas, ha
recibido instrucciones por parte de la Dirección de intensificar la labor de ventas y servicio
al cliente para lo cual se le ha autorizado la contratación de hasta nueve vendedores extras.
Julio debe decidir cuantos vendedores debe de contratar y como asignarlos a las tres
tiendas, para ello elaboró una matriz de utilidades esperadas para cada tienda según se
tengan cierto número de vendedores extras (Tabla 4.1). Por ejemplo, si a la tienda I no se le
asigna ningún vendedor extra, ganará 4, en cambio si se le asignan 2 vendedores extra su
ganancia se incrementara en 12 (16 en total)
VENDEDORES EXTRAS
TIENDA 0 1 2 3 4 5 6 7 8 9
I 4 11 16 19 29 19 16 11 4 -5
II 5 14 21 26 29 30 29 26 21 14
III 4 15 24 31 36 39 40 39 36 31
ETAPAS: Tiendas(n=3)
ETAPA n=3
ETAPA n=2 5 14 21 26 29 30 29 26 21 14
2 24 2 0 9 9 0
3 31 3
4 36 4 1 20 18 20 0
5 39 5 2 29 29 25 29 0o1
6 40 6
7 39 7 3 36 38 36 30 38 1
8 36 8 4 41 45 45 41 33 45 1o2
9 31 9
5 44 50 52 50 44 34 52 2
6 45 53 57 57 53 45 33 57 2o3
7 44 54 60 62 60 54 44 30 62 3
8 41 53 61 65 65 61 53 41 25 65 3o4
9 36 50 60 66 68 66 60 50 36 18 68 4
ETAPA n=1
9 72 76 78 76 81 64 54 40 24 4 81 4
Concluimos que :
TIENDA 1 4 29
TIENDA 2 2 21
TIENDA 3 3 31
81
El problema del estudiante
Un estudiante debe seleccionar 10 cursos electivos de cuatro diferentes departamentos y
por lo menos un curso de cada departamento. Los diez cursos se han asignado a los
cuatro departamentos en una forma que maximiza el “conocimiento”.
El estudiante mide el conocimiento en una escala de 100 puntos y traza el siguiente
cuadro:
Número de cursos
Departamento
1 2 3 4 5 6 >=7
I 25 50 60 80 100 100 100
II 20 70 90 100 100 100 100
III 40 60 80 100 100 100 100
IV 10 20 30 40 50 60 70
ETAPAS 4 3 2 1
Estado 10 3a9 2a8 1a7
Decisión 1a7 1a7 1a7 1a7
APLICANDO LA PROGRAMACION DINAMICA:
Etapa 1
Si/Xi 1 2 3 4 5 6 7 F(Xi) Xi
1 10 - - - - - - 10 1
2 10 20 - - - - - 20 2
3 10 20 30 - - - - 30 3
4 10 20 30 40 - - - 40 4
5 10 20 30 40 50 - - 50 5
6 10 20 30 40 50 60 - 60 6
7 10 20 30 40 50 60 70 70 7
Etapa 2
Si/Xi 1 2 3 4 5 6 7 F(Xi) Xi
2 50 - - - - - - 50 1
3 60 70 - - - - - 70 2
4 70 80 90 - - - - 90 3
5 80 90 100 110 - - - 110 4
6 90 100 110 120 110 - - 120 4
7 100 110 120 130 120 110 - 130 4
8 110 120 130 140 130 120 110 140 4
Etapa 2
Si/Xi 1 2 3 4 5 6 7 F(Xi) Xi
2 70 - - - - - - 10 1
3 90 120 - - - - - 120 2
4 110 140 120 - - - - 140 2
5 130 160 140 150 - - - 160 2
6 140 180 160 170 150 - - 180 2
7 150 190 180 190 170 150 - 190 2o4
8 160 200 190 210 190 170 150 210 4
Etapa 1
Si/Xi 1 2 3 4 5 6 7 F(Xi) Xi
2 235 240 240 240 240 220 170 240 2,3,4º5
LUEGO SE TIENEN LAS DISTINTAS SOLUCIONES:
Por lo tanto, el valor que maximiza los conocimientos del estudiante es 240 y las cantidades
de cursos a llevar por departamento, según las distintas soluciones encontradas, se muestran
a continuación:
Una empresa desea maximizar sus ganancias [medidos en puntos] por la producción
de 3 tipos de productos enteros, sabiendo que la cantidad de sus ganancias em puntos
por producto, son equivalentes a la resultante de la potencia de la cantidad por su
numero índice por producto, esto es si la cantidad del producto es Xn su ganancia será
Xn
Dispone de un monto de inversión de 10 mil dólares y por cada producto invertirá un
valor equivalente a numero índice por la cantidad del producto a obtener, por ejemplo
si el producto es Xn su valor de inversión por este producto será de N*Xn
Se necesita conocer el máximo numero de puntos que debe obtener la empresa si se
sabe que este valor máximo es la resultante de la multiplicación de las ganancias en
puntos por producto.
Max Z = 𝑋1 *𝑋22 *𝑋33
Sujeto a:
𝑋1+2 ∗ 𝑋2 + 3 ∗ 𝑋3<= 10 ETAPA I ETAPA II ETAPA III
𝑋1 𝑋2 𝑋3
𝑑1 (𝑑𝑒𝑐𝑖𝑠𝑖𝑜𝑛)
𝐹1 (𝑆1 ) = max{𝑓1 𝑆1 , 𝑑1 + 𝑓0 (𝑆0 )}
𝑆1 𝑆0
𝑑1 ≤ 𝑆1
𝑆0 = 𝑆1 - 𝑑1
𝑓1 (𝑆1 , 𝑥1 )
N=3
S3 f3 x3
1 1 1
2 8 2
N=2
S2 1 2 f2 x2
1 1 8 8 1
Los valores de las
2 4 - 4 2 variables son:
3 9 - 9 1
Variable Solución
X1 1
X2 2
X3 1
N=1
S1 4 8 f1 x1
1 4 8 8 1
2 8 16 16 2
3 9 - 9 1
Problema solucionado en lingo
sets:
variables/1..3/:x,costo;
MODEL:
endsets
MAX= ( X1 ) * ( X2 * X2 ) * ( X3 * X3 * X3);
data:
[_2] X_1 + X_2 * X_2 + X_3 * X_3 * X_3 <= 10;
costo = 1 2 3;
[_3] X_1 >= 1;
enddata
[_4] X_2 >= 1;
[_5] X_3 >= 1;
MAX =(x1)*(x2*x2)*(x3*x3*x3);
END
@SUM(variables(I):x(I)*costo(I))<=10;
@FOR(variables(I):x(I)>=1);
Programación de la mochila de producción
Felipe viaja a las feria navideña realizada en “Polos Azules” vendiendo ropa a los
transeúntes. Debido al incremento del costo de gasolina, acaba de comprar un automóvil
mas pequeño y ya no puede transportar tantos artículos como le gustaría llevar. Todos los
artículos que venden se empacan en caja de 12 unidades por caja y no desea llevar menos
de una caja entera de cualquiera de los artículos. Solo puede llevar los artículos que quepan
en el automóvil, que tiene apenas 8 pies cúbicos de capacidad. En seguida se listan los
cuatro artículos que desean transportar junto con el numero de pies cúbicos por caja y la
utilidad por caja. Sugiera que combinación de artículos debe transportar en su automóvil.
24
• Entrar a la ventana de WinQSB y
seleccionar el programa
“Programación dinámica”.
• Seleccionar la opción “Knapsack
Problem” y colocar en la casilla de
ítems el numero de artículos diferentes.
25
Seguidamente te aparecerá la siguiente ventana, la cual tienes que llenar con los datos del ejercicio.
28
La solución se mostrara en la siguiente ventana
Y los valores de la columna decisión son los valores que debemos asignar a las incógnitas.
Artículo Volumen Beneficio
Max: 50X1 + 75X2 + 100X3 +35X4
Blusas 0 0 Reemplazando los valores en la ecuación:
Max: 51(0) + 75(0) + 100(4) + 35(0)
Pantalones 0 0 Max: 400
Vestidos 4 400 Debemos llevar tan solo 4 vestidos en el auto,
obteniendo un beneficio de 400.
Pantalones cortos 0 0
29
Modelo de inventario
Una fabrica de zapatos tiene una demanda a satisfacer, se pide cumplir la demanda de
cada mes además se pide cubrir con toda la demanda para el fin de mes de abril es decir
que el inventario final de mes de abril debe ser igual a cero. La máxima producción de
la fabrica por mes es de 40000 unid/mes, cabe la probabilidad de que en un mes no se
produzca alguna unidad. La producción es múltiplo de 10. resolver el problema
utilizando programación dinámica para determinar el plan optimo de producción para
los 4 meses.
Mes Demanda (miles) Costo unitario Costo de almacenamiento Costo fijo
Enero 30 6 2 200
Febrero 30 7 2 200
Marzo 20 6 2 180
Abril 20 10 2 210
Solución:
Con el fin de obtener costo de producción mínimo se realiza el siguiente plan optimo de
producción:
En el mes de enero se producirán 30 botellas, en febrero se producirán 30 botellas, en
marzo se producirán 40 botellas que cumplan la demanda y se almacenan 20 de ellas
que se venderán en abril
Mes Producción Costo
Enero 30 380
Febrero 30 410
Marzo 40 460
Abril 0 210
Total 1460
PROGRAMA LINEAL ▪ DATOS:
▪ CU=[6 7 6 10]
VARIABLES:
Xi: Número de unidades a producir en el i- ▪ CA=[2 2 2 2]
ésimo Período, ▪ CF=[200 200 180 210]
Yi: Número de unidades en inventario al ▪ D=[30 30 20 20]
final del i-ésimo período. FUNCIÓN OBJETIVO:
Di: Número de unidades demandadas del
producto en el i-ésimo período, Min C = σ4𝑖=1 𝐶𝑈𝑖 ∗ 𝑋𝑖 + σ4𝑖=1 𝐶𝐴𝑖 ∗ 𝑌𝑖 + σ4𝑖=1 𝐶𝐹𝑖
Y0: Nivel del inventario inicial del RESTRICCIONES:
producto (al inicio del período 1).
𝑋𝑖 + 𝑌𝑖−1 − 𝑌𝑖 = 𝐷𝑖
CU: Costo unitario del producto.
CA: Costo unitario de mantener. 𝑌0 = 0
𝑋𝑖 ≤ 40
𝑋𝑖, , 𝑌𝑖 ≥ 0
𝑋
∀ 𝑖, , 𝑌𝑖 enteros
10
i=1,2…4
EN LINGO:
min =6*X1+7*X2+6*X3+10*X4+2*Y1+2*Y2+2*Y3+2*Y4+200+200+180+210;
Subject to
X1 + Y0 - Y1 = 30;
X2 + Y1 - Y2 = 30;
X3 + Y2 - Y3 = 20;
X4 + Y3 - Y4 = 20;
y0=0;
X1<=40;
X2<=40;
x3<=40;
x4<=40;
@gin(x1/10); @gin(x2/10); @gin(x3/10); @gin(x4/10);
Problema de preparación de exámenes
Una estudiante universitaria cuenta con siete días
para preparar los exámenes finales de cuatro cursos
y quiere asignar su tiempo de estudio de la manera
más eficiente posible. Necesita por lo menos un día
para cada curso y quiere concentrarse sólo en un
curso cada día por lo que quiere asignar uno, dos,
tres o cuatro días a cada curso. Como hace poco
tomó un curso de investigación de operaciones,
decide aplicar programación dinámica para hacer
estas asignaciones que maximicen el total de puntos
obtenidos en los cuatro cursos. Estima que las
distintas opciones en días de estudio le significaran
puntos de calificación según la siguiente tabla:
Solución
CURSO 4 CURSO 3
Sn fx Xn Sn fx Xn
1 6 1* 1 2 3 4
2 7 2 1 8 8 1*
2 9 10 10 2
3 9 3
3 11 11 13 13 3
4 9 4 4 11 13 14 14 14 3o4
CURSO 2 CURSO 1
Sn fx Xn Sn fx Xn
1 2 3 4 1 2 3 4
1 13 13 1 4 16 20 24 26 26 4*
2 15 13 15 1
3 18 15 14 18 1
4 19 18 16 17 19 1*
días puntos
curso
estudiados obtenidos
s1=0
s7=0
1 2 3 4 5 6
r1 r2 r3 r4 r5 r6
d5
s5 0 10 20 30 40 50 F5(S5)
0 — — — 118+0+86 138+2+48 160+4+0 164
10 — — 86+0+86 118+2+48 138+4+0 — 142
20 — 48+0+86 86+2+48 118+4+0 — — 122
30 0+0+86 48+2+48 86+4+0 — — — 86
40 0+2+48 48+4+0 — — — — 50
Etapa 4:
d4
S4 0 10 20 30 40 50 F4 (S4)
d3
Ss 0 10 20 30 40 50 F3 (S3)
S3= S2+d2-20
d2
Ss 0 10 20 30 40 50 F2 (S2)
d1
s1 0 10 20 30 40 50 F1 (S1)
esultado
Periodo Demanda Compras Almacén
1 40 40 --
2 20 50 30
3 30 0 --
4 40 40 --
5 30 50 20
6 20 -- --
Problema de producción
La empresa ABC se dedica a la elaboración de modelos y todo tipo de material
didáctico, para la enseñanza educativa. La empresa ABC tiene contrato para entregar
el siguiente número de modelos de ciencia y ambiente durante los siguientes 3 meses.
Los modelos fabricados durante un mes pueden servir para abastecer la demanda de
este mes y de algún mes futuro, suponiendo que la producción de cada mes es
múltiplo de 100. Dado que el nivel de inventario inicial y final es “0”. Determine el
calendario óptimo de producción utilizando programación dinámica.
ETAPA 3:
INTERPRETACIÓN:
En la etapa 3(mes1): la mejor opción viene dada rastreando el fxi=9200 que nos arroja Mes Producción
Producir en el mes1 las 200 unidades para su propia demanda, el mes2 producir 600 1 200
que cumplan la demanda de este mes y el próximo. 2 600
3 0
Usando el software de WinQS
PASO 1 : Abrimos el programa y rellenamos el numero de periodo un nombre y que tipo
de problema.
Conclusión
• El resultado obtenido y óptimo es de 9200 que comprueba el proceso manual de
solución fue el correcto.
• El software nos facilita y garantiza un proceso de solución muy rápido el cual es seria
una herramienta para tomar decisiones rápidas y seguras.
Bibliografía