如何在PYOMO中分配伪二进制变量

2024-09-20 23:03:06 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个实变量:X&;Y和两个二进制变量x&;y

我想添加以下约束pyomo:

when X>0 x--->1 else x-->0
when Y>0 y--->1 else y-->0
and x+y==1

我的方法是 结论1: x>=X 结论2: y>=Y 结论3: x+y==1

但上述方法似乎不起作用,x和y的值是随机的


Tags: and方法gt二进制elsepyomoampwhen
1条回答
网友
1楼 · 发布于 2024-09-20 23:03:06

前两个条件需要大的M约束。你可以试试类似的东西

M_x * x >= XM_y * y >= Yx + y == 1其中M_x和M_y是常数,您将其设置为不会不必要地绑定x和y的值。这些约束不会将x和y的值限制为1,当x>;当y>;0.

相关问题 更多 >

    热门问题