繁体   English   中英

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

[英]How to assign dummy binary variables in PYOMO

假设我有两个实变量: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

我的方法是 cons1: x>=X cons2: y>=Y cons3: x+y==1

但以上似乎不起作用,x 和 y 的值是随机的。

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

M_x * x >= XM_y * y >= Yx + y == 1其中 M_x 和 M_y 是您设置为不会不必要地绑定 X 和 Y 的值的常量。这些约束不会限制X 和 Y 的值变为 1,当 X > 0 时使 x = 1,当 Y > 0 时使 y = 1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM