Text this: Essentials of constraint programming / Thom Frühwirth, Slim Abdennadher.