Many books describe the application of heuristic optimization methods to a wide variety of optimization problems. However, the process of developing an efficient optimization method for the specific problem at hand seems to be considered a "black art", the domain of optimization specialists. This book focuses on the practitioner and demonstrates how to apply heuristic optimization methods. It is the first book to offer a systematic theory of how to apply and adapt heuristic optimization methods. It breaks down the art of designing efficient optimization methods into engineering tasks, and examines how to build successful applications of heuristic optimization methods. In so doing the reader learns how to properly model the problem, choose the optimization method, adapt that method to the properties of the specific problem, and, finally, implement the method.