Skip to main content

Open Access 2023 | Open Access | Buch

Buchtitelbild

Design of Heuristic Algorithms for Hard Optimization

With Python Codes for the Travelling Salesman Problem

insite
SUCHEN

Über dieses Buch

This open access book demonstrates all the steps required to design heuristic algorithms for difficult optimization. The classic problem of the travelling salesman is used as a common thread to illustrate all the techniques discussed. This problem is ideal for introducing readers to the subject because it is very intuitive and its solutions can be graphically represented. The book features a wealth of illustrations that allow the concepts to be understood at a glance.

The book approaches the main metaheuristics from a new angle, deconstructing them into a few key concepts presented in separate chapters: construction, improvement, decomposition, randomization and learning methods. Each metaheuristic can then be presented in simplified form as a combination of these concepts. This approach avoids giving the impression that metaheuristics is a non-formal discipline, a kind of cloud sculpture. Moreover, it provides concrete applications of the travelling salesman problem, which illustrate in just a few lines of code how to design a new heuristic and remove all ambiguities left by a general framework. Two chapters reviewing the basics of combinatorial optimization and complexity theory make the book self-contained. As such, even readers with a very limited background in the field will be able to follow all the content.

Inhaltsverzeichnis

Frontmatter

Combinatorial Optimization, Complexity Theory, and Problem Modelling

Frontmatter

Open Access

Chapter 1. Elements of Graphs and Complexity Theory
Abstract
This chapter recalls some elements and definitions in graph theory and complexity theory. On the one hand, basic algorithmic courses very often include graph algorithms. Some of these algorithms have simply been transposed to solve difficult optimization problems in a heuristic way. On the other hand, it is important to be able to determine whether a problem falls into the category of difficult problems. Indeed, one will not develop a heuristic algorithm if there is an efficient algorithm to find an exact solution. Another objective of this chapter is to make the book self-contained.
Éric D. Taillard

Open Access

Chapter 2. A Short List of Combinatorial Optimization Problems
Abstract
This chapter reviews a number of typical combinatorial optimization problems. It illustrates the tenuous border that sometimes exists between an easy problem, for which effective algorithms are known, and an intractable one that differs merely by a small detail that may appear innocuous at first sight
Éric D. Taillard

Open Access

Chapter 3. Problem Modeling
Abstract
This chapter shows how a problem can be modeled so that it can be handled efficiently by a heuristic algorithm. It gives some examples of transformations of data, constraints, and objectives. Finally, it introduces some notions of multi-objective optimization.
Éric D. Taillard

Basic Heuristic Techniques

Frontmatter

Open Access

Chapter 4. Constructive Methods
Abstract
This chapter presents methods for constructing solutions. It starts with the branch and bound methods, widely used for the design of exact algorithms. Then two basic methods are presented, random and greedy constructions. The latter sequentially selects the elements to include to a partial solution, never changing the choices that have been made. This method can be improved by a deeper evaluation of the consequences of a choice. Beam search and the pilot method are part of it.
Éric D. Taillard

Open Access

Chapter 5. Local Search
Abstract
Improvement methods constitute the backbone of most metaheuristics. These methods repeatedly perform slight, local modifications on a current solution to the problem. Hence, for any solution, a set of neighbor solutions must be defined. Clearly, the definition of this set depends on the problem modeling. However, a natural neighborhood may turn out to be either too small to lead to quality solutions or too large, inducing prohibitive calculation times. Various approaches have been proposed to enlarge the neighborhood, such as the filter and fan method or the ejection chains. For reducing the neighborhood size, typical strategies are the granular search and the candidate list.
Éric D. Taillard

Open Access

Chapter 6. Decomposition Methods
Abstract
The chapter first recalls few properties of recursive algorithms. Next, it introduces a general recursive constructive method. Finally, it presents the large neighborhood search and the POPMUSIC metaheuristics.
Éric D. Taillard

Popular Metaheuristics

Frontmatter

Open Access

Chapter 7. Randomized Methods
Abstract
This chapter is devoted to random and memory-free methods that repeatedly construct solutions or modify them. Among the most popular techniques, there are simulated annealing, threshold accepting, great deluge and demon algorithms, noising methods, late acceptance hill climbing, variable neighborhood search, and GRASP.
Éric D. Taillard

Open Access

Chapter 8. Construction Learning
Abstract
The first basic ingredient of heuristics is to build a solution. So, a first metaheuristic approach is to improve the process of building solutions. This chapter presents construction learning mechanisms. A typical example is artificial ants systems. Another technique is vocabulary building.
Éric D. Taillard

Open Access

Chapter 9. Local Search Learning
Abstract
If local research constitutes the backbone of metaheuristics, tabu search, looking to learn how to iteratively modify a solution can be considered the master of metaheuristics. Moreover, this term was proposed by his inventor. This chapter focuses on the ingredients at the basis of taboo search, namely, the use of memories and tactics for exploring the solution set. Other ingredients proposed in the context of taboo search by his inventor, like the candidate lists, ejection chains, and vocabulary building have a more logical place in other chapters.
Éric D. Taillard

Open Access

Chapter 10. Population Management
Abstract
After having generated several solutions, we can seek to learn how to combine them. This chapter review techniques for generating new solution from existing ones and for managing a population of solution. The most popular method in this field is undoubtedly genetic algorithms. However, the latter are less advanced metaheuristics than memetic algorithms or scatter search. The path relinking technique is also part of this chapter. Finally, among the last metaheuristics invented, we find the particle swarm methods, which seem adapted to continuous optimization.
Éric D. Taillard

Open Access

Chapter 11. Heuristics Design
Abstract
The last chapter of the book gives some advice on developing heuristics. It discusses the difficulty of modeling the problem and gives an example of decomposing the problem into a chain of more manageable sub-problems. Secondly, it proposes an approach for the design of a specific heuristic. Finally, some techniques for parameter tuning and comparing the efficiency of algorithms are reviewed.
Éric D. Taillard

Open Access

Chapter 12. Codes
Abstract
This chapter gives utility codes used by various procedures presented in the book. It also gives some programs for testing many of the metaheuristics discussed in the book.
Éric D. Taillard
Backmatter
Metadaten
Titel
Design of Heuristic Algorithms for Hard Optimization
verfasst von
Éric D. Taillard
Copyright-Jahr
2023
Electronic ISBN
978-3-031-13714-3
Print ISBN
978-3-031-13713-6
DOI
https://doi.org/10.1007/978-3-031-13714-3

Premium Partner