[FEA] Allow user to control solver method used at root node
@rg20 is already working on this.
Since Jan 23, 2026.
- Dominant language
- Cuda
- Stars
- 1k
- Forks
- 233
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 95
Description
Describe the bug
I am using the Python API. My aim is to strictly use PDLP to solve the root node relaxation of a MIP problem. I am using the SolverMethod setting to set the method as PDLP, but the solver still uses barrier and simplex, which is unexpected.
Steps/Code to reproduce bug
Use:
settings.set_parameter("method", SolverMethod.PDLP)
In the Python API and invoke a solve. Solver log excerpt:
Solving LP root relaxation
Scaling matrix. Maximum column norm 3.044447e+00, minimum column norm 3.162278e-01
Dual Simplex Phase 1
Dual feasible solution found.
Dual Simplex Phase 2
Iter Objective Num Inf. Sum Inf. Perturb Time
1 +3.1466918879784025e+04 98662 4.76112184e+09 0.00e+00 1.49
1000 +3.1466918879784025e+04 98543 3.63115069e+09 0.00e+00 2.30
2000 +3.1466918879784025e+04 98365 2.63039454e+09 0.00e+00 3.15
3000 +3.1466918879784025e+04 98159 3.03303142e+10 0.00e+00 3.99
4000 +3.1466918879784025e+04 98047 7.84284729e+11 5.34e-08 5.98
Running concurrent
PDLP finished
Status: Time Limit Objective: 3.14669189e+04 Iterations: 1160 Time: 1.124s, Total time 1.170s
Barrier finished in 2.87 seconds
Concurrent time: 2.870s, total time 2.870s
Environment details (please complete the following information):
cuOpt version: 25.12.0
CPU: AMD EPYC 7R32, threads (physical/logical): 8/16, RAM: 37.89 GiB
CUDA 12.9, device: NVIDIA A10G (ID 0), VRAM: 21.99 GiB
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.