Condiciones de Karush-Kuhn-Tucker (KKT)

Son condiciones necesarias y suficientes para que la solución de un problema de programación matemática sea óptima.

Las condiciones de optimalidad establecidas en el Teorema de Karush-Kuhn-Tucker (KKT) permiten abordar la resolución de modelos de Programación No Lineal que consideran tanto restricciones de igualdad (ecuaciones) como desigualdad (inecuaciones).

En términos comparativos las condiciones de KKT son más generales que el Método de Lagrange el cual se puede aplicar a problemas no lineales que consideran exclusivamente restricciones de igualdad.

### Teorema

Suponga que f(x), g1(x), g2(x),…,gm(x) son funciones diferenciables que satisfacen ciertas condiciones de regularidad. Entonces, x\*=(x1\*,x2\*,…,xm\*) puede ser una solución óptima para el problema de programación no lineal, solo si existen m números µ1, µ2,…, µm que satisfacen todas las condiciones KKT siguientes:

En las condiciones 1,2,4 y 6, las µi corresponden a las variables duales de programación lineal y tienen una interpretación económica comparable. Las µi surgen de la derivación matemática. Las condiciones 3 y 5 solo ayudan a asegurar la factibilidad de la solución. Las otras condiciones eliminan la mayor parte de las soluciones factibles como posibles candidatos para una solución óptima.

El cumplimiento de estas condiciones no asegura que la solución sea óptima, por lo tanto se deben hacer ciertas suposiciones de convexidad adicionales para obtener esta garantía.

En caso de maximización la función objetivo debe ser cóncava y las funciones de restricción deben formar un conjunto convexo.

En caso de minimización la función objetivo debe ser convexa y las funciones de restricción deben formar un conjunto convexo, y µ debe ser no positivo.

### Algoritmo

Inicio

Se ingresa la función objetivo f(x) y el conjunto de restricciones gi(x)

Se verifica que la función objetivo f(x) y el conjunto de restricciones gi(x) sean diferenciables:

* Si son diferenciables, se pasa al siguiente paso
* Sino, se detiene el algoritmo

Se verifica que el conjunto gi(x) sea un conjunto convexo

* Si es así, continuamos al siguiente paso
* Sino, se detiene el algoritmo

Se evalúa la concavidad o convexidad de la función objetivo para asegurar su optimalidad

Maximizando

* Si f(x) es cóncava, se asegura la optimalidad
* Si f(x) es convexa, no se asegura la optimalidad del problema.

Minimizando

* Si f(x) es convexa, se asegura la optimalidad
* Si f(x) es cóncava, no se asegura la optimalidad del problema

Se aplican las condiciones KKT a la función objetivo f(x) y el conjunto de restricciones gi(x) para asegurar la factibilidad de la solución utilizando los multiplicadores de Lagrange generalizados.

Se evalúan los valores de las variables de decisión y multiplicadores que satisfagan las condiciones de factibilidad KKT resultantes.

Fin

### Caso práctico

Un asesor financiero está evaluando la compra de acciones de firmas de cierto sector industrial. Desea minimizar la variación de la cartera resultante compuesta por acciones de dos firmas, pero también quiere tener un tasa de retorno de al menos un 9%. Después de obtener datos históricos sobre la variación y rendimientos de ambos instrumentos, desarrolla el siguiente modelo de optimización no-lineal:

Minimizar f(X,Y)= 0,16X2+0,2 XY+0,09Y2

Sujeto a

X+Y=1

0,11X+0,08Y≥0,09

X,Y≥0

Donde X e Y representan la proporción de dinero invertida en cada acción. Formule explícitamente todas las condiciones de optimalidad del Teorema de Karush-Kuhn-Tucker para este problema y úselas para determinar la cartera óptima.

Obtenemos el gradiente de la función objetivo:

∇f(X,Y)=(0,32X+0,2Y ; 0,2X+0,18Y)

Como estamos minimizando, debemos comprobar que la función objetivo es convexa, para ello calculamos la matriz Hessiana de la  misma:

Esta es positiva y definida, por lo tanto nuestra función objetivo es estrictamente convexa.

Como las restricciones son lineales, y la función objetivo es estrictamente convexa, resulta que es problema propuesto es un problema convexo.

Que el problema sea convexo implica que las condiciones de optimalidad de Karush-Kuhn-Tucker son necesarias y suficientes para hallar la solución óptima del mismo.

Las condiciones del Teorema de Karush-Kuhn-Tucker para este problema son:

i)

0.32x + 0.20y + λ1 – 0.11μ1 – μ2 = 0

0.18y + 0.20x + λ1 – 0.08μ1 – μ3 = 0

ii)

(-0.11x – 0.08y + 0.09) μ1 = 0

-x1 μ2 = 0 -x3 μ3 = 0

iii)

x + y = 1

0.11x + 0.08y ≥ 0.09

x≥0, y≥0

iv)

μ1≥0, μ2≥0, μ3≥0

Al considerar el esquema de activación de restricciones, siempre debe estar activa la ecuación x+y =1 y lo que cabe entonces es no activar ninguna inecuación o a lo sumo activar una de ellas.

Los diferentes casos que se podrían llegar a analizar son:

i) Ninguna inecuación activa.

Tomamos μ1=0, μ2=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 = 0

0.18y + 0.20x + λ1 = 0

x + y = 1

Cuya solución resulta ser: x=-0.2 e y=1.2 que es infactible.

ii) Activando sólo la inecuación 0.11x + 0.08y ≥ 0.09.

Tomamos μ2=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 – 0.11μ1 = 0

0.18y + 0.20x + λ1 – 0.08μ1 = 0

x + y = 1

0.11x + 0.08y = 0.09

Cuya solución resulta ser: x=1/3 e y=2/3 con multiplicadores λ1=0,04444453 y μ1=1,777777502, con lo cual tenemos un punto que cumple con todas las condiciones del teorema.

iii) Activando sólo la inecuación x≥0.

Tomamos μ1=0, μ3=0 y resolvemos:

0.32x + 0.20y + λ1 – μ2 = 0

0.18y + 0.20x + λ1 = 0

x + y = 1

x = 0

Cuya solución resulta ser: x=0 e y=1 con multiplicadores λ1=-0.18 y μ2 = 0.02pero no verifica 0.11x + 0.08y = 0.08 ≥ 0.09.

iv) Activando sólo la inecuación y≥0.

Tomamos μ1=0, μ2=0 y resolvemos:

0.32x + 0.20y + λ1 = 0

0.18y + 0.20x + λ1 – μ3 = 0

x + y = 1

y = 0

Cuya solución resulta ser: x=1 e y=0 con multiplicadores λ1=-0.32 y μ3=-0.12y este último no cumple con la no-negatividad.

En consecuencia, la solución óptima es aquella obtenida en el caso ii) pues el problema es convexo: x=1/3 e y=2/3. Dicha solución corresponde al par ordenado etiquetado con la letra A en la gráfica anterior. El valor óptimo es 0.102222 y se obtiene simplemente al evaluar la solución óptima en la función objetivo.

### Véase También

Toma de decisiones bajo certidumbre

Programación dinámica determinista

Programación lineal

Programación cuadrática

Método de la ruta crítica - CPM (Critical Path Method)

Toma de decisiones bajo incertidumbre

## Referencias

Hillier, F y Lieberman, G. (s/f). Investigación de operaciones.

Taha, H. (2012) Investigación de operaciones