Python 将不同长度的参数列表传递给scipy.optimize.minimize(了解参数)
我想了解提供给scipy.optimize.minimize的参数。我把我的优化称为Python 将不同长度的参数列表传递给scipy.optimize.minimize(了解参数),python,optimization,scipy,Python,Optimization,Scipy,我想了解提供给scipy.optimize.minimize的参数。我把我的优化称为 res = minimize(func, para_init, method= 'SLSQP', constraints=cons) para_init看起来像是,[x,y,np.数组([a,b,c]),np.数组([e,f]),cons是一个约束字典func()接受para_init中列出的所有参数,并给出一个标量对象。但是,我面临以下问题: 1) 错误:value错误:使用序列设置数组元素 2) 我想指
res = minimize(func, para_init, method= 'SLSQP', constraints=cons)
para_init
看起来像是,[x,y,np.数组([a,b,c]),np.数组([e,f])
,cons是一个约束字典func()
接受para_init
中列出的所有参数,并给出一个标量对象。但是,我面临以下问题:
1) 错误:value错误:使用序列设置数组元素
2) 我想指定xtol=0.001,ftol=0.001,bounds=None,jac=None
,如果我简单地将这些行添加到minimize()
,它会抱怨为TypeError:minimimize()得到了一个意外的关键字参数“xtol”
。此外,我还希望有以下规范options={'maxiter':100,'disp':True}
,但我还发现了类似的意外关键字错误
感谢您的帮助。发件人:
scipy.optimize.minimize(fun,x0,args=(),method=None,jac=None,hess=None,hessp=None,bounds=None,constraints=(),tol=None,callback=None,options=None)
minimize()
需要两个位置参数:fun
和x0
此外,它没有xtol
或ftol
关键字参数,但有tol
关键字arg(终止容差)
xtol
、ftol
、maxfev
特定于所使用的方法。特别是Nelder-Mead方法的特殊性,并且不适用于您正在使用的方法(SLSQP)
方法特定选项可通过选项
dict提供
因此,你应致电:
res=minimize(func,x0,args=para_init,method='SLSQP',constraints=cons,bounds=…,jac=…,options={…})
发件人:
scipy.optimize.minimize(fun,x0,args=(),method=None,jac=None,hess=None,hessp=None,bounds=None,constraints=(),tol=None,callback=None,options=None)
minimize()
需要两个位置参数:fun
和x0
此外,它没有xtol
或ftol
关键字参数,但有tol
关键字arg(终止容差)
xtol
、ftol
、maxfev
特定于所使用的方法。特别是Nelder-Mead方法的特殊性,并且不适用于您正在使用的方法(SLSQP)
方法特定选项可通过选项
dict提供
因此,你应致电:
res=minimize(func,x0,args=para_init,method='SLSQP',constraints=cons,bounds=…,jac=…,options={…})
minimize
有两个必需的参数:要最小化的函数和初始猜测。你没有提供后者。看见考虑调用<代码> SISPY。直接优化FMIN SLQPP < /代码>。因为参数语义不依赖于优化方法,所以更清晰。换句话说,minimize
通过将前者的参数分配给后者来调用其他函数(例如,fmin_slsqp
),这使得minimize
难以简洁全面地记录。minimize
有两个必需的参数:要最小化的函数和初始猜测。你没有提供后者。看见考虑调用<代码> SISPY。直接优化FMIN SLQPP < /代码>。因为参数语义不依赖于优化方法,所以更清晰。换句话说,minimize
通过将前者的参数分配给后者来调用其他函数(例如,fmin_slsqp
),这使得minimize
很难简洁而全面地记录文档。第一个错误是因为必须提供初始猜测作为第二个参数。第二个错误是因为xtol
和ftol
不是要最小化的参数tol
可能是您在那里寻找的参数。总的来说,阅读手册页:我犯了错误,我编辑了,错误地使用了args=para_init
,我想para_init
作为我的初始猜测,没有额外的参数或参数。第一个错误是因为必须提供初始猜测作为第二个参数。第二个错误是因为xtol
和ftol
不是要最小化的参数tol
可能是您在那里寻找的参数。总的来说,阅读手册页:我犯了错误,我编辑了,错误地使用了args=para_init
,我想para_init
作为我的初始猜测,没有额外的参数或参数。第一个错误是因为必须提供初始猜测作为第二个参数。第二个错误是因为xtol
和ftol
不是要最小化的参数tol
可能是您在那里寻找的参数。总的来说,阅读手册页:我犯了错误,我编辑了,错误地使用了args=para_init
,我想para_init
作为我的初始猜测,没有额外的参数或argsThanks,请查看Error1(没有args)mescalimum中的编辑,xtol
和ftol
SLSQP选项?我不相信他们是。事实上,他们是为纳尔-米德方法。OP似乎有很多东西出了问题谢谢,请查看Error1(没有参数)mescalinum中的编辑,是xtol
和ftol
SLSQP选项吗?我不相信他们是。事实上,他们是为纳尔-米德方法。OP似乎有很多东西出了问题谢谢,请查看Error1(没有参数)mescalinum中的编辑,是xtol
和ftol
SLSQP选项吗?我不相信他们是。事实上,他们是为纳尔-米德方法。看来这次行动得到了不少好处