O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Meta-heuristic and Evolutionary Algorithms for Engineering Optimization

Book Description

A detailed review of a wide range of meta-heuristic and evolutionary algorithms in a systematic manner and how they relate to engineering optimization problems

This book introduces the main metaheuristic algorithms and their applications in optimization. It describes 20 leading meta-heuristic and evolutionary algorithms and presents discussions and assessments of their performance in solving optimization problems from several fields of engineering. The book features clear and concise principles and presents detailed descriptions of leading methods such as the pattern search (PS) algorithm, the genetic algorithm (GA), the simulated annealing (SA) algorithm, the Tabu search (TS) algorithm, the ant colony optimization (ACO), and the particle swarm optimization (PSO) technique.

Chapter 1 of Meta-heuristic and Evolutionary Algorithms for Engineering Optimization provides an overview of optimization and defines it by presenting examples of optimization problems in different engineering domains. Chapter 2 presents an introduction to meta-heuristic and evolutionary algorithms and links them to engineering problems. Chapters 3 to 22 are each devoted to a separate algorithm— and they each start with a brief literature review of the development of the algorithm, and its applications to engineering problems. The principles, steps, and execution of the algorithms are described in detail, and a pseudo code of the algorithm is presented, which serves as a guideline for coding the algorithm to solve specific applications. This book:

  • Introduces state-of-the-art metaheuristic algorithms and their applications to engineering optimization;
  • Fills a gap in the current literature by compiling and explaining the various meta-heuristic and evolutionary algorithms in a clear and systematic manner;
  • Provides a step-by-step presentation of each algorithm and guidelines for practical implementation and coding of algorithms;
  • Discusses and assesses the performance of metaheuristic algorithms in multiple problems from many fields of engineering;
  • Relates optimization algorithms to engineering problems employing a unifying approach.

Meta-heuristic and Evolutionary Algorithms for Engineering Optimization is a reference intended for students, engineers, researchers, and instructors in the fields of industrial engineering, operations research, optimization/mathematics, engineering optimization, and computer science.

OMID BOZORG-HADDAD, PhD, is Professor in the Department of Irrigation and Reclamation Engineering at the University of Tehran, Iran.

MOHAMMAD SOLGI, M.Sc., is Teacher Assistant for M.Sc. courses at the University of Tehran, Iran.

HUGO A. LOÁICIGA, PhD, is Professor in the Department of Geography at the University of California, Santa Barbara, United States of America.

Table of Contents

  1. Cover
  2. Title Page
  3. Preface
  4. About the Authors
  5. List of Figures
  6. 1 Overview of Optimization
    1. Summary
    2. 1.1 Optimization
    3. 1.2 Examples of the Formulation of Various Engineering Optimization Problems
    4. 1.3 Conclusion
  7. 2 Introduction to Meta‐Heuristic and Evolutionary Algorithms
    1. Summary
    2. 2.1 Searching the Decision Space for Optimal Solutions
    3. 2.2 Definition of Terms of Meta‐Heuristic and Evolutionary Algorithms
    4. 2.3 Principles of Meta‐Heuristic and Evolutionary Algorithms
    5. 2.4 Classification of Meta‐Heuristic and Evolutionary Algorithms
    6. 2.5 Meta‐Heuristic and Evolutionary Algorithms in Discrete or Continuous Domains
    7. 2.6 Generating Random Values of the Decision Variables
    8. 2.7 Dealing with Constraints
    9. 2.8 Fitness Function
    10. 2.9 Selection of Solutions in Each Iteration
    11. 2.10 Generating New Solutions
    12. 2.11 The Best Solution in Each Algorithmic Iteration
    13. 2.12 Termination Criteria
    14. 2.13 General Algorithm
    15. 2.14 Performance Evaluation of Meta‐Heuristic and Evolutionary Algorithms
    16. 2.15 Search Strategies
    17. 2.16 Conclusion
    18. References
  8. 3 Pattern Search
    1. Summary
    2. 3.1 Introduction
    3. 3.2 Pattern Search (PS) Fundamentals
    4. 3.3 Generating an Initial Solution
    5. 3.4 Generating Trial Solutions
    6. 3.5 Updating the Mesh Size
    7. 3.6 Termination Criteria
    8. 3.7 User‐Defined Parameters of the PS
    9. 3.8 Pseudocode of the PS
    10. 3.9 Conclusion
    11. References
  9. 4 Genetic Algorithm
    1. Summary
    2. 4.1 Introduction
    3. 4.2 Mapping the Genetic Algorithm (GA) to Natural Evolution
    4. 4.3 Creating an Initial Population
    5. 4.4 Selection of Parents to Create a New Generation
    6. 4.5 Population Diversity and Selective Pressure
    7. 4.6 Reproduction
    8. 4.7 Termination Criteria
    9. 4.8 User‐Defined Parameters of the GA
    10. 4.9 Pseudocode of the GA
    11. 4.10 Conclusion
    12. References
  10. 5 Simulated Annealing
    1. Summary
    2. 5.1 Introduction
    3. 5.2 Mapping the Simulated Annealing (SA) Algorithm to the Physical Annealing Process
    4. 5.3 Generating an Initial State
    5. 5.4 Generating a New State
    6. 5.5 Acceptance Function
    7. 5.6 Thermal Equilibrium
    8. 5.7 Temperature Reduction
    9. 5.8 Termination Criteria
    10. 5.9 User‐Defined Parameters of the SA
    11. 5.10 Pseudocode of the SA
    12. 5.11 Conclusion
    13. References
  11. 6 Tabu Search
    1. Summary
    2. 6.1 Introduction
    3. 6.2 Tabu Search (TS) Foundation
    4. 6.3 Generating an Initial Searching Point
    5. 6.4 Neighboring Points
    6. 6.5 Tabu Lists
    7. 6.6 Updating the Tabu List
    8. 6.7 Attributive Memory
    9. 6.8 Aspiration Criteria
    10. 6.9 Intensification and Diversification Strategies
    11. 6.10 Termination Criteria
    12. 6.11 User‐Defined Parameters of the TS
    13. 6.12 Pseudocode of the TS
    14. 6.13 Conclusion
    15. References
  12. 7 Ant Colony Optimization
    1. Summary
    2. 7.1 Introduction
    3. 7.2 Mapping Ant Colony Optimization (ACO) to Ants’ Foraging Behavior
    4. 7.3 Creating an Initial Population
    5. 7.4 Allocating Pheromone to the Decision Space
    6. 7.5 Generation of New Solutions
    7. 7.6 Termination Criteria
    8. 7.7 User‐Defined Parameters of the ACO
    9. 7.8 Pseudocode of the ACO
    10. 7.9 Conclusion
    11. References
  13. 8 Particle Swarm Optimization
    1. Summary
    2. 8.1 Introduction
    3. 8.2 Mapping Particle Swarm Optimization (PSO) to the Social Behavior of Some Animals
    4. 8.3 Creating an Initial Population of Particles
    5. 8.4 The Individual and Global Best Positions
    6. 8.5 Velocities of Particles
    7. 8.6 Updating the Positions of Particles
    8. 8.7 Termination Criteria
    9. 8.8 User‐Defined Parameters of the PSO
    10. 8.9 Pseudocode of the PSO
    11. 8.10 Conclusion
    12. References
  14. 9 Differential Evolution
    1. Summary
    2. 9.1 Introduction
    3. 9.2 Differential Evolution (DE) Fundamentals
    4. 9.3 Creating an Initial Population
    5. 9.4 Generating Trial Solutions
    6. 9.5 Greedy Criteria
    7. 9.6 Termination Criteria
    8. 9.7 User‐Defined Parameters of the DE
    9. 9.8 Pseudocode of the DE
    10. 9.9 Conclusion
    11. References
  15. 10 Harmony Search
    1. Summary
    2. 10.1 Introduction
    3. 10.2 Inspiration of the Harmony Search (HS)
    4. 10.3 Initializing the Harmony Memory
    5. 10.4 Generating New Harmonies (Solutions)
    6. 10.5 Updating the Harmony Memory
    7. 10.6 Termination Criteria
    8. 10.7 User‐Defined Parameters of the HS
    9. 10.8 Pseudocode of the HS
    10. 10.9 Conclusion
    11. References
  16. 11 Shuffled Frog‐Leaping Algorithm
    1. Summary
    2. 11.1 Introduction
    3. 11.2 Mapping Memetic Evolution of Frogs to the Shuffled Frog Leaping Algorithm (SFLA)
    4. 11.3 Creating an Initial Population
    5. 11.4 Classifying Frogs into Memeplexes
    6. 11.5 Frog Leaping
    7. 11.6 Shuffling Process
    8. 11.7 Termination Criteria
    9. 11.8 User‐Defined Parameters of the SFLA
    10. 11.9 Pseudocode of the SFLA
    11. 11.10 Conclusion
    12. References
  17. 12 Honey‐Bee Mating Optimization
    1. Summary
    2. 12.1 Introduction
    3. 12.2 Mapping Honey‐Bee Mating Optimization (HBMO) to the Honey‐Bee Colony Structure
    4. 12.3 Creating an Initial Population
    5. 12.4 The Queen
    6. 12.5 Drone Selection
    7. 12.6 Brood (New Solution) Production
    8. 12.7 Improving Broods (New Solutions) by Workers
    9. 12.8 Termination Criteria
    10. 12.9 User‐Defined Parameters of the HBMO
    11. 12.10 Pseudocode of the HBMO
    12. 12.11 Conclusion
    13. References
  18. 13 Invasive Weed Optimization
    1. Summary
    2. 13.1 Introduction
    3. 13.2 Mapping Invasive Weed Optimization (IWO) to Weeds’ Biology
    4. 13.3 Creating an Initial Population
    5. 13.4 Reproduction
    6. 13.5 The Spread of Seeds
    7. 13.6 Eliminating Weeds with Low Fitness
    8. 13.7 Termination Criteria
    9. 13.8 User‐Defined Parameters of the IWO
    10. 13.9 Pseudocode of the IWO
    11. 13.10 Conclusion
    12. References
  19. 14 Central Force Optimization
    1. Summary
    2. 14.1 Introduction
    3. 14.2 Mapping Central Force Optimization (CFO) to Newton’s Gravitational Law
    4. 14.3 Initializing the Position of Probes
    5. 14.4 Calculation of Accelerations
    6. 14.5 Movement of Probes
    7. 14.6 Modification of Deviated Probes
    8. 14.7 Termination Criteria
    9. 14.8 User‐Defined Parameters of the CFO
    10. 14.9 Pseudocode of the CFO
    11. 14.10 Conclusion
    12. References
  20. 15 Biogeography‐Based Optimization
    1. Summary
    2. 15.1 Introduction
    3. 15.2 Mapping Biogeography‐Based Optimization (BBO) to Biogeography Concepts
    4. 15.3 Creating an Initial Population
    5. 15.4 Migration Process
    6. 15.5 Mutation
    7. 15.6 Termination Criteria
    8. 15.7 User‐Defined Parameters of the BBO
    9. 15.8 Pseudocode of the BBO
    10. 15.9 Conclusion
    11. References
  21. 16 Firefly Algorithm
    1. Summary
    2. 16.1 Introduction
    3. 16.2 Mapping the Firefly Algorithm (FA) to the Flashing Characteristics of Fireflies
    4. 16.3 Creating an Initial Population
    5. 16.4 Attractiveness
    6. 16.5 Distance and Movement
    7. 16.6 Termination Criteria
    8. 16.7 User‐Defined Parameters of the FA
    9. 16.8 Pseudocode of the FA
    10. 16.9 Conclusion
    11. References
  22. 17 Gravity Search Algorithm
    1. Summary
    2. 17.1 Introduction
    3. 17.2 Mapping the Gravity Search Algorithm (GSA) to the Law of Gravity
    4. 17.3 Creating an Initial Population
    5. 17.4 Evaluation of Particle Masses
    6. 17.5 Updating Velocities and Positions
    7. 17.6 Updating Newton’s Gravitational Factor
    8. 17.7 Termination Criteria
    9. 17.8 User‐Defined Parameters of the GSA
    10. 17.9 Pseudocode of the GSA
    11. 17.10 Conclusion
    12. References
  23. 18 Bat Algorithm
    1. Summary
    2. 18.1 Introduction
    3. 18.2 Mapping the Bat Algorithm (BA) to the Behavior of Microbats
    4. 18.3 Creating an Initial Population
    5. 18.4 Movement of Virtual Bats
    6. 18.5 Local Search and Random Flying
    7. 18.6 Loudness and Pulse Emission
    8. 18.7 Termination Criteria
    9. 18.8 User‐Defined Parameters of the BA
    10. 18.9 Pseudocode of the BA
    11. 18.10 Conclusion
    12. References
  24. 19 Plant Propagation Algorithm
    1. Summary
    2. 19.1 Introduction
    3. 19.2 Mapping the Natural Process to the Planet Propagation Algorithm (PPA)
    4. 19.3 Creating an Initial Population of Plants
    5. 19.4 Normalizing the Fitness Function
    6. 19.5 Propagation
    7. 19.6 Elimination of Extra Solutions
    8. 19.7 Termination Criteria
    9. 19.8 User‐Defined Parameters of the PPA
    10. 19.9 Pseudocode of the PPA
    11. 19.10 Conclusion
    12. References
  25. 20 Water Cycle Algorithm
    1. Summary
    2. 20.1 Introduction
    3. 20.2 Mapping the Water Cycle Algorithm (WCA) to the Water Cycle
    4. 20.3 Creating an Initial Population
    5. 20.4 Classification of Raindrops
    6. 20.5 Streams Flowing to the Rivers or Sea
    7. 20.6 Evaporation
    8. 20.7 Raining Process
    9. 20.8 Termination Criteria
    10. 20.9 User‐Defined Parameters of the WCA
    11. 20.10 Pseudocode of the WCA
    12. 20.11 Conclusion
    13. References
  26. 21 Symbiotic Organisms Search
    1. Summary
    2. 21.1 Introduction
    3. 21.2 Mapping Symbiotic Relations to the Symbiotic Organisms Search (SOS)
    4. 21.3 Creating an Initial Ecosystem
    5. 21.4 Mutualism
    6. 21.5 Commensalism
    7. 21.6 Parasitism
    8. 21.7 Termination Criteria
    9. 21.8 Pseudocode of the SOS
    10. 21.9 Conclusion
    11. References
  27. 22 Comprehensive Evolutionary Algorithm
    1. Summary
    2. 22.1 Introduction
    3. 22.2 Fundamentals of the Comprehensive Evolutionary Algorithm (CEA)
    4. 22.3 Generating an Initial Population of Solutions
    5. 22.4 Selection
    6. 22.5 Reproduction
    7. 22.6 Roles of Operators
    8. 22.7 Input Data to the CEA
    9. 22.8 Termination Criteria
    10. 22.9 Pseudocode of the CEA
    11. 22.10 Conclusion
    12. References
  28. Wiley Series in Operations Research and Management Science
  29. Index
  30. End User License Agreement