An F model of Langford's Number Problem (CSPlib prob022)


n:int; m:int;
digits:{int}        % digits={1,2,..,m}
rep:{int}           % rep={1,2,..,n}
occ: {int};         % occ={1,2,...,n*m}
pos: {int}     % pos={1,2,...,n*m}
var Arrange:occ->pos;
solve{
  bijective(Arrange);
  forall(i in digits)
    forall(j in rep: j <n)
        { Arrange(i+(j-1)*m) < Arrange(i+j*m);
          Arrange(i+j*m)- Arrange(i+(j-1)*m) = i;
        };
  };



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