Papers
Topics
Authors
Recent
Search
2000 character limit reached

DCA: Difference of Convex Functions Algorithm

Updated 27 April 2026
  • DCA is a foundational method that decomposes a nonconvex function into two convex parts to enable iterative minimization.
  • It leverages convex surrogates and precise descent properties to guarantee local optimality and robust convergence.
  • Accelerated variants like BDCA implement line search techniques, achieving faster convergence rates validated by Ɓojasiewicz analysis.

The Difference of Convex Functions Algorithm (DCA) is a foundational framework for the local minimization of functions expressible as the difference of two convex (DC) functions. DCA is particularly central for structured nonconvex optimization in applications requiring precise criticality guarantees, efficient per-iteration majorization, and provable global convergence. The method operates by iteratively constructing and minimizing convex surrogates, leveraging convex analytical properties of the constituent terms. In smooth and strongly convex regimes, DCA admits rigorous descent analysis, sharp convergence rates under various geometric conditions, and serves as a basis for a spectrum of acceleration schemes with practical and theoretical impact (Artacho et al., 2015).

1. Mathematical Formulation and Classical DCA Iteration

Consider the unconstrained minimization of a DC function: min⁥x∈Rm φ(x)=g(x)−h(x)\min_{x \in \mathbb{R}^m} \ \varphi(x) = g(x) - h(x) where g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R} are closed, convex, and at least C2C^2 (in the smooth setting). If φ\varphi is bounded below, one may assume gg and hh are strongly convex—this is always achievable by adding and subtracting a quadratic term. At iteration kk, the classical DCA forms the affine majorant of −h-h at xkx^k: −h(x)≀−h(xk)−⟹∇h(xk),x−xk⟩-h(x) \leq -h(x^k) - \langle \nabla h(x^k), x-x^k \rangle and solves

g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}0

followed by the update g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}1. The DCA step direction is g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}2. The descent property is explicit: one has

g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}3

for g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}4 denoting the strong convexity modulus (Artacho et al., 2015).

2. Accelerated Variants: Boosted DC Algorithms

The DCA step g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}5 is a strict descent direction for g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}6 evaluated at g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}7: g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}8 This motivates "Boosted DCA" (BDCA) accelerations that perform a line search along g,h:Rm→Rg, h : \mathbb{R}^m \to \mathbb{R}9 to maximize decrease:

  • BDCA-Backtracking initializes C2C^20 and backtracks until

C2C^21

  • BDCA-Quadratic fits a quadratic model C2C^22 through C2C^23, the directional derivative at C2C^24, and C2C^25, then minimizes this interpolation to select C2C^26.

Both variants then update C2C^27. These BDCA schemes inherit the global convergence properties of DCA but empirically and theoretically exhibit substantially faster rates (Artacho et al., 2015).

3. Convergence Guarantees and Ɓojasiewicz Analysis

Let C2C^28 possess the Ɓojasiewicz property at every cluster point C2C^29 (automatic for real-analytic φ\varphi0): φ\varphi1 for some φ\varphi2 locally near φ\varphi3. Under mild regularity (local Lipschitzness, boundedness below), BDCA generates φ\varphi4 converging monotonically to φ\varphi5. Moreover:

  • φ\varphi6, a stationary point: φ\varphi7.
  • The convergence rate is determined by φ\varphi8:

    • φ\varphi9: finite step convergence;
    • gg0: linear convergence;
    • gg1: sublinear, with explicit polynomial rates:

    gg2

Proof techniques

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Difference of Convex Functions Algorithm (DCA).