An F model of the All Interval Series Problem (CSPlib prob022)


s: {int};         % s={1,2,...,n}
zn: {int};        % zn={0,1,...,n-1}
v: {int};         % v={1,2,...,n-1}
znbutzero: {int}; % znbutzero={1,2,...,n-1}
var F: s->zn;
var G: v-znbutzero;
solve{
  bijective(F);
  bijective(G);
  forall(i in v)  G(i) = abs(F(i+1) - F(i))};



this model appears in: Brahim Hnich, "Function Variables for Constraint Programming"