我想解決一個問題,那裏有一組需要在特定時間點之間移動的對象。這可以用混合整數線性規劃來形式化嗎?
我已經能夠正式大部分的約束線性規劃的方面,即:
object1FirstDepartureTime > X
object1FirstArrivalTime < Y
object1FirstArrivalTime - object1FirstDepartureTime > Z
object1SecondDepartureTime - object1FirstArrivalTime > A
而且等等等等所有對象及其所有抵港/離港。目標函數將是在運輸中花費最少或最可能的時間。
我遇到的問題是有一個額外的限制:某些對象需要伴隨其他對象的行程持續時間。例如,object1可能伴隨着object2,object3或object4。這些物體本身有一定的到達或離開限制。我想讓我的(也許是混合整數)線性程序能夠處理伴隨對象的拾取。但是,在嘗試正式確定這一點時,我無法想出一種保持線性的方法。我想到的混合整數約束樣
object2GoWIthObject1 + object3GoWithObject1 + object4GoWithObject1 < 2
object2GoWIthObject1, object3GoWithObject1, object4GoWithObject1 are all less than 2
object2GoWIthObject1, object3GoWithObject1, object4GoWithObject1 are all integers
但我無法弄清楚如何表達,如「如果對象2老毛病對象1,它會在時間X離開與對象1,並且在時間到達ÿ限制「。這看起來是非線性的,因爲我會乘以布爾變量(如果對象2伴隨着對象1)乘以旅行時間。
當然,我可以爲每個「if ... then ...」語句創建不同的線性問題,但是使用60個伴隨路徑和10個伴隨對象,這會導致10^60個線性程序來解決,這並不好。
如果有人有任何直覺如何形式化這個線性規劃問題,以便決定「會X陪Y?」可以在問題本身表達,我會非常感激!