La programación lineal es una herramienta de la administración de las operaciones utilizada en situaciones de negocios donde los recursos son limitados y la demanda de los mismos es grande. En oras palabras, se trata de una técnica de programación matemática que se utiliza para solucionar los problemas referentes a la asignación de recursos escasos de manera óptima entre actividades que compiten por el uso de los mismos. Los recursos a los cuales nos referimos pueden ser tiempo, dinero o materiales, y las limitaciones se conocen como restricciones del sistema productivo. Para este tipo de problemas buscaremos minimizar los costos/gastos y maximizar beneficios.
Estos modelos cuentan con 3 componentes fundamentales a identificar, que desarrollamos a continuación:
Para desarrollar un modelo de estas características, es necesario que cuente con las siguientes características:
A continuación desarrollamos algunos ejemplos de cómo se aplica la programación lineal en las empresas y cuáles son sus objetivos.
Este caso se trata de una compañía del rubro de la construcción que fabrica cerramientos de alta calidad, incluyendo ventanas y puertas de vidrio. Actualmente opera con 3 plantas de producción en donde la planta 1 produce marcos de aluminio, la planta 2 produce marcos de madera y la Planta 3 produce el vidrio y ensambla los productos.
La compañía decidió fabricar dos nuevos productos que son una puerta de vidrio de 8 pies con marco de aluminio (llamémosle «Producto 1») y Ventana de 4×6 pies con marco de madera(llamémosle «Producto 2»). Cada producto se fabrica en lotes de 20 unidades y el mix de producción se define en lotes por semana.
El jefe de producción de dicha compañía es un ingeniero industrial muy comprometido con la correcta utilización de los recursos, por lo cuál quiere averiguar cuál es el mix de producción que maximiza la ganancia.
Para iniciar con el análisis vamos a realizar un flujograma general del proceso para entender como interactúan las plantas y los depósitos con la demanda.
¿Quieres aprender a armar flujogramas de procesos operativos?
aquí te contamos cómo 👉
Para cualquier problema de programación lineal, lo más importante es definir 3 puntos fundamentales: las variables de decisión, las restricciones y la función objetivo.
Para definir las variables de decisión (VD) lo recomendable es siempre pensarlo desde el punto de vista de cuáles son aquellos aspectos que estan bajo nuestro control y sobre las cuales podemos influir. En este caso, vamos a definir como variables de decisión (VD):
X = # de lotes del producto 1 a producir por semana
Y = # de lotes del producto 2 a producir por semana
El segundo paso es identificar cuáles son las restricciones de nuestro modelo para luego expresarlas en función de las variables de decisión. Por lo general, la restricciones suelen asociarse a los recursos, a la demanda y a otras variables de contexto. Para este ejemplo podemos identificar las siguientes restricciones:
Disponibilidad de tiempo de cada panta, en donde:
Por último debemos definir cuál es la función objetivo. Este hito va a depender escencialmente de qué estemos buscando (si minimizar costos, minimizar la utilización de algún recurso, maximizar beneficios, etc.). Es importante remarcar que en este punto, los problemas siempre se tratarán de maximizar o minimizar alguna función. Para este caso, como lo que buscamos es el mix de producción ideal que me permita maximizar el beneficio, podremos defnir a nuestra función objetivo como:
Maximizar Z = 3*X + 5*Y
Siendo 3 y 5 los valores de venta de cada producto expresada en K$.
Habiendo ya planteado el problema, nos dispondremos a solucionarlo buscando determinar la combinación de X e Y (cantidad a fabricar de puertas y ventanas) que maximizan Z, sujeto a las restricciones de disponibilidad y de no-negatividad.
Para resolver el problema haremos una representación gráfica de 2 dimensiones en donde cada una represente a las variables de decisión X e Y. Sobre éstas graficaremos las rectas de las restricciones y la recta de isobeneficio (Z)
Primero que nada y a modo de ejemplo, graficaremos distintos valores de Z. Enla imagen de abajo podemos ver que la pendiente de la recta surge de las ganancias por lote. Cada recta muestra la combinación de producción que entrega esa ganancia.
Por ejemplo: La ganancia es $12 con:
X = 0 e Y = 2,4
X = 4 e Y = 0
X= 3,5 e Y= 1
Y así para cualquier par X;Y para una determinada recta de ganancia.
Si cambiáramos los coeficientes de Z (es decir, los ingresos que obtengo por cada producto), las pendientes de la recta serían otras:
De la misma manera que graficamos la función objetivo, vamos a graficar las restricciones del modelo planteando anteriormente. Como se puede ver, las restricciones son rectas que se intersecan entre si en determinados puntos. El área que queda definida por estas rectas (sombreado en la imagen) se llama región factible y está compuesta por todas las soluciones posibles a este problema de programación lineal.
Esto quiere decir que cualquier punto dentro de esta región factible (incluidas las rectas de cada restricción) conforman una solución factible para este problema, pero lo que aún no sabemos el cuál o cuáles de ellas es/son la/s óptimas.
Gráfico de la región factible
Cuando el objetivo es maximizar y los coeficientes son positivos, la ganancia crece hacia arriba y a la derecha (X e Y aumentan). Por lo cual, lo que se debe hacer es mover la recta de la función Z en ese sentido hasta poder detectar cuál es el último punto que toca de la región factible.
Cómo podemos ver en la resolución gráfica, el mix de producción óptimo para este modelo serán 2 unidades del producto 1 y 6 unidades del producto 2, con un beneficio total de $ 36000.
Podemos definir un procedimiento para la representación de este tipo de problemas teniendo en consideración:
¿Llegaste hasta acá? te recomiendo que chequees los cursos en el Campus de la Academia de Ingeniería Industrial, seguro te van a interesar 😉
2 Comments
Material instruccional interesante, educativo y pedagógico. Felicidades que continúen éste tipo de publicaciones
Muchas Gracias por tu apoyo Alexis! Poco a poco estaremos poblando estas páginas con más información y material educativo. 🙂