Introducción a la Programación Lineal

La Programación Lineal puede encontrar el mejor resultado cuando nuestros requisitos están definidos por ecuaciones lineales / desigualdades (básicamente líneas rectas).

Gráfico de Programación Lineal

Ejemplo:

Este gráfico tiene "restricciones": las tres líneas y los ejes x e y.

El área coloreada es la "región factible".

Si nuestro objetivo es maximizar el valor de y, podemos ver que:

Un valor de x alrededor de 1.1 nos da el valor máximo de y alrededor de 2.1

Nota:

Y "planificación" es quizás una mejor palabra que "programación" (la cual fue elegida antes de que la programación informática fuera común).

La programación lineal puede ayudarnos a abordar decisiones complejas en fabricación, transporte, finanzas, etc., cuando nos enfrentamos a cosas como costos variables, mano de obra, suministros y niveles de ventas.

Simplifica el proceso de toma de decisiones al definir objetivos claros y considerar todas las restricciones para encontrar la solución más eficiente.

Resolviendo

Podemos resolver preguntas simples de dos variables utilizando el Método Gráfico:

Traza las restricciones en un gráfico para crear una "región factible", encuentra cada vértice (punto de esquina), luego calcula el valor de nuestro objetivo en esos puntos.

Podemos elegir el máximo o el mínimo según lo deseado.

Ejemplo: Fabricantes de Robots de Granja

Una empresa fabrica robots de granja que controlan las malas hierbas.

  • Hay dos modelos: BuenAmigo y SimpleAmigo
  • Tienen 2 equipos: mecánicos y eléctricos
  • BuenAmigo requiere de 5 horas de mecánicos y 3 horas de eléctricos para fabricarse
  • SimpleAmigo requiere de 4 horas de mecánicos y 4 horas de eléctricos
  • El equipo mecánico tiene 80 horas disponibles por día, el eléctrico solo 60 horas
  • BuenAmigo genera un beneficio de $300 cada uno, SimpleAmigo $350 cada uno.

¿Cuántos deberían hacer cada día?


La función objetivo en este caso es el beneficio:

Usaremos b para BuenAmigo y s para SimpleAmigo

Beneficio = 300b + 350s
Las restricciones son:
  • Para los trabajadores mecánicos: 5b + 4s ≤ 80
  • Para los trabajadores eléctricos: 3b + 4s ≤ 60

También es justo decir que ni b ni s pueden ser menores que 0

Así que obtenemos este gráfico:

Ejemplo de Programación Lineal

El polígono tiene puntos de esquina (0,0), (16,0), (10,7.5) y (0,15)

El Teorema Fundamental de la Programación Lineal dice que el valor máximo (o mínimo) de la función objetivo estará en uno de esos puntos, ¡así que revisemos cada uno!

En (0,0):
El beneficio es cero
En (16,0)
El beneficio es 16 × $300 = $4800
En (10,7.5)
El beneficio es 10 × $300 + 7.5 × $350 = $5625
En (0,15)
El beneficio es 15 × $350 = $5250

Nuestro beneficio máximo es cuando se producen 10 BuenAmigos y 7.5 SimpleAmigos cada día.

(Sí, 7.5 no es un número entero, ¡así que algunos días habrá un robot a medio terminar en el taller!)

Algunas herramientas que podrían ayudarte son el Graficador de Ecuaciones (donde puedes ingresar cosas como "3x+4y=60") y el Graficador de Desigualdades.

Nota: para preguntas más difíciles donde graficar no es práctico, existe el Método Simplex. Tiene muchos pasos, pero todos utilizan aritmética básica. No lo cubrimos aquí, pero hay muchas explicaciones en Internet.

Usos de la Programación Lineal

  ¡Refuerza tu aprendizaje resolviendo los siguientes retos sobre este tema! (Nota: están en inglés).

25776, 25777