Input: The data set to be solved; |
Output: The optimal feature subset; |
(1) | Set related parameters, including the population size, N, the maximal iteration times, T, and , and so on; t = 0; |
(2) | Cluster all the features into K clusters by using the method in Section 3.2. |
(3) | Randomly generate N integer ideas or individuals. |
(4) | Evaluate the fitness of each idea by equation (6); |
(5) | While t < T |
(6) | Grouping all the N ideas into M clusters by the method in [42]; |
(7) | Select the best idea from each cluster as the cluster center; % the phase of updating ideas % |
(8) | For i = 1: N % from the first idea to the last one |
(9) | If a random number rand() < , then |
(10) | Randomly select a cluster and determine its cluster center; |
(11) | If a random number rand() < , |
(12) | Select the cluster center; |
(13) | Generate a new idea by the equation (7); |
(14) | Implement the proposed disturbance operator; |
(15) | Else |
(16) | Randomly select a normal idea from this cluster |
(17) | Generate a new idea by the equation (7); |
(18) | Implement the proposed disturbance operator; |
(19) | End if |
(20) | Else |
(21) | Randomly select two clusters; |
(22) | If a random number rand() < , then |
(23) | Select two cluster centers; |
(24) | Generate a new idea by the equation (7); |
(25) | Implement the proposed disturbance operator; |
(26) | Else |
(27) | Randomly select two normal ideas from the two clusters respectively; |
(28) | Generate a new idea by the equation (7); |
(29) | Implement the proposed disturbance operator; |
(30) | End if |
(31) | End if % the phase of selecting elite ideas % |
(32) | Evaluate the new idea and update correspond old idea by Section 3.3. |
(33) | End for |
(34) | End while |