Book Description
An introduction to the methods of designing algorithms for hard computing tasks, concentrating mainly on approximate, randomized, and heuristic algorithms, and on the theoretical and experimental comparison of these approaches according to the requirements of the practice. This is the first book to systematically explain and compare all the main possibilities of attacking hard computing problems. It also closes the gap between theory and practice by providing at once a graduate textbook and a handbook for practitioners dealing with hard computing problems.