小编use*_*724的帖子

Python最小化函数:将附加参数传递给约束字典

我不知道如何通过最小化函数将其他参数传递给约束字典.我可以成功地将其他参数传递给目标函数.

上最小化函数文档是在这里:http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize

constraints参数是一个包含字段'args'的字典,其中args是一个序列.我确定这是我需要传递其他参数但我不知道语法的地方.我最接近的是:

from scipy.optimize import minimize
def f_to_min (x, p):
    return (p[0]*x[0]*x[0]+p[1]*x[1]*x[1]+p[2])

f_to_min([1,2],[1,1,1]) # test function to minimize

p=[] # define additional args to be passed to objective function
f_to_min_cons=({'type': 'ineq', 'fun': lambda x, p : x[0]+p[0], 'args': (p,)}) # define constraint

p0=np.array([1,1,1])
minimize(f_to_min, [1,2], args=(p0,), method='SLSQP', constraints=f_to_min_cons)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-19-571500063c9e> in <module>()
      1 p0=np.array([1,1,1])
----> 2 minimize(f_to_min, [1,2], args=(p0,), method='SLSQP', constraints=f_to_min_cons)

C:\Python27\lib\site-packages\scipy\optimize\_minimize.pyc in minimize(fun, x0, args,     method, jac, hess, hessp, bounds, …
Run Code Online (Sandbox Code Playgroud)

python minimize scipy python-2.7

6
推荐指数
1
解决办法
7792
查看次数

标签 统计

minimize ×1

python ×1

python-2.7 ×1

scipy ×1