Inspired by the physical annealing process of solids (crystals) - first melting then cooling very slowly, to obtain a minimum energy state.
Randomly generate neighbor solution and accept worse solution with reducing probabilities.
Use short-term memory is the search process to avoid cycling through visited solutions.
Modify the evaluation function to escape from local optima
When stuck at a local optima, perturb the solution to a new random solution.
Greedily construct initial solutions with randomness and start local searches from these initial solution.
Includes: Genetic Algorithm / Simulated Evolution /Stochastic Evolution
An example: http://genetic.moonlander.googlepages.com/home
Keep a small population of reference solutions and combine them to create new solutions.
Example: find best restaurant for all group members
Mimicking the improvisation process of musicians
Finding neighbor solution involves minimizing the cross-entropy or Kullback-Leibler divergence.
Individuals (particles) exchange information about local optimal among neighborhood and conduct search based on this information.
Evolves a single solution and makes local modifications to the worst components.
| Metaheuristics | Type | Solution Population | Memory Utilization |
| Ant Colony Optimization | constructive | multiple | Yes |
| Cross-Entropy Method | local search | single | Yes |
| Evolutionary Computation | local search | multiple | No |
| Extremal Optimization | local search | single | No |
| Guided Local Search | local search | single | Yes |
| Greedy Randomized Adaptive Search Procedures | constructive | single | No |
| Harmony Search | local search | multiple | Yes |
| Iterated Local Search | local search | single | No |
| Particle Swarm Optimization | local search | multiple | No |
| Simulated Annealing | local search | single | No |
| Stochastic Diffusion Search | constructive | multiple | No |
| Scatter Search | local search | single | No |
| Tabu Search | local search | single | Yes |