似乎 scipy.minimize 可以找到无界函数的最小值。
>>> import numpy as np
>>> from scipy.optimize import minimize
>>> def fun(y):
... return y
...
>>> res = minimize(fun, np.array([0.0]), method='SLSQP')
>>> res
status: 0
success: True
njev: 14
nfev: 42
fun: array([ -3.05175781e+08])
x: array([ -3.05175781e+08])
message: 'Optimization terminated successfully.'
jac: array([ 0., 0.])
nit: 14
需要明确的是,这个函数在下面是无界的,并且没有最小值。任何人都知道为什么 scipy.minimize 与 SLSQP 成功终止?我应该将 -3e8 解释为负无穷大吗?这并不能激发太多的信心。