Inicio · Parte 12 — Optimización matemática y computacional
min (1/2)xᵀQx + cᵀx sujeto a Ax = b
sistema KKT: [[Q, Aᵀ], [A, 0]]·[x; λ] = [−c; b]
convexo si Q es semidefinida positiva
La programación cuadrática es la clase de problemas con objetivo cuadrático y restricciones lineales. Es la siguiente en complejidad después de la lineal, y sigue siendo tratable: si Q es semidefinida positiva el problema es convexo y tiene solución global.
Con restricciones de igualdad, las condiciones KKT son lineales en las incógnitas, y el problema entero se reduce a resolver un único sistema que agrupa variables y multiplicadores. No hace falta iterar: se plantea el sistema aumentado y se resuelve con los métodos de la parte 11.
Con restricciones de desigualdad aparece la dificultad combinatoria de decidir qué restricciones están activas en el óptimo. Los algoritmos de conjunto activo prueban combinaciones sistemáticamente; los de punto interior siguen una trayectoria por el interior de la región factible y son los que mejor escalan.
Los programas cuadráticos aparecen en sitios importantes: la formulación dual de las SVM es exactamente uno, la optimización de carteras de Markowitz es otro, y el control predictivo por modelo resuelve uno en cada instante de muestreo. Reconocer que un problema es un QP es reconocer que se puede resolver de forma fiable y rápida.
QP de dos variables con una restricción de igualdad.
minimizar x² + y² − 2x − 5y
sujeto a x + y = 3
Q = [[2, 0] c = (−2, −5) A = [1 1] b = 3
[0, 2]]
Q definida positiva → problema convexo ✓
Sistema KKT:
[[2 0 1] [x] [ 2]
[0 2 1] · [y] = [ 5]
[1 1 0]] [λ] [ 3]
solución: x = 1,25 y = 1,75 λ = −0,5
Comprobación: 1,25 + 1,75 = 3 ✓
El óptimo sin restricción sería (1 ; 2,5), que suma 3,5:
la restricción sí aprieta.
Programa cuadrático resuelto por su sistema KKT.
python classes/part-12-optimizacion-matematica-y-computacional/258-optimizacion-cuadratica/lab.py
compmath run 258
QcAbQ_definida_positivasistema_KKTsolucion_xmultiplicador_lambdarestriccion_satisfechavalor_objetivoproblema_convexo{
"Q": [
[
2.0,
0.0
],
[
0.0,
2.0
]
],
"c": [
-2.0,
-5.0
],
"A": [
[
1.0,
1.0
]
],
"b": [
3.0
],
"Q_definida_positiva": true,
"sistema_KKT": [
[
2.0,
0.0,
1.0
],
[
0.0,
2.0,
1.0
],
[
1.0,
1.0,
0.0
]
]
}
SVM, optimización de carteras, control predictivo por modelo, ajuste con restricciones y problemas de mínimos cuadrados restringidos.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9780387400655 verificado en International ISBN Agency (2026-08-19).9780511804441 verificado en International ISBN Agency (2026-08-19).