Programación lineal

Programación lineal
A veces necesitamos optimización en la vida real también para obtener el máximo beneficio. Entonces, las técnicas de optimización pertenecen al aprendizaje profundo, donde tratamos de lograr la pérdida mínima. Pero a veces, tenemos recursos limitados y queremos obtener el máximo beneficio; Entonces entra la programación lineal.

La programación lineal es un modelo matemático que generalmente se usa en la ciencia de datos para la optimización. La optimización significa que podemos entender el significado como la ganancia máxima y menos costo. La empresa o la organización tiene principalmente dos objetivos principales, minimización y maximización. La minimización significa reducir el costo adicional que viene en las producciones para obtener las ganancias de maximizar. La programación lineal es una técnica de optimización simple que puede ayudar de la misma manera. La programación lineal está en todas partes a nuestro alrededor; Por ejemplo, cuando trabajamos en cualquier proyecto, también hacemos estrategias para administrar el trabajo en equipo para recibir una entrega rápida de manera eficiente.

Terminología de la programación lineal:

  1. Función objetiva: La función objetivo será maximizar o minimizar. El problema que vamos a resolver es maximizar las ganancias de la empresa.
  2. Decisión variable: Variable de decisión: se desconocen los valores de estas variables de decisión. Después de calcular estos valores, encontramos la salida de la función objetivo debajo del programa de programación lineal. Calculamos los valores de decisión x e y y luego ajustamos la función objetivo que da su valor final.
  3. Restricción no negativa: Los valores de las variables de decisión no deben ser negativos o siempre ser iguales a cero o mayores que cero.

Planteamiento del problema: Considere una empresa que fabrica chocolates de dos tipos: A y B. Ambos chocolates necesitan dos materiales necesarios: leche y choco. Para fabricar cada chocolate A y B, se requieren las siguientes cantidades:

  • Cada unidad de A requiere 3 unidades de leche y 2 unidades de Choco
  • Cada unidad de B requiere 4 unidades de leche y 1 unidad de Choco

Las acciones actuales de la compañía tienen 25 unidades de leche y 10 unidades de Choco. La compañía obtiene ganancias de cada unidad de venta de chocolate como se muestra a continuación:

  • RS. 25 por unidad de venta de chocolate a
  • RS. 20 por unidad de venta de chocolate B

Ahora, la compañía quiere obtener su máxima ganancia de las acciones disponibles.

Leche Chocolate Ganancias por unidad
A 3 2 Rs 25
B 4 1 Rs 10
Saldo total en stock 25 10

Solución: Como de la tabla anterior, podemos entender que la compañía quiere aumentar sus ganancias. Entonces, primero, vamos a definir nuestra función de maximización para este problema. Entonces, al usar el modelo matemático, supongamos que creamos X unidades de A e Y de B, entonces podemos decir que el modelo de función Maximize se verá a continuación:

Deje que el número total de unidades producidas por A be = x

Deje que el número total de unidades producidas por B be = y

Ahora, el beneficio total está representado por Z

Para calcular el beneficio máximo, tenemos que multiplicar las unidades totales de chocolate producidas por A y B con su ganancia unitaria de Rs. 25 y Rs. 20, respectivamente.

Ganancia: Max z = 25 * x + 20 * y

Ahora, tenemos nuestra función de maximización z.

La compañía siempre quiere producir tanto como sea posible para obtener grandes ganancias, pero los materiales son limitados. Según la tabla de información anterior, cada unidad de A y B requiere 3 y 4 unidades de leche, respectivamente. Entonces, la fórmula será como 3 * x + 4 * y. Pero hay una limitación de la leche, que es 25 unidades solo en el stock. Entonces, después de agregar esta restricción, la fórmula anterior será:

3 * x + 4 * y ≤ 25

Del mismo modo, cada unidad de A y B requiere 2 y 1 unidades de Choco, respectivamente. Entonces la fórmula será como 2 * x + y. Pero también hay una limitación del Choco, que es 20 unidades solo en el stock. Entonces, después de agregar esta restricción, la fórmula anterior será:

2 *x + y ≤ 20

El valor dado por el A y B siempre es positivo, ya que son cantidades. Entonces, deben ser iguales a cero o más que cero.

x ≥ 0 e y ≥ 0

Entonces, ahora nuestro modelo matemático de la declaración del problema está hecho. Ahora, vamos a ver en el código de Python la declaración del problema anterior.

Programación de Python:

Entonces, tenemos que instalar la pulpa del paquete Python, que resuelve los problemas de programación lineal.

Línea 52: Importamos la biblioteca PUPL.

Línea 53: Definimos el estado del problema y damos el nombre adecuado de nuestro problema. Damos el nombre de nuestro problema, las ganancias de fabricación de chocolate de AIS y describimos el objetivo de la función en la siguiente variable, que se maximiza.

Línea 54: Definimos la variable para mantener las variables de decisión. El segundo y tercer argumentos son los valores inferiores y de límite superior. También sabemos que no habrá valor negativo, por lo que definimos el valor inferior de límite (segundo argumento) a 0, y en el límite superior (tercer argumento), no mencionamos ninguno. La última declaración habla de que los valores son un entero (lpinteger).

Línea 57: Definimos nuestra función objetivo como dada en la declaración del problema.

Línea 58: Creamos nuestras variables con las restricciones como se dan en la declaración del problema.

Línea 59: Imprimimos nuestra declaración de problemas.

Línea 60: Guardamos todos los datos del problema en un archivo.

Línea 61: Llamamos a un solucionador de métodos de la biblioteca de pulpa para resolver la programación lineal.

Línea 63 y 64: Imprimimos los valores calculados, y el beneficio final muestra el RS. 155.

El siguiente archivo, que estamos guardando en la línea no. 60

El archivo anterior tiene la salida del objetivo y las restricciones que guardamos en un archivo. Entonces, la próxima vez, podemos cargar y ejecutar el código.

El código de pitón completo en .El formato PY se da a continuación:

Conclusión

Entendemos ejemplos básicos de programación lineal y cómo resolverlos a través de la programación de Python. Pero en la vida real, siempre vienen problemas más complejos, por lo que en lugar de resolverlos manualmente, el país o la empresa siempre necesitan automatización para ser rápido y maximizar las ganancias.