这正是我的情况:
假设变量x[t]
的NonNegativeInteger小于或等于3。
因此x[t]
可以是{0,1,2,3}
。它由时间序列索引。
我想防止x[t]
交替出现。
表示我想禁止
x[0] = 0
x[1] = 1
x[2] = 0
而且
x[0] = 1
x[1] = 2
x[2] = 1
和
x[0] = 2
x[1] = 3
x[2] = 2
我正在寻找禁止这样做的约束。该约束必须包含三个时间步骤。
我尝试了一些约束。我不确定是否可以通过简单的约束来实现。
也许我必须添加一个变量才能使其正常工作。您是否有处理此类问题的经验?
先谢谢您!
答案 0 :(得分:0)
您可以通过以下限制条件确保升序或降序:
x [t] + M(y-1)<= x [t + 1]
x [t] +我的> = x [t + 1]
y:二进制变量(所有方程式中都使用y)
M:大数字(大于可能的最大值)