Problema de optimización
# Problema de optimización

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.

## Problema de optimización continua

La forma estándar de un problema de optimización continua es

    ${\begin{aligned}&{\underset {x}{\operatorname {minimizar} }}&&f(x)\\&\operatorname {sujeto\;a} &&g_{i}(x)\leq 0,\quad i=1,\dots ,m\\&&&h_{j}(x)=0,\quad j=1,\dots ,p\end{aligned}}$

donde

* f : $ℝ^n$ → ℝ es la función objetivo a minimizar sobre el vector x de n-variables,
* $g_i(x)$ ≤ 0 se denominan restricciones de desigualdad
* $h_j(x)$ = 0 se denominan restricciones de igualdad, y
* m ≥ 0 y p ≥ 0.

Si m = p = 0, el problema es un problema de optimización sin restricciones. Por convención, la forma estándar define un problema de minimización. Un problema de maximización puede tratarse negando la función objetivo.

## Problema de optimización combinatoria

Formalmente, un problema de optimización combinatoria A es un cuádruple (I, f, m, g), donde

* I es un conjunto de instancias;
* dada una instancia x ∈ I, f(x) es el conjunto de soluciones factibles;
* dada una instancia x una solución factible y de x, m(x, y) denota la medida de y, que generalmente es un real positivo.
* g es la función objetivo, y es min o max.

El objetivo es entonces encontrar para algún caso x una solución óptima, es decir, una solución factible y con

    $m(x,y)=g{\bigl \m(x,y')\mid y'\in f(x){\bigr \}}.$

Para cada problema de optimización combinatoria, hay un problema de decisión correspondiente que pregunta si existe una solución factible para alguna medida particular $m_0.$ Por ejemplo, si hay un gráfico G que contiene los vértices u y v, un problema de optimización podría ser "encontrar una ruta de u a v que use la menor cantidad de aristas". Este problema podría tener una respuesta de, digamos, 4. Un problema de decisión correspondiente sería "¿hay una ruta de u a v que use 10 aristas o menos?" Este problema se puede responder con un simple 'sí' o 'no'.

En el campo de los algoritmos de aproximación, los algoritmos están diseñados para encontrar soluciones casi óptimas a problemas difíciles. La versión de decisión habitual es entonces una definición inadecuada del problema, ya que solo especifica soluciones aceptables. Aunque podríamos introducir problemas de decisión adecuados, el problema se caracteriza más naturalmente como un problema de optimización.

