Backing PDHG into a Corner
Edward Rothberg
TL;DR
This work investigates augmenting Primal-Dual Hybrid Gradient (PDHG) with a corner-push strategy to steer iterates toward corners of the optimal face in linear programs, aiming to reduce the cost of the subsequent crossover to an optimal basic solution. The corner push modifies the problem by fixing variables based on reduced costs and integrating either a post-PDHG modification or a presolved variant; the authors also propose terminating the corner-push solve once the primal residual meets the original tolerance. Experimental results on a GPU-accelerated PDHG implementation show substantial reductions in crossover effort (up to 88% on average) for models with large optimal faces, but this benefit is offset by a large increase in PDHG iterations in many cases, yielding overall runtime improvements for only about 20% of models. The findings suggest that corner pushing is advantageous for certain problem classes (notably large-face LPs) and motivate further engineering options, such as concurrent crossover, to hedge against cases where corner pushing is not beneficial.
Abstract
Recent enhancements to the Primal-Dual Hybrid Gradient (PDHG) algorithm have enabled GPUs to efficiently solve large linear programming problems, often faster than the long-dominant simplex and interior-point methods. The solutions found by PDHG are typically of much lower quality than those found by the alternatives, which can be remedied by following the PDHG iterations with a crossover step to obtain an accurate optimal basic solution. However, the cost of this highly sequential crossover step can be quite significant. This paper examines whether PDHG iterations can be enhanced to push the solution into a corner of the optimal LP face, thereby providing crossover a better starting point and hopefully reducing its runtime.
