Quantum annealing