La
optimización combinatoria es una rama de la
optimización en matemáticas aplicadas y en ciencias de la computación, relacionada a la
investigación de operaciones, teoría de
algoritmos y teoría de la
complejidad computacional. También está relacionada con otros campos, como la
inteligencia artificial e
ingeniería de software. Los algoritmos de optimización combinatoria resuelven instancias de problemas que se creen ser difíciles en general, explorando el espacio de soluciones (usualmente grande) para estas instancias. Los algoritmos de optimización combinatoria logran esto reduciendo el tamaño efectivo del espacio, y explorando el espacio de búsqueda eficientemente.