Está en la página 1de 5

Ayuda

cristian31416@gmail.com

Parte 1: Resoluci
on mediante Algoritmos Heursticos.

1. Inicialmente nos piden resolver el problema mediante el algoritmo descrito en tres pasos. Este algoritmo es
conocido como Algoritmo Goloso o Greedy, que consiste en elegir la opcion optima en cada paso (elegir el
de mayor rentabilidad mientras se satisfagan las condiciones), esperando lograr o alcanzar un optimo general.
Este metodo es bastante miope ya que el criterio es inmodificable y no analiza mas alla los efectos de selec-
cionar un elemento como parte de la solucion.

RESOLUCION DEL PROBLEMA


Sean:
x: cantidad a producir de producto 1.
y: cantidad a producir de producto 2.
z: cantidad a producir de producto 3.

Notar que cada variable variable s


olo puede asumir valores enteros positivos. Luego, nuestra funcion objetivo
a maximizar es: M ax W = 35x + 45y + 12z, donde Z representa la ganancia total por la venta de los 3
productos, en miles de $.

ALGORITMO
Paso 1: Elecci on del producto. Claramente es el producto 2. Para calcular cuantas unidades se pueden
producir como m aximo se debe analizar el stock y obtener el material limitante.
Material 1: 28000/99 = 282.8
Material 2: 20000/38 = 526.3
Material 3: 17000/86 = 197.7
Material 4: 19000/28 = 678.6

El material limitante es el material 3, por tanto bajo el criterio del algoritmo se producen 197 unidades del
producto 2.

Paso 2: Segunda mejor opci on. La materia prima disponible es:


Material 1: 28000 99 197 = 8497
Material 2: 20000 38 197 = 12514
Material 3: 17000 86 197 = 58
Material 4: 10000 29 197 = 4287

El segundo producto m as rentable es el producto 1. Nuevamente calculamos cuantas unidades se pueden pro-
ducir como m aximo seg
un el stock:
Material 1: 8497/62=137.05
Material 2: 12514/75=166.9
Material 3: 58/41=1.4
Material 4: 4287/100=42.9

El material limitante es el material 3, por tanto se produce solo 1 unidad de producto 1.

Paso 3: Tercera y u ltima opci


on. La materia prima disponible es:
Material 1: 8497 62 1 = 8435
Material 2: 12514 75 1 = 2439
Material 3: 58 41 1 = 17

CNC 1
Material 4: 4287 100 1 = 4187

El tercer producto m as rentable es el producto 3. Calculamos cuantas unidades se pueden producir como
maximo segun el stock:
Material 1: 8435/39 = 216,3
Material 2: 2439/5 = 487,8
Material 3: 17/23 = 0,8
Material 4: 4187/9 = 465,2

El material limitante es el material 3 y de hecho no se cuenta con lo suficiente para producir 1 unidad. FIN.

Entonces seg
un este algoritmo se producen 1 unidades de producto 1, 197 unidades de producto 2 y 0 unidades
del producto 3. Entonces el margen maximo obtenido (en miles de $) es:

Z = 35 1 + 45 197 + 0 12 = 8900.

2. Mejoras al algoritmo. Dentro de los algoritmos Heursticos, podemos proponer alternativas al Algorit-
mo Heurstico Goloso. Algunas opciones son: Hill Climbing, Tabu Search, Simulated Annealing, Algoritmos
Geneticos, etc. Para este problema proponemos Hill Climbing (adjunto un pdf de hill climbing, puedes encon-
trar en google mayor informaci on de c/u). A continuacion elaboramos los pasos iniciales del Algoritmo:

HILL CLIMBING:

Punto inicial : (1, 197, 0). Comenzamos este algoritmo a partir del optimo encontrado por Greedy Search.

Movimientos posibles: (+1, 0, 1), (+1, 1, 0), (0, +1, 1), (1, +1, 0), (1, 0, +1), (0, 1, +1), (+2, 0, 2),
(+2, 2, 0), (0, +2, 2), (2, +2, 0), (2, 0, +2), (0, 2, +2), (+3, 0, 3), (+3, +3, 0), (0, +3, 3), (3, +3, 0),
(3, 0, +3), (0, 3, +3), (+2, +1, 1), ..., (+1, 1, +2), (+3, +1, 1), ... , (+1, 1, +3), (+3, +21), (+3, 1, +2),
(1, +3, +2), (+2, +3, 1), (+2, 1, +3), (1, +2, +3). En total son 48 movimientos posibles agotando todas
las posibilidades. (es un criterio arbitrario aumentar en maximo 3 unidades, se puede modificar esto).

Criterio de elecci
on de soluci
on en cada iteracion: mejor mejora.

El algoritmo fue codificado en Octave, la version no comercial de Matlab. Octave es OpenSource disponible para
todos (http://www.gnu.org/software/octave/). El codigo del problema es extenso y no lo quise adjuntar ac a, pero
te adjunto el c
odigo en un archivo aparte, listo para ejecutarse en Octave por si quieres testearlo o modificarlo.

Hill Climbing converge a una soluci


on en 53 iteraciones. Arroja el siguiente resultado: Se deben producir 154
unidades de producto 1, 100 unidades de producto 2 y 88 de producto 3. Con esta produccion se obtiene un margen
de $10946000. Notar que este algoritmo efectivamente entrega una mejor solucion al problema.

Parte 2: Planificaci
on a trav
es de modelo de PL
Se trata de un problema de optimizaci
on con variables discretas (n
umeros enteros: no tiene sentido vender 1,5
unidades de producto). Matem aticamente se intenta maximizar una ecuacion lineal con reestricciones lineales. El
planteamiento es:
Sean:
x: cantidad a producir de producto 1.
y: cantidad a producir de producto 2.
z: cantidad a producir de producto 3.

Entonces notar que la ganancia por esta produccion es W = 35x + 45y + 12z, donde Z estara en miles de pesos.
La restricci
on de este problema viene dado por el stock. Si se producen x, y y z de productos 1,2 y 3 resp., entonces

CNC 2
la cantidad de material 1 consumida es 62x + 99y + 39z y esta cantidad tiene que ser menor a 28000. Esto es an
alogo
para las otras materias primas y entonces el problema completamente formulado es:


Max W = 35x + 45y + 12z




Sujeto a
62x + 99y + 39z 28000 (reestriccion de stock de material 1)



75x + 38y + 5z 20000 (reestriccion de stock de material 2)

41x + 86y + 23z 17000 (reestriccion de stock de material 3)







100x + 28y + 9z 19000 (reestriccion de stock de material 4)
x, y, x N (reestriccion en la naturaleza de las variables)

Este es un modelo de programaci on lineal. Las variaables de decision son x, y, z. La funcion objetivo es W =
35x + 45y + 12z. Las reestricciones son 5.

Ingresamos los datos a Excel para resolverlo mediante su Solver con metodo Simplex LP. Si no sabes usar el
Solver, en youtube hay tutoriales breves s uper u
tiles (el archivo excel lo adjunto). He corroborado el resultado del
Solver con el programa LINDO que es un software exclusivo para resolver problemas lineales de este tipo y ha
arrojado el mismo resultado (el resultado es confiable). Al agregar la condicion de que las variables x, y, z sean
enteras, en Solver tuve problemas ya que como puedes observar los resultados estan en decimales ; no se porque no
entreg
o resultado decimal, intente corregirlo pero no cambio.

Figura 1: Resultado de Solver en Excel

El resultado de Solver nos dice que se deben producir 155 unidades de producto 1, 123 de producto 2 y 0 de
producto 3 produciendo una ganancia de 155 35000 + 123 45000 = $10960000 pesos. En Excel esta la ganancia
considerando el optimo con variables continuas (decimales) y no debe ser considerada. Notar que este resultado es
mejor que el obtenido mediante el Algoritmo Heurstico Goloso y el Algoritmo propuesto (la mejora Heurstica).
Solver entrega la soluci
on
optima ejecutando el metodo Simplex que es el mas eficiente para este tipo de problemas.
Puedes corroborar que cualquiera otra solucion factible (que satisface las reestricciones) es menor a la soluci
on de
Simplex.

2) Adicionalmente te piden resolver el problema de que productos elegir considerando que cada gramo de
cualquier materia prima cuesta $1220. Resumidamente tenemos:

gramos totales n unitario ($)


costo de produccio
Producto 1 278 339160
Producto 2 251 306220
Producto 3 76 92720

CNC 3
Encuentro que el enunciado est
a incorrecto ya que el costo por grano es demasiado elevado, tanto as que cla-
ramente no conviene producir ninguno de los tres productos. Asumiendo que el enunciado esta correcto, debemos
maximizar ganancias (o minimizar perdidas) y este problema se convierte en un problema de minimizacion de perdi-
das. Sin embargo observo otra ambiguedad: no queda claro si es obligatorio invertir el total del dinero. Resolvere en
ambos casos.

Caso a: Obligatorio invertir la totalidad del dinero. Se convierte en un problema de minimizaci


on de
perdidas. El planteamiento del problema es:



Max W = 35000x + 45000y + 12000z (339160x + 306220y + 92720z)

Sujeto a





62x + 99y + 39z 28000 (reestriccion de stock de material 1)





75x + 38y + 5z 20000 (reestriccion de stock de material 2)


41x + 86y + 23z 17000 (reestriccion de stock de material 3)
100x + 28y + 9z 19000 (reestriccion de stock de material 4)





339160x + 306220y + 92720z = 10000000 (reestriccion de gastar todo el dinero)





x, y, x N (reestricci
on en la naturaleza de las variables)

Al ingresar los datos a Excel, Solver arroja los siguientes resultados:

Figura 2: Resultado de Solver en Excel

El resultado de Solver nos dice que se deben invertir solo 32 unidades de producto 2, agotando todo lo posible
el capital de inversi
on (respetando las reestricciones) y generando una perdida de $8359040.

Caso b: No es obligatorio invertir la totalidad del dinero. El planteamiento del problema es:



Max W = 35000x + 45000y + 12000z (339160x + 306220y + 92720z)

Sujeto a





62x + 99y + 39z 28000 (reestriccion de stock de material 1)





75x + 38y + 5z 20000 (reestriccion de stock de material 2)


41x + 86y + 23z 17000 (reestriccion de stock de material 3)
100x + 28y + 9z 19000 (reestriccion de stock de material 4)





339160x + 306220y + 92720z 10000000 (reestriccion de presupuesto)





x, y, x N (reestricci
on en la naturaleza de las variables)

Al ingresar los datos a Excel, Solver arroja los siguientes resultados:

CNC 4
Figura 3: Resultado de Solver en Excel

En este caso, el resultado de Solver nos dice que no se debe invertir en ninguno de los productos, o sea no se
tiene perdidas ni ganancias. Esto tiene sentido ya que el costo de produccion unitario es mayor que la ganancia
unitaria en todos los productos.

Si he interpretado mal alg un dato o me he equivocado me puedes contactar y puedo solucionarlo o modificarlo.
No se cual es el enfoque del ejercicio y tampoco se que han visto y que no, pero espero que esto te sea u
til.

Cualquier consulta tienes mi correo, espero que esto te ayude. Exito!

CNC 5

También podría gustarte