Papers
Topics
Authors
Recent
Search
2000 character limit reached

Convex–Concave Procedure (CCP) Overview

Updated 17 January 2026
  • CCP is a framework that converts nonconvex optimization problems, expressed as differences of convex functions, into a sequence of tractable convex subproblems.
  • It employs first-order Taylor linearizations for concave terms and adaptive penalty mechanisms to handle constraints and ensure convergence.
  • The approach is widely used in diverse applications such as power systems, machine learning, and signal processing, with extensions like DCCP enhancing feasibility and robustness.

The Convex–Concave Procedure (CCP) is a majorization–minimization algorithmic framework for solving nonconvex optimization problems whose objectives and constraints are expressible as a difference of convex (DC) functions. CCP converts the original nonconvex program into a sequence of tractable convex subproblems via linearization of the concave terms. This meta-algorithm is widely employed across a variety of scientific and engineering domains, and underpins specialized implementations such as Disciplined Convex–Concave Programming (DCCP) (Shen et al., 2016), as well as connecting to classical optimization methods such as Frank–Wolfe (Yurtsever et al., 2022).

1. Mathematical Formulation of DC Problems and CCP

A problem is amenable to CCP if its objective and constraints can be written as sums or differences of convex and concave functions. The canonical DC program has the form: minimizexRnf0(x)g0(x) subject tofi(x)gi(x)0,i=1,...,m\begin{aligned} & \underset{x \in \mathbb{R}^n}{\text{minimize}} \quad f_0(x) - g_0(x) \ & \text{subject to} \quad f_i(x) - g_i(x) \leq 0,\quad i = 1, ..., m \end{aligned} where fif_i and gig_i are convex functions. Equivalently, the objective and constraints may be decomposed as:

  • f(x)=fcvx(x)+fccv(x)f(x) = f_{\text{cvx}}(x) + f_{\text{ccv}}(x)
  • gi(x)=gi,cvx(x)+gi,ccv(x)0g_i(x) = g_{i,\text{cvx}}(x) + g_{i,\text{ccv}}(x) \leq 0 with fccvf_{\text{ccv}} and gi,ccvg_{i,\text{ccv}} concave.

CCP applies a first-order Taylor (affine) upper bound to each concave term at the current iterate x(k)x^{(k)}: fccv(x)fccv(x(k))+fccv(x(k))T(xx(k))f^ccv(x;x(k))f_{\text{ccv}}(x) \leq f_{\text{ccv}}(x^{(k)}) + \nabla f_{\text{ccv}}(x^{(k)})^T (x - x^{(k)}) \equiv \widehat{f}_{\text{ccv}}(x;x^{(k)}) Similarly for the constraints: gi,ccv(x)g^i,ccv(x;x(k))=gi,ccv(x(k))+gi,ccv(x(k))T(xx(k))g_{i,\text{ccv}}(x) \leq \widehat{g}_{i,\text{ccv}}(x;x^{(k)}) = g_{i,\text{ccv}}(x^{(k)}) + \nabla g_{i,\text{ccv}}(x^{(k)})^T(x - x^{(k)})

The convex subproblem at iteration kk is then: minimizex,sfcvx(x)+f^ccv(x;x(k))+τki=1msi subject tofi,cvx(x)+g^i,ccv(x;x(k))si,si0\begin{aligned} & \underset{x,\,s}{\text{minimize}} \quad f_{\text{cvx}}(x) + \widehat{f}_{\text{ccv}}(x;x^{(k)}) + \tau_k \sum_{i=1}^m s_i \ & \text{subject to} \quad f_{i,\text{cvx}}(x) + \widehat{g}_{i,\text{ccv}}(x;x^{(k)}) \leq s_i, \quad s_i \geq 0 \end{aligned} Here, slack variables sis_i with weights τk\tau_k penalize constraint violation and enforce feasibility (Shen et al., 2016).

2. Algorithmic Structure and CCP/DCCP Enhancements

The CCP iteration is succinctly captured as:

  1. Compute gradients of concave terms at x(k)x^{(k)}.
  2. Form convex subproblem by replacing all concave terms with their affine majorizers.
  3. Solve the subproblem for new iterate x^(k+1)\hat{x}^{(k+1)} and slacks.
  4. If the new point is on a non-differentiable boundary, damp:

x(k+1)αx^(k+1)+(1α)x(k), 0<α<1x^{(k+1)} \leftarrow \alpha \hat{x}^{(k+1)} + (1 - \alpha) x^{(k)},\ 0 < \alpha < 1

Otherwise, take the full step.

  1. Increase penalty weight τk\tau_k and repeat until convergence.

Disciplined Convex–Concave Programming (DCCP) (Shen et al., 2016) introduces two principal refinements:

  • Domain-aware linearization: When concave atoms have restricted domains, linearizing alone can lead to infeasible proposals. DCCP incorporates indicator functions:

g^i(x;z)=gi(z)+gi(z)T(xz)Ii(x)\widehat{g}_i(x;z) = g_i(z) + \nabla g_i(z)^T(x-z) - \mathcal{I}_i(x)

which are zero in the domain and ++\infty outside, preserving feasibility within proper convex sets.

  • Boundary nondifferentiability handling: When linearization yields solutions on domain boundaries with non-existent gradients, DCCP implements interior damping to move iterates away from such points.

These ensure robust convergence and automate constraint handling in generic modeling frameworks such as CVXPY/DCCP and YALMIP.

3. Theoretical Connections and Convergence Analysis

CCP is formally equivalent to the Frank–Wolfe (FW) algorithm applied to a suitable epigraphical reformulation of the DC problem (Yurtsever et al., 2022). For a program F(x)=g(x)h(x)F(x) = g(x) - h(x), it can be rewritten as

minx,tth(x)subject to g(x)t\min_{x, t} t - h(x) \quad \text{subject to } g(x) \leq t

Frank–Wolfe updates map exactly to CCP linearizations and, therefore, inherit non-asymptotic convergence rates. When the surrogate is concave on the feasible set, the iterates satisfy a stationarity gap of O(1/k)O(1/k): τk:maxx{f(xτ)f(x)h(xτ),xτx}[f(x1)h(x1)][fh]k\exists\,\tau \leq k:\quad \max_{x}\left\{f(x_\tau)-f(x)-\langle\nabla h(x_\tau), x_\tau-x\rangle\right\} \leq \frac{[f(x_1) - h(x_1)] - [f^* - h^*]}{k} For practical implementations, under mild conditions (Lipschitz gradients, bounded level sets), the objective with penalty is nonincreasing and slacks decrease to zero. Accumulation points satisfy first-order KKT conditions for the original DC problem (Shen et al., 2016).

Nonconvexity precludes global optimality guarantees; CCP is a majorization–minimization heuristic rather than a globally convergent algorithm.

4. Implementation Strategies and Representative Applications

DCCP extends convex modeling libraries such as CVXPY with:

  • Expression domains and gradients for subdifferentiability checks.
  • Problem compliance checking (is_dccp).
  • A generic CCP loop (problem.solve(method='dccp')).

Typical usage involves expressing constraints and objectives in DCP-compliant atomic functions, automatically identifying DC structures, and solving convex surrogates at each iteration.

Representative applications include:

  • Circle packing: Placing nn circles in the minimal bounding box, constraints expressed via nonconvex distance inequalities.
  • Boolean least-squares: Quadratic minimization with constraints xi2=1x_i^2 = 1, which is nonconvex and handled via CCP efficiently.
  • Morphological neural networks: Training morphological perceptrons (e.g., MPCLs or SLMPs) employs CCP to navigate non-differentiable max/min operators, outperforming greedy and gradient methods in multiclass classification tasks (Cunha et al., 2024Cunha et al., 6 Sep 2025).
  • Power systems: Recovering feasible solutions for optimal power flow via penalty variant CCP, outperforming semi-definite relaxation methods in speed and solution quality (Tian et al., 2017).
  • Indefinite kernel learning: Handling logistic regression with indefinite kernels decomposed into positive and negative definite parts, solved efficiently by inexact CCP and stochastic CCP variants (CCICP–GD, CCICP–SGD) (Liu et al., 2017).

5. Practical Considerations and Extensions

Practical enhancements for CCP include:

  • Initialization from relaxed convex models (e.g., SOCP or SDP relaxations).
  • Penalty parameter tuning and adaptive slack mechanisms for constraint violation handling.
  • Warm starts and incremental model updates for high-dimensional problems and scalability (Cubuktepe et al., 2021).
  • Embedding exact verification/model checking within each CCP iteration, essential for hybrid symbolic-numeric frameworks (e.g., pMDPs).

Table: Key algorithmic components in CCP-based modeling frameworks

Component Function Modeling System
Domain indicator Enforces variable domain constraints DCCP/CVXPY
Gradient/subgradient Affine majorization of concave terms DCCP/CVXPY
Slacks + penalty weight Maintains feasibility in surrogates Penalty CCP
Model checking loop Verifies candidate solution after numerical step pMDPs/PROPhESY

6. Broader Impact and Research Directions

Viewing CCP as Frank–Wolfe on DC programs enables immediate transfer of convergence theory, rates, and algorithmic innovations from the extensive literature on conditional gradient methods (Yurtsever et al., 2022). This insight unifies MM, CCP, and FW under a single linear-oracle methodology, opening lines of research in accelerated variants, block-coordinate schemes, stochastic updates, and nonsmooth extensions.

CCP's disciplined frameworks streamline DC modeling across signal processing, robust control, learning with indefinite kernels, combinatorial NP-hard problems (QAP, graph matching via GNCGCP (Liu et al., 2013)), and logic-based model verification. The method bridges statistical heuristics with convex optimization principles and machine learning architectures, yielding scalable and robust solvers for a wide spectrum of nonconvex problems.

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 Convex–Concave Procedure (CCP).