使用 scipy.optimize 最大化目标函数

Gae*_*tan 0 python mathematical-optimization scipy

scipy.optimize 模块具有 scipy.optimize.minimize,它允许找到最小化目标函数的值。但是没有 scipy.optimize.maximize。为什么?如何使用 SciPy 解决最大化问题?

小智 6

为了最大化f,我们最小化-f。一个小例子,最大化f正弦函数:

from scipy.optimize import minimize
import numpy as np
f = lambda x: np.sin(x)  # function to be MAXIMIZED
res = minimize(lambda x: -f(x), 0)
print('Maximum {} attained at {}'.format(-res.fun, res.x))
Run Code Online (Sandbox Code Playgroud)

打印“在 [1.57079632] 处达到的最大值 1.0”。