quantum algorithms for optimization problems