git-subtree-dir: software/mza git-subtree-split: f970a59b177c13ca3dd8aaef8cc6681d83b7e813
8 lines
285 B
MiniZinc
8 lines
285 B
MiniZinc
predicate fzn_if_then_else_float(array[int] of var bool: c, array[int] of float: x, var float: y) =
|
|
let {
|
|
array[index_set(c)] of var 0..1: d;
|
|
} in
|
|
forall (i in index_set(c)) (sum(j in 1..i-1)(c[j])+d[i] >= c[i]) /\
|
|
sum(d)=1 /\
|
|
y = sum (i in index_set(c)) ( d[i]*x[i] );
|