Inicio · Parte 08 — Cálculo multivariable, matricial y autodiferenciación
L = f(x) − λ(g(x) − c)
∇f = λ∇g en el óptimo
λ = tasa de mejora del óptimo por unidad de relajación
Optimizar con una restricción de igualdad no se puede hacer anulando el gradiente del objetivo: el óptimo restringido rara vez es un punto crítico libre. La condición correcta es que los gradientes del objetivo y de la restricción sean paralelos: ∇f = λ∇g.
La intuición geométrica es clara. Si el gradiente del objetivo tuviera una componente tangente a la curva de restricción, se podría mejorar moviéndose a lo largo de ella. En el óptimo, esa componente tangente debe anularse, y eso ocurre exactamente cuando ambos gradientes son colineales.
El multiplicador λ no es un artificio de cálculo: tiene interpretación económica directa. Es la tasa a la que mejora el óptimo si se relaja la restricción una unidad —el precio sombra en programación lineal—. En el ejemplo del laboratorio, maximizar xy con x+y=10 da λ = 5: cada unidad adicional de presupuesto añade 5 al óptimo.
La generalización a restricciones de desigualdad son las condiciones KKT (clase 257), que añaden dos requisitos: los multiplicadores deben ser no negativos y debe cumplirse la holgura complementaria —una restricción inactiva tiene multiplicador nulo—. Toda la optimización con restricciones se construye sobre esta clase.
Maximizar xy sujeto a x + y = 10.
L = xy − λ(x + y − 10)
Condiciones:
∂L/∂x: y = λ
∂L/∂y: x = λ
restricción: x + y = 10
Solución: x = y = 5, λ = 5, valor óptimo = 25
Verificación con alternativas:
x=1 → 9 x=3 → 21 x=5 → 25 x=7 → 21 x=9 → 9
el máximo está en x=5 ✓
Interpretación de λ: si el presupuesto sube a 11,
el óptimo sube aproximadamente 5 unidades.
Maximizar xy sujeto a x+y=10 con multiplicadores de Lagrange.
python classes/part-08-calculo-multivariable-matricial-y-autodiferenciacion/172-multiplicadores-de-lagrange/lab.py
compmath run 172
objetivorestriccionsolucionvalor_optimomultiplicador_lambdainterpretacion_de_lambdaverificacion_alternativases_el_maximo{
"objetivo": "max xy",
"restriccion": "x + y = 10",
"solucion": [
5.0,
5.0
],
"valor_optimo": 25.0,
"multiplicador_lambda": 5.0,
"interpretacion_de_lambda": "cuánto mejora el óptimo si la restricción sube en 1"
}
Optimización con restricciones, SVM con margen máximo, regularización vista como restricción, y precios sombra en asignación de recursos.
Autograd de PyTorch y JAX es exactamente el modo reverso del grafo de cómputo que se construye en esta parte a mano.
9780511804441 verificado en International ISBN Agency (2026-08-19).9780387400655 verificado en International ISBN Agency (2026-08-19).