The error on the picture always occurs when I use cvx to iterate through the loop. What I want to convey is that my whole cvx is working fine when the data is just starting to run, but to get the optimal solution, I need to use the iterative algorithm, that is, given the initial value, solve the optimal value for the first time using cvx, then rewrite the optimal value of this loop to the initial value and loop again , knowing that the problem is guaranteed to converge. But now the problem is, I have to wait for the process of the loop, at first cvx are working fine, but, run to the later stages, there will be the problem in the picture, I would like to ask how to solve this problem? I am using demodulator is mosek.
More likely, the problem is NOT guaranteed to converge, at least not as a sequence of DCP-compliant problems. Apparently, your use of the results of the previous iteration results in a problem which violates CVX’s rules. Have you examined carefully the input data on the iteration which produces the error message?
You may be better off using a non-convex solver, such as available under YALMIP. They are more sophisticated and reliable than whatever simplistic iterative algorithm you are using.
Dear Mark ,How do I determine where the cvx output message is generating an exception?
The screenshot below is the complete message from my program run, cvx output.
Status: Solved
shows that CVX solved the problem, using Mosek as solver. This info is contained n cvx_status
.
You then apparently used the solution of that problem as input to the next problem, and that problem violated CVX;s DCP rules. Have you looked at the solution and how it was used in the next problem? I suggest you follow the advice in the 2nd paragraph of my previous post.
Dear Mark,Thanks for your help, I have read your suggestion but for some reason I have to use cvx to solve this problem, my question is, how can I make sure that the optimal solution I solved by cvx last time can be used as the initial value for the next loop without violating the DCP rules? Is this violation of the DCP rule caused by the fact that my data is not within the range of feasible solutions? However, I have no way to know the range of feasible solutions set by cvx, so how can I solve it?
I gave my advice. I am not the person requiring you to use CVX. If you insist on using CVX, your iterative algorithm might have to be much more sophisticated and complicated than it is now - writing such an algorithm is out of scope pf this forum.
OK!Thanks for your help!