Scatter Search Methodology and Implementations in C OPERATIONS RESEARCH/COMPUTER SCIENCE INTERFACES SERIES Series Editors Professor Ramesh Sharda Prof. Dr. Stefan VoB OlcJahoma State University Universitiit Hamburg Other published titles in the series: Greenberg, Harvey 1. / A Computer-Assisted Analysis Systemfor MathematicalProgramming Models and Solutions: A User's Guide for ANALfZE Greenberg, Harvey 1. / Modeling by Object-Driven Linear Elemental Relations: A Users Guidefor MODLER Brown, Donald/Scherer, William T. / Intelligent Scheduling Systems Nash, Stephen G.lSofer, Ariela / The Impact ofE merging Technologies on Computer Science & Operations Research Barth, Peter / Logic-Based 0-1 Constraint Programming Jones, Christopher V. / Visualization and Optimization Barr, Richard S.I Helgason, Richard V.I Kennington, Jeffery L. / Interfaces in Computer Science & Operations Research: Advances in Metaheuristics, Optimization, & StochasticModeling Technologies Ellacott, Stephen W.I Mason, John C.I Anderson, lain J. I Mathematics ofN eural Networks: Models, Algorithms & Applications Woodruff, David L.! Advances in Computational & Stochastic Optimization, Logic Programming, and Heuristic Search Klein, Robert ! Scheduling ofR esource-Constrained Projects Bierwirth, Christian / Adaptive Search and the Management ofL Ogistics Systems Laguna, Manuel/Gonzalez-Velarde, lost Luis I Computing Toolsfor Modeling,Optimization and Simulation Stilman, Boris! Linguistic Geometry: From Search to Construction Sakawa, Masatoshi ! Genetic Algorithms and Fuzzy Multiobjective Optimization Ribeiro, Celso C.I Hansen, Pierre ! Essays and Surveys in Metaheuristics Holsapple, Clyde! Jacob, Varghese / Rao, H. R.t BUSINESS MODELUNG: Multidisciplinary Approaches - Economics, Operational and I'!!ormation Systems Perspectives Sleezer, Catherine M.I Wentling, Tim L./ Cude, Roger L. / HUMAN RESOURCE DEVELOPMENT AND INFORMATION TECHNOLOGY: Making Global Connections VoB, Stefan, Woodruff, David / Optimization Software Class Libraries Upadhyaya et aU MOBILE COMPUTING: Implementing Pervasive Information and Communi cations Technologies Reeves, Colin & Rowe, Jonathan! GENETIC ALGORITHMS-Principles and Perspectives: A Guide to GA Theory Bhargava, Hemant K. & Ye, Nong / COMPUTATIONAL MODEUNG AND PROBLEM SOLYING IN THE NETWORKED WORLD: Interfaces in Computer Science & Operations Research Woodruff, David L.I NETWORK INTERDICTION AND STOCHASTIC INTEGER PRO GRAMMING Anandalingam, G. & Raghavan, S.I TELECOMMUNICATIONS NETWORK DESIGN AND MANAGEMENT Scatter Search Methodology and Implementations in C Manuel Laguna University of Colorado Rafael Marti University of Valencia a... " Springer Science+ Business Media, LLC Library of Congress Cataloging-in-Publication Data A C.I.P. Catalogue record for this book is available from the Library ofCongress. Laguna, Manuel and Marti, Rafael/ SCATTER SEARCH: Methodology and Implementations in C ISBN 978-1-4613-5027-9 ISBN 978-1-4615-0337-8 (eBook) DOI 10.1007/978-1-4615-0337-8 Copyright © 2003 Springer Science+Business Media N ew York Originally published by Kluwer Academic Publishers in 2003 All rights reserved. No part of this work may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, microfilming, recording, or otherwise, without the written permission from the Publisher, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Permission for books published in Europe: [email protected] Permissions for books published in the United States of America: [email protected] Printed on acid-free paper. To Sofia and Fabian, my limitless source of happiness and inspiration M.L. A Mila, por la paz, y sobre todo, por la guerra que me da R.M. Contents Foreword xi Preface xv Acknowledgments xvii 1. INTRODUCTION 1. Historical Background 4 1.1. Original Proposal - 1977 4 1.2. Scatter I Tabu Search Hybrid - 1990 6 1.3. Scatter Search Template - 1998 8 2. Basic Design 11 2.1. Summary of Notation 14 3. C Code Conventions 16 2. TUTORIAL: Unconstrained Nonlinear Optimization 23 1. Diversification Generation Method 24 1.1. Computer Code 26 2. Improvement Method 28 2.1. Computer Code 29 3. Reference Set Update Method 31 3.1. Computer Code 33 4. Subset Generation Method 37 4.1. Computer Code 38 5. Combination Method 39 5.1. Computer Code 40 6. Overall Procedure 41 6.1. Computer Code 44 viii Scatter Search 7. Summary of C Functions 46 3. TUTORIAL: 0-1 Knapsack Problems 49 1. Diversification Generation Method 50 1.1. Computer Code 52 2. Improvement Method 55 2.1. Computer Code 57 3. Reference Set Update Method 59 3.1. Computer Code 61 4. Subset Generation Method 62 5. Combination Method 63 5.1. Computer Code 64 6. Overall Procedure 65 6.1. Computer Code 66 7. Summary of C Functions 67 4. TUTORIAL: linear Ordering Problem 69 1. The Linear Ordering Problem 69 2. Diversification Generation Method 71 2.1. Computer Code 74 3. Improvement Method 76 3.1. Computer Code 79 4. Reference Set Update Method 82 5. Combination Method 83 5.1. Computer Code 85 6. Summary of C Functions 86 S. ADVANCED SCATTER SEARCH DESIGNS 89 1. Reference Set 90 1.1. Dynamic Updating 91 1.2. Rebuilding and Multi-Tier Update 93 1.2.1. Rebuilding 94 1.2.2. 2-Tier Update 95 1.2.3. 3-Tier Update 99 1.3. Solution Duplication and Diversity Control 102 1.3.1. Minimum Diversity Test 103 1.3.2. Hashing 105 2. Subset Generation 107 3. Specialized Combination Methods 112 3.1. Variable Number of Solutions 114 3.2. Binary Variables 116 4. Diversification Generation 118 4.1. Experimental Design 118 4.2. GRASP Constructions 120 Contents ix 6. USE OF MEMORY IN SCATTER SEARCH 123 1. Tabu Search 124 2. Explicit Memory 128 3. Attributive Memory 130 3.1. Diversification 131 3.1.1. Computer Code 133 3.2. Intensification 135 3.2.1. Computer Code 136 3.3. Reference Set 138 7. CONNECTIONS WITH OTHER POPULATION-BASED APPROACHES 141 1. Genetic Algorithms 142 1.1. SS and GA Comparison 146 1.1.1. Improvement Method 149 1.1.2. Combination Method 150 1.1.3. Computational Testing 154 2. Path Relinking 160 2.1. Simultaneous Relinking 166 2.2. Dealing with Infeasibility 167 2.3. Extrapolated Relinking 168 2.4. Multiple Guiding Solutions 170 2.5. Constructive Neighborhoods 172 2.6. Vocabulary Building 173 2.7. Computer Code 177 3. Intensification and Diversification 180 8. SCATTER SEARCH APPLICATIONS 185 1. Neural Network Training 185 1.1. Computer Code 187 2. Multi-Objective Bus Routing 189 3. Arc Crossing Minimization in Graphs 191 4. Maximum Clique 193 5. Graph Coloring 195 6. Periodic Vehicle Loading 197 7. Capacitated Multicommodity Network Design 198 8. Job-Shop Scheduling 201 9. Capacitated Chinese Postman Problem 202 9.1. Testing Population Designs 204 10. Vehicle Routing 206 11. Binary Mixed Integer Programming 208 11.1. Pivot Based Search with Branch and Bound 208 11.2. Generate Diverse Solutions 210 x Scatter Search 12. Iterated Re-start Procedures 212 13. Parallelization for the P-Median 215 14. OptQuest Application 217 9. COMMERCIAL SCATTER SEARCH IMPLEMENTATION 219 1. General OCL Design 223 2. Constraints and Requirements 225 3. OCL Functionality 227 3.1. Defining Constraints and Requirements 232 3.2. Boundary Search Strategy 235 4. Computational Experiments 239 5. Conclusions 245 6. Appendix 246 10. EXPERIENCES AND FUTURE DIRECTIONS 255 1. Experiences and Findings 256 1.1. Diversification Generation 256 1.2. Improvement Method 258 1.3. Reference Set Update Method 260 1.4. Subset Generation Method 263 1.5. Combination Method 264 2. Multi-Objective Scatter Search 266 2.1. Independent Sampling Technique 269 2.2. Criterion Selection Technique 269 2.3. Aggregation Selection Technique 270 2.4. Pareto Sampling 270 3. Maximum Diversity Problem 271 4. Implications for Future Developments 274 REFERENCES 277 INDEX 285 Foreword The book Scatter Search by Manuel Laguna and Rafael Mart! represents a long-awaited "missing link" in the literature of evolutionary methods. Scatter Search (SS)-together with its generalized form called Path Relinking-constitutes the only evolutionary approach that embraces a collection of principles from Tabu Search (TS), an approach popularly regarded to be divorced from evolutionary procedures. The TS perspective, which is responsible for introducing adaptive memory strategies into the metaheuristic literature (at purposeful level beyond simple inheritance mechanisms), may at first seem to be at odds with population-based approaches. Yet this perspective equips SS with a remarkably effective foundation for solving a wide range of practical problems. The successes documented by Scatter Search come not so much from the adoption of adaptive memory in the range of ways proposed in Tabu Search (except where, as often happens, SS is advantageously coupled with TS), but from the use of strategic ideas initially proposed for exploiting adaptive memory, which blend harmoniously with the structure of Scatter Search. From a historical perspective, the dedicated use of heuristic strategies both to guide the process of combining solutions and to enhance the quality of offspring has been heralded as a key innovation in evolutionary methods, giving rise to what are sometimes called "hybrid" (or "memetic") evolutionary procedures. The underlying processes have been introduced into the mainstream of evolutionary methods (such as genetic algorithms, for example) by a series of gradual steps beginning in the late 1980s. Yet this theme is an integral part of the SS methodology proposed a decade earlier, and the form and scope of such heuristic strategies embedded in SS continue to set it apart. Although there are points in common between SS and other