Bajo la hipótesis de que P ≠ NP (véase el artículo
¿P es igual a NP?), por desgracia, para algunos problemas de optimización no existen algoritmos de resolución eficaces. Sin embargo, como ocurre a menudo en matemáticas, su formulación es a veces tan sencilla que no se imagina la dificultad que esconden. Tomemos, por ejemplo, el célebre problema del viajante de comercio: dado un conjunto de ciudades, ¿qué recorrido de distancia mínima permite visitar todas las ciudades y regresar al punto de partida? Pese a su sencillez, no existe ningún algoritmo que permita resolver eficazmente este problema: incluso el mejor de ellos necesitará un tiempo que crece exponencialmente con el número de ciudades. ¿Qué hacer cuando se quiere resolver un problema «de gran tamaño» (del tipo de los que se encuentran en la práctica) en un tiempo «aceptable» (del orden de unos minutos)?