NVIDIA / NVIDIA/cuopt

[FEA] Feasibility Polishing

Open
#832 13 comments 0 reactions 1 assignee View on GitHub

@rg20 is already working on this.

Since Feb 5, 2026.

awaiting response feature request
Dominant language
Cuda
Stars
1k
Forks
233
Avg merge
4d 4h
Merged PRs (30d)
95

Description

Hi, I've got an application where the LPs it generates have been greatly accelerated by cuopt's PDLP solver. However, occasionally the solution does not exactly satisfy the constraints. Some other popular PDLP solvers like cuPDLPx support "feasibility polishing" as a post-processing option to clean up the violated constraints, at the expense of the objective (which would be tolerable for my application).

Is something like this planned (or possible already) in cuopt?

I could imagine a couple different possible interfaces:

  1. an explicit "polishing" post process step with user-specified tolerances
  2. the ability to update constraint objective coefficients and resume PDLP iterations (which would also enable polishing, by setting the objective coefficients to 0 and adjusting tolerances).

What are the advantages and disadvantages of PDLP + polishing versus running the original PDLP solve with tighter tolerances?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.