How to solve it : Modern heuristics - Michalewicz, Zbigniew (Springer, 2002)