How to Solve It : modern Heuristics - Michalewicz, Zbigniew, 1952- (Springer, 2004)