MixedComplementarityProblems.jl: A Fast, Batched, Open-Source Interior Point Solver for Mixed Complementarity Problems

πŸ“… 2026-08-01
πŸ“ˆ Citations: 0
✨ Influential: 0
πŸ“„ PDF
πŸ€– AI Summary
This work addresses the lack of open-source, efficient solvers for mixed complementarity problems (MCPs) that support batching and automatic differentiation by introducing the first pure-Julia, interior-point-based solver. The proposed solver offers unified support for batched parallel computation on both CPU and GPU, seamless integration with automatic differentiation frameworks, and compatibility with multiple linear algebra backendsβ€”all without requiring code modifications for cross-platform deployment. On standard benchmarks, it demonstrates reliability comparable to the widely used closed-source solver PATH. In a multi-agent lane-changing trajectory game, the solver achieves approximately 100Γ— speedup over sequential PATH calls via CPU batching, while GPU execution exhibits substantial advantages in solving large-scale KKT systems.
πŸ“ Abstract
Mixed complementarity problems (MCPs) arise as the first-order optimality conditions of nonlinear programs and noncooperative games, and provide a natural formulation for multi-agent trajectory optimization problems that appear throughout robotics. The dominant solver for problems of this form is PATH, which offers strong performance on robotics problems but remains closed-source. We present MixedComplementarityProblems.jl, an open-source, pure Julia implementation of an interior point method for parametric MCPs that: (i) matches PATH's reliability on standard benchmarks, (ii) natively supports batched, parallel processing of many parameter instances, either across CPU threads or on an NVIDIA GPU, and (iii) supports efficient automatic differentiation of solutions with respect to problem parameters. On a multi-agent lane-change trajectory game representative of robotics planning problems, our CPU-multithreaded batched solver clears a batch of parametric instances ~100x faster than sequential calls to PATH. A GPU backend, running the same solver implementation unmodified, also clears these batches far faster than PATH, but does not outperform the multithreaded CPU on this problem; the GPU pulls ahead only once each per-instance KKT system grows large, and we characterize this regime dependence. We describe the solver's interior point formulation, the abstraction that lets a single solver implementation run unmodified across dense, batched-sparse, and single-large linear-algebra backends, and report benchmarks against PATH on both randomly generated quadratic programs and trajectory games.
Problem

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

Mixed Complementarity Problems
robotics
trajectory optimization
batched solving
open-source solver
Innovation

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

Mixed Complementarity Problems
Interior Point Method
Batched Parallel Solving
Automatic Differentiation
GPU Acceleration