this repo has no description
at develop 701 B view raw
1predicate fzn_cumulative_opt(array[int] of var opt int: s, 2 array[int] of var int: d, 3 array[int] of var int: r, var int: b) = 4 let { 5 set of int: tasks = 6 {i | i in index_set(s) where ub(r[i]) > 0 /\ ub(d[i]) > 0 }, 7 set of int: times = 8 min([ lb(s[i]) | i in tasks ]) .. 9 max([ ub(s[i]) + ub(d[i]) | i in tasks ]) 10 } 11 in 12 forall( t in times ) ( 13 b >= sum( i in tasks ) ( 14 bool2int( occurs(s[i]) /\ deopt(s[i]) <= t /\ t < deopt(s[i]) + d[i] ) * r[i] 15 ) 16 );