Hello, my convex optimization problem requires iteration. The result of the first to fourth iteration is Solved, but it becomes infeasible by the fifth iteration. What is the reason for this?

Status: Solved
Optimal value (cvx_optval): -5.41226

Status: Solved
Optimal value (cvx_optval): -5.4416

Status: Solved
Optimal value (cvx_optval): -5.44089

Status: Solved
Optimal value (cvx_optval): -5.44822

Status: Infeasible
Optimal value (cvx_optval): +Inf

We have no idea what your code is, but I will guess.

Unsafeguarded (no line search or trust region)Successive Convex Approximation (SCA) is unreliable. It might not descend (for minimization problem), i.e., iterates could get worse. It might not converge to anything; and if it does converge, it might not be to a local optimum of the original problem, let alone a global optimum. The solution of successive iterations, and therefore subproblem inputs, can become wilder and wilder, until at some point the solver fails, or makes erroneous determination of infeasibility or unboundedness.


Don’t apply crude, unsafeguarded (no Trust Region or Line Search) Successive Convex Approximation (SCA) to a new problem … unless your name happens to be Stephen Boyd.

There’s a reason high quality non-convex nonlinear optimization solvers are more than 10 lines long.

Thank you so much, I think I should try other methods.