Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include "globals.mzn";
- int: n;
- array[1..n] of var 0..n-1: interval;
- array[1..n-1] of var 1..n-1: differences;
- constraint
- %forall (i, j in 1..n where i != j)
- % (interval[i] != interval[j])
- alldifferent(interval)
- /\
- forall (i in 1..n-1)
- (abs(interval[i] - interval[i+1]) = differences[i])
- /\
- %forall (i, j in 1..n-1 where i != j)
- % (differences[i] != differences[j])
- alldifferent(differences)
- /\
- interval[1] < interval[n]
- ;
- solve :: int_search (interval, occurrence, indomain_min, complete) satisfy;
- output [show(interval), show(differences)];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement