Table of Contents
Fetching ...

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.

Backing PDHG into a Corner

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.

Paper Structure

This paper contains 14 sections, 4 equations, 6 figures, 1 table, 1 algorithm.

Figures (6)

  • Figure 1: Evolution of off-bound variable count for model rmine17 (dashed line: 69,802 rows in the original model).
  • Figure 2: Ratio of primal push steps after/before corner push.
  • Figure 3: Ratio of total crossover time after/before corner push.
  • Figure 4: Ratio of corner push PDHG iterations to original PDHG iterations.
  • Figure 5: Total solve time after corner push, versus before.
  • ...and 1 more figures