The Annealing Algorithm