Simulated annealing is an optimization algorithm inspired by the physical annealing process. It mimics how a material is heated and slowly cooled to reach a uniform structure of minimum energy. The algorithm uses a cooling schedule that starts with a high "temperature" and lowers it gradually, accepting worse solutions with probability that decreases as cooling proceeds. Problem-specific decisions include the cost function, neighborhood definition, and performance evaluation. Sample problems that can be solved using simulated annealing include the traveling salesman problem, structural optimization, and network/graph problems. While results are generally good quality, simulated annealing may require significant computation time and results may vary between runs.