I read this book while taking an advanced class in heuristics. I found the book to be extremely well written and very compelling to read. Although dealing with advanced topics, the authors' friendly and clear writing style makes it accessible to anyone with a CS background.
The first half of the book is on search heuristics, covering methods such as traditional searches (exhaustive search, greedy algorithms, divide and conquer, dynamic programming, A*, etc), methods to escape local optima (simulated annealing, tabu search), and, perhaps most interesting of all, evolutionary algorithms. I later found out that these topics are typically taught in undergraduate artificial intelligence courses, an elective I never took. The second half of the book covers even more advanced areas, such as contraint-handling, neural networks, and fuzzy systems.
The authors use three recurring example applications to demonstrate each search technique: the boolean satisfiability problem (SAT), travelling salesman (TSP), and a nonlinear programming problem (NLP). I really liked the consistent use of these three examples, as they give a sense of continuity throughout the book that helps the reader compare search techniques clearly. I had of course studied the TSP problem in my undergraduate algorithms class but never in the context of such interesting approximation algorithms. In my heuristics class we had assignments to implement the TSP search problem using the Lin-Kernighan method, dynamic programming, and an evolutionary algorithm.
The written English in this book is simply outstanding and crystal-clear, which was something of a shock since I was unable to even pronounce the first author's name. The writing is in a very friendly tone with elements of humour dispersed throughout. Interestingly, in the summary chapter, there is an anecdote on the 1980s TV show Magnum PI (I even remember the mentioned scene myself), further revealing the friendly, plain-English tone of the book. Perhaps the best part of the book is that the numerical mathematical discourse is kept at a minimum (used largely for the NLP problems), so people who haven't taken calculus in ages (like me) can easily enjoy the book.
As an added bonus(!), between each chapter is a brain-teaser problem like those found in those legendary Microsoft interview questions.
My only complaint is that there is no simple analysis of the running time complexity of each algorithm, which even in its simplest form would have been a great thing to read about.
In summary, this book is an excellent read if you enjoy the topics covered. Highly recommended.