SCA Successive convex approximation


Successive Convex Approximation (SCA) is an optimization technique used to solve non-convex optimization problems by approximating them as a series of convex optimization subproblems. It is particularly useful when dealing with problems that involve non-convex constraints or objective functions.

The SCA algorithm works by iteratively approximating the non-convex problem with a sequence of convex subproblems. In each iteration, the original problem is transformed into a convex problem by linearizing the non-convex parts. This linearization is done by approximating the non-convex functions or constraints with a series of linear functions or linear constraints.

The SCA algorithm can be described in the following steps:

  1. Initialize: Choose an initial feasible solution to the non-convex problem.
  2. Linearization: In each iteration, linearize the non-convex objective function and constraints around the current solution. This is typically done by taking a first-order Taylor expansion or a linear approximation of the non-convex terms.
  3. Convex optimization: Solve the convex approximation problem obtained in the previous step, which is a convex optimization problem. This can be done using standard convex optimization techniques, such as interior-point methods or gradient-based methods.
  4. Update: Update the current solution with the solution obtained from the convex approximation problem.
  5. Convergence check: Check for convergence criteria. This can be based on the difference between consecutive iterations' objective function values, the norm of the difference between consecutive solutions, or other convergence measures.
  6. Termination: If the convergence criteria are not satisfied, return to step 2 and continue the iterations. Otherwise, terminate the algorithm and return the final solution.

The SCA algorithm provides an iterative process that converges towards a locally optimal solution of the non-convex problem. However, it is important to note that SCA does not guarantee global optimality due to the non-convex nature of the original problem. The quality of the solution obtained depends on the choice of initial solution, the accuracy of the linearization, and the convergence criteria used.

SCA has been applied to various optimization problems, including power system optimization, machine learning, communication systems, and signal processing. It provides a flexible and effective approach to tackle non-convex problems by exploiting the advantages of convex optimization techniques.