对于我的约束问题,我想使用Scipy Trusted Constr算法,因为我有一个多变量的约束问题。我不想/不能分析地计算雅可比/黑森函数,然后计算它。 但是,设置边界时,雅可比矩阵的计算将崩溃:
File "C:\Python27\lib\site-packages\scipy\optimize\_trustregion_constr\tr_interior_point.py", line 56, in __init__
self.jac0 = self._compute_jacobian(jac_eq0, jac_ineq0, s0)
File "C:\Python27\lib\site-packages\scipy\optimize\_trustregion_constr\tr_interior_point.py", line 164, in _compute_jacobian
[J_ineq, S]]))
File "C:\Python27\lib\site-packages\numpy\matrixlib\defmatrix.py", line 1237, in bmat
arr_rows.append(concatenate(row, axis=-1))
ValueError: all the input array dimensions except for the concatenation axis must match exactly
使用旧样式边界和最新边界对象时都会发生错误。我可以用这个代码重现错误:
^{pr2}$我认为我只是误解了边界的设置,但找不到我的错误。建议是感激的。在
编辑:我还尝试了文档中的代码示例,它给出了相同的结果。其他方法如SLSQP可以很好地处理边界。在
SciPy版本1.1.0,Python版本2.7.4,OS Win 7 Ent。在
我去掉了你的jac和hess的论点,让它发挥作用了;也许问题就在那里?在
结果是
相关问题 更多 >
编程相关推荐