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