Basic flowchart of MPSOMA |
Step 1. , Generate a initial population ; |
Step 2. Evaluate the objective values of all particles in ; |
Step 3. If , output the optimal sequences of job, otherwise divide into three |
subpopulations , and , go to Step ; |
Step 4. Evolve each subpopulation by adopting PSO and obtain three temporary subpopulations |
, , and ; |
Step 5. Optimize each subpopulation by different local search strategies. and are updated |
by using IIS local search and is optimized by using VNS. Then three temporary |
subpopulations are denoted as , , and ; |
Step 6. Evaluate the objective values of all particles in and choose the best particle |
from the three subpopulations decode them and three corresponding sequences of job |
, , are obtained; the worst particle is also selected from the three subpopulations |
and the three corresponding sequences of job are denoted as . Then |
are used to build a probabilistic model by EDA; |
Step 7. Three new sequences of job are sampled from the probabilistic model, if the |
maximum completion time of is less than that of , then replace the worst individual of each |
sub-population by , here ; |
Step 8. Evaluate the objective values of all particles in three temporary subpopulations and choose |
the best particle from three subpopulations, decode it to sequence of job and SA local |
search is applied on and obtain a new sequence of job . If the maximum completion |
time of is less than that of , then use to replace ; |
Step 9. Encode all sequences of jobs to the positions of particles and unite the three subpopulations |
into a population, . Return to Step . |