Artificial Hummingbird Algorithm for Multi-Objective Optimization with MATLAB Code

1 Introduction

This work presents a new bio-inspired optimization algorithm called the Artificial Hummingbird Algorithm (AHA) to solve optimization problems. The AHA algorithm simulates the unique flight skills and intelligent foraging strategies of hummingbirds in nature. It simulates three flight skills used in foraging strategies, including axial, diagonal, and omnidirectional flight. Additionally, guided foraging, territorial foraging, and migratory foraging are implemented, and a visitation table is constructed to simulate the memory function of hummingbirds regarding food sources. AHA is validated using two sets of numerical test functions and the results are compared with those obtained from various algorithms. The comparison indicates that AHA is more competitive than other meta-heuristic algorithms and can determine high-quality solutions with fewer control parameters. Furthermore, the performance of AHA is validated in ten challenging engineering design case studies. The results demonstrate the superiority of AHA over existing optimization techniques in the literature in terms of computational burden and solution accuracy.

2 Simulation Code

%-------------------------------------------------------------------%%  Multi-Objective artificial hummingbird algorithm (MOAHA)         %%  Source codes demo version 1.0                                    %%-------------------------------------------------------------------%% I acknowledge that this version of MOAHA has been written using% a portion of the following code:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  MATLAB Code for                                                  %%                                                                   %%  Multi-Objective Particle Swarm Optimization (MOPSO)              %%  Version 1.0 - Feb. 2011                                          %%                                                                   %%  According to:                                                    %%  Carlos A. Coello Coello et al.,                                  %%  "Handling Multiple Objectives with Particle Swarm Optimization," %%  IEEE Transactions on Evolutionary Computation, Vol. 8, No. 3,    %%  pp. 256-279, June 2004.                                          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function pop=DetermineDomination(pop) nPop=numel(pop); for i=1:nPop pop(i).Dominated=false; end for i=1:nPop for j=i+1:nPop if Dominates(pop(i).Cost,pop(j).Cost) pop(j).Dominated=true; elseif Dominates(pop(j).Cost,pop(i).Cost) pop(i).Dominated=true; break; else if all (pop(i).Cost==pop(j).Cost) %remove the same individual pop(i).Dominated=true; end end end endend

3 Results

Artificial Hummingbird Algorithm for Multi-Objective Optimization with MATLAB Code

4 References

[1] Liu Minghui. Improved Multi-Objective Artificial Bee Colony Algorithm and Its Application in Feature Selection[D]. Anhui University, 2018.

[2] Zhao W, Wang L, Mirjalili S. Artificial hummingbird algorithm: A new bio-inspired optimizer with its engineering applications[J]. Computer Methods in Applied Mechanics and Engineering, 2022, 388:114194-.

About the Author: Specializes in intelligent optimization algorithms, neural network prediction, signal processing, cellular automata, image processing, path planning, UAVs, and various fields of MATLAB simulation. For issues related to MATLAB code, feel free to contact.

Some theoretical references are cited from online literature; please contact the author to delete if there is any infringement.

Leave a Comment