我有一個任務列表,它們之間有一些相互依賴關係。 9個任務。 每個cpu組6個cpu 2。 有三個組p1,p2,p3。Minizinc中的ReifiedConstraint
cost p1=4
COST p2=5
COST P3=2
給出了不同CPU在不同任務下的執行時間。 我們必須在任務之間傳輸數據。我們將使用點對點鏈接。 我們需要購買兩個cpu之間的點對點鏈接,它將花費我們1美元,我們可以稍後重複使用這些鏈接。
問題: 我想指定這些約束。 r1!=r4 <=> b14=1; b14
是任務1和4之間通信的通信時間。 我還需要爲鏈接付費。 r1:分配給CPU任務1。
if r1!=r4 then cost[r1][r4]=1;
任何人都可以告訴我如何在Minizinc中指定這兩個約束? 我不想使用如果然後約束,如果我可以使用reified的一切,它會更好。