arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~

MixedComplementarityProblems.jl:用于混合互补问题的快速、批处理开源内点求解器

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

David Fridovich-Keil

arXiv 2608.00959首次发表:更新:

发表机构

The University of Texas at Austin(德克萨斯大学奥斯汀分校)

机构由 AI 辅助整理,请以论文原文为准。

AI 中文总结

本文提出开源Julia实现的混合互补问题内点求解器MixedComplementarityProblems.jl,其批处理CPU版本处理多智能体变道轨迹博弈的速度约为PATH的100倍,GPU版本仅在KKT系统规模大时更具优势,且可靠性与PATH相当。

AI 中文摘要

混合互补问题(MCPs)是非线性规划和非合作博弈的一阶最优性条件,为机器人学中常见的多智能体轨迹优化问题提供了自然的建模形式。这类问题的主流求解器是PATH,它在机器人学问题上表现优异,但属于闭源软件。本文介绍MixedComplementarityProblems.jl,这是一个纯Julia实现的、针对参数化MCPs的内点法开源求解器,具备三大特性:其一,在标准基准测试中达到与PATH相当的可靠性;其二,原生支持大量参数实例的批处理并行处理,可在CPU线程间或NVIDIA GPU上运行;其三,支持对解关于问题参数的高效自动微分。在代表机器人规划问题的多智能体变道轨迹博弈上,我们的CPU多线程批处理求解器处理一批参数实例的速度约为顺序调用PATH的100倍;采用相同求解器实现未修改的GPU后端,处理这些批次的速度也远快于PATH,但在该问题上未胜过多线程CPU,仅当每个实例的KKT系统规模较大时GPU才会领先,我们对这种依赖关系进行了分析。本文还阐述了求解器的内点公式、支持单一求解器实现未修改即可在稠密、批处理稀疏和单大型线性代数后端运行的抽象机制,以及在随机生成的二次规划和轨迹博弈上与PATH对比的基准测试结果。

英文摘要

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.

论文原文

arXiv 摘要页 · PDF 原文 · HTML 原文

↑