Cooperative simulated annealing implements concurrent synchronous runs of multiple SA processes. The concurrent processes are coupled through cooperative transitions, which replace the uniform distribution used to select the neighbors. Essentially, the algorithm manipulates multiple solutions (a population of solutions) at once.

To get a better idea of this, assume we have five solutions. We start with a randomly chosen population:

The new population is iteratively produced. Any new solution is cooperatively produced by the previous value of that solution, and the previous value of another randomly selected solution.

How do we find from and ? We find the neighbors of that are closer to than itself (using some distance measure). These neighbors constitute what is known as the CLOSER set.

The CLOSER set is defined as:

If the CLOSER set is not empty, the new solution is randomly selected from it. Otherwise, the new solution is randomly selected from the neighborhood of .

The temperature is updated based on the difference of the mean fitness of the new and old populations: