从AMPL中的另一个变量创建的变量

时间:2013-05-08 20:24:00

标签: ampl

在AMPL中我有一组变量x [e],对于某些计算,我需要一个二进制变量w [e],当x [e]>时,它等于1。 0和0,如果x [e] = 0.我尝试了很多东西来制定这个约束,但我没有想出一些东西。这可能吗?

1 个答案:

答案 0 :(得分:1)

我已通过以下方式解决了您的问题:

var u  binary;

这是我们的二进制变量,它将是0或1。 然后我们提出以下约束:

subject to U_constraint :
    x <= 999999 * u;

现在当x = 0时,AMPL将使u = 0,当x!= 0时,u = 1。