Programación lineal escolar

Programación lineal escolar

En el mundo actual, donde cualquier otra tarea requiere una alta potencia computacional o fuerza laboral, los sistemas artificialmente inteligentes están tomando el lugar del trabajo manual. Por lo tanto, cualquier otra tarea basada en la vida diaria se convierte en sistemas autónomos. Para crear tales sistemas autónomos, necesitamos crear interacción con las computadoras para que aprendan cómo ejecutar el programa y cómo tomar decisiones. Utilizamos ciertos idiomas que se pueden ser comprensibles para la computadora, también conocidos como lenguajes de programación, para habilitar esta interacción.

Entre todos los lenguajes de computadora actualmente en uso, Python es uno de los más conocidos. El lenguaje está construido con varias bibliotecas que permiten el funcionamiento de varias tareas utilizando sus módulos y características incorporados. A Python también se le atribuye un idioma amigable para principiantes debido a su guión fácil de entender, ya que el guión de Python se escribe principalmente en el idioma inglés. Scipy es la famosa biblioteca de Pythons que se basa en otra famosa biblioteca, "Numpy", de Python. El SciPy funciona al proporcionar las funciones incorporadas y los módulos para las tareas donde trabajamos con la capacitación de redes neuronales artificiales de aprendizaje profundo y algoritmos de aprendizaje automático para fines matemáticos y computacionales y optimización.

El módulo de "programación lineal" del Scipy representa esas herramientas y las técnicas que se utilizan como herramientas matemáticas para las optimizaciones matemáticas para resolver las ecuaciones del sistema lineal, incluidas las igualdades y las desigualdades. Ayuda a maximizar o minimizar el sistema o la función lineal. Los sistemas lineales pueden tener muchas soluciones, por lo que utilizamos la programación lineal para que terminemos encontrando una solución particular para el sistema de desigualdades.

Procedimiento:

Este artículo cubre la introducción del tema de la programación lineal Scipy. Luego, obtendremos el conocimiento de la sintaxis para la declaración de esta función en el script de Python con sus parámetros totalmente posibles. Y luego la función se implementa con la ayuda de ejemplos.

Sintaxis:

La sintaxis para la función de programación lineal Scipy en el script de Python se puede escribir de la siguiente manera:

$ Scipy.optimizar.LinProg (C, A_ub = None, B_ub = None, A_eq = None, B_eq = None, Bounds = None, Method = 'Highs', Callback = None, Options = None, X0 = None, Integleity = None)


En la función mencionada anteriormente, el parámetro "C" es la matriz 1-dimensional que tiene la información sobre los coeficientes de esa función lineal que queremos minimizar a través de la programación lineal. Los siguientes parámetros, "A_ub" y el "B_ub", son los parámetros opcionales. Ambos son las matrices bidimensionales y unidimensionales, respectivamente, donde A_ub habla sobre la matriz de restricción de desigualdad en la variable "X" del sistema de ecuación lineal. Mientras que B-UB es un vector de restricción de desigualdad para el valor de A_ub en correspondencia a la x.

El parámetro "secuencia" muestra el límite superior y el límite inferior para la maximización o la minimización de cada elemento en la x. El parámetro final es el "método", que es opcional, pero esto especifica el algoritmo estándar para resolver el problema. Su valor es "alto" de forma predeterminada.

Valor de retorno:

La función de programación lineal devuelve los valores como la matriz unidimensional que es el resultado de la solución particular para minimizar la función objetivo después de satisfacer las posibles restricciones en la función.

Ejemplo 1:

Resolvamos un sistema lineal de desigualdades y usemos la programación lineal de Scipy para encontrar la solución para minimizar la función objetivo de ese sistema. Antes de moverse para escribir el código, tenga en cuenta que escribiremos el programa en la "colaboración de Google", que se reconoce como una plataforma Python en línea de código abierto con todos los paquetes de Python preinstalados.

Comencemos creando un nuevo cuaderno en el programa. Antes de escribir el programa, tenemos que definir o tomar el sistema de las ecuaciones lineales. Para ese propósito, tomamos el siguiente sistema lineal y trabajamos para minimizar esta función con todas sus restricciones utilizando programación lineal:

Minimizar y = 5x1 + 10x2 +15x3

tal que:


Tenemos que minimizar la "y" con todas sus limitaciones. Estamos obligados a importar la información que sea relevante para la programación lineal y la matriz de nuestro programa. Para eso, importamos los dos paquetes importantes de T "Numpy" que se ocupa de la definición y las funciones de la matriz. El segundo es el "Atributo de optimización" de Scipy desde el cual importamos la función "LINPROG".

Cuando terminamos con estas bibliotecas, declaramos y definimos las ecuaciones del sistema lineal mencionado anteriormente uno por uno. En primer lugar, definimos la "y" que actúa como el coeficiente para el vector objetivo lineal, "y". Llame al "NP. matriz "y pase todos los coeficientes de y a los elementos de la matriz como" np. Array ([5, 10, 15]) ".

Ahora, definimos la matriz de restricción de desigualdad para este sistema lineal. Que se define en la forma usando el "NP de Numpy. Método Array ([]) ". Esta matriz tiene los elementos como "np. Array ([-1, -1, -1], [-1, 1, 0], [0, 0, 15], [-1, 0, 0], [0, -1, 0], [0 , 0, -1]) ". Guardamos esta matriz como "a_ub". Después de esto, definimos el "b_ub". Los valores de b_ub son "np.Array ([-1050, 0, -340, 0, 0, 0]) ". Para encontrar la solución óptima para este ejemplo, llamamos a la función "programación lineal ()" y pasamos la matriz "a_ub", el vector "b_ub" y el coeficiente "C" al parámetro de la función como "LinProg (C,, a_ub, b_ub) ". Entonces, mostramos los resultados. El programa para este ejemplo está escrito en forma de código Python con su salida de la siguiente manera:

importar numpy como np
De Scipy.Optimizar la importación de LINPROG
C = NP.Array ([10, 15, 25])
a_ub = np.Array ([[ -1, -1, -1], [-1, 2, 0], [0, 0, -1], [-1, 0, 0], [0, -1, 0], [0, 0, -1]])
b_ub = np.Array ([ -1000, 0, -340, 0, 0, 0])
resultado = LinProg (C, A_ub, B_ub)
Imprimir ('Valor óptimo:', Round (resultado.diversión, ndigits = 2),
'\ nx valores:', resultado.X,
'\ numeration of iterations:', resultado.liendre,
'\ nstatus:', resultado.mensaje)


Conclusión

En este editorial, cubrimos el tema de la "programación lineal Scipy". Discutimos qué es la programación lineal y por qué la necesitamos. Luego, hablamos sobre la sintaxis para esta función y aplicamos esta función a un sistema lineal de desigualdades para encontrar su solución optimizada.