我需要做这样的事情:
d1 == min(d2,d3)
其中d是决策变量。我需要使用Pyomo。在cplex中,解决方案是通过函数minl实现的,如何以Pyomo或等效线性形式实现呢? 我在Google上搜索了一个解决方案,发现我可以断言d1必须小于或等于d2和d3。但这不适合我的问题,因为如果d2和d3等于1,则d1 <= 1,而我需要d1 == 1。
感谢您的答复。
答案 0 :(得分:2)
当 d 变量是二进制变量时,
d1 = min(d2,d3)
与乘法确实一样
d1 = d2*d3
这通常被线性化为
d1 <= d2
d1 <= d3
d1 >= d2+d3-1