En matemáticas, ciencias de la computación y economía, un problema de optimización es el problema de encontrar la mejor solución a partir de todas las soluciones factibles.
Los problemas de optimización se pueden dividir en dos categorías, dependiendo de si las variables son continuas o discretas:

Un problema de optimización con variables discretas se conoce como optimización discreta, en la que un objeto como un número entero, una permutación o un gráfico se debe encontrar en un conjunto contable.
Un problema con variables continuas se conoce como optimización continua, en la que se debe encontrar un valor óptimo de una función continua. Pueden incluir problemas restringidos y problemas multimodales.