Skip to main content
. 2022 Aug 29;24(9):1205. doi: 10.3390/e24091205
Algorithm 1: The BROMLDE Algorithm Procedure
   Input: Objective function:, Search-space limits: (low,up), Population size: Np,
      Dimension of problem:D, Maximal function evaluations: MaxFES, Jumping
      rate: Jr
   Output: Psol: Global minimum Pbest: Global minimizer
1  Set the current function evaluations FES=0
2  Set the population bounds randomly generate an initial population P0
3  for i=1 to Np do    //ROML population initialization (generation g = 0)
4    ϕi,0=rand(0,1)
5    hi(FES)=(1+FESMaxFES3)15
6    Ci,0={Li,0lower+Li,0upper2+Li,0lower+Li,0upper2hi(g)Xi,0hi(g),if rand(0,1)<0.5, Xi,0+ϕi,0(Xr,0Xi,0),otherwise,
7   Check the bounds in the current generation by Equation (17)
8  end
9  Get population Pg by selecting Np fittest points from {P0P0C}
10  FES=FES+2Np
11  Get Psol and Pbest by Equations (20)–(22)
12  while FES<MaxFES do  //Main loop(generation g > 0)
13   M(i,j),g=0   //Generate mutation matrix (M)
14   for i=1 to Np do
15     u=permute(1:D)
16     Generate μ, where μ~U(0,1)
17     Generate ϑ0,ϑ0=[3ϑ13],ϑ1~U[0 1],ϑ0U{1:3}
18     switch ϑ0 do
19       case 1 do κ=(1μ)2;
20       case 2 do κ=2μ(1μ);
21       case 3 do κ=μ2;
22     end
23     J=u(1:κD)|u=permute(1:D)M(i,J),g=1
24   end
25   Calculate the evolutionary step size Fg by Equation (25)
26   Generate the trial vector Tg by Equations (26) and (27) and control the boundaries of Tg by Equation (28)
27   Update population Pg by Equations (29) and (30)
28   FES=FES+Np
29   if randJr then  //ROML population with generation jumping
30    Update the bounds by calculating the smallest and biggest values of all
     dimensions in the population Pg
31    for i=1 to Np do
32     ϕi,g=rand(0,1)
33     hi(FES)=(1+FESMaxFES3)15
34     Ci,g={Li,glower+Li,gupper2+Li,glower+Li,gupper2hi(g)Xi,ghi(g),if rand(0,1)<0.5, Xi,g+ϕi,g(Xr,gXi,g),otherwise,
35     Check the bounds in the current generation by Equation (17)
36    end
37    Select Np fittest individuals from {PgPgC} and update the population Pg
     by Equation (33)
38    FES=FES+Np
39   end
40   Update Psol and Pbest by Equation (34)
41  end