Skip to content

Commit ab1cc2b

Browse files
Add default accuracy for each method in LP (#514)
<!-- Thank you for contributing to cuOpt :) Here are some guidelines to help the review process go smoothly. Many thanks in advance for your cooperation! Note: The pull request title will be included in the CHANGELOG. --> ## Description Add default accuracy for each method in LP ## Checklist - [x] I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/cuopt/blob/HEAD/CONTRIBUTING.md). - Testing - [ ] New or existing tests cover these changes - [ ] Added tests - [ ] Created an issue to follow-up - [x] NA - Documentation - [ ] The documentation is up to date with these changes - [x] Added new documentation - [ ] NA
1 parent 6d22826 commit ab1cc2b

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

docs/cuopt/source/lp-features.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,19 @@ Method
7070

7171
**PDLP**: Primal-Dual Hybrid Gradient for Linear Program is an algorithm for solving large-scale linear programming problems on the GPU. PDLP does not attempt any matrix factorizations during the course of the solve. Select this method if your LP is so large that factorization will not fit into memory. By default PDLP solves to low relative tolerance and the solutions it returns do not lie at a vertex of the feasible region. Enable crossover to obtain a highly accurate basic solution from a PDLP solution.
7272

73+
.. note::
74+
PDLP solves to 1e-4 relative accuracy by default.
75+
7376
**Barrier**: The barrier method (also known as interior-point method) solves linear programs using a primal-dual predictor-corrector algorithm. This method uses GPU-accelerated sparse Cholesky and sparse LDLT solves via cuDSS, and GPU-accelerated sparse matrix-vector and matrix-matrix operations via cuSparse. Barrier is particularly effective for large-scale problems and can automatically apply techniques like folding, dualization, and dense column elimination to improve performance. This method solves the linear systems at each iteration using the augmented system or the normal equations (ADAT). Enable crossover to obtain a highly accurate basic solution from a barrier solution.
7477

78+
.. note::
79+
Barrier solves to 1e-8 relative accuracy by default.
80+
7581
**Dual Simplex**: Dual simplex is the simplex method applied to the dual of the linear program. Dual simplex requires the basis factorization of linear program fit into memory. Select this method if your LP is small to medium sized, or if you require a high-quality basic solution.
7682

83+
.. note::
84+
Dual Simplex solves to 1e-6 absolute accuracy by default.
85+
7786

7887
Crossover
7988
---------

docs/cuopt/source/lp-milp-settings.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ Method
8787

8888
.. note:: The default method is ``Concurrent``.
8989

90+
Default accuracy for each method:
91+
92+
* PDLP solves to 1e-4 relative accuracy by default.
93+
* Barrier solves to 1e-8 relative accuracy by default.
94+
* Dual Simplex solves to 1e-6 absolute accuracy by default.
95+
9096
C API users should use the constants defined in :ref:`method-constants` for this parameter.
9197

9298
Server Thin client users should use the :class:`cuopt_sh_client.SolverMethod` for this parameter.

docs/cuopt/source/system-requirements.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Dependencies are installed automatically when using the pip and Conda installati
2626
- 12.0+
2727

2828
* Python:
29-
- >= 3.10.* and <= 3.12.*
29+
- >= 3.10.* and <= 3.13.*
3030

3131
* NVIDIA drivers:
3232
- 525.60.13+ (Linux)
@@ -68,9 +68,9 @@ Dependencies are installed automatically when using the pip and Conda installati
6868
- 100+ GB free space
6969

7070
* CUDA:
71-
- 12.9
71+
- 13.0
7272

73-
* Latest NVIDIA drivers (570.42.01+)
73+
* Latest NVIDIA drivers (580.65.06+)
7474

7575
* OS:
7676
- Linux distributions with glibc>=2.28 (released in August 2018):
@@ -98,4 +98,4 @@ Thin-client for Self-Hosted
9898
- x86-64
9999
- ARM64
100100

101-
* Python >= 3.10.x <= 3.12.x
101+
* Python >= 3.10.x <= 3.13.x

0 commit comments

Comments
 (0)