各位先進,
假設有4個工作,內容為整數集合,分配給2台機器,同機器同事項處理一次即可,例如Job1={1,2,3}, Job2={2,3,4}分配給機器1只需要花4單位時間
求4個工作如何分配,最大完工時間?union始終無法給予條件
{int} Job[1..4] = [{1,2,3},{2,3,4},{5,6,7},{6,7,8}];
dvar int x[1..2][1..4] in 0..1;
//objective function
dexpr int cost=max(i in 1..2) card(union(j in 1..4: x[i][j]==1) Job[j]);
//model
minimize cost;
subject to
{ c1:
forall (j in 1..4)
sum(i in 1..2) x[i][j] == 1;
}
execute {
writeln("x="+x.solutionValue);
}