Disciplined Biconvex Programming

📅 2025-11-03
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Biconvex optimization problems are traditionally modeled and solved using manually designed alternating convex search (ACS) algorithms—processes that are error-prone and require substantial expertise. This paper introduces DBCP, the first structured modeling paradigm specifically designed for biconvex optimization. Extending the convex optimization programming paradigm, DBCP enables users to declaratively specify biconvex problems using a concise, intuitive syntax and automatically decomposes them into a sequence of provably convex subproblems. DBCP tightly integrates syntactic parsing, structural problem analysis, and ACS solver code generation—implemented as an open-source Python extension to CVXPY (dbcp)—to achieve end-to-end automation from model specification to solver execution. Experimental evaluation demonstrates that DBCP efficiently handles diverse biconvex problem classes, substantially lowers the barrier to entry for non-expert users, and improves modeling accuracy and development productivity.

Technology Category

Application Category

📝 Abstract
We introduce disciplined biconvex programming (DBCP), a modeling framework for specifying and solving biconvex optimization problems. Biconvex optimization problems arise in various applications, including machine learning, signal processing, computational science, and control. Solving a biconvex optimization problem in practice usually resolves to heuristic methods based on alternate convex search (ACS), which iteratively optimizes over one block of variables while keeping the other fixed, so that the resulting subproblems are convex and can be efficiently solved. However, designing and implementing an ACS solver for a specific biconvex optimization problem usually requires significant effort from the user, which can be tedious and error-prone. DBCP extends the principles of disciplined convex programming to biconvex problems, allowing users to specify biconvex optimization problems in a natural way based on a small number of syntax rules. The resulting problem can then be automatically split and transformed into convex subproblems, for which a customized ACS solver is then generated and applied. DBCP allows users to quickly experiment with different biconvex problem formulations, without expertise in convex optimization. We implement DBCP into the open source Python package dbcp, as an extension to the famous domain specific language CVXPY for convex optimization.
Problem

Research questions and friction points this paper is trying to address.

Automating heuristic methods for biconvex optimization problems
Reducing user effort in designing alternate convex search solvers
Extending disciplined convex programming to biconvex problems
Innovation

Methods, ideas, or system contributions that make the work stand out.

DBCP extends disciplined convex programming to biconvex problems
Automatically splits problems into solvable convex subproblems
Generates customized ACS solvers for biconvex optimization formulations
🔎 Similar Papers
No similar papers found.