| Algorithm 1. Pseudo-Code of MFISOA. |
|
1: Initialize the parameters (population size (N), dimension (dim), upper bound (), lower bound (), Max iterations (T)). 2: Initialize the solutions’ positions randomly. 3: while do 4: Calculate the fitness value of each individual, and determine the global optimal individual , global worst individual and population average fitness mean(fit). 5: Calculate the population centroid for each dimension using Equation (8). 6: for i = 1:N do 7: Classify the individual as “high-quality” ) or “poor-quality” ( ) based on its fitness. 8: then 9: Compute weights and using Equation (2). 10: Update the position by Equation (3). 11: else 12: Generate the Levy flight disturbance matrix using Equation (4). 13: Update the position by Equation (3). 14: end if 15: Randomly select two distinct individuals and ( ). 16: Generate the binary mask vector F1 using Equation (5). 17: Fine-tune the position by Equation (6). 18: if or then 19: Map to the valid range by Equation (9). 20: end if 21: Enforce the secondary boundary constraint by Equation (10). 22: End for 23: Update the fitness values, , and mean(fit) for the new population. 24: End while 25: Return . |