CCOpt: an Open-Source Solver for Large-Scale Mathematical Programs with Complementarity Constraints
Anton Pozharskiy, Fran\c{c}ois Pacaud, Moritz Diehl, Armin Nurkanovi\'c

TL;DR
CCOpt is an open-source Julia package that offers advanced algorithms for solving large-scale Mathematical Programs with Complementarity Constraints, improving speed and robustness over existing methods.
Contribution
The paper introduces CCOpt, a Julia-based solver with novel interior-point algorithms, regularization techniques, and interfaces, tailored for challenging MPCC problems.
Findings
Substantial speedups over standard implementations and commercial solvers.
Effective handling of large-scale MPCCs in power systems and control applications.
Algorithmic improvements often yield an order of magnitude performance gains.
Abstract
This paper presents the Julia package CCOpt, built on top of the interior-point solver MadNLP. CCOpt implements a suite of algorithms for Mathematical Programs with Complementarity Constraints (MPCCs). The solver additionally comes with interfaces for use in Matlab, Python, and C++. MPCCs have recently gained renewed attention in engineering optimization, as complementarity provides a powerful modeling tool for nonsmooth functions and logical conditions. These problems are inherently challenging since their nonlinear programming reformulations violate classical regularity conditions at all feasible points, complicating both theoretical analysis and numerical treatment. Consequently, specialized algorithms are required to handle this degeneracy, and several approaches have been proposed. We implement a toolbox of methods, including relaxation and penalty approaches, as well as a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
