Exemplo Scipy Minimize

Exemplo Scipy Minimize
Os desenvolvedores estão se voltando para a linguagem de programação do Python e priorizam o aprendizado do Python em relação a qualquer outra linguagem de programação. As funções e bibliotecas na linguagem de programação Python tornam muito fácil e útil para os desenvolvedores escreverem os códigos complicados. Scipy é a biblioteca Python mais usada para equações algébricas, integração, problemas estatísticos, interpolação, equações diferenciais, otimização, etc. Neste artigo, discutimos a função Scipy Minimize para ajudá -lo a entender como a função Scipy Minimize funciona em aplicativos Python.

O que é a função Scipy Minimize na linguagem Python?

O Scipy é uma biblioteca de código aberto, gratuito e fácil de usar que pode ser usado para resolver qualquer tipo de problema técnico, de engenharia, científico e matemático. O Scipy fornece um "minimizar" e várias funções úteis no pacote "otimizar". Uma variedade de algoritmos e funções de otimização está disponível no pacote Scipy Optimize e minimize é um deles.

A função Minimize fornecida pelo pacote Scipy Optimize é uma interface comum usada para funções escalares multivariadas com algoritmos de minimização restritos e sem restrições. É usado para minimizar uma ou mais variáveis ​​de uma função escalar. Sempre que um parâmetro de entrada para uma função precisa ser minimizado, a função minimize da biblioteca de otimizar é usada. A função minimize funciona com vários métodos úteis para minimizar os diferentes tipos de funções.

Sintaxe da função minimize:

A seguir, é apresentada a sintaxe da função de minimizar:

O número de argumentos que a função de minimizar é de até 12. No entanto, a função e "a" são parâmetros necessários e os outros 10 são opcionais. O parâmetro "função" representa o nome da função que deve ser otimizado e o parâmetro "A" representa a matriz de dados. Na próxima seção, mostraremos como minimizar uma função com a ajuda de exemplos úteis e simples.

Exemplo 1:

Vamos começar com um exemplo simples para que possamos ter um entendimento básico de minimizar a função. Conforme discutido anteriormente, dois parâmetros essenciais devem ser fornecidos para minimizar a função - um nome de função e os dados. Portanto, neste exemplo, fornecemos apenas o nome da função e os dados para a função minimizar para entender como a função minimizar funciona. O código de exemplo é especificado a seguir para sua referência:

de Scipy.otimizar a importação minimize, Rosen
Array = [1.5, 9.7, 2.8, 6.2, 3.1]
res = Minimize (Rosen, Array)
Imprimir (res.x)

A partir da primeira linha, a biblioteca scipy, otimizar a função e o método minimize são importados no programa com o “do Scipy.otimizar a importação minimize ”declaração. Lembre -se sempre de que a biblioteca e os pacotes devem ser importados para o programa antes de serem explicitamente chamados. Se você esquecer de incluir a biblioteca em seu programa, você acabará se deparando com erros. Portanto, verifique se você tem todas as bibliotecas e funções incluídas em seu programa antes de ligar para qualquer uma das funções deles.

Depois de importar todas as bibliotecas, você está pronto para fornecer os dados e usar as diferentes funções. Os dados são fornecidos na matriz como números de ponto flutuante. A matriz contém seis números de ponto flutuante e é passado para a função de minimizar. O resultado da função de minimizar é armazenado na variável "res". Para ver o resultado, consulte a seguinte saída dada:

Exemplo 2:

Como você já aprendeu o trabalho básico de minimizar a função com a ajuda do exemplo, vamos usar este segundo exemplo para saber como os parâmetros "método" e "tol" da função minimize funcionam na função minimize. No exemplo anterior, não fornecemos nenhum parâmetro opcional à função. Neste exemplo, vamos dar dois parâmetros opcionais. Consulte o código de exemplo especificado na captura de tela a seguir:

de Scipy.otimizar a importação minimize, Rosen
Array = [1.5, 9.7, 2.8, 6.2, 3.1]
res = Minimize (Rosen, Array, Method = 'Nelder-Mead', tol = 1e-6)
Imprimir (res.x)

Aqui, importamos a biblioteca scipy, otimizamos o pacote, minimizamos e Rosen funcionam com o “From Scipy.Otimizar a importação minimize, Rosen ”Declaração. Depois disso, fornecemos os dados em uma matriz e passamos essa matriz para a função de minimizar. Agora, observe que o nome do método “Neldor-Mead” é passado como o parâmetro “Método” e “1e-6” é passado como o parâmetro “Tol”.

O parâmetro "método" oferece a você fornecer várias funções predefinidas e "Neldo-Mead" é ​​um deles. A função "Neldo-Mead" usa o algoritmo simplex que é robusto em várias aplicações. Para entender a diferença entre a função geral, minimize sem parâmetros opcionais aprovados e com parâmetros opcionais passados, consulte a seguinte saída:

Exemplo 3:

Até agora, aprendemos a usar a função de minimizar com ou sem passar nenhum parâmetros opcionais. Agora, vamos fornecer alguns parâmetros opcionais diferentes para a função de minimizar, para que possamos entender melhor como a função minimizar funciona.

de Scipy.Otimize a importação minimize, Rosen, Rosen_der
Array = [1.5, 9.7, 2.8, 6.2, 3.1]
res = Minimize (Rosen, Array, Método = 'BFGS', Jac = Rosen_der,
opções = 'gtol': 1e-6, 'disp': true)
res.x

Neste exemplo, usamos os métodos "Rosen", "Rosen_der" e "BFGS" para minimizar os dados fornecidos. Novamente, as funções Scipy Library, otimizam o pacote, minimize, Rosen e Rosen_der são importadas no programa com o “From Scipy.Otimizar a importação minimizar, Rosen, Rosen_der ”. Depois disso, os dados são fornecidos na matriz que é passada como um parâmetro de dados para a função minimizar.

Os métodos usados ​​aqui são "BFGs" e "Jac = Rosen_der". O parâmetro "opção" é usado em uma variação, com dois valores. O método BFGS é usado para calcular os vetores de gradiente e é comumente implementado nos métodos quase-Newton. É também o método padrão que é usado pela função Minimize se nenhum método for explicitamente passado na função de minimizar como um parâmetro. A saída do código de amostra é especificada na captura de tela a seguir:

Conclusão

Para encerrar todo esse artigo, aqui está uma rápida recapitulação. Aprendemos sobre o trabalho básico da função minimize na linguagem Python. Python está se tornando o idioma mais popular devido à flexibilidade que oferece. As funções e bibliotecas internas são úteis sempre que você precisa lidar com algum aplicativo complicado. Aqui, aprendemos sobre o pacote de otimizar e a função de minimizar com a ajuda de exemplos de amostra.