【问题标题】:python scipy.optimize.minimize "SLSQP solver" adding constraint between xopython scipy.optimize.minimize“SLSQP求解器”在xo之间添加约束
【发布时间】:2021-04-24 02:54:16
【问题描述】:

我想使用 SLSQP 求解器优化功能。该函数包含5个参数,我想添加一个约束x[0] > x[3]。以下代码生成x[0]=x[3]。你能帮我把它修改成“x[0] > x[3]

cons = {'type':'eq', 'fun': lambda x: x[0] - x[3]} 

res = minimize(model_calib, xo, bounds=[(100,8000),(0,650),(0,1),(5,550),(0,3)], method='SLSQP',constraints = cons)

最好的问候,

【问题讨论】:

标签: python


【解决方案1】:

正如你在@Cory Kramer 的评论中提到的那样

cons = {'type':'ineq', 'fun': lambda x: x[0] - x[3]} 

【讨论】:

  • 从技术上讲,这是>= 0 而不仅仅是 OP 要求的 > 0
  • 可能是 'lambda x: x[0] - x[3]*(1 + 1e-15)' 在这里有帮助。
  • 感谢您的支持@balezz 请问这个解决方案可以回答 x[3] > x[0]????
  • 我没有model_calib功能,所以无法检查这个解决方案。自己尝试并写下会发生什么。
猜你喜欢
  • 2016-02-04
  • 2016-10-13
  • 2016-06-24
  • 2019-04-10
  • 1970-01-01
  • 2021-10-26
  • 2015-01-02
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多