Python 带有scipy.optimize.minimize的TypeError numpy.ndarray(';numpy.ndarray';对象不可调用)
我的环境是Python 3.74,运行SciPy 1.3.1和NumPy 1.17.2。 我正在尝试使用scipy.optimize.minimize函数来找到一个约束非线性多变量函数的最小值,我将其构建为Python 带有scipy.optimize.minimize的TypeError numpy.ndarray(';numpy.ndarray';对象不可调用),python,python-3.x,numpy,scipy,minimization,Python,Python 3.x,Numpy,Scipy,Minimization,我的环境是Python 3.74,运行SciPy 1.3.1和NumPy 1.17.2。 我正在尝试使用scipy.optimize.minimize函数来找到一个约束非线性多变量函数的最小值,我将其构建为cost()。 当我尝试运行以下代码摘录时,遇到了一个TypeError: constraints = [ {'type' : 'ineq', 'fun' : AA}, {'type' : 'ineq', 'fun' : Ev}, {'type' : 'eq', 'fu
cost()
。
当我尝试运行以下代码摘录时,遇到了一个TypeError
:
constraints = [
{'type' : 'ineq', 'fun' : AA},
{'type' : 'ineq', 'fun' : Ev},
{'type' : 'eq', 'fun' : Aeq},
{'type' : 'eq', 'fun' : Beq}
]
bnds = ((-5, 5))
z = minimize(lambda z: cost(z,to), x0=z0, constraints=constraints, method='SLSQP')
AA为(96,48),数值范围为-0.5至0
Ev为(96,1),值为3和5
Aeq为(5,1),全部为-0.5
贝基是0
我认为问题是,没有一个像美国那样是“可调用的”。如果是这样的话,我该怎么做呢
回溯如下:
Exception has occurred: TypeError
'numpy.ndarray' object is not callable
File "C:\Users\Jack\AppData\Roaming\Python\Python37\site-packages\scipy\optimize\slsqp.py", line 313, in <listcomp>
for c in cons['eq']]))
File "C:\Users\Jack\AppData\Roaming\Python\Python37\site-packages\scipy\optimize\slsqp.py", line 313, in _minimize_slsqp
for c in cons['eq']]))
File "C:\Users\Jack\AppData\Roaming\Python\Python37\site-packages\scipy\optimize\_minimize.py", line 608, in minimize
constraints, callback=callback, **options)
File "F:\[redactedpath]\main.py", line 125, in <module>
z = minimize(lambda z: cost(z,to), x0=z0, constraints=constraints, method='SLSQP')
File "C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\Lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\Lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
发生异常:TypeError
“numpy.ndarray”对象不可调用
文件“C:\Users\Jack\AppData\Roaming\Python37\site packages\scipy\optimize\slsqp.py”,第313行,在
对于cons['eq']]中的c)
文件“C:\Users\Jack\AppData\Roaming\Python37\site packages\scipy\optimize\slsqp.py”,第313行,位于slsqp中
对于cons['eq']]中的c)
最小化中的文件“C:\Users\Jack\AppData\Roaming\Python37\site packages\scipy\optimize\\u minimize.py”,第608行
约束,回调=回调,**选项)
文件“F:\[redactedpath]\main.py”,第125行,在
z=最小化(λz:成本(z,to),x0=z0,约束=约束,方法='SLSQP')
文件“C:\Users\Jack\AppData\Local\Programs\Python 37-32\Lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“C:\Users\Jack\AppData\Local\Programs\Python\Python37-32\Lib\runpy.py”,第96行,在运行模块代码中
模块名称、模块规格、组件名称、脚本名称)
文件“C:\Users\Jack\AppData\Local\Programs\Python 37-32\Lib\runpy.py”,第263行,在run\u路径中
pkg_name=pkg_name,script_name=fname)
由于保密原因,我无法提供完整的代码,但如果您需要更多信息,请告知,我会回复。
谢谢。请提供文件的所有代码。您在此处提供的代码不足以让其他人帮助您。您/我们/某人必须找出错误发生的位置,以及什么变量是数组而不是函数。中提供了定义约束的示例。