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.
La programación lineal, un pilar fundamental en el ámbito de la investigación de operaciones, ha evolucionado de manera significativa desde sus primeros conceptos hasta convertirse en una herramienta indispensable en la toma de decisiones empresariales y gubernamentales. Su desarrollo histórico ha sido una narrativa apasionante, marcada por contribuciones clave de matemáticos visionarios y aplicaciones prácticas que han transformado la gestión eficiente de recursos.
A mediados del siglo XX, figuras como George B. Dantzig y Leonid Kantorovich sentaron las bases teóricas de la programación lineal. La formulación de modelos matemáticos para la asignación óptima de recursos en situaciones de restricciones lineales dio paso a algoritmos revolucionarios, como el Método Simplex, desarrollado por Dantzig en la década de 1940. Este método proporcionó una solución eficaz para problemas de optimización lineal, abriendo las puertas a aplicaciones prácticas en la gestión de cadenas de suministro, producción y logística.
La década de 1970 presenció el auge de la programación lineal en la planificación estratégica y la toma de decisiones corporativas. El desarrollo de software especializado permitió la resolución eficiente de problemas más complejos, consolidando la posición de la programación lineal como una herramienta esencial en la investigación de operaciones.
En el siglo XXI, la programación lineal ha evolucionado aún más con la integración de técnicas avanzadas, como la optimización convexa y la programación no lineal. Su aplicación se extiende a campos tan diversos como la ingeniería, la economía, la salud y la inteligencia artificial, demostrando su versatilidad y relevancia continua en un mundo cada vez más complejo y globalizado. En resumen, la programación lineal no solo ha dejado una huella imborrable en la historia de la investigación de operaciones, sino que también sigue siendo un faro guía para la eficiencia y la toma de decisiones informadas en la actualidad.
Otros Artículos que te podrían interesar sobre Programación Lineal y método Simplex
Ya hemos dado una breve introducción teórica a lo que refiere la programación lineal, pero si lo analizamos más en profundidad en términos prácticos de la industria, nos deberíamos preguntar ¿cuándo vale la pena optimizar algo?
Veamos el caso con un ejemplo. Supongamos que debes desempeñar el rol de gerente de operaciones de una fábrica de insumos médicos. Se sabe que la fábrica produce un único producto (1 solo SKU) y que el margen bruto de ganancia es alto. Además se sabe que tiene las siguientes características:
¿Cuánto fabricarías?
Podríamos pensar que al tener demanda infinita y disponibilidad infinita de medios e insumos, deberíamos fabricar todo lo que pudiésemos.
Ahora bien, ¿qué pasa si de repente, ya la disponibilidad de la materia prima pasa a ser finita? en este nuevo escenario, ¿Cúnato fabríacarias?
Nuevo escenario:
Claramente en esta ocasión, al tener una demanda infinita, trataríamos de fabrícar lo máximo posible. La diferencia con el caso anterior es que, al tener ahora una limitación en el acceso a la materia prima disponible (porque dejó de ser infinita y ahora es finita), ese máximo posible va a estar restringido por la disponibilidad de la materia prima. En este sentido podemos decir que la materia prima se convierte en el recurso excaso de nuestro modelo, ya que la capacidad disponible y la demanda siguen siendo infinitas.
Y si ahora también sumamos otra limitación en la demanda, ¿Cuánto fabricarias?
Nuevo Escenario:
Siguiendo con la lógica del caso anterior, deberíamos comenzar por análizar aquello que dejó de ser infinito y pasó a ser finito. En este caso, la disponibilidad de la materia prima y la Demanda. A la pregunta de cuánto deberíamos fabricar ahora se empieza a meter un poco la lógica de la programación lineal donde las restricciones de un modelo empiezan a competir. En este caso, la restricción de la materia prima y la restricción de la demanda se encuentran para buscar un óptimo. La respuesta a cuánto deberíamos fabricar está dada por aquella cantidad que maximiza los ingresos en función de la demanda máxima y la cantidad de materia prima disponible.
Lo anterior es solo un ejemplo de desarrollos de problemas sencillos de programación lineal. Luego se podrían ir complejizando agregandole más variables como por ejemplo más variedad de productos. Es decir, que en lugar de producir 1 modelo de producto como en el caso anterior, sean muchos más. Por otro lado, se podría comlejizar aún más el modelo si vemos que todos esos diseños de productos que compiten entre sí para ser fabricados, tienen márgenes de ganancias diferentes y volumenes de demanda diferentes. A medida que agregamos datos al modelo, todo estos comulga en una gran dificultar en gestionar eficientemente los recursos que, sin el conocimiento de la programación lineal, sería imposible de resolver.
En el vertiginoso mundo de la gestión de cadenas de suministro, enfrentarse a problemas complejos puede parecer desafiante. Pero, ¿cómo vamos a resolver estos problemas? Aquí es donde entra en juego la programación matemática, una potente familia de métodos de optimización que se ha convertido en el caballero de brillante armadura para los profesionales de la logística.
La programación matemática abarca diversas técnicas y metodologías, destacando tres en particular:
La razón principal es que la programación matemática se ha consolidado como el enfoque más utilizado en la gestión de cadenas de suministro. Desde el diseño de redes hasta la planificación de la producción, la selección de proveedores logísticos, la asignación de inventarios y la planificación de operaciones portuarias/terminales, esta metodología ofrece soluciones óptimas y eficientes.
No te preocupes por la complejidad. La programación matemática está al alcance de tu mano. La mayoría de los softwares o herramientas de gestión de cadenas de suministro incorporan esta metodología, facilitando su implementación en diversas áreas de tu empresa.
Desde las planillas de cálculo hasta otras herramientas de gestión, la programación matemática se ha integrado de manera integral en las soluciones tecnológicas que utilizas a diario.
Cuando te enfrentas a restricciones y deseas encontrar la solución óptima, la programación matemática emerge como la mejor manera de identificar esa «mejor» solución. Permite optimizar procesos y recursos, asegurando que tus decisiones estén respaldadas por un enfoque cuantitativo y preciso.
En resumen, al adoptar la programación matemática en la gestión de cadenas de suministro, estás apostando por la eficiencia, la optimización y la toma de decisiones fundamentadas. ¡No dejes que los problemas te abrumen, deja que las ecuaciones te guíen hacia soluciones efectivas!
¿Quieres aplicar Programación lineal para optimizar tu negocio?
¡Podemos ayudarte!
solicita ahora una entrevista gratuita con nosotros
Existen 3 grandes Componentes en los modelos de programación lineal:
Si quieres pasar a la práctica y comenzar a aprender cómo crear modelos de programación lieal, te recomendamos el siguiente artículo:
La programación lineal encuentra aplicaciones cruciales en empresas e industrias para la optimización de recursos. Desde la gestión de la cadena de suministro hasta la asignación eficiente de recursos financieros, la programación lineal ayuda a maximizar beneficios y minimizar costos. Sectores como la logística, manufactura, finanzas y planificación estratégica utilizan esta herramienta para tomar decisiones informadas y eficientes que contribuyen al rendimiento y la rentabilidad empresarial.
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.
Como explicamos en este artículo sobre formulación de modelos de programación lineal, 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). Si quieres aprender más sobre cómo graficar modelos dep rogramación lineal te recomendamos que leas este artículo sobre Programación Lineal Gráfica.
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.
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.
Para este caso, podemos resolver el problema matemático de dos maneras. La primera es realizando la igualación de las rectas que conforman el punto óptimo. Al hacer este movimiento, estaremos formando un sistema con 2 ecuaciones y 2 ingcógnicas. Luego, despejamos los valores de X e Y que conforman la solución.
Esta manera de operar matemáticamente podríamos hacerlo también para cada vértice del area factible. Al obtener el valor de cada vértice podremos ver cuál es el mayor, es decir, el óptimo. Esto sive por ejemplo cuando 2 vértices están muy próximos entre sí y gráficamente es dificil detectar cuál es el óptimo.
La dsventaja de este modo matemático es que solo sirve para 2 variables de decisión. Ya cuando tengo más, es recomendable usar un software como puede ser el excel solver. En este link te comparto un artículo que muestra como resolver el ejercicio anterior en Excel Solver.
Podemos definir un procedimiento para la representación de este tipo de problemas teniendo en consideración:
¿Llegaste hasta acá? ¿Te quedaste con gansa de más? Te dejamos a continuación la mejore selección de Libros para seguir estudiando y Aprendiendo Sobre Programación Lineal
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. 🙂