| Line |  
   Pseudocode |  
  
 
   
   | 1 |  
   Generate an initial population randomly; |  
  
 
   
   | 2 |  
   Initialize performance vectors, CC_performance and pop_performance; |  
  
 
   
   | 3 |  
   FEs_cycle_init = FEs_total/ cycles_number; |  
  
 
   
   | 4 |  
   while (FEs>0) do |  
  
 
   
   | 5 |  
    FEs_cycle = FEs_cycle_init; |  
  
 
   
   | 6 |  
    Randomly shuffle indices; |  
  
 
   
   | 7 |  
    Randomly select CC_size and pop_size from CC_performance and pop_performance; |  
  
 
   
   | 8 |  
    while (FEs_cycle>0) do |  
  
 
   
   | 9 |  
    Find the best fitness value before the optimization cycle f_best_before; |  
  
 
   
   | 10 |  
    for i=1 to CC_size |  
  
 
   
   | 11 |  
    Evaluate the i-th subcomponent using the SHADE algorithm; |  
  
 
   
   | 12 |  
    end for |  
  
 
   
   | 13 |  
    Find the best fitness value after the optimization cycle f_best_after; |  
  
 
   
   | 14 |  
    Evaluate performance of CC_size and pop_size using eq. (2); |  
  
 
   
   | 15 |  
    Update CC_performance and pop_performance; |  
  
 
   
   | 16 |  
    end while |  
  
 
   
   | 17 |  
   end while |  
  
 
   
   | 18 |  
   Generate an initial population randomly; |