Modification to Basis Pursuit Denoising Problem

Hello All! I am new to this community and would really appreciate if someone can help me with my query. I need to solve a basis pursuit problem of the following form where m should be between -1 to 1:
bpdn
I have two questions:

First, can this problem be solved by function ‘solver_sBPDN_W’? If yes, how? Because this problem is unconstrained formulation and in case of the mentioned function, I need to give inputs for epsilon and mu which is in form of:

minimize norm(Wx,1) + 0.5mu(x-x0).^2
s.t. norm(A*x-b,2) <= epsilon

Second, the L2 norm term in my problem is not squared and multiplied by 0.5 like the standard unconstrained formulation as below:

                               min(0.5*(||Ax-b||_2)^2+lambda*||x||_1)

In summary, how do I solve my modified problem and ensuring -1 =< m =< 1?

Thank you!

Unfortunately, there may not be any TFOCS developers or advanced users who are still active on this forum. So don’t be surprised if you don;t get any TFOCS help. You can of course look at old TFOCS posts on this forum and see if that helps; for instance, Using TFOCS for Scaled Basis Pursuit Denoising and many others.

If you wish to solve this using CVX, it is straightforward to enter.

1 Like

Thank you Mark for your reply. I understand what you are saying. Actually, CVX is working fine but it is slow. I felt that TFOCS will be much faster.

Which optimizer are you using with CVX?

I am using the default one. Disciplined convex programming.

CVX cannot optimize anything but must call an optimizer. Typically CVX calls for instance SeDuMi, SDTP3, or Mosek to do the optimization. There can be a huge difference in solution time depending which optimizer you use.

If the fastest optimizer which is likely to be Mosek is not fast enough then post the log output in a reply.

In any case I would recommend you spend some time understanding how Cvx actually works before moving to TFOCS. You are likely to do yourself a big favor then.