Constraint Programming
Constraint programming allows one to easily solve many real world NP-Complete problems that would be very difficult without the CSP techniques. 

Logic programming is an ideal platform for developing CSP solvers and all the problems in this collection have been written in
BProlog.  For compatibiliy with other Prolog compilers, the implementations do not use more advanced features like Arrays or Hash Tables and most of the code relies on standard predicates.

Simple puzzles

Intermediate problems

CSP Lib benchmark problems
Links:
CSP Lib
York Univ. Course
Programming with Constraints:
An Introduction (K. Marriot, P.Stuckey)
Constraint Programming (by R. Bartak)
Contact Info:
Name: George Rabanca
Email: grabanca(at)gmail(dot)com
Hosted by www.Geocities.ws

1