Programação linear scipy

Programação linear scipy

No mundo de hoje, onde todas as outras tarefas exigem alto poder computacional ou força de trabalho, sistemas artificialmente inteligentes estão substituindo o trabalho manual. Portanto, todas as outras tarefas diárias baseadas na vida são convertidas em sistemas autônomos. Para criar esses sistemas autônomos, precisamos criar interação com os computadores para fazê -los aprender a executar o programa e como tomar decisões. Usamos certas linguagens compreensíveis, também chamadas de linguagens de programação, para ativar essa interação.

Entre todos os idiomas do computador atualmente em uso, o Python é um dos mais conhecidos. O idioma é construído com várias bibliotecas que permitem o funcionamento de várias tarefas usando seus módulos e recursos internos. O Python também é creditado como um idioma para iniciantes devido ao seu script fácil de entender, já que o script de Python é escrito principalmente no idioma inglês. Scipy é a famosa biblioteca de Pythons que é construída em outra biblioteca famosa, "Numpy", por Python. O Scipy funciona fornecendo as funções internas e os módulos para as tarefas em que trabalhamos com o treinamento de redes neurais artificiais de aprendizado profundo e algoritmos de aprendizado de máquina para fins matemáticos e computacionais e otimização.

O módulo de "programação linear" do Scipy representa essas ferramentas e as técnicas usadas como ferramentas matemáticas para as otimizações matemáticas para resolver as equações lineares do sistema, incluindo as igualdades e as desigualdades. Ajuda a maximizar ou minimizar o sistema ou a função linear. Os sistemas lineares podem ter muitas soluções, por isso usamos a programação linear para que acabemos encontrando uma solução específica para o sistema de desigualdades.

Procedimento:

Este artigo abrange a introdução do tópico da programação linear scipy. Em seguida, obteremos o conhecimento da sintaxe para a declaração desta função no script python com seus parâmetros quase possíveis. E então a função é implementada com a ajuda de exemplos.

Sintaxe:

A sintaxe para a função de programação linear círculo no script Python pode ser escrita da seguinte forma:

$ scipy.otimizar.LinProg (c, a_ub = nenhum, b_ub = nenhum, a_eq = nenhum, b_eq = nenhum, limites = nenhum, método = 'alta', retorno de chamada = nenhum, opções = nenhum, x0 = nenhum, integralidade = nenhum)


Na função mencionada anteriormente, o parâmetro “C” é a matriz de uma dimensão que possui as informações sobre os coeficientes dessa função linear que queremos minimizar através da programação linear. Os próximos parâmetros, "A_UB" e "B_UB", são os parâmetros opcionais. Ambos são as matrizes bidimensionais e uma dimensional, respectivamente, onde A_UB fala sobre a matriz de restrição de desigualdade na variável "X" do sistema de equações lineares. Enquanto B-Ub é um vetor de restrição de desigualdade para o valor de A_UB em correspondência.

O parâmetro "Sequência" mostra o limite superior e o limite inferior para a maximização ou a minimização de cada elemento no x. O parâmetro final é o "método" que é opcional, mas isso especifica o algoritmo padrão para resolver o problema. Seu valor é "alto" por padrão.

Valor de retorno:

A função de programação linear retorna os valores como a matriz unidimensional que é resultado da solução específica para minimizar a função objetiva depois de satisfazer as possíveis restrições na função.

Exemplo 1:

Vamos resolver um sistema linear de desigualdades e usar a programação linear da Scipy para encontrar a solução para minimizar a função objetiva desse sistema. Antes de mudar para escrever o código, lembre-se de que escreveremos o programa no "Google Collab", que é reconhecido como uma plataforma Python online de código aberto com todos os pacotes de Python pré-instalados.

Vamos começar criando um novo caderno no programa. Antes de escrever o programa, temos que definir ou levar o sistema das equações lineares. Para esse fim, pegamos o seguinte sistema linear e trabalhamos para minimizar essa função com todas as suas restrições usando programação linear:

Minimizar y = 5x1 + 10x2 +15x3

de tal modo que :


Temos que minimizar o "y" com todas as suas restrições. Somos obrigados a importar as informações relevantes para a programação linear e a matriz para o nosso programa. Para isso, importamos os dois pacotes importantes de T “Numpy” que lida com a definição e as funções da matriz. O segundo é o "atributo de otimizar" da círculo da qual importamos a função "LinProg".

Quando terminamos essas bibliotecas, declaramos e definimos as equações do sistema linear anteriormente mencionado. Em primeiro lugar, definimos o "y" que atua como o coeficiente para o vetor objetivo linear, "y". Ligue para o “NP. matriz ”e passe todos os coeficientes de y para os elementos da matriz como“ np. Array ([5, 10, 15]) ”.

Agora, definimos a matriz de restrição de desigualdade para este sistema linear. Que é definido no formulário usando o “NP de Numpy. matriz ([]) ”Método. Esta matriz tem os elementos como “np. Array ([-1, -1, -1], [-1, 1, 0], [0, 0, 15], [-1, 0, 0], [0, -1, 0], [0 , 0, -1]) ”. Salvamos esta matriz como "a_ub". Depois disso, definimos o "b_ub". Os valores de B_UB são “np.Array ([-1050, 0, -340, 0, 0, 0]) ”. Para encontrar a solução ideal para este exemplo, chamamos a função "Linear Programming ()" e passamos a matriz "A_UB", o vetor "B_UB" e o coeficiente "C" para o parâmetro da função como "LinProg (C, a_ub, b_ub) ”. Então, exibimos os resultados. O programa para este exemplo foi escrito na forma de código Python com sua saída da seguinte maneira:

importar numpy como np
de Scipy.Otimize a importação 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 ideal:', redonda (resultado.diversão, ndigits = 2),
'\ nx valores:', resultado.x,
'\ nNumber of iterações:', resultado.nit,
'\ nstatus:', resultado.mensagem)


Conclusão

Neste editorial, cobrimos o tópico de "programação linear círculo". Discutimos o que é a programação linear e por que precisamos. Em seguida, conversamos sobre a sintaxe dessa função e aplicamos essa função a um sistema linear de desigualdades para encontrar sua solução otimizada.