My optimization problem has two non-convex constraints. I applied the SCA to deal with the non-convex constraints to convex optimization constraints, and then the whole optimization problem can be transformed into a convex one. The problem is successfully solved by the CVX tool, but the solution sometimes fails to satisfy one of the primal constraints. What’s more, the results will change for different initial points.
SCA is a local optimization algorithm, meaning, a solution might not be globally optimal. SCA might converge to different points, or not at all, depending on the starting value.
Thanks, Mark. What kind of problems can we use SCA methods to deal with the non-convex constraints, and are there any rules?
My “rules” for SCA are stated in my tweet linked in my preceding post.
If you “violate” those rules, you are on your own. You may be better off using a high quality off-the-shelf local or global non-convex nonlinear optimizer under YALMIP. For example, you can use FMINCON as a local optimizer, or use YALMIP’s BMIBNB calling FMINCON or some other local optimizer as “uppersolver” to attempt global optimization.