Nature-Inspired Algorithms For Engineers and Scientists

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This comprehensive reference text discusses nature inspired algorithms and their applications. It presents the methodology to write new algorithms with the help of MATLAB programs and instructions for better understanding of concepts. It covers well-known algorithms including evolutionary algorithms, genetic algorithm, particle Swarm optimization and differential evolution, and recent approached including gray wolf optimization. A separate chapter discusses test case generation using techniques such as particle swarm optimization, genetic algorithm, and differential evolution algorithm. The book- Discusses in detail various nature inspired algorithms and their applications Provides MATLAB programs for the corresponding algorithm Presents methodology to write new algorithms Examines well-known algorithms like the genetic algorithm, particle swarm optimization and differential evolution, and recent approaches like gray wolf optimization. Provides conceptual linking of algorithms with theoretical concepts The text will be useful for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. Discussing nature inspired algorithms and their applications in a single volume, this text will be useful as a reference text for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. It discusses important algorithms including deterministic algorithms, randomized algorithms, evolutionary algorithms, particle swarm optimization, big bang big crunch (BB-BC) algorithm, genetic algorithm and grey wolf optimization algorithm. "

Author(s): Krishn Kumar Mishra
Publisher: CRC Press
Year: 2022

Language: English
Pages: 326
City: Boca Raton

Cover
Half Title
Title
Copyright
Contents
Preface
Acknowledgments
About the Author
Chapter 1 Introduction
1.1 Introduction
1.2 Optimization Problems
1.2.1 Classification of Optimization Problems
1.2.1.1 Classification Based on the Number of Points in the Search Space
1.2.1.2 Classification Based on the Number of Objective Functions
1.2.1.3 Classification Based on the Availability of Objective Functions
1.2.1.4 Classification Based on the Number of Global Optimal Solutions
1.3 Methods for Solving Optimization Problems
1.3.1 Mathematical Methods
1.3.2 Programming Methods
1.3.2.1 Deterministic Algorithm
1.3.2.2 Randomized Algorithms
Chapter 2 Binary Genetic Algorithms
2.1 Introduction
2.2 GAs
2.2.1 Some Basic Requirements for Designing Optimization Algorithms
2.2.2 Solving Optimization Problems Using a GA
2.2.3 Encoding Techniques Used in GAs
2.3 Detailed Implementation of Binary GAs
2.3.1 Types of Selection Operators
2.3.1.1 Fitness Proportionate Selection/Roulette Wheel Selection
2.3.1.2 Tournament Selection
2.3.1.3 Rank Selection
2.3.1.4 Sharing Fitness Method
2.3.2 Types of Crossover Operator
2.3.2.1 Single-Point Crossover
2.3.2.2 Two-Point Crossover
2.3.2.3 Uniform Crossover
2.3.2.4 Arithmetic Crossover
2.3.3 Types of Mutation Operator
2.3.3.1 One-Bit Mutation
2.3.3.2 Multibit Mutation
2.4 Theoretical Foundation of GAs (Schemata Theory)
2.4.1 Effect of Selection on a Schema
2.4.2 Effect of Crossover on a Schema
2.4.3 Effect of Mutation on the Survival of a Schema
2.5 MATLAB® Program for a GA
2.5.1 Writing Program for a Binary GA
2.5.1.1 Generating the Initial Population
2.5.1.2 Implementing Selection Operator in a BGA Using MATLAB
2.5.1.3 Implementing One-Point Crossover in MATLAB
2.5.1.4 Implementing Mutation Operator in MATLAB
Chapter 3 Real-Parameter Genetic Algorithm
3.1 Introduction
3.1.1 Problems with Binary Encoding
3.1.1.1 Poor Coverage of Search Space
3.1.1.2 More Computational Requirements
3.1.1.3 Longer Computational Time and Lower Accuracy
3.1.1.4 Hamming Cliff Problem with Binary Encoding
3.2 Real-Parameter GA
3.2.1 Detailed Implementation of a Real-Parameter GA
3.2.2 Operators of a Real-Parameter GA
3.2.2.1 Selection Operator
3.2.2.2 Crossover Operator
3.2.2.3 Type of Mutation Operator
3.3 MATLAB® Program for a Real-Parameter GA
3.3.1 Generating the Initial Population
3.3.2 Implementing Selection Operator in Real-Parameter GA using MATLAB
3.3.3 Implementing Crossover in a Real-Parameter GA using MATLAB
3.3.3.1 Implementing a Crossover Operator
3.3.4 Mutation Operation
Chapter 4 Differential Evolution
4.1 Introduction
4.2 DE Algorithms
4.2.1 Mutation Operator
4.2.2 Crossover Operator
4.2.3 Selection Operator
4.2.4 Control Parameters
4.3 More on DE Algorithms
4.4 MATLAB® Implementation of a DE Algorithm
4.4.1 Defining the Initial Population
4.4.2 Updating Solutions by Using Mutation and a Crossover Operator
4.4.3 Selecting the Population for the Next Iteration
Chapter 5 Particle Swarm Optimization
5.1 Introduction
5.2 PSO Algorithms
5.2.1 Natural Phenomena Used for Designing the Algorithm
5.2.2 Understanding the Relevance of Phenomena with Optimization
5.3 Detailed Implementation of a PSO Program
5.3.1 Defining Velocities and Positions of Particles
5.3.2 Calculating gbest and pbest
5.3.3 Clamping Velocity and the Position of Each Particle
5.3.4 Termination PSO Program
5.3.5 Parameter Tuning
5.3.6 Pseudocode of a PSO Algorithm
5.4 MATLAB® Implementation of a PSO Program
5.4.1 Population Initialization
5.4.2 Calculating gbest and pbest
5.4.3 Updating Velocity and Position Vectors
5.4.4 Clamping Velocity and Position Vectors
5.5 Improving the Performance of a PSO Algorithm
5.6 Real-Life Applications of a PSO Algorithm
Chapter 6 Grey Wolf Optimization
6.1 Introduction
6.2 GWO Algorithms
6.2.1 Natural Phenomena Used for Designing the Algorithm
6.2.2 Understanding the Relevance of Phenomena with Optimization
6.3 Detailed Implementation of a GWO Program
6.3.1 Generating Initial Population
6.3.2 Identification of Alpha, Beta, Delta, and Omega Solutions
6.3.3 Updating Position of Each Wolf and Producing Output
6.3.4 Clamping
6.3.5 Parameter Tuning
6.4 MATLAB® Implementation of a GWO Program
6.4.1 Defining the Initial Population
6.4.2 Updating Alpha, Beta, and Delta Solutions
Chapter 7 Environmental Adaptation Method
7.1 Introduction
7.2 EAM
7.2.1 Natural Phenomena Used for Designing EAM
7.3 Detailed Description of an EAM Program
7.3.1 Binary EAM
7.3.1.1 Adaptation Operator
7.3.1.2 Alteration Operator
7.3.1.3 Selection Operator
7.3.1.4 Explaining EAM with One Numerical Example
7.3.2 Understanding the Relevance of Phenomena with Optimization
7.3.3 Real-Parameter EAM
7.4 Improved Environmental Adaptation Method
7.4.1 Binary Version of IEAM
7.4.2 Real-Parameter IEAM
7.5 MATLAB® Implementation of EAM and IEAM
7.5.1 Generating Binary Solutions
7.5.2 Solutions Generated after the Adaption Operator
7.5.3 Selection Operator in IEAM
7.6 Writing MATLAB Program for a Real-Parameter Version of IEAM
7.6.1 Defining Initial Population
7.6.2 Adaption Operator
7.6.3 Selection Operator
Chapter 8 Other Important Optimization Algorithms
8.1 Methods for Creating an Optimization Algorithm
8.1.1 Mathematical Methods
8.1.1.1 Gradient-Based Methods
8.1.1.2 Derivation-Free Method
8.1.2 Search-Based Methods
8.1.2.1 Heuristic Search-Based Method
8.1.2.2 Metaheuristic Search-Based Method
8.1.3 Special Search-Based Methods (Nature-Inspired Algorithms)
8.1.3.1 Point-to-Point-Based Algorithm
8.1.3.2 Population-Based Algorithms
Chapter 9 Application of Genetic Algorithms, Partial Swarm Optimization, and Differential Evolution in Software Testing
9.1 Introduction
9.2 Introduction of Software Testing
9.3 Test Case Generation Techniques
9.3.1 Random Test Data Generation Technique
9.3.2 Symbolic Test Data Generation Technique
9.3.3 Dynamic Test Data Generation Technique
9.3.4 Metaheuristic Techniques
9.3.5 Test Case Coverage Tools
9.3.5.1 Gcov
9.3.5.2 Trucov
9.4 Test Case Generation Using a GA for White-Box Testing
9.4.1 Test Suite Generator
9.4.2 Initiator
9.4.3 Test Case Generator Module
9.4.4 Code Coverage Checker
9.4.5 The Triangle Program
9.4.6 Initial Population Generation for a GA
9.4.7 Selection Operator
9.4.8 Crossover Operator
9.4.9 Mutation Operator
9.4.10 Generation of a New Population by a GA
9.5 Application of PSO in Test Case Generation
9.5.1 Particle Initialization in PSO
9.5.1.1 Rule for Updating
9.6 Application of DE in Test Case Generation
9.6.1 Initialization Population Generation in DE
9.6.2 Mutation
9.6.3 Crossover
9.6.4 Selection Operator
9.7 Conclusion
Chapter 10 Application of Genetic Algorithms, Partial Swarm Optimization, and Differential Evolution in Regression Testing
10.1 Introduction
10.2 Regression Testing
10.2.1 Test Suite Minimization Problem
10.2.2 Test Case Selection
10.2.2.1 Test Case Selection Problem
10.2.3 Test Case Prioritization
10.2.3.1 Test Case Prioritization Problem
10.2.4 Application of a Genetic Algorithm in Test Suite Minimization
10.2.4.1 Minimization of Pre-Prioritized Test Suite Using a GA
10.2.5 Example Program
10.2.5.1 Initial Population Generation for a GA
10.2.5.2 Selection for a GA
10.2.6 Crossover for a GA
10.2.7 Mutation for a GA
10.2.8 Generation of a New Population by a GA
10.3 Test Case Generation for Modified Code Using PSO-TVAC
10.3.1 Particle Initialization in PSO-TVAC
10.3.2 Particle Update Rule
10.4 Test Case Generation for Modified Code Using DE
10.4.1 Population Initialization
10.4.2 Update Rule
10.4.3 Mutation
10.4.4 Crossover
10.4.5 Selection Operator
Chapter 11 Application of Genetic Algorithms and Partial Swarm Optimization in Cloud Computing
11.1 Introduction
11.2 Cloud Computing
11.2.1 Types of Cloud
11.2.1.1 IaaS
11.2.1.2 PaaS
11.2.1.3 SaaS
11.3 Workflow and Its Scheduling
11.3.1 How to Choose an Appropriate Cloud Provider for Running Workflows
11.3.2 Workflow Scheduling Problem Formulation
11.3.3 Generating Optimal Workflow with the Help of Partial Swarm Optimization
11.3.4 Fitness Function for Workflow Scheduling
11.4 Application of Partial Swarm Optimization for Generating Optimal Workflow Schedule
11.4.1 An Example Application
11.5 Application of a Binary Genetic Algorithm in Workflow Scheduling Problem
11.5.1 Binary Encoding Used for Representing the Workflow Schedule
References and Further Reading
Questions
Answers
Index