Quería agregar cómo resolver transformando las restricciones en una forma utilizable para la programación cuadrática, ya que no es tan sencillo como pensaba. No es posible encontrar una matriz real A tal que A w ≤ s ↔ ∑ | w i | ≤ s .∑|wi|≤sAAw≤s↔∑|wi|≤s
El enfoque que utilicé fue dividir los elementos del vector w en w + i y w - i , de modo que w i = w + i - w - i . Si w i ≥ 0 , tienes w + i = w i y w - i = 0 , de lo contrario tienes w - i = | w i | y wwiww+iw−iwi=w+i−w−iwi≥0w+i=wiw−i=0w−i=|wi|. O en términos más matemáticos,w + i =| wi| +wiw+i=0 yw - i =| wi| -wiw+i=|wi|+wi2Tantow - i comow + i son números no negativos. La idea detrás de dividir los números es que ahora tienes| wi| =w + i +w - i , eliminando efectivamente los valores absolutos.w−i=|wi|−wi2.w−iw+i|wi|=w+i+w−i
12(w+−w−)TQ(w+−w−)+cT(w+−w−)w+i+w−i≤s,w+i,w−i≥0
Qc
Esto debe transformarse en una forma utilizable, es decir, necesitamos un vector. Esto se hace de la siguiente manera:
12[w+w−]T[Q−Q−QQ][w+w−]+[cT−cT][w+w−]
sujeto a
[ID−I2DID][w+w−]≤[sD02D]
IDDsDDs0D2∗D|wi|=w+i+w−i≤sw+i,w−i≥0w+w−ssw=w+−w−
Fuente y lecturas adicionales: resolución de problemas de programación cuadrática con restricciones lineales que contienen valores absolutos