scipy.optimize模块提供了scipy.optimize.minimize函数,可以找到最小化目标函数的值。但是没有scipy.optimize.maximize函数。为什么?我该如何使用SciPy解决最大化问题?
scipy.optimize模块提供了scipy.optimize.minimize函数,可以找到最小化目标函数的值。但是没有scipy.optimize.maximize函数。为什么?我该如何使用SciPy解决最大化问题?
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))
打印出 "最大值 1.0 在 [1.57079632] 处达到"。