Simulated annealing starts with an initial solution and iteratively makes small random changes to it. At each step, the algorithm evaluates the new solution and decides whether to accept it based on a temperature parameter that decreases over time. Initially, the temperature is high, allowing the algorithm to accept worse solutions to escape local minima. As the temperature decreases, the algorithm becomes more selective, converging towards an optimal solution.