Me gustaría resolver un sistema lineal $Ax = b$ bajo el $L_1$ restricción de la norma $\min(|Ax-b|)$ . Todo lo que puedo encontrar sobre $L_1$ La minimización es una forma de minimizar $|x|_1$ con sujeción a $Ax=b$ .
Quería utilizar la programación lineal en matlab para resolver este problema. Esto me llevó a resolver un nuevo sistema con linprog en matlab:
$$My = k$$
Así que hice algunas transformaciones, sabiendo que Linprog puede resolver el siguiente problema:
$$\min f(x) \ \ \textrm{s.t.} \ \ Ax \leq b$$
Quiero minimizar este problema:
$$\min ||My - k||_1$$
para $y$
Para convertir esto a la forma linprog, introduje un nuevo vector que quiero minimizar, $z$ :
$$\min \sum z$$
s.t.
$$My - k \leq z$$ $$-My + k \leq z$$
Sin embargo, las restricciones incluyen tanto la variable $y$ y las constantes $k$ . Podemos formularlo en la forma requerida creando un sistema mayor:
$Ax \leq b$ donde la matriz $A$ es:
$$\begin{pmatrix} M & -I \\ -M & I \end{pmatrix} $$
el vector $x$ es igual a $y$ y $z$ apilados: $$\begin{pmatrix} y \\ z \end{pmatrix} $$
y las restricciones son $k$ y $-k$ apilados: $$\begin{pmatrix} k \\ -k \end{pmatrix} $$
El problema es que esto no funciona. (Matlab no encuentra una buena solución). Me gustaría saber si hay otra forma de resolver este problema? ¿Si habéis oído hablar de algún código de Matlab que ya lo haga?
Muchas gracias
0 votos
Esto podría hacerse en unas pocas líneas utilizando CVX en Matlab.
0 votos
Cuál es su norma $\large\left\vert\left\vert\cdots\right\vert\right\vert$ . ¿Esto es $\large\left\vert\left\vert{\bf x}\right\vert\right\vert \equiv \sqrt{\vphantom{\Large A}{\bf x}^{\sf T}{\bf x}\ }$ ?.