我試圖對一個系統組件的操作進行建模,該組件將有兩種操作模式,我們稱它們爲1和2,再加上空閒模式0連續變量塊在混合整數線性編程中具有相同的值
怠速沒有限制,但每個操作模式將持續正好3個時間序列點,所以x_ {i} = 1意味着x_ {i + 1} = x_ {i + 2} = 1(無法發佈圖像,請使用下面的方程中的鏈接) operation mode 1
同樣適用於操作模式2
例如。 011102220是有效的,但是01110220不是。
111111或222222無效,但這是在其他資源相關約束(系統將沒有足夠的資源來操作超過3個時間系列點)時處理的,所以只要涉及到在變量數組中強制三個連續的1或2s是地址,應該沒問題。
由於提前,
感謝您的快速回復! 你能詳細介紹一下你的代碼的第二塊嗎? !start_block v X [x]部分是否使start_block [x]爲0以指示X中的三個連續的1? – BeWater
不,它說:如果start_block [x] == 1 - >在x的pos x,x + 1,x + 2處將會有1。因此,它取決於您的剩餘模型如何合併它(一般流程是:start-block意味着X上的東西;因此可能start_block是在其餘模型中使用的變量)。在代碼塊中,只有最後一部分是相關的。上面的兩個模塊只是爲了顯示它來自哪裏。 – sascha
如果您需要某些其他方向的效果,您可以始終對其進行建模(例如,從X到start_block)。但對於至少3個大小的這種特殊情況,這個方向非常實用。 – sascha