Most interesting optimization problems are nonconvex: the landscape of the objective function has multiple valleys, ridges, and saddle points. Standard gradient descent gets stuck in the first valley it finds, which might be far from the best one.
Difference of Convex (DC) programming offers a structured way out. The key insight is that almost every smooth function you encounter in practice can be written as
where both and are convex — each a bowl with no local traps. The nonconvexity of comes entirely from their difference.
Once you have this split, the DC Algorithm (DCA), developed by Pham Dinh Tao and Le Thi Hoai An in the 1980s–90s, gives a recipe: at each step, linearize around the current point and minimize the resulting convex subproblem. Because linearizing a convex function gives a global lower bound, you are always solving something easier than the original — and the iterates are guaranteed to decrease .
DCA does not promise a global minimum (the problem remains non-convex optimization), but it finds stationary points efficiently, often reaching very good solutions in practice.
Comments
Loading comments...