How to Solve It: Modern Heuristics 
This book is the only source that provides comprehensive, current, and correct information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic programming, the simplex method, and gradient techniques, as well as recent innovations such as simulated annealing, tabu search, and evolutionary computation. Integrated into the discourse is a series of problems and puzzles to challenge the reader. The book is written in a lively, engaging style and is intended for students and practitioners alike. Anyone who reads and understands the material in the book will be armed with the most powerful problem solving tools currently known.
This second edition contains two new chapters, one on coevolutionary systems and one on multicriterial decision-making. Also some new puzzles are added and various subchapters are revised.
Reviews
The logic is that when you do a craft work, you do pick the appropriate tool from your tools box, but you don't grasp a tool and then find a job to go with it, which is the case when you can only handle this tool.
The book is a good complement to various standard algorithm texts, like those by Sedgewick, Aho and Knuth. You can consider this book as standing a level above those. [Though Knuth's books also do an excellent job of suggesting when to use or modify algorithms. ]
The level of discussion here is not of a strict, heavy mathematical approach. It can be read as informal guidelines, that discuss the gist of such ideas as simulated annealing and evolutionary methods. There is a wide range of example problems, to motivate you in understanding what might be used to solve them.
