  The schooling behavior of fish can be studied through simulations involving a
large number of interacting particles. In such systems, each individual
particle is guided by behavior rules, which include aggregation towards a
centroid, collision avoidance, and direction alignment. The movement vector of
each particle may be expressed as a linear combination of behaviors, with
unknown parameters that define a trade-off among several behavioral
constraints. A fitness function for collective schooling behavior encompasses
all individual particle parameters.
  For a large number of interacting particles in a complex environment,
heuristic methods, such as evolutionary algorithms, are used to optimize the
fitness function, ensuring that the resulting decision rule preserves
collective behavior. However, these algorithms exhibit slow convergence, making
them inefficient in terms of CPU time cost.
  This paper proposes a CPU-efficient iterative (Cluster, Partition, Refine --
CPR) algorithm for estimating decision rule parameters for a large number of
interacting particles. In the first step, we employ the K-Means (unsupervised
learning) algorithm to cluster candidate solutions. Then, we partition the
search space using Voronoi tessellation over the defined clusters. We assess
the quality of each cluster based on the fitness function, with the centroid of
their Voronoi cells representing the clusters. Subsequently, we refine the
search space by introducing new cells into a number of identified well-fitting
Voronoi cells. This process is repeated until convergence.
  A comparison of the performance of the CPR algorithm with a standard Genetic
Algorithm reveals that the former converges faster than the latter. We also
demonstrate that the application of the CPR algorithm results in a schooling
behavior consistent with empirical observations.
