HBBO: Human Behavior-Based Optimization Algorithm

A powerful metaheuristic algorithm to solve complex optimization problems
227 descargas
Actualizado 10 jun 2021

Ver licencia

Optimization techniques, specially evolutionary algorithms, have been widely used for solving various scientific and engineering optimization problems because of their flexibility and simplicity. Human behavior-based optimization (HBBO) is a powerfull metaheuristic optimization method that uses the human behavior as the main source of inspiration. Since in reality every individual finds his success in one specific way, in this algorithm, after generating the initial individuals, all of them spread in different fields. In each field, all individuals try to improve themselves by means of education process, and after that, they find a random advisor from the whole society and start to consult with him. In addition, as it happens in the real society that the beliefs of some people may alter and they change their job or educational field, in this algorithm, by considering a field changing probability, in some fields, an individual may find another way suitable and change his field. Finally, the stopping criteria will be checked, and if one of them reaches, the algorithm stops.
This algorithm consists of the five steps as follows:
  • Step 1: Initialization
  • Step 2: Education
  • Step 3: Consultation
  • Step 4: Field changing probability
  • Step 5: Finalization
The provided codes models the above steps according to the procedures written in the following paper:
[Reference] Seyed-Alireza Ahmadi, "Human behavior-based optimization: a novel metaheuristic approach to solve complex optimization problems", in Neural Computing and Applications, vol. 28, no. 1, pp. 233–244, Dec. 2017.
****************** HOW TO USE ******************
To use the codes, open the HBBO.m and adjust the following settings and parameters:
%% Problem Definition Parameters
nVar=5; %number of variables determininig diamention of the problem
CostFunction=@BenchmarkFunction; % You should write the name of your OF here: @yourOFname
VarMin=[-10, -10, -10, -10, -10]; % Specify lower bounds as a vector.
VarMax=[10, 10, 10, 10, 10]; % Specify upper bounds as a vector.
%% HBBO Parameters
nIterations=1000; %maximum number of iterations
nPop=150; %number of all Individuals
nField=30; %number of fields which could be round(nPop/5)
K1=0;
K2=2.5;
Sigma=0.2;
Mode=1; % Advanced Mode=1 Simple Mode=2
%% Stoping Conditions
FunctionTolerance=1e-6;
FitnessLimit=-inf;
StallIteration=1000000;
Plot=1; %Plot=1 if you want to plot the results

Citar como

Ahmadi, Seyed-Alireza. “Human Behavior-Based Optimization: a Novel Metaheuristic Approach to Solve Complex Optimization Problems.” Neural Computing and Applications, vol. 28, no. S1, Springer Science and Business Media LLC, May 2016, pp. 233–44, doi:10.1007/s00521-016-2334-4.

Ver más estilos
Compatibilidad con la versión de MATLAB
Se creó con R2019b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Etiquetas Añadir etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
2.2.1

ver. 2.1.0

2.1.1

ver. 2.1.1

2.1.0

This version has been tested in Matlab R2019b.

2.0.0