Research Article

Improved Monarch Butterfly Optimization Algorithm Based on Opposition-Based Learning and Random Local Perturbation

Algorithm 2

Step 1. Set the population quantity , the maximum generation , the dimensions , the max walk step size ,
the adjusting rate , the migration period and the migration rate . Let the current cycle counter = 1.
//Initialization operation
Step 2. Generate the opposition-based population according to OBL. Select the individuals with better fitness to enter
the next generation from the original and opposition-based populations.
Step 3. Calculate their fitness values according to the location of each monarch butterfly. //Fitness evaluation
Step 4.  While    do
Sort the population according to monarch butterfly fitness using Quicksort algorithm in [31].
Divide the monarch butterfly population into two subpopulations, i.e., Subpopulation1 and Subpopulation2.
for   = 1 to   do
Update Subpopulation1 using Algorithm 1.
end for
for   = 1 to   do
Update Subpopulation2 by Eq. (2).
end for
Merge two new subpopulations into a new population.
Recalculate the fitness values of each monarch butterfly according to the updated position.
Let .
Step 5. end while
Step 6. Output the optimal values.