필터 지우기
필터 지우기

Basis Pursuit Denoising with additional constraint function

조회 수: 5 (최근 30일)
Imam
Imam 2015년 5월 4일
편집: Matt J 2015년 5월 5일
I want to solve optimization problem of the type basis pursuit denoising (BPDN). What I want to minimize is the l_1 norm of vector x (length N), |x|_1, subject to |Ax - B|_2 <= sigma, where A is an MxN matrix, B is length M vector, and sigma is a positive scalar. In addition to that constraint, there is also another one, namely I want also, let's say, x(1:P) = 0 where P < N obviouisly.
That's what I want to do and now I have already found a MATLAB code designed specially to solve BPDN problem but it's the standard one I think, it can only assume the first constraint involving inequality with sigma. What I want to do now is that I want to add the second constraint while using the code I'm having without modifying it, that is I would like to add my own constraint directly in my MATLAB script in which the BPDN problem will be executed.
Could somebody give an idea?
EDIT: My idea is to set the first up to the P-th column of matrix A to have zero entries because this way the product Ax is the same as the original problem. In coming up with this idea I also assume that the BPDN code I found will automatically set the elements x(1:P) to zero because it will have the full freedom in deciding the values of these elements due to the multiplication with zero-entries columns and it must also minimize the |x|_1. Will this way equivalent with the original problem?

답변 (1개)

Matt J
Matt J 2015년 5월 4일
편집: Matt J 2015년 5월 5일
Your "constraints" aren't really constraints. What you're saying in fact is that you already know the values of x(1:P) already. Since they are not unknowns, you shouldn't treat them as such and should just remove them from the problem.
Just delete the first P columns of A and replace B with the apriori known quantity,
B-A(:,1:P)*x(1:P)
Then everything will reduce to a standard BP problem in the remaining N-P variables.
  댓글 수: 4
Imam
Imam 2015년 5월 4일
편집: Imam 2015년 5월 4일
Well ok the first one does make sense, but as for the second, since the program will always try to minimize the objective function whose value is always positive, the natural choice for x(1:P) should be all-zero, shouldn't it?
Matt J
Matt J 2015년 5월 4일
편집: Matt J 2015년 5월 5일
I don't know about BP algorithms specifically, but many optimization algorithms converge better in general when the solution is unique and well-posed.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by