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;
Algorithm 1: Membrane clustering algorithm: a clustering algorithm based on tissue-like P systems.