, TrackAbout, Inc.
Enrique Alba, ed.
Parallel Metaheuristics aims to bring together two increasingly relevant fields of study for computer scientists: parallelism and metaheuristics. Admittedly, each field is vast and complex, but the book attempts to cover a wide range of metaheuristic algorithms while providing an overview of how to parallelize them.
To get the most out of this book, a solid mathematical background is a must. The text uses several disciplines, including set theory, logic, and probability methods, to illustrate ideas. Parallel Metaheuristics is terse and relies on proofs, mathematical notation, and pseudocode to convey topics and concepts. This leaves interpretation entirely up to readers; without the requisite background, they'll be lost.
Readers should also be familiar with both fields and have a solid background in one or the other because the book makes no attempt to teach either field. Instead, it concentrates on providing an overview of the two fields and how to combine them, giving greater coverage to parallelization. The book will provide more value for metaheuristic researchers who are looking to introduce parallelism into traditional metaheuristic algorithms than parallelization researchers looking for an overview of metaheuristic algorithms.
If the book's only downside were its rigorous material, it would still be valuable only to a select group of researchers: Its organization is sprawling. Its 21 chapters are by different authors and the variation shows. The book is clearly organized into three parts (introductory material, parallel metaheuristic models, and theory/applications), but no continuity exists between the three parts. Each chapter feels disconnected from the others, and they don't build on one another. Instead, the book presents a loose overview of each topic and directs readers to external references for further information.
Furthermore, the introductory materials are far from usable to anyone new to metaheuristics or parallelism. The first chapter covers only a few select metaheuristic topics. Readers are directed to 148 external references, a sizeable number for what is supposed to be an introductory chapter. Other chapters would better serve as appendices because they cover such auxiliary topics as performance testing (chapter 2) and technology/tool choice (chapter 3) for parallel algorithms.
The book's second part represents the bulk of the content. Every chapter discusses a different metaheuristic algorithm class and ways in which to parallelize it. Although the book discusses several algorithmic classes, the depth of information isn't nearly enough to give readers anything other than a good starting point on which to base further research. This might have been editor Enrique Alba's intention. In the preface, Alba clearly states that the book attempts to satisfy readers with metaheuristic or parallelism backgrounds. The scope is therefore very broad, and the book relies on external references to provide a deeper understanding of the material. Unfortunately, because this book claims to fill a current gap between the two fields, it does itself a disservice by immediately referring to external references for in-depth information. The information presented is only slightly more organized than what a Google search returns for the words "parallel" and "metaheuristic."
Where this book does fulfill its goals is in the breadth of topics covered. As the rise in computer chip clock speed stagnates, chip manufacturers will pack computers with more cores. The need to parallelize certain metaheuristic algorithms seems like a foregone conclusion to gain the necessary advances in performance. Genetic algorithms, ant colony optimization, and scatter search are just a few of the algorithm classes that get the parallelization treatment in the book.
Overall, despite Alba's declaration that this book is aimed at researchers, specialists, and graduate students, I can only recommend it only to educators looking to augment classes on parallelism or metaheuristics with material from the other discipline. Metaheuristic researchers looking to explore parallelization might find this book useful; however, it's unlikely that more than a chapter or two will apply to their field. Non-metaheuristic researchers will push this book aside for more detailed works, and specialists will find, at most, one chapter even relevant to their particular specialties.
Cite this article:
Griffin Caprio, "Parallel Metaheuristics," IEEE Distributed Systems Online, vol. 9, no. 8, 2008, art. no. 0802-o8004.