Encontre o ótimo global
Você recebeu o seguinte problema de maximização de lucro e precisa encontrar o máximo global.
\(\Pi= -\frac{1}{4}q^4 + 11q^3 - 160q^2 + 900q\)
\(0\) é um limite inferior natural para a quantidade e você observou que em \(q=30\) o lucro é negativo, então \(30\) é um bom candidato a limite superior.
Encontre o ótimo global para este problema.
basinhopping já foi importado para você.
Este exercício faz parte do curso
Introdução à Otimização em Python
Instruções do exercício
- Defina o dicionário
kwargsde argumentos nomeados, com limites \(0\) e \(30\). - Execute
basinhopping, com o objetivo como o negativo deprofite passando o palpite inicialx0paraminimizerviakwargs.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def profit(q):
return -q**4 / 4 + 11 * q**3 - 160 * q**2 + 900 * q
x0 = 0
# Define the keyword arguments for bounds
kwargs = {"bounds": [(____, ____)]}
# Run basinhopping to find the optimal quantity
result = basinhopping(____ q: -profit(q), ____, ____=kwargs)
print(f"{result.message}")
print(f"The maximum according to basinhopping(x0={x0}) is at {result.x[0]:.2f}\n")