タスクのリストがあり、それらの間には相互依存性があります。9つのタスク。各 cpu グループから 6 cpu 2。3 つのグループ p1、p2、p3 があります。
cost p1=4
COST p2=5
COST P3=2
異なる CPU での異なるタスクの実行時間が与えられます。タスク間でデータ データを転送する必要があります。ポイントツーポイントリンクを使用します。2 つの CPU 間のポイント ツー ポイント リンクを購入する必要があり、コストは 1 です。これらのリンクは後で再利用できます。
問題: これらの制約を指定したい。
r1!=r4 <=> b14=1; b14
は、タスク 1 と 4 の間の通信の通信時間です。リンクのコストも必要です。r1: cpu タスク 1 が割り当てられています。
if r1!=r4 then cost[r1][r4]=1;
Minizinc でこれら 2 つの制約を指定する方法を教えてもらえますか? if then 制約を使用したくありません。