METAHEURISTICS FROM DESIGN TO IMPLEMENTATION
EI-Ghazali Talbi University of Lille — CNRS — INRIA
WILEY A JOHN WILEY & SONS, PUBLICATION CONTENTS
Preface xvii Acknowledgments xxiii Glossary xxv
1 Common Concepts for Metaheuristics 1 1.1 Optimization Models 2 1.1.1 Classical Optimization Models 3 1.1.2 Complexity Theory 9 1.1.2.1 Complexity of Algorithms 9 1.1.2.2 Complexity of Problems 11 1.2 Other Models for Optimization 14 1.2.1 Optimization Under Uncertainty 15 1.2.2 Dynamic Optimization 16 1.2.2.1 Multiperiodic Optimization 16 1.2.3 Robust Optimization 17 1.3 Optimization Methods 18 1.3.1 Exact Methods 19 1.3.2 Approximate Algorithms 21 1.3.2.1 Approximation Algorithms 21 1.3.3 Metaheuristics 23 1.3.4 Greedy Algorithms 26 1.3.5 When Using Metaheuristics? 29 1.4 Main Common Concepts for Metaheuristics 34 1.4.1 Representation 34 1.4.1.1 Linear Representations 36 1.4.1.2 Nonlinear Representations 39 1.4.1.3 Representation-Solution Mapping 40 1.4.1.4 Direct Versus Indirect Encodings 41 1.4.2 Objective Function 43 1.4.2.1 Self-Sufficient Objective Functions 43 vii viii CONTENTS
1.4.2.2 Guiding Objective Functions 44 1.4.2.3 Representation Decoding 45 1.4.2.4 Interactive Optimization 46 1.4.2.5 Relative and Competitive Objective Functions 47 1.4.2.6 Meta-Modeling 47 1.5 Constraint Handling 48 1.5.1 Reject Strategies 49 1.5.2 Penalizing Strategies 49 1.5.3 Repairing Strategies 52 1.5.4 Decoding Strategies 53 1.5.5 Preserving Strategies 53 1.6 Parameter Tuning 54 1.6.1 Off-Line Parameter Initialization 54 1.6.2 Online Parameter Initialization 56 1.7 Performance Analysis of Metaheuristics 57 1.7.1 Experimental Design 57 1.7.2 Measurement 60 1.7.2.1 Quality of Solutions 60 1.7.2.2 Computational Effort 62 1.7.2.3 Robustness 62 1.7.2.4 Statistical Analysis 63 1.7.2.5 Ordinal Data Analysis 64 1.7.3 Reporting 65 1.8 Software Frameworks for Metaheuristics 67 1.8.1 Why a Software Framework for Metaheuristics? 67 1.8.2 Main Characteristics of Software Frameworks 69 1.8.3 ParadisEO Framework 71 1.8.3.1 ParadisEO Architecture 74 1.9 Conclusions 76 1.10 Exercises 79
2 Single-Solution Based Metaheuristics 87 2.1 Common Concepts for Single-Solution Based Metaheuristics 87 2.1.1 Neighborhood 88 2.1.2 Very Large Neighborhoods 94 2.1.2.1 Heuristic Search in Large Neighborhoods 95 CONTENTS iX
2.1.2.2 Exact Search in Large Neighborhoods 98 2.1.2.3 Polynomial-Specific Neighborhoods 100 2.1.3 Initial Solution 101 2.1.4 Incremental Evaluation of the Neighborhood 102 2.2 Fitness Landscape Analysis 103 2.2.1 Distances in the Search Space 106 2.2.2 Landscape Properties 108 2.2.2.1 Distribution Measures 109 2.2.2.2 Correlation Measures 111 2.2.3 Breaking Plateaus in a Flat Landscape 119 2.3 Local Search 121 2.3.1 Selection of the Neighbor 123 2.3.2 Escaping from Local Optima 125 2.4 Simulated Annealing