using MATLAB linear programming to solve compressed sensing minimization problem

354 Views Asked by At

Im tring to transform the following minimization problem:

$$\arg \min_{x \in \mathbb{R}^d : Wx=y} \left\|x\right\|_1 $$

into a linear programming problem which is a program with the following form:

$$\max_{w \in \mathbb{R}^d} \langle u,w \rangle $$

subject to

$$ Aw \ge y$$

the linearprog receives:

$$\text{linearprog}(A,u,v)$$

I've already found the first constrain which is :

$ Wx = y $ using the $A=\binom{W}{-W} , v=\binom{y}{-y}$ which gives $Wx \ge y, Wx \le y $

I'm still having hard time to fit the constraints to mininize $L_1$ norm ($\left\|x\right\|_1$).

1

There are 1 best solutions below

3
On BEST ANSWER

$$\min \left\| x\right\|_1$$

is equivalent to

$$\min \sum_i^n \max(x_i, -x_i)$$ which is equivalent to

$$\min \sum_i^n p_i$$

subject to

$$x_i \leq p_i$$ $$-x_i \leq p_i$$

Edit:

For your original problem, the linear programming formulation is

$$\max \langle \begin{bmatrix} 0 & \cdots & 0 & -1 & \cdots & -1\end{bmatrix}^T, \begin{bmatrix} x & p\end{bmatrix}^T \rangle $$

subject to

$$ \begin{bmatrix} -I_n & I_n \\ I_n & I_n \\W & 0 \\ -W & 0\end{bmatrix} \begin{bmatrix} x \\ p\end{bmatrix}\geq \begin{bmatrix} 0 \\ 0 \\ y \\ -y\end{bmatrix}$$