Interpretación de soluciones informáticas de modelos de programación lineal

Rodrigo Ricardo Publicado el 14 noviembre, 2020 5 minutos y 17 segundos de lectura

Modelos de programación lineal

La optimización multiobjetivo puede ser una propuesta complicada, pero la programación lineal ofrece una solución. En este método, factores como los objetivos y las limitaciones se traducen en ecuaciones lineales para ayudar a las personas a tomar una decisión. Esta lección examina cómo usar soluciones asistidas por computadora para resolver modelos de ecuaciones lineales que representan objetivos humanos procesables.

En la programación lineal, los objetivos se simplifican y se representan en una serie de relaciones lineales. Luego, estas relaciones se analizan para determinar la solución óptima para el problema en cuestión. Por ejemplo, un problema común que puede examinar es determinar la ruta más corta a su destino de vacaciones. Cuando está determinando la ruta más corta posible a la ubicación de todas las opciones posibles disponibles, está utilizando relaciones lineales en su cabeza (o en su GPS) para calcular la mejor ruta para llevarlo allí.

Cuando se trabaja con problemas más complejos, como maximizar las ganancias para una empresa que fabrica muchos tipos de widgets, no siempre es posible determinar la solución óptima simplemente pensando en ella. Las personas, después de todo, no son máquinas perfectamente lógicas con recuerdos infalibles. Es posible que no tenga en cuenta una variable crucial como los impuestos o los costos de suministro, por ejemplo, lo que hace que la solución sea inviable. Afortunadamente, tenemos dispositivos como calculadoras y computadoras. Pueden ayudarnos a resolver problemas complejos con la información correcta.

Ejemplo: maximizar las ganancias

El programa de software conocido como R es una utilidad gratuita muy útil y popular entre muchos científicos de datos, ya que puede calcular fácilmente soluciones óptimas utilizando programación lineal en solo unos pocos pasos. Veamos un ejemplo.

Acme Manufacturing, Inc., que crea y proporciona soluciones para el hogar y las pequeñas empresas, ofrece dos líneas de productos populares y fáciles de usar; computadoras portátiles y de escritorio. Estos productos se venden a $ 400 y $ 500, respectivamente. Ambas soluciones requieren recursos para crear, como carcasas, procesadores, módulos de memoria y unidades de almacenamiento de datos, de las cuales hay 10,000 unidades disponibles en total cada día. Las computadoras portátiles requieren 12 unidades para crear un producto terminado, mientras que las computadoras de escritorio requieren 20 unidades. Hay un tiempo de producción de 15 minutos (debido a la gran automatización), pero los empleados aún tienen que trabajar 9 horas al día. ¿Cuántos de cada línea se deben fabricar para asegurar el mayor beneficio para la empresa?

Representación de problemas matemáticos

Con un programa como R, la solución a este complejo problema con múltiples variables es rápida y sencilla. Primero, descompongamos este problema verbal en una ecuación matemática más manejable.

Las variables de decisión , que en este caso son el precio acordado de los artículos, se utilizan para formular la solución.

Otra cosa a tener en cuenta para esta situación es la restricción de no negatividad , que establece que los valores de decisión deben ser mayores que el número cero (0). ¡No puede obtener ganancias si no le está cobrando nada a los clientes!

La función objetivo , el objetivo final de todo este proyecto (es decir, el máximo beneficio), es:

Max.z = 400x + 500y

  • z es el beneficio que la empresa desea obtener. Max.z, por lo tanto, significa beneficio máximo.
  • x es el precio total de la línea A, las computadoras portátiles.
  • y es el precio total de la línea B, las computadoras de escritorio.

Limitaciones:

(Estos son los costos incurridos para fabricar los productos).

12x + 20y ≤ 10,000

  • Aquí, x son las unidades de recursos utilizadas para la línea A, las computadoras portátiles.
  • Aquí, y son las unidades de recursos utilizadas para la línea B, las computadoras de escritorio.
  • 10000 es el total de unidades de recursos disponibles.

15x + 15y ≤ 540

  • Aquí, x es el tiempo final que se tarda en obtener el producto final de la línea A, las computadoras portátiles.
  • Aquí, y es el tiempo final que se tarda en obtener el producto final de la línea B, las computadoras de escritorio.
  • 540 son 9 horas al día.

Resolución de problemas con R: entrada de datos

Echemos un vistazo a la entrada de software para R:

install.packages ('' lpSolve '') # Primero instale la 
biblioteca de paquetes '' lpSolve '' (lpSolve)
# Estableciendo los coeficientes de las variables de decisión
object.in = c (400,500)
# Constraint Matrix
const.mat = matrix (c ( 12,20,15,15), nrow = 2, byrow = T)
# definiendo restricciones
const_time = 540 #en minutos
const_res = 10000
# RHS para restricciones
const.rhs = c (const_res, const_time)
# Dirección para restricciones
const.dir = c ('' <= '', '' <= '')
# Encontrar la solución óptima
opt = lp (direction = '' max '', aim.in, const.mat, const.dir, const.rhs)
resumen (opt)
# Valores objetivos de xey
opt $ solución
# Valor de la función objetivo en el punto óptimo
opt $ objval

Resolución de problemas con R: salida de datos

Ahora veamos qué calcula R para nosotros como la solución óptima, es decir, cuántas computadoras portátiles y de escritorio necesitamos para obtener el máximo beneficio.

El resultado de ejecutar el cálculo en R.
Salida de datos R

Por lo tanto, según el resultado de la computadora, vemos que Acme Manufacturing debería crear 0 computadoras portátiles y 36 computadoras de escritorio. La ganancia total de la venta de estas computadoras de escritorio será de $ 18,000.

Resumen de la lección

Esta lección examinó cómo se utilizan los modelos de programación lineal para resolver problemas personales, como ir del punto A al punto B, o problemas más complejos, como maximizar las ganancias de la empresa. El ejemplo se resolvió utilizando R, una herramienta de programación gratuita para tareas de ciencia de datos.

En la programación lineal, las variables de decisión se utilizan para formular la solución y representan información inmutable. La restricción de no negatividad significa que los valores de decisión siempre deben ser mayores que 0. No hay beneficio si está regalando el producto. Finalmente, la función objetivo es el resultado final que se busca.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador