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