English

Disciplined Convex-Concave Programming

Optimization and Control 2016-04-12 v1

Abstract

In this paper we introduce disciplined convex-concave programming (DCCP), which combines the ideas of disciplined convex programming (DCP) with convex-concave programming (CCP). Convex-concave programming is an organized heuristic for solving nonconvex problems that involve objective and constraint functions that are a sum of a convex and a concave term. DCP is a structured way to define convex optimization problems, based on a family of basic convex and concave functions and a few rules for combining them. Problems expressed using DCP can be automatically converted to standard form and solved by a generic solver; widely used implementations include YALMIP, CVX, CVXPY, and Convex.jl. In this paper we propose a framework that combines the two ideas, and includes two improvements over previously published work on convex-concave programming, specifically the handling of domains of the functions, and the issue of nondifferentiability on the boundary of the domains. We describe a Python implementation called DCCP, which extends CVXPY, and give examples.

Keywords

Cite

@article{arxiv.1604.02639,
  title  = {Disciplined Convex-Concave Programming},
  author = {Xinyue Shen and Steven Diamond and Yuantao Gu and Stephen Boyd},
  journal= {arXiv preprint arXiv:1604.02639},
  year   = {2016}
}
R2 v1 2026-06-22T13:28:44.179Z