Releases: NVIDIA/cuopt
Releases · NVIDIA/cuopt
[NIGHTLY] v25.12.00
🔗 Links
🐛 Bug Fixes
- Disable flaky barrier tests (#520) @rgsl888prabhu
- Fix TSP when order locations are set (#503) @hlinsen
- Fix nightly container testing suite (#495) @rgsl888prabhu
📖 Documentation
- Add release notes to main repository for quick view (#512) @rgsl888prabhu
🛠️ Improvements
- Refactor build scripts to use RAPIDS_BRANCH and remove RAPIDS_VERSION (#517) @bdice
- Add code-rabbit config file to the repo (#516) @rgsl888prabhu
- Reduce package sizes (#507) @rgsl888prabhu
- Branch 25.12 merge branch 25.10 (#505) @rgsl888prabhu
- Branch 25.12 merge branch 25.10 (#490) @rgsl888prabhu
- Forward-merge branch-25.10 into branch-25.12 (#476) @rapids-bot[bot]
[NIGHTLY] v25.10.00
🔗 Links
🚨 Breaking Changes
🐛 Bug Fixes
- Hot fix 25.10 (#552) @hlinsen
- Fix handling zero sized array in case of presolve (#491) @rgsl888prabhu
- Fix issue with barrier incorrectly returning numerical in concurrent (#484) @chris-maes
- Gracefully handle OOM in Barrier (#483) @hlinsen
- Don't access free variables in the original problem on the folded problem (#477) @chris-maes
- [BUG] Fixed starting variable bounds for diving (#474) @nguidotti
- Fix an UMA on ns1952667 due to ignoring rank in factorize_basis when no singletons present (#470) @chris-maes
- Further CPUFJ assert and numerical fixes (#466) @aliceb-nv
- Disable TBB because of a bug in CliqueMerging presolver (#463) @rg20
- Barrier post-solve, find_dense_columns fix, folding fix (#462) @chris-maes
- Don't eliminate free variables in dual simplex (#457) @chris-maes
- More numerically robust CPUFJ feasibility checking (#454) @aliceb-nv
- Explicitely create new stream for Barrier concurrent (#453) @hlinsen
- Fixed delayed termination after timeout (#451) @nguidotti
- Fix compile and log (#450) @akifcorduk
- Short run fine tuning (#444) @aliceb-nv
- GF2 presolve infeasibility fix + CI occasional failure fix (#437) @aliceb-nv
- Fix variables out of bounds caused by CPUFJ LP scratch thread (#425) @aliceb-nv
- Fixed the maybe-uninitialized compilation error (#424) @nguidotti
- Fix linking errors in the test suite when disabling C adaptor (#420) @nguidotti
- Compute relative gap with respect to user objectives (#418) @rg20
- add http timeout values for general, send, and receive to client (#404) @tmckayus
- Fix bug in fixed_problem_computation (#403) @akifcorduk
- Remove limiting_resource_adaptor leftover (#398) @aliceb-nv
- Add support for cuda13 container and fix cuda13 lib issues in wheel (#379) @rgsl888prabhu
- Return Infeasible if the user problem contains crossing bounds (#361) @aliceb-nv
- Fix out-of-bound access in
clean_up_infeasibilities. (#346) @legrosbuffle - Skip downloading netlib data (#335) @rgsl888prabhu
- Don't remove empty columns with infinite bounds (#287) @chris-maes
📖 Documentation
- Update introduction to use engine instead of library (#536) @rgsl888prabhu
- Add default accuracy for each method in LP (#514) @rgsl888prabhu
- Release notes for v25.10 (#432) @cwilkinson76
- Add tutorial video links to docs (#416) @rgsl888prabhu
- Add warmstart, model update, update docs (#411) @Iroy30
- add docs on CI workflow inputs (#407) @jameslamb
- Add name to drop down for video link (#396) @rgsl888prabhu
- Add video link to the docs and Readme (#393) @rgsl888prabhu
- Add documentation on nightly installation commands (#367) @rgsl888prabhu
- Fix version in version tab, change log and fix typos (#267) @rgsl888prabhu
🚀 New Features
- Add optional timestamps enabled by env CUOPT_EXTRA_TIMESTAMPS (#392) @tmckayus
- cuPDLPx (#388) @Kh4ster
- QPS extension for MPS (#352) @Franc-Z
- Barrier method for LPs with cuDSS sparse Cholesky / LDLT on the GPU (#272) @chris-maes
- Add root node presolve using Papilo (#234) @hlinsen
🛠️ Improvements
- Switch to using papilo develop branch (#493) @rg20
- Fix return on size mismatch in Barrier (#489) @hlinsen
- Print scaling information about the user model (#488) @chris-maes
- Enable TBB and use fixed commit version (#481) @akifcorduk
- Barrier log fixes (#478) @chris-maes
- Remove raft-dask dependency (#475) @rgsl888prabhu
- Add setting to change the dual initial point used by barrier (#468) @chris-maes
- Add docs and example tests to barrier (#449) @rgsl888prabhu
- Enable green context in Barrier (#448) @hlinsen
- Remove left over kernels (#430) @akifcorduk
- Fix issue stemming because Rocky 8.10 is EOL and replaced by 8.11 (#427) @rgsl888prabhu
- Combine conda install for local and channel based artifacts into one env create call (#422) @rgsl888prabhu
- Integrate CliqueMerging presolver and tune presolver settings (#415) @rg20
- Enable miplib datasets which was disabled and also update README (#414) @rgsl888prabhu
- cuopt-server: update dependencies (drop httpx, add psutil) (#413) @jameslamb
- Parallel Branch-and-Bound (#412) @nguidotti
- build pure-Python wheels without waiting for dependencies (#409) @jameslamb
- avoid triggering nightly tests until builds are complete (#408) @jameslamb
- GF(2) presolve reduction for enlight_hard.mps (#406) @aliceb-nv
- CPUFJ for local search + simple rounding (#405) @aliceb-nv
- Add jump testing to nightly testing (#394) @rgsl888prabhu
- [FIX] Do not run compression tests when compression is disabled. (#389) @legrosbuffle
- Add sanitizer build option (#385) @akifcorduk
- Doc update for container version update and add nvidia-cuda-runtime as dependency (#384) @rgsl888prabhu
- Heuristic Improvements: balance between generation and improvement heuristics (#382) @akifcorduk
- Loosen presolve tolerance and update timers to report cumulative presolve/solve time (#381) @hlinsen
- CUDA 13 support: follow-ups (#377) @jameslamb
- Warn in case a dependent library is not found in libcuopt load (#375) @rgsl888prabhu
- Combined variable bounds (#372) @kaatish
- Enable parallelism for root node presolve (#371) @hlinsen
- Print cuOpt version / machine info before solving (#370) @aliceb-nv
- Implement node presolve (#368) @rg20
- Build and test with CUDA 13.0.0 (#366) @jameslamb
- Add Commit Sha to container for reference (#362) @rgsl888prabhu
- use GCC 14, consolidate dependency groups, update pre-commit hooks (#358) @jameslamb
- Decompression for .mps.gz and .mps.bz2 files (#357) @ahehn-nv
- Enable singleton stuffing and use papilo default params (#354) @hlinsen
- [FIX] Fix high GPU memory usage (#351) @aliceb-nv
- Adding support nightly cuopt-examples notebook testing (#342) @rgsl888prabhu
- Reduce hard-coded version usage in repo (#337) @rgsl888prabhu
- Make infeasibility checks consistent between the main solver and presolver (#326) @rg20
- Add read/write MPS and relaxation to python API (#323) @Iroy30
- Add maximization support for root node presolve (#322) @hlinsen
- Container to work on all different users including root (#321) @rgsl888prabhu
- Changes to download lp and milp dataset and also disable cvxpy testing for 3.10 (#317) @rgsl888prabhu
- Faster engine compile time (#316) @Kh4ster
- Performance tweak for dual_simplex/right_looking_lu (#315) @ahehn-nv
- Fix pre-commit for trailing whitespace and end of file (#306) @rgsl888prabhu
- Simple diving for Branch-and-Bound (#305) @nguidotti
- Bump libcuopt size to 775MiB (#303) @rgsl888prabhu
- Merge update version and fix version format bugs (#286) @rgsl888prabhu
- Support cuda 12.9 (#269) @rgsl888prabhu
- Adding actions to automate auto issue assignment and reminder on inactivity (#268) @rgsl888prabhu
- Sub-MIP recombiner and B&B global variable changes (#259) @akifcorduk
- FP as a local search (#258) @akifcorduk
- Update rapids-build-backend to 0.4.1 (#253) @KyleFromNVIDIA
- Branch 25.10 merge branch 25.08 (#251) @rgsl888prabhu
[NIGHTLY] v25.08.00
🔗 Links
🚨 Breaking Changes
- Fix versioning for nightly and release package (#175) @rgsl888prabhu
- Bump cuOpt and Rapids version (#55) @rgsl888prabhu
🐛 Bug Fixes
- Fix a segfault on bnatt500 due to small mu leading to inf/nan (#254) @chris-maes
- Fix a bug in basis repair. Recover from numerical issues in primal update. (#249) @chris-maes
- Unset NDEBUG in cmake in assert mode (#248) @hlinsen
- Manual cuda graph creation in load balanced bounds presolve (#242) @kaatish
- Fix assert failure on MIP problem reducing to LP after presolve (#235) @aliceb-nv
- align service api with SDK (compat with deprecations) (#227) @tmckayus
- Fix bug on initial solution size in the check and cuda set device order (#226) @akifcorduk
- No cuda graph in batched pdlp (#225) @Kh4ster
- Disable feasibility jump test for one of the dataset (#215) @rgsl888prabhu
- Fix logging levels (#201) @akifcorduk
- Fix bug in scaling of dual slacks and sign of dual variables for >= constraints (#191) @chris-maes
- Fix inversion crossover bug with pdp and prize collection (#179) @hlinsen
- Fix a bug in extract_best_per_route kernel (#156) @rg20
- Fix several bugs appeared in unit testing of JuMP interface (#149) @rg20
- Fix incorrect reported solving time (#131) @aliceb-nv
- Fix max offset (#113) @Kh4ster
- Fix batch graph capture issue caused by pinned memory allocator (#110) @Kh4ster
- Fix bug in optimization_problem_solution_t::copy_from (#109) @rg20
- Fix issue when problem has an empty problem in pdlp (#107) @Kh4ster
- Fix crash on models with variables but no constraints (#105) @aliceb-nv
- Fix inversion of constraint bounds in conditional bounds presolve (#75) @kaatish
- Fix data initialization in create depot node for max travel time feature (#74) @hlinsen
📖 Documentation
- Add link checker for doc build and test (#229) @rgsl888prabhu
- Adding few more pre-commit checks to ensure coding standards (#213) @rgsl888prabhu
- Mention GAMS and GAMSPy in third-party modeling languages page in documentation (#206) @0x17
- Enable doc build workflow and build script for PR and Nightly (#203) @rgsl888prabhu
- Fix the link to Python docs in README (#118) @Abinashbunty
- Update PR template to be concise with checklist (#73) @rgsl888prabhu
🚀 New Features
🛠️ Improvements
- Bump actions/checkout in nightly.yaml to v4 (#230) @ScottBrenner
- Add helm chart for cuopt service (#224) @rgsl888prabhu
- Remove cuda 11 specific changes from repo (#222) @rgsl888prabhu
- Heuristic Improvements with solution hash, MAB and simplex root solution (#216) @akifcorduk
- Add license headers to missing files (#210) @rgsl888prabhu
- Fix: Prevent Github language statistics from mistaking MPS files as JetBrains related (#202) @aliceb-nv
- Fix: various typos in comments and strings, note on result dir (#200) @MohdAatifSiddi
- Performance improvements to dual simplex: BFRT, hypersparsity, basis updates, primal infeasible list (#192) @chris-maes
- Feat: rework cmakelists.txt to facilitate deb file creation. (#190) @mostroot
- Add nightly container support (#180) @rgsl888prabhu
- New heuristic improvements (#178) @akifcorduk
- Fix versioning for nightly and release package (#175) @rgsl888prabhu
- Split very large tests into smaller individual test cases (#152) @vitor1001
- Fix compile error when using
clangwith C++20. (#145) @legrosbuffle - Small fixes for corner cases: (#130) @vitor1001
- Small improvements on how paths are handled in tests (#129) @vitor1001
- Update cxxopts to v3.3.1 (#128) @vitor1001
- refactor(rattler): remove cuda11 options and general cleanup (#127) @gforsyth
- use 25.08 versions of RAPIDS CI workflows (#126) @jameslamb
- Relax pinnings on several dependencies, remove nvidia channel (#125) @bdice
- Several fixes needed to compile cuOpt with LLVM (#121) @vitor1001
- Use cusparsespmv_preprocess() now that Raft implements it. (#120) @vitor1001
- Fix compile error when building with clang. (#119) @legrosbuffle
- cuopt service add healthcheck for / (#114) @tmckayus
- refactor(shellcheck): fix all remaining shellcheck errors/warnings (#99) @gforsyth
- Branch 25.08 merge branch 25.05 (#95) @rgsl888prabhu
- Create a bash script to run mps files in parallel (#87) @rg20
- Branch 25.08 merge 25.05 (#79) @rgsl888prabhu
- Branch 25.08 merge 25.05 (#60) @rgsl888prabhu
- Add CTK 12.9 fatbin flags to maintain existing binary sizes (#58) @robertmaynard
- expand RAPIDS build-infra CODEOWNERS assignments (#57) @jameslamb
- Bump cuOpt and Rapids version (#55) @rgsl888prabhu
- stop uploading to downloads.rapids.ai, use rapids-init-pip in wheel CI (#50) @jameslamb
- Branch 25.08 merge 25.05 (#43) @rgsl888prabhu
- Branch 25.08 merge 25.05 (#35) @rgsl888prabhu
[NIGHTLY] v25.05.00
🔗 Links
🐛 Bug Fixes
- Fix issue with reported solving time on time-limit termination (#93) @aliceb-nv
- Fix to decouple thin client requirements from cuopt main module (#92) @rgsl888prabhu
- Fix occasional incorrect solution bound on maximization problems (#83) @rgsl888prabhu
- Fix inversion of constraint bounds in conditional bounds presolve (#82) @kaatish
- Fix nightly build which is failing on jq request (#78) @rgsl888prabhu
- Pdlp fix batch cuda graph (#68) @Kh4ster
- allow long client version in service version check' (#61) @tmckayus
- Fix obj constant on max. Fix undefined memory access at root (#52) @chris-maes
- include Python constraints for pure-Python conda packages (#51) @jameslamb
- Disable failing FJ test on ARM CI (#39) @aliceb-nv
- Fix bug on probing cache usage of lb bounds prop and probing cache bounds lookup with wrong variable id (#36) @akifcorduk
- Fix graph bug seen when using batch (#34) @Kh4ster
- Fix bug: dual simplex does not fill in additional info (#33) @chris-maes
- Switch to using v3.2 of argparser for wheels (#31) @rg20
- Bug fix: solution incorrect when simplex presolve removes empty columns (#29) @chris-maes
- Bug fixes on preprocess, line segment returning worse solution, temporary fix add B&B solution directly (#27) @akifcorduk
- Fix non-trivial presolve not reporting Optimality (#26) @aliceb-nv
- Fix bug in C API for bool parameters. Fix bug on irish-electricty (#25) @chris-maes
- Fix bug on consecutive runs caused by static lp_state_t object (#24) @aliceb-nv
- Fix bug in crossover where numerical was returned instead of time limit (#23) @chris-maes
- Handle out of memory and out of time limit issues gracefully (#22) @rg20
- PDLP solution file generation and binary fix (#21) @Kh4ster
- Fix objective value when LP is unbounded (#19) @chris-maes
- Fix bugs on empty problem and pre_process assignment (#18) @akifcorduk
- Fix LP termination status 9 errors in batch LP solves (#17) @chris-maes
- Fix branch build and nightly (#12) @rgsl888prabhu
📖 Documentation
- Fix test commands in CONTRIBUTING.md (#88) @rgsl888prabhu
- Update README.md (#85) @bbozkaya
- Documentation update to add third party modeling languages and nightly documentation (#77) @rgsl888prabhu
- Update Source build instructions (#62) @rgsl888prabhu
- Update README and Docs for version and broken links (#56) @rgsl888prabhu
- Fix documentation for missing links and typos (#48) @rgsl888prabhu
- Address cuOpt doc reviews (#41) @rgsl888prabhu
- Fix documentation structure and fine tune explanations (#16) @rgsl888prabhu
🛠️ Improvements
- Migrate to modern logger interface (#80) @emmanuel-ferdman
- Enable nightly package publishing and fix nightly testing workflow (#72) @rgsl888prabhu
- Write out mps file containing user problem. Useful for debugging (#66) @chris-maes
- Update README.md (#49) @chris-maes
- Fix build.yaml to build for python versions apart from 3.13 (#45) @rgsl888prabhu
- Fix branch and nightly build for libcuopt wheel to build on only python3.12 (#38) @rgsl888prabhu
- Deprecate and remove cuda 11 support (#32) @rgsl888prabhu
- Remove unused and broken build flags (#15) @rg20
- Internal PR sync (#14) @rgsl888prabhu
- Fixing FJ bugs, Termination status and MIP GAP parameters (#6) @rgsl888prabhu
- Update Code owners file (#5) @rgsl888prabhu
- Adding C API support for LP and MILP (#3) @rgsl888prabhu