| () Input , , , , samples, number of subsets , the number of clustering centers |
| and population size ; |
| () Initialize population , generation number ; |
| () Calculate the fitness of each individual in the initial population according to Eq. (8); |
| () For all to do |
| () Select survivor according to the wheel selection rule [23]; |
| () End for |
| () For all to do |
| () For all to do |
| () Select randomly two individuals and calculate the crossover probability according to Eq. (12); |
| () Generate a random floating-point number , ; |
| () If then |
| () Perform arithmetic crossover operation [24]; |
| () End if |
| () End for |
| () For all to do |
| () Calculate the mutation probability according to Eq. (14); |
| () Generate a random floating-point number , ; |
| () If then |
| () Perform Gaussian mutation operation [25]; |
| () End if |
| () End for |
| () Calculate the fitness of each individual in the new population ; |
| () If then |
| () Return individuals with the highest fitness; |
| () Else if |
| () Return to selecting survivor; |
| () End if |
| () End for |
| () Output final population |
| () Initialize obtained the excellent clustering centers, the number of iterations , the error log , |
| and the cut-off error ; |
| () Establish new objective function according to Eq. (16), (17) and (18); |
| () For to |
| () If |
| () Establish new membership degree matrix according to Eq. (21); |
| () Obtain new formula of clustering centers according to Eq. (22); |
| () , ; |
| () Else if |
| () Convergence; |
| () End if |
| () End for |