Inicio · Parte 12 — Optimización matemática y computacional
estacionariedad: ∇f + Σμᵢ·∇gᵢ = 0
factibilidad: gᵢ(x) ≤ 0; no negatividad: μᵢ ≥ 0
holgura complementaria: μᵢ·gᵢ(x) = 0
Las condiciones de Karush-Kuhn-Tucker extienden Lagrange a restricciones de desigualdad, y son las condiciones necesarias de optimalidad que fundamentan toda la optimización con restricciones. En problemas convexos con cualificación de restricciones son además suficientes.
La novedad conceptual es que una desigualdad puede estar activa —el óptimo está justo sobre la frontera— o inactiva —el óptimo cae en el interior y la restricción no estorba—. La holgura complementaria μᵢ·gᵢ(x) = 0 codifica exactamente esa alternativa: o la restricción se cumple con igualdad, o su multiplicador es cero.
La lectura es directa e intuitiva: una restricción que no aprieta no tiene precio. Si el presupuesto sobra, un euro más no vale nada; si está agotado, su precio sombra es positivo. Esa dicotomía es lo que hace de KKT una herramienta de análisis y no solo de cálculo.
La condición de no negatividad de los multiplicadores es la que distingue las desigualdades de las igualdades: la restricción solo puede empujar en un sentido. Cuando todas las restricciones son de igualdad, KKT se reduce exactamente a Lagrange, y esa reducción confirma que es la generalización correcta.
La misma función con dos restricciones distintas.
objetivo: minimizar (x − 3)²
Caso A — restricción activa: x ≤ 1
óptimo sin restricción: x = 3, no factible
x* = 1 (sobre la frontera)
gradiente del objetivo en x*: −4
μ = 4 > 0
holgura: μ·g(x*) = 4·(1−1) = 0 ✓
Caso B — restricción inactiva: x ≤ 5
óptimo sin restricción: x = 3, factible
x* = 3 (en el interior)
gradiente del objetivo en x*: 0
μ = 0
holgura: μ·g(x*) = 0·(3−5) = 0 ✓
En ambos casos la holgura complementaria se cumple,
pero por motivos opuestos.
KKT: restricciones de desigualdad activas e inactivas.
python classes/part-12-optimizacion-matematica-y-computacional/257-condiciones-kkt/lab.py
compmath run 257
condiciones_KKTcaso_restriccion_activacaso_restriccion_inactivaholgura_complementaria_activoholgura_complementaria_inactivogeneraliza_a_Lagrange{
"condiciones_KKT": [
"estacionariedad: ∇f + Σμᵢ∇gᵢ = 0",
"factibilidad primal: gᵢ(x) ≤ 0",
"factibilidad dual: μᵢ ≥ 0",
"holgura complementaria: μᵢ·gᵢ(x) = 0"
],
"caso_restriccion_activa": {
"objetivo": "(x-3)²",
"restriccion": "x ≤ 1",
"x*": 1.0,
"gradiente_objetivo": -4.0,
"mu": 4.0,
"activa": true
},
"caso_restriccion_inactiva": {
"objetivo": "(x-3)²",
"restriccion": "x ≤ 5",
"x*": 3.0,
"gradiente_objetivo": 0.0,
"mu": 0.0,
"activa": false
},
"holgura_complementaria_activo": 0.0,
"holgura_complementaria_inactivo": -0.0,
"generaliza_a_Lagrange": "con solo igualdades, KKT se reduce a Lagrange"
}
SVM con margen blando, programación no lineal, optimización de carteras con límites y diseño de ingeniería con especificaciones.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9780511804441 verificado en International ISBN Agency (2026-08-19).9780520411586, pendiente de resolver.