Conditional union

35 views
Skip to first unread message

wang...@gmail.com

unread,
Aug 9, 2017, 11:20:46 AM8/9/17
to CPLEX中文学习交流论坛
各位先進,

假設有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);
}
Reply all
Reply to author
Forward
0 new messages