PROGRAMACIÓN LINEAL EN LINGO


Programación lineal con Lingo

LINGO es una herramienta diseñada para construir y resolver modelos de optimización matemática. LINGO proporciona un paquete integrado que incluye un potente lenguaje para expresar modelos de optimización, un ambiente con todas las funciones para los problemas de construcción y edición, y un conjunto de solucionadores rápidos incorporados, capaces de resolver de manera eficiente la mayoría de las clases de modelos de optimización.

Resolver de manera eficiente la mayoría de las clases de modelos de optimización. Aprender acerca del acceso a las herramientas más poderosas de LINGO a través de su lenguaje es una tarea compleja, sin embargo los modelos que no precisan de un complejo uso de recursos pueden resolverse con una sintaxis sumamente sencilla.



SOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LINEAL CON LINGO


Al igual que para cualquier otro método de resolución, el primer paso para resolver un problema de programación lineal (PL) consiste en el modelamiento matemático, y es en esta fase en la que el profesional de Ingeniería Industrial debe desarrollar su mayor habilidad y destreza. Los pasos para resolver un problema de PL se encuentran en el módulo de programación lineal.

El PROBLEMA

Un herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas de paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000 pesos cada una para sacar el máximo beneficio. Para la de paseo empleará 1 Kg. De acero y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos metales. ¿Cuántas bicicletas de paseo y de montaña deberá fabricar para maximizar las utilidades?

EL MODELO MATEMÁTICO


Acero Aluminio Precio de Venta
Bicicleta de paseo (x) 1 kg 3 kg $ 20.000
Bicicleta de montaña (y) 2 kg 2 kg $ 15.000
Disponibilidad 80 kg 120 kg


Declaración de variables


x = Cantidad de bicicletas de paseo a producir

y = Cantidad de bicicletas de montaña a producir


Restricciones de capacidad


Aluminio:

x + 2y <= 80


Acero:

3x + 2y <= 120


Función Objetivo


Zmax = 20000x + 15000y



INGRESANDO LOS DATOS A LINGO

La interfaz de LINGO es quizá la más simple de todas las aplicaciones de resolución de modelos matemáticos, y en el caso de los modelos de programación lineal el ingreso de los datos es muy sencillo, en su ventana inicial es suficiente con utilizar un comando de apertura "MODEL:" y uno de cierre "END", en medio de estos comandos se escribe el modelo tal como mostramos a continuación:

Programación lineal con Lingo

Como podemos observar, el comando "MAX:" se utiliza para consignar la función objetivo y su criterio (en caso de minimizar se utilizará MIN:). Para separar cada línea de código es necesario utilizar el caracter ";". Una vez tenemos el código con nuestras restricciones establecidas, procedemos a resolver, dando clic en el botón Solve:

Programación lineal con Lingo

Al resolver obtendremos el reporte solución, con base en sus datos podremos efectuar un análisis de sensibilidad, hay que tener en cuenta que los datos expresados en el reporte se encuentran en función de la línea de código ingresada, por lo tanto hay que considerar en que línea se escribió cada restricción y función objetivo para hacer un adecuado análisis.

Programación lineal con Lingo

Objective Function: Nos muestra el resultado de nuestra función objetivo, en este caso la solución óptima tiene una función objetivo (utilidad) de $ 850.000.

 

Value: Es el valor que toman las variables de decisión en la función objetivo.

Slack or Surplus: Cuando la restricción en cuestión tiene el operador <=, corresponde a una holgura, es decir, se puede interpretar como el recurso no utilizado. Cuando la restricción en cuestión tiene el operador >=, corresponde a un exceso, es decir, se puede interpretar como el recurso utilizado por encima de la restricción de mínimo uso.


Dual Price: El precio sombra de una restricción, es el cambio marginal de la 


función objetivo cuando el valor del lado derecho de la restricción aumenta en una unidad. En nuestro ejemplo sería así: por cada kg de acero adicional que tengamos disponible, la función objetivo aumentará en $ 1250.