Intelligent Optimization Algorithm: Human Behavior Optimization Algorithm - Code Attached

Intelligent optimization algorithm: human behavior optimization algorithm


Abstract: HBBO is a new meta-heuristic optimization algorithm proposed by Seyed-Alireza Ahmadi in 2017 based on human behavior. . It has the characteristics of strong optimization ability and fast convergence speed.

1. Human behavior optimization

The algorithm is based on the following assumptions: (1) All initial individuals are distributed in different fields; (2) In each field, each individual is trying to improve himself through education; (3) Each individual randomly finds consultants from the whole society for Consulting; (4) In some fields, an individual may change his field of study. The description of the HBBO algorithm is briefly as follows:

(1) Initialization. With N var N_{\mathrm{var}}NwasIn the optimization problem of variables, N pop N_{\text {pop }} is randomly generated by formula (2)Npop The number of initial individuals in each field is expressed by formula (3); the formula for calculating the function value of initial individuals is Individual = [ x 1 , x 2 , ⋯ ,
 x N vm ] ( 2 ) N . Ind ⁡ i = round ⁡ { N pop / N field } ( 3 ) function valua = f ( x 1 , x 2 , ⋯ , x N ver ) ( 4 ) \begin{aligned} \ text { Individual } & =\left[x_1, x_2, \cdots, x_{N_{\mathrm{vm}}}\right](2) \\ N . \operatorname{Ind}_i & =\operatorname{round} \left\{N_{\mathrm{pop}} / N_{\text {field }}\right\} (3)\\ \text { function valua } & =f\left(x_1, x_2, \cdots, x_ {N_{\mathrm{ver}}}\right)(4) \end{aligned} Individual N.Indi function valua =[x1,x2,,xNvm](2)=round{ Npop/Nfield }(3)=f(x1,x2,,xNver)(4)
In the formula, Individual is the initial individual; N var N_{\mathrm{var}}Nwasis the number of variables; N . I ndi N . \mathrm{Ind}_iN.Indifor secondNumber of individuals in i field;N pop N_{\text {pop }}Npop is the total amount of individuals; N field N_{\text {field }}Nfield is the field number; function valua is the function value.

(2) Education. HBBO \mathrm{HBBO}In the HBBO algorithm, each individual tries to improve itself by learning from the best individual (expert individual) in its own field (the expert individual is the individual with the best fitness value in each field).
(3) Consultation. In the HBBO algorithm, each individual (except the optimal individual) randomly finds and consults advisors from the whole society. During the consultation process, if the new variable has a better function value, the original variable is replaced with the new variable; otherwise, the original variable is kept. The number of random variables to be changed is expressed as
N c = round ⁡ { σ × N var } (5) N_c=\operatorname{round}\left\{\sigma \times N_{\mathrm{var}}\right\} \tag{5}Nc=round{ p×Nwas}
In formula ( 5 ) , σ \sigmaσ is the consulting factor; other parameters have the same meaning as above.

(4) Domain change probability. In the iterative process, some domain individuals may change his learning domain. The HBBO algorithm uses the rank probability method to calculate the change probability of each field, and each field is sorted according to its respective function value. That is,
 sort fields = [ field 1 , field 2 , ⋯ , field n ] (6) \text { sort fields }=\left[\text { field }_1, \text { field }_2, \cdots, \text { field }_n\right] \tag{6} sort fields =[ field 1, field 2,, field n]
In formula ( 6 ) , sort fields is field sorting; field , , field n n n are expert individuals with the worst and best fitness values, respectively. The formula for calculating the probability of change in each field is
P i = O i / ( N field + 1 ) (7) P_i=O_i /\left(N_{\text {field }}+1\right) \tag{7}Pi=Oi/(Nfield +1)( 7 )
whereP i , O i P_i , O_iPiOiRespectively for the iii field change probability and sort order.
Through the above calculations, experts with better fitness values ​​are less likely to change their domains, while experts with poorer fitness values ​​are more likely to change their domains. In the process of field change, according to the function value, the selection probability of each individual is defined as
P . S j = ∣ f ( Individual j ) / ∑ k = r N i = 1 f ( Individual k ) (8) P . S_j= \mid f\left(\text { Individual }_j\right) / \sum_{k=\mathrm{r}}^{N_{i=1}} f\left(\text { Individual }_k\right) \ tag{8}P.Sj=∣f( Individual j)/k=rNi=1f( Individual k)
In formula ( 8 ) , P . S j P . S_jP.Sjfor the jjthThe selection probability of j individuals;N ind N_{\text {ind }}Nind Selected as the kkthk individuals,k = 1 , 2 , ⋯ , N ind k=1,2, \cdots, N_{\text {ind }}k=1,2,,Nind 

2. Experimental results

insert image description here

3. References

[1] 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.

4.Matlab

5.python

Guess you like

Origin blog.csdn.net/u011835903/article/details/132251160