Python scipy.optimize.minimize不';行不通
我正在尝试Python中的优化函数Python scipy.optimize.minimize不';行不通,python,scipy,mathematical-optimization,Python,Scipy,Mathematical Optimization,我正在尝试Python中的优化函数scipy.optimize.minimize。从结果来看,它不起作用。这是我代码的一部分。我只想最小化两个值的差平方和 def calibrate(x): # Real equity value and equity volatility from market data equity_val = 30.0 equity_vol = 0.556 diff_s = 10000*(geske(x)[0]-equity_
scipy.optimize.minimize
。从结果来看,它不起作用。这是我代码的一部分。我只想最小化两个值的差平方和
def calibrate(x):
# Real equity value and equity volatility from market data
equity_val = 30.0
equity_vol = 0.556
diff_s = 10000*(geske(x)[0]-equity_val)**2
diff_vol = 10000*(geske(x)[1]-equity_vol)**2
diff = diff_s+diff_vol
return diff
# Here geske is a function defined before, which takes two input parameter and returns several values
bnds = ((0,None), (0,None))
opt = sco.minimize(calibrate, [100,0.3], method='SLSQP', bounds=bnds)
但是,opt
的结果如下:
从结果来看,优化函数似乎不起作用,它只返回我给出的初始猜测值。为什么?校准功能中是否有错误?您的猜测可能只是最小值。我想测试一些值,但您没有包括
geske
函数。在我要最小化的函数中,它是差的平方和。因此,最小值应为零。此外,我调用的最小化函数是“calibrate”,它将调用geske函数。如果没有该函数,就真的无法提供帮助。最小化函数显示了一系列奇怪的行为。@DavidMaust-好的观点?为什么雅可比长度是3?对于2D问题,我认为它应该是不同的大小和形状。我的猜测是OP试图使用最小化
来解决离散问题。您的猜测可能只是最小值。我想测试一些值,但您没有包括geske
函数。在我要最小化的函数中,它是差的平方和。因此,最小值应为零。此外,我调用的最小化函数是“calibrate”,它将调用geske函数。如果没有该函数,就真的无法提供帮助。最小化函数显示了一系列奇怪的行为。@DavidMaust-好的观点?为什么雅可比长度是3?对于二维问题,我认为它应该是一个不同的大小和形状。我的猜测是OP试图使用最小化
来解决离散问题。