Input parameters: Data set, , the number of clusters, , the number of cell, , the number of objects in each cell, |
, maximum execution step number, , crossover rate, , and mutation rate, . |
Output results: the optimal centers, . |
Step 1. Initialization |
for to |
for to |
Generate th initial object for cell , ; |
Partition all data points into clusters, ; |
Compute the value of the object, ; |
end for |
end for |
Fill the global best object using the best of all initial objects; |
Set computing step ; |
Step 2. Object evolution in cells |
for each cell () in parallel do |
Evolve all object () in its mating pool using evolution rules; |
Use truncation operation to maintain its best objects; |
for to |
Partition all data points into clusters, ; |
Compute the value of the object, ; |
end for |
end for |
Step 3. Object communication between cells |
for each cell () in parallel do |
Transmit better objects in cell to its two adjacent cells; |
Receive better objects from its two adjacent cells into its mating pool; |
Update using the best object in cell ; |
end for |
Step 4. Halt condition judgment |
if is satisfied |
; |
goto Step 2; |
end if |
The system exports the global best object in the environment and halts; |