In this paper, we introduce a practical GPU-enhanced matrix-free first-order method for solving large-scale conic programming problems, which we refer to as PDCS, standing for the Primal-Dual Conic Programming Solver. Problems that it solves include linear programs, second-order cone programs, convex quadratic programs, and exponential cone programs. The method avoids matrix factorizations and leverages sparse matrix-vector multiplication as its core computational operation, which is both memory-efficient and well-suited for GPU acceleration. The method builds on the restarted primal-dual hybrid gradient method but further incorporates several enhancements. Additionally, it employs a bisection-based method to compute projections onto rescaled cones. Furthermore, cuPDCS is a GPU implementation of PDCS and it implements customized computational schemes that utilize different levels of GPU architecture to handle cones of different types and sizes. Numerical experiments demonstrate that cuPDCS is generally more efficient than state-of-the-art commercial solvers and other first-order methods on large-scale conic program applications, including Fisher market equilibrium problems, Lasso regression, and multi-period portfolio optimization. Furthermore, cuPDCS also exhibits better scalability, efficiency, and robustness compared to other first-order methods on the conic program benchmark dataset CBLIB. These advantages are more pronounced in large-scale, lower-accuracy settings.
翻译:本文提出了一种实用的GPU增强无矩阵一阶方法,用于求解大规模锥形规划问题,我们将其命名为PDCS(原对偶锥形规划求解器)。该方法可解决的问题包括线性规划、二阶锥规划、凸二次规划以及指数锥规划。该方法避免了矩阵分解,并利用稀疏矩阵-向量乘法作为核心计算操作,这既具有内存高效性,又适合GPU加速。该方法以重启的原对偶混合梯度法为基础,并进一步融入了多项增强技术。此外,它还采用基于二分法的方法来计算在缩放锥上的投影。同时,cuPDCS是PDCS的GPU实现,它定制了利用不同级别GPU架构来处理不同类型和大小锥的计算方案。数值实验表明,在包括费雪市场均衡问题、Lasso回归和多期投资组合优化在内的大规模锥形规划应用中,cuPDCS通常比最先进的商业求解器和其他一阶方法更高效。此外,与锥形规划基准数据集CBLIB上的其他一阶方法相比,cuPDCS还展现出更好的可扩展性、效率和鲁棒性。这些优势在大规模、低精度场景中更为显著。