[英]Searching for MILP constraint to prevent alternation of integer variable
這正是我的情況:假設變量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
我正在尋找禁止這樣做的約束。 該約束必須包含三個時間步驟。
我嘗試了一些約束。 我不確定是否可以通過簡單的約束來實現。
也許我必須添加一個變量才能使它工作。 您是否有處理此類問題的經驗?
先感謝您!
您可以通過以下限制條件確保升序或降序:
x [t] + M(y-1)<= x [t + 1]
x [t] +我的> = x [t + 1]
y:二進制變量(在所有方程式中使用相同的y)
M:大數(大於可能的最大值)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.