我遇到了:conditional constraint in optimization
它很接近,但不够清楚,我无法翻译成我的特定用例。
我需要什么(约束明智):
if x < M:
then x = 0
else x = x
另一种表达方式:
X = {x: x=0 or x>M}
我想设置最小x但是对于优化算法仍然可以考虑x = 0的值。
以下是代码:
cons = ({'type': 'ineq', 'fun': lambda x: np.array(____constraint - est___(x))},
{'type': 'ineq', 'fun': lambda x: np.array(main.max____ / 100 - (x))},
{'type': 'ineq', 'fun': lambda x: np.array((x) - 5)})
x0 = np.zeros(len(master____optimization_table))
res = minimize(___model, x0, constraints=cons, options=opts)
*这些函数计算我们正在约束的重要指标。我唯一需要帮助的是第三行约束。
如果可能的话,这似乎非常有用。