PA163 Constraint programming