Research Article

An Adaptive Hybrid Algorithm Based on Particle Swarm Optimization and Differential Evolution for Global Optimization

Algorithm 1

Step  1. Initialize parameters: PSO-Flag=false; DE-Flag=false; the mutation probability of PSO: ;
    the mutation probability of DE:  ; the balanced parameter between PSO and DE: .
    Convergence evaluation parameter .
Step  2. generation counter G = 0 and randomly initialize a population of NP individuals
     with , uniformly distributed in the range
     , where and .
Step  3. Evaluation the population and Identify the best position.
Step  4. While stopping criterion is not satisfied
    Generate Random number rand in (0, 1).
    If rand < p
           Set DE-Flag=true; %%Active jDE for current population
           for i = 1 to the NP do
             Update and according to (14);
             Generate using (7)
             Generate the trial vector by (12)
         End for
    Else
       Set PSO-Flag=true; %%Active PSO for current population
       Update using (4)
       for i = 1 to the NP do
         Update particle Velocity and Position according to (1), (2) respectively.
         Set the values of position to the trial vector .
       End for
    End if
    Step  4.1. Randomly reinitialize the trial vector within the search
        space if any variable is outside its boundaries.
    Step  4.2. Selection
        for i = 1 to NP
             Evaluate the trial vector
                  If
                    
                    
                       If
                        
                        
                      End if
                 End if
       End for
    Step  4.3. Calculate parameter d using (15)
        If parameter meets the requirement of (16)
           Generate a random number rand in (0, 1).
           If rand is less than and PSO-Flag is true
            Update using (17)
           End if
           If rand is less than and DE-Flag is true
              Update using (18)
           End if
        End if
    Step  4.4. Increment the generation count ;
       Reset PSO-Flag=false; DE-Flag=false;
Step  5. End while