Curso
Como responsable de una empresa, siempre trabajas con recursos finitos o limitados, y la dirección espera que les saques el máximo partido. Desde la productividad del tiempo hasta el uso del capital, del suelo a la mano de obra, y de la cadena de suministro a la producción: casi todo lo que haces busca optimizar la productividad.
La mayoría de aerolíneas optimizan sus horarios para obtener el mayor ingreso al menor coste. Estos horarios incluyen muchas situaciones y restricciones, como el número de aviones en una ubicación concreta, combustible, tripulaciones y el tipo de ruta (las más populares y rentables). Estas situaciones y restricciones son las limitaciones de volar por las rutas más populares y rentables. La programación lineal se utiliza para encontrar la solución a un problema dado con restricciones.
En este tutorial, vas a aprender qué es la programación lineal y veremos estos temas:
- Introducción a la programación lineal
- Conceptos básicos de la PL
- Variable de decisión
- Restricciones
- Función objetivo
- Solución óptima
- Solución factible
- Solución infactible
- Región factible
- Restricciones de no negatividad
- Formulación de un problema de PL (con ejemplo)
- Método gráfico para resolver una PL en una hoja de cálculo
- Casos de uso de la PL
- Conclusión
Introducción a la programación lineal
Matemáticamente, la programación lineal optimiza (minimiza o maximiza) una función objetivo lineal de varias variables sujeta a condiciones/restricciones que cumplen un conjunto de inecuaciones lineales. La programación lineal puede aplicarse a la planificación de actividades económicas como el transporte de bienes y servicios, la fabricación de productos, la optimización de sistemas eléctricos y los flujos en redes. Los problemas de PL pueden resolverse con distintas técnicas como el método gráfico, el simplex o el método de Karmarkar.
Conceptos básicos de la PL
Veamos la terminología fundamental de la programación lineal:
-
Las variables de decisión son las variables que intervienen en la función objetivo. Estas variables determinan el resultado. Quien decide puede controlar el valor de la función objetivo a través de las variables de decisión. Al abordar cualquier problema de programación lineal, lo primero es identificar las variables de decisión.
-
Las restricciones son un conjunto de limitaciones o condiciones situacionales. Pueden expresarse en igualdades o inecuaciones y acotan el valor de las variables de decisión.
-
La función objetivo es una función de beneficio o coste que se desea maximizar o minimizar. Es el objetivo principal de la toma de decisiones.
-
La solución óptima es una de las soluciones factibles en la que la función objetivo alcanza su valor máximo o mínimo, por ejemplo, beneficio máximo o coste mínimo. Es el mejor valor posible de la función objetivo.

-
Una solución factible es el conjunto de valores posibles de las variables de decisión que cumple todas las restricciones. Un problema de PL es factible si existe al menos una solución que las cumpla.
-
La solución infactible es el conjunto de valores posibles de las variables de decisión que no satisface todas las restricciones; es decir, no existe solución óptima. Un problema de PL es infactible si no existe ninguna solución que cumpla todas las restricciones.
-
La región factible es la zona formada por todos los valores que satisfacen las restricciones, es decir, la intersección de todas ellas. Incluye inecuaciones, igualdades y restricciones de integridad si las hubiera.
-
Las restricciones de no negatividad imponen que las variables de decisión solo tomen valores no negativos. Estas restricciones son de tipo mayor o igual que cero.
Formulación de un problema de PL (con ejemplo)
Formular modelos de programación lineal implica estos pasos:
- Identificar las variables de decisión
- Determinar la función objetivo
- Identificar las restricciones
- Definir las restricciones de no negatividad
En un problema de programación lineal, las variables de decisión, la función objetivo y las restricciones deben ser funciones lineales.
Enunciado del problema: Un comerciante de muebles solo trabaja con dos artículos: mesas y sillas. Dispone de 50.000 Rs para invertir y espacio de almacenaje para como mucho 60 piezas. Una mesa cuesta 2.500 Rs y una silla 500 Rs. Estima que, por la venta de una mesa, obtiene un beneficio de 250 Rs y por la venta de una silla, 75 Rs. Quiere saber cuántas mesas y sillas debería comprar con el dinero disponible para maximizar el beneficio total, suponiendo que puede vender todo lo que compre. (Fuente)
En este ejemplo, observa que:
- El comerciante puede invertir su dinero en comprar mesas, sillas o una combinación de ambas. Además, obtendrá distintos beneficios según la estrategia de inversión que siga. (Fuente)
- Su inversión está limitada a un máximo de 50.000 Rs, y su espacio de almacenaje también está limitado a un máximo de 60 piezas. (Fuente)
Formulación matemática:
Supongamos que decide comprar solo mesas y ninguna silla. Entonces puede comprar 50000/2500 = 20 mesas. En ese caso, ganará un beneficio de 250 x 20 = 5.000 Rs. O decide comprar solo sillas y ninguna mesa. Entonces puede comprar 50000/500 = 100 sillas.
En este caso, obtendrá un beneficio de 75 x 60 = 4.500 Rs.
Hay muchas combinaciones posibles de mesas y sillas que podría comprar.
Supongamos que compra X mesas y Y sillas. Entonces X e Y deben ser no negativas.
-
El comerciante tiene como máximo 50.000 Rs para comprar mesas y sillas, por tanto:
2500 X + 500 Y <= 50000 (restricción de inversión) o 5 * X + Y <= 100 .............................................. Ec.1
-
El número máximo de unidades que puede almacenar es 60.
X + Y <= 60 .............................................. Ec.2
-
El comerciante quiere comprar en las cantidades que maximicen su beneficio Z, por tanto la ecuación sería:
Max Z : 250 X + 75 Y
Función objetivo: Max Z: 250 X + 75 Y
Sujeta a las restricciones:
5 * X + Y <= 100,
X + Y <= 60 and
X,Y >= 0
Fuente: http://ncert.nic.in/ncerts/l/lemh206.pdf
Método gráfico para resolver una PL en una hoja de cálculo
Ejemplo de programación lineal
Función objetivo: Max Z: 250 X + 75 Y
Sujeta a las restricciones:
5 * X + Y <= 100,
X + Y <= 60 and
Where X,Y >= 0
Paso 1: Escribe la función en Excel como se muestra a continuación.

Paso 2: Tras escribir la función objetivo y las restricciones en la hoja de cálculo, calculemos los valores de las restricciones C1 y C2. Puedes calcular los valores fijando a cero la otra variable. Por ejemplo, para C1, si X = 0, el valor de Y sería Y = 100, y si Y = 0, el valor de X sería X = 20. De forma análoga para la restricción C2.

Paso 3: Ahora, después de calcular los valores, tracemos el gráfico. Selecciona los valores de la restricción C1, ve a Insertar y elige un gráfico de dispersión con líneas suavizadas. Verás algo como esto.

Si te aparece así, no te preocupes: sigue estos pasos para cambiarlo. Haz clic derecho en el gráfico, ve a Seleccionar datos; verás dos series, elimina la Serie 2 y edita la Serie 1.

Ponle como nombre C1 y cambia sus valores de X a los de la columna A de C1 y sus valores de Y a los de la columna B de C1. Haz clic en Aceptar. Tu gráfico quedará como el siguiente:

Paso 4: De nuevo, ve a Seleccionar datos haciendo clic derecho en el gráfico y añade otra serie. Llámala C2 y, en valores de X, selecciona la columna X de la restricción C2 y, en valores de Y, la columna Y de C2. Tu gráfico quedará así:

Paso 5: Ya tienes el gráfico trazado y ahora toca identificar la región factible:


Ahora tienes 4 puntos (O, A, B, C) en la zona de la región factible. Debes calcular los valores de la función objetivo en todos ellos para ver cuál te da el máximo.
Paso 6: Para calcular los valores de la función objetivo, sigue estos pasos:
Calcula la función objetivo para cada punto:
- En el punto O, las coordenadas (X, Y) son (0, 0). Por tanto, el valor de la función objetivo es = (2500+750) = 0
- En el punto A, las coordenadas (X, Y) son (0, 60). Por tanto, el valor de la función objetivo es = (2500+7560) = 4500
- En el punto B, las coordenadas (X, Y) son (20, 0). Por tanto, el valor de la función objetivo es = (25020+750) = 5000
-
En el punto C, para hallar sus coordenadas, necesitas encontrar el punto de intersección de las rectas de las restricciones C1 y C2. Usarás las funciones MMULT() y MINVERSE() para calcular la intersección de dos ecuaciones.
-
MMULT(MINVERSE(array),array) # Devuelve la solución de un sistema de ecuaciones con dos variables. O bien: =MMULT(MINVERSE(AB17:AC18), AE17:AE18). Antes de usar esta fórmula, selecciona las celdas de los valores de X e Y (las celdas amarillas) y utiliza esta función para calcular el punto de intersección de dos ecuaciones; después, pulsa CTRL+SHIFT+ENTER.

Los valores finales de Z:

Como ves, en este problema de maximización lineal el valor máximo de Z lo obtienes en el punto B, y el valor máximo es 6.250 Rs. Por tanto, para maximizar el beneficio, el comerciante debe comprar 10 mesas y 50 sillas.
Casos de uso de la PL
La programación lineal se aplica para encontrar soluciones óptimas en investigación de operaciones. La PL puede hallar la mejor solución dentro de las restricciones dadas. Es aplicable a todo tipo de problemas, como actividades económicas en agricultura, ingeniería, fabricación, energía, logística y cadena de suministro.
-
En la industria manufacturera y de producción, los ingenieros aplican la programación lineal para optimizar los recursos disponibles y así lograr el máximo beneficio.
-
El sector de la logística y el transporte utiliza programación lineal para encontrar la ruta más corta, el tiempo de viaje y la estrategia de precios.
-
En el sector energético, se emplea para optimizar la carga eléctrica, trazar líneas de distribución más cortas y diseñar de forma óptima la red eléctrica.
-
En el sector agrícola, la programación lineal ayuda a determinar el tipo y la cantidad de cultivo que conviene sembrar para aumentar los ingresos de forma eficiente.
-
En la industria alimentaria, puede ayudar a gestores de salud y nutricionistas a planificar necesidades dietéticas y conjuntos de alimentos de bajo coste para prevenir enfermedades no transmisibles.
Conclusión
¡Enhorabuena, has llegado al final de este tutorial!
Has visto muchos detalles sobre la programación lineal: qué es, sus conceptos y términos básicos, cómo formular un problema de PL, cómo resolverlo mediante el método gráfico y casos de uso.
Ojalá ahora puedas aplicar los conceptos de programación lineal para tomar decisiones en tu organización o para optimizar resultados de cara a quienes deciden. ¡Gracias por leer este tutorial!
Echa un vistazo a nuestro tutorial de gráficos en hojas de cálculo.
Si quieres aprender más sobre hojas de cálculo, haz estos cursos de DataCamp:
