Dualidad (optimización) - Duality (optimization)

En la teoría matemática de la optimización , la dualidad o el principio de dualidad es el principio de que los problemas de optimización pueden verse desde dos perspectivas, el problema primario o el problema dual . La solución al problema dual proporciona un límite inferior a la solución del problema primario (minimización). Sin embargo, en general, los valores óptimos de los problemas primarios y duales no necesitan ser iguales. Su diferencia se llama brecha de dualidad . Para problemas de optimización convexa , la brecha de dualidad es cero bajo una condición de calificación de restricción .

Problema dual

Por lo general, el término "problema dual" se refiere al problema dual de Lagrange, pero se utilizan otros problemas duales, por ejemplo, el problema dual de Wolfe y el problema dual de Fenchel . El problema dual de Lagrange se obtiene formando el Lagrangiano de un problema de minimización mediante el uso de multiplicadores de Lagrange no negativos para sumar las restricciones a la función objetivo, y luego resolviendo los valores de las variables primarias que minimizan la función objetivo original. Esta solución da las variables primarias como funciones de los multiplicadores de Lagrange, que se denominan variables duales, de modo que el nuevo problema es maximizar la función objetivo con respecto a las variables duales bajo las restricciones derivadas sobre las variables duales (incluyendo al menos la no negatividad limitaciones).

En general dado dos pares duales de separadas espacios localmente convexos y y la función , podemos definir el problema primal como encontrar tal que En otras palabras, si existe, es el mínimo de la función y la infimum (extremo inferior) de la función se alcanza.

Si hay condiciones de restricción, estas se pueden incorporar a la función dejando dónde está una función adecuada en que tiene un mínimo de 0 en las restricciones, y para la cual se puede demostrar eso . La última condición se satisface trivialmente, pero no siempre de manera conveniente, para la función característica (es decir, para satisfacer las restricciones y demás). Luego, extiéndalo a una función de perturbación tal que .

La brecha de dualidad es la diferencia de los lados derecho e izquierdo de la desigualdad.

donde es el conjugado convexo en ambas variables y denota el supremo (mínimo límite superior).

Brecha de dualidad

La brecha de dualidad es la diferencia entre los valores de cualquier solución primaria y cualquier solución dual. Si es el valor dual óptimo y es el valor primario óptimo, entonces la brecha de dualidad es igual a . Este valor es siempre mayor o igual a 0. La brecha de dualidad es cero si y solo si se mantiene la dualidad fuerte . De lo contrario, la brecha es estrictamente positiva y la dualidad débil se mantiene.

En la optimización computacional, a menudo se informa otra "brecha de dualidad", que es la diferencia de valor entre cualquier solución dual y el valor de una iteración factible pero subóptima para el problema primario. Esta "brecha de dualidad" alternativa cuantifica la discrepancia entre el valor de una iteración actual factible pero subóptima para el problema primario y el valor del problema dual; el valor del problema dual es, en condiciones de regularidad, igual al valor de la relajación convexa del problema primario: la relajación convexa es el problema que surge al reemplazar un conjunto factible no convexo con su casco convexo cerrado y al reemplazar un conjunto no convexo función convexa con su cierre convexo , que es la función que tiene el epígrafe que es el casco convexo cerrado de la función objetivo primordial original.

Caso lineal

Los problemas de programación lineal son problemas de optimización en los que la función objetivo y las restricciones son todas lineales . En el problema primario, la función objetivo es una combinación lineal de n variables. Hay m restricciones, cada una de las cuales coloca un límite superior en una combinación lineal de las n variables. El objetivo es maximizar el valor de la función objetivo sujeta a las restricciones. Una solución es un vector (una lista) de n valores que alcanza el valor máximo para la función objetivo.

En el problema dual, la función objetivo es una combinación lineal de los valores m que son los límites en las restricciones m del problema primario. Hay n restricciones duales, cada una de las cuales coloca un límite inferior en una combinación lineal de m variables duales.

Relación entre el problema primario y el problema dual

En el caso lineal, en el problema primario, desde cada punto subóptimo que satisface todas las restricciones, hay una dirección o subespacio de direcciones para moverse que aumenta la función objetivo. Se dice que moverse en cualquier dirección elimina la holgura entre la solución candidata y una o más restricciones. Un valor inviable de la solución candidata es uno que excede una o más de las restricciones.

En el problema dual, el vector dual multiplica las restricciones que determinan las posiciones de las restricciones en el primario. Variar el vector dual en el problema dual es equivalente a revisar los límites superiores en el problema primario. Se busca el límite superior más bajo. Es decir, el vector dual se minimiza para eliminar la holgura entre las posiciones candidatas de las restricciones y el óptimo real. Un valor inviable del vector dual es uno que es demasiado bajo. Establece las posiciones candidatas de una o más de las restricciones en una posición que excluye el óptimo real.

Esta intuición se formaliza mediante las ecuaciones en Programación lineal: Dualidad .

Caso no lineal

En la programación no lineal , las restricciones no son necesariamente lineales. No obstante, se aplican muchos de los mismos principios.

Para asegurar que el máximo global de un problema no lineal se pueda identificar fácilmente, la formulación del problema a menudo requiere que las funciones sean convexas y tengan conjuntos compactos de nivel inferior.

Este es el significado de las condiciones de Karush-Kuhn-Tucker . Proporcionan las condiciones necesarias para identificar óptimos locales de problemas de programación no lineal. Hay condiciones adicionales (calificaciones de restricción) que son necesarias para que sea posible definir la dirección hacia una solución óptima . Una solución óptima es aquella que es un óptimo local, pero posiblemente no un óptimo global.

El principio fuerte de Lagrange: la dualidad de Lagrange

Dado un problema de programación no lineal en forma estándar

con el dominio que tiene un interior no vacío, la función lagrangiana se define como

Los vectores y se denominan variables duales o vectores multiplicadores de Lagrange asociados con el problema. La función dual de Lagrange se define como

La función dual g es cóncava, incluso cuando el problema inicial no es convexo, porque es un mínimo puntual de funciones afines. La función dual produce límites inferiores al valor óptimo del problema inicial; para todos y cada uno de los que tenemos .

Si se cumple una calificación de restricción como la condición de Slater y el problema original es convexo, entonces tenemos una fuerte dualidad , es decir .

Problemas convexos

Para un problema de minimización convexo con restricciones de desigualdad,

el problema dual de Lagrange es

donde la función objetivo es la función dual de Lagrange. Siempre que las funciones y sean continuamente diferenciables, el mínimo se produce cuando el gradiente es igual a cero. El problema

se llama el problema dual de Wolfe. Este problema puede ser difícil de resolver computacionalmente, porque la función objetivo no es cóncava en las variables conjuntas . Además, la restricción de igualdad no es lineal en general, por lo que el problema dual de Wolfe suele ser un problema de optimización no convexo. En cualquier caso, la dualidad débil se mantiene.

Historia

Según George Dantzig , el teorema de la dualidad para la optimización lineal fue conjeturado por John von Neumann inmediatamente después de que Dantzig presentara el problema de programación lineal. Von Neumann notó que estaba usando información de su teoría de juegos y conjeturó que el juego matricial de suma cero para dos personas era equivalente a la programación lineal. Albert W. Tucker y su grupo publicaron por primera vez pruebas rigurosas en 1948 . (Prólogo de Dantzig a Nering y Tucker, 1993)

Ver también

Notas

Referencias

Libros

Artículos