Skip to main content
. 2022 Feb 24;22(5):1795. doi: 10.3390/s22051795
Algorithm 1. Pseudo-code of SSVUBA
Start SSVUBA.
1.      Input the optimization problem information: Decision variables, constraints, and objective function
2.      Set the T and N parameters.
3.      For t = 1:T
4.            Adjust number of selected variables to update (Iv ) using Equation (3). Ivround((1tT)·m)
5.            For i = 1:N
6.                  For j = 1:  Iv
7.                        Select a population member randomly to guide the ith population member.
                       XSX(S,:), S randomly selected from {1,2, , N} and Si, is the Sth row of the population matrix.
8.                        Select one of the variables at random to update. xi,kj, kj randomly selected from {1,2, ,m}.
9.                        Calculate I using Equation (5). Iround(1+r)
10.                        If Fs<Fi
11.                           Calculate the new status of the kjth dimension using Equation (4). xi,kj newxi,kj+r·(xs,kjI·xi,kj)
12.                        else
13.                           Calculate the new status of the kjth dimension using Equation (4). xi,kj newxi,kj+r·(xi,kjI·xs,kj)
14.                        end
15.                  end
16.                  Calculate the objective function based on Xinew . FinewF(Xinew)
17.                  If Finew<Fi
18.                     Update the ith population member using Equation (6). XiXinew
19.                  else
20.                     Update the ith population member using Equation (6). XiXi
21.                  end
22.            end
23.            Save the best solution so far.
24.      end
25.      Output the best obtained solution.
End SSVUBA.