La optimización se define como el proceso de seleccionar la alternativa que mejor satisfaga los objetivos propuestos a partir de un conjunto de posibilidades. Se requieren dos etapas principales para resolver un problema de optimización: la formulación del modelo, que requiere experiencia y creatividad, y resolver y validar el modelo. La optimización se aplica en áreas como matemática, informática, economía, educación y sistemas para desarrollar aplicaciones eficientes y de calidad como el desarrollo de software, la optimización de consultas y dispositivos.