How to solve it : modern heuristics - Michalewicz, Zbigniew (Springer, 2004)