Skip to content

Releases: NVIDIA/cuopt

v26.06.00

Choose a tag to compare

@jolorunyomi jolorunyomi released this 09 Jun 22:05
df5fe0d

What's Changed

🚨 Breaking Changes

  • ci(pr): gate builds on changed-files and broaden safe exclusions by @rgsl888prabhu in #1118
  • Migrate RMM usage to CCCL MR design by @bdice in #1035
  • Fold libmps_parser into libcuopt by @mlubin in #1193

🐛 Bug Fixes

  • Add missing thrust headers across C++ sources by @bdice in #997
  • Update sonarcube host link to Nvidia by @rgsl888prabhu in #1015
  • Require openssl so that conda verson is found before system lib by @hlinsen in #1084
  • fix(cuda_helpers): clear sticky error and avoid cache poisoning in set_shmem_of_kernel by @np96 in #1095
  • Fix double va_start undefined behavior in error handling by @rgsl888prabhu in #1086
  • Fixed lower bound in single thread mode by @nguidotti in #1111
  • test(c_api): skip flaky TimeLimitTestFixture MIP case (#1135) by @rgsl888prabhu in #1136
  • Replace flaky determinism test by @aliceb-nv in #1141
  • Use fp64 for all node stack buffers and fix indexing in vehicle order match test by @hlinsen in #1137
  • fix(benchmarks): drop removed rmm owning_wrapper; build in CI by @rgsl888prabhu in #1143
  • Fix loose tolerances in the objective function integrality detection by @aliceb-nv in #1148
  • ci(docker): pin all first-party cuOpt wheels to CUOPT_VER by @rgsl888prabhu in #1157
  • Fix CI crash on RTX6000 by @nguidotti in #1184
  • miplib_test: allow tiny error on objective equality by @mlubin in #1199
  • Fix concurrent LP exception cleanup by @mlubin in #1206
  • Allow nested parallel regions for determinism mode by @nguidotti in #1201
  • Fix destruction order in solve.cu by @mlubin in #1216
  • Fix by-reference capture of local variable in solve.cu by @mlubin in #1214
  • Fix route priority sort indexing by @bdice in #1222
  • Drop constness in raft handle for data_model_view_t (routing) by @nguidotti in #1241
  • Fix lost nodes in branch and bound by @hlinsen in #1138
  • Fix vehicle fixed cost accounting in fragment-vs-route deltas by @mlubin in #1244
  • Fix an out of bounds access error by @rg20 in #1245
  • Fix a bug in dual variables and reduced costs when we add implied bounds on free variables by @chris-maes in #1237
  • Cuda graph replays on capture error by @akifcorduk in #1253
  • Fix accidentally quadratic add_slacks_to_basis in crossover by @nguidotti in #1268
  • Replace constant FJ settings with per-instance device_scalar by @mlubin in #1284
  • Stabilize logger config in LP BatchSolve and version logging by @mlubin in #1286
  • Add extra numerical guards for flow cover cuts by @aliceb-nv in #1316
  • Fix broken sample.mps download link in server LP examples docs by @rgsl888prabhu in #1358
  • Fix for maximization problems with quadratic constraints by @chris-maes in #1377
  • Use 26.6 (not 26.06) in README pip install commands by @rgsl888prabhu in #1380

📖 Documentation

  • Tweak testing instructions in CONTRIBUTING.md by @mlubin in #1000
  • Exclude L1TESTs from contributing instructions by @mlubin in #1034
  • CONTRIBUTING.md: Recommend local conda environments by @mlubin in #1085
  • docs(readme): use py3.13 docker tags (py3.14 not supported) by @rgsl888prabhu in #1112
  • Fix typo in Constraint docstring by @mlubin in #1113
  • update mip scaling doc by @Iroy30 in #1121
  • docs: migrate support link to GitHub Discussions; tidy doc links by @rgsl888prabhu in #1144
  • Add VRP dimension developer skill by @rg20 in #1233
  • Fix for cuDSS 0.8; remove incorrect presolve docs in cuopt_cli by @chris-maes in #1353
  • Update LP/QP/MILP docs to cover 26.06 API additions by @rg20 in #1339
  • docs: add 26.06 release notes and updates to docs by @rgsl888prabhu in #1294
  • Mark MILP as beta; add QCQP and SOCP to README by @rgsl888prabhu in #1384

🚀 New Features

  • Add semi continuous variables support by @hlinsen in #1096
  • Extend batch pdlp support by @Kh4ster in #1152
  • Implement python and C api for semi-continuous variables by @hlinsen in #1225
  • Add LP format reader; accept .lp wherever .mps is accepted by @mlubin in #1120
  • Detect MIP symmetry using dejavu; Perform orbital fixing and lexical reduction by @chris-maes in #1103
  • Implement C APIs for adding quadratic objectives and constraints by @rg20 in #1247
  • Add flow cover cuts at root by @hlinsen in #1178
  • Extend the barrier solver for Second-Order Cone Programming (SOCP) by @chris-maes in #1290
  • add QCQP support for grpc by @tmckayus in #1320

🛠️ Improvements

  • Main merge release/26.04 by @rgsl888prabhu in #998
  • Update versions1.json as part of version bump by @AyodeAwe in #1004
  • Main merge release/26.04 1 by @rgsl888prabhu in #1005
  • Make infra team as default code owner to any files which are not specifically added to a particular group by @rgsl888prabhu in #1013
  • Bump libcuopt size by 5 mb by @rgsl888prabhu in #1016
  • Main merge release/26.04 2 by @rgsl888prabhu in #1040
  • Bump libcuopt wheel size by @rgsl888prabhu in #1087
  • Replace strtok with thread-safe strtok_r in MPS parser by @rgsl888prabhu in #1088
  • Update to clang 20.1.8 by @bdice in #1090
  • bump nightly test to 26.06 by @rgsl888prabhu in #1091
  • Fix duplicate libmps_parser.so in libcuopt wheel by @rgsl888prabhu in #1092
  • fix(security): remove insecure SSL verification bypass in dataset downloaders by @rgsl888prabhu in #1108
  • Latency reductions for concurrent mode by @srib in #1083
  • Add CTest labels for selective C++ test execution by @rgsl888prabhu in #1102
  • Improve developer skill with Python bindings, contribution workflow, and agent rules by @rgsl888prabhu in #1106
  • fix: add retry logic and error handling to dataset download scripts by @rgsl888prabhu in #1116
  • Update build and test skills by @mlubin in #1127
  • ci: bump C++ test timeout from 40m to 50m by @rgsl888prabhu in #1130
  • docs: add entry points for more AI coding agents (Copilot, Cline, Windsurf, Jules, Aider) by @rgsl888prabhu in #1129
  • Conditional build for remote execution by @nguidotti in #1128
  • Mark L1 tests as disabled by @mlubin in #1126
  • Rename .cursor to .agents for codex support by @hlinsen in #1124
  • docs: replace routing notebook with Python example and drop notebook support by @rgsl888prabhu in #1125
  • Improve C++ error handling, resource cleanup, and API return checks by @rgsl888prabhu in #1089
  • ci(images): bump docker CUDA to 13.1.0 and Python to 3.14.1 by @rgsl888prabhu in #1123
  • ci: assign benchmarks/ to engine codeowners by @rgsl888prabhu in #1142
  • add a scriptlet to put cuopt_grpc_server on the default path by @tmckayus in #1100
  • ci: refine CodeRabbit review guide to match cuOpt idioms by @rgsl888prabhu in #1139
  • build: make docs build opt-in from build.sh by @rgsl888prabhu in #1145
  • Add QCMATRIX: parsing and quadratic-constraint model by @yuwenchen95 in #1105
  • Replace custom span with std::span by @mlubin in #1164
  • skill-evolution: scoped removal and references/ size escape hatch by @rgsl8...
Read more

v26.04.00

Choose a tag to compare

@AyodeAwe AyodeAwe released this 09 Apr 20:42
d9b7c96

What's Changed

🚨 Breaking Changes

  • Update solution object to include the LP solver by @nguidotti in #822

🐛 Bug Fixes

  • Fix doc version update script to handle new url by @rgsl888prabhu in #810
  • Add nvjitlink to cuda-toolkit pip extras for cusparse compatibility by @bdice in #850
  • Fix issue with incorrect lower bound on air05 by @chris-maes in #890
  • Fix batch pdlp and python api support by @Kh4ster in #893
  • Fix timer checks by @akifcorduk in #849
  • fix how tests create service subprocess (causes errors with new cuda) by @tmckayus in #897
  • Fix thrust tuple includes + more timer checks by @aliceb-nv in #902
  • Fix race condition in add_external_solutions_to_population by @akifcorduk in #909
  • Update to PSLP version with bug fixes by @rg20 in #920
  • Fix variable bound violation in CPUFJ moves by @aliceb-nv in #930
  • Fix #903: Validate unique vehicle_ids in VRP fleet data by @anandhkb in #917
  • Fix incorrect errors with x + x*x, +x, -x in Python API by @chris-maes in #936
  • turn off cpu only tests to unblock CI during investigation by @tmckayus in #959
  • Fix lexicographic search by @rgsl888prabhu in #969
  • apply -UNDEBUG to coupt flags instead of global settings by @tmckayus in #964
  • papilo probing workaround, probing cache sync, extra error logging by @aliceb-nv in #992
  • Add exception handling for pdlp in concurrent mode by @Iroy30 in #966
  • Implement UnboundedOrInfeasible termination status by @rg20 in #941
  • Fix race in graph capture when set_simplex_solution() is called by @aliceb-nv in #1017
  • Fix issue with infinite lower bounds and try to bound free variables in barrier by @chris-maes in #1001

📖 Documentation

  • Add install selector UI by @rgsl888prabhu in #961
  • update doc for usage of incumbent utility function by @Iroy30 in #947
  • Disable running notebooks while building docs by @rgsl888prabhu in #980
  • Fixing broken links by @cwilkinson76 in #1028
  • Doc and release notes updates by @rgsl888prabhu in #1006

🚀 New Features

  • Add memory model support for host-resident problem data by @tmckayus in #819
  • Add support for FP32 and mixed precision in PDLP by @Kh4ster in #910
  • Remote execution implementation by @tmckayus in #939
  • Add cuopt_grpc_server as an option for the cuopt image by @tmckayus in #1003

🛠️ Improvements

  • fix(build): build package on merge to release/* branch by @gforsyth in #800
  • Main merge release/26.02 by @rgsl888prabhu in #801
  • Main merge release/26.02.update by @rgsl888prabhu in #812
  • move ruff configuration into pyproject.toml by @jameslamb in #806
  • refactor: drop support for Python 3.10 by @gforsyth in #809
  • tighten wheel size limits, expand CI-skipping logic, other small build changes by @jameslamb in #804
  • remove pip.conf migration code in CI scripts, fix pr-builder configuration by @jameslamb in #821
  • Use verify-hardcoded-version pre-commit hook by @KyleFromNVIDIA in #823
  • Refactoring agentic skill files based on roles and modules by @rgsl888prabhu in #818
  • Main merge release/26.02 4 by @rgsl888prabhu in #830
  • Rename and split up cpp/src directories by @chris-maes in #846
  • Consider objective function integrality when pruning + bug fixes by @aliceb-nv in #851
  • Simplex work estimates by @chris-maes in #856
  • Update raft headers by @aamijar in #865
  • Disable release/26.02 nightly and enable release/26.04 nightly by @rgsl888prabhu in #895
  • Add .github/release.yml for auto-generated release notes by @AyodeAwe in #898
  • Use sccache-dist build cluster for conda and wheel builds by @trxcllnt in #848
  • Type and execution path cleanup for memory model changes by @tmckayus in #908
  • Disable auto summary from code rabbit by @rgsl888prabhu in #913
  • Fix routing module bugs from issue #857 by @anandhkb in #914
  • Upgrade skills by @rgsl888prabhu in #918
  • Clique Table Generation by @akifcorduk in #627
  • update exceptions and guards by @Iroy30 in #912
  • Add clique cuts by @akifcorduk in #937
  • Fix MIR cut aggregation. Complement integer variables to find MIR cuts. Use Variable Lower/Upper Bounds in MIR cuts. by @chris-maes in #905
  • Add MIP gap to heuristic log during dual-simplex root relaxation by @anandhkb in #942
  • feat: add support for Python 3.14 by @gforsyth in #933
  • update routing tests by @Iroy30 in #940
  • Add a skill for evolving skills or adding new skills based on interaction by @rgsl888prabhu in #952
  • Disable barrier and cuts tests by @rgsl888prabhu in #968
  • Fix server test behavior to stop on first failure by @rgsl888prabhu in #925
  • build wheels with CUDA 13.0.x, test wheels against mix of CTK versions by @jameslamb in #973
  • add pulp, pyomo integration tests by @Iroy30 in #945
  • Dump presolved problem to file by @hlinsen in #459
  • Add GitHub issue template for numerical instability reports by @anandhkb in #982
  • Run FJ heuristics before and during presolve by @aliceb-nv in #899
  • Write quadratic terms to mps file by @rg20 in #949
  • Add Implied bound cuts. Find more knapsack cuts. Lift knapsack cuts by @chris-maes in #970
  • Disable incumbent test for neos test case by @rgsl888prabhu in #1023
  • Improve crossover dual simplex by @rg20 in #948
  • Improvements to reliability branching by @nguidotti in #979
  • Race batch PDLP and dual simplex in strong branching / reliability branching by @Kh4ster in #994
  • Expose GPU heuristics tuning parameters via config files by @aliceb-nv in #993
  • MIP Row and Objective Scaling by @akifcorduk in #906
  • Clean-up Logs by @akifcorduk in #1039
  • Cleanup early heuristics logs + unify cutoff/upper_bound in B&B by @aliceb-nv in #1033
  • Bump clang tools to 2.1.8 to fix local build issue by @rgsl888prabhu in #1052

New Contributors

Full Changelog: v26.04.00a...v26.04.00

v26.02.00

Choose a tag to compare

@AyodeAwe AyodeAwe released this 11 Feb 18:01
v26.02.00
f73da24

Release Notes 26.02

New Features (26.02)

  • New parallel reliability branching inside MIP solver
  • Mixed Integer Gomory, Mixed Integer Rounding, Knapsack and Strong Chvatal Gomory cuts are now added at root node
  • Added an option to use batch PDLP when running strong branching at the root. Based on Batched First-Order Methods for Parallel LP Solving in MIP (Nicolas Blin, Stefano Gualandi, Christopher Maes, Andrea Lodi, Bartolomeo Stellato)
  • Quadratic programming (QP) solver is now generally available (previously beta)
  • New infeasibility detection option for PDLP's default solver mode Stable3
  • Solutions callbacks added to C API. Users can now retrieve the dual bound and pass in user data
  • Multiple new diving techniques added for finding integer feasible solutions
  • The PSLP presolver is enabled by default for LP problems. Use the presolve option to select Papilo or disable
  • Added a batch solve for routing to boost throughput for many similar instances
  • Added experimental support for determinism in the parallel branch-and-bound solver. GPU heuristics are not supported yet in this mode

Breaking Changes (26.02)

  • The signatures of the solution callbacks have changed for the Python API
  • To use PDLP warm start, presolve must now be explicitly disabled by setting CUOPT_PRESOLVE=0. Previously, presolve was disabled automatically

Improvements (26.02)

  • Improved primal/dual warm start for PDLP's default solver mode Stable3
  • Quadratic objectives can now be constructed via a matrix in Python API
  • QP barrier now updates and solves augmented system on the GPU
  • Improved performance for LP folding
  • Probing implications and better variable ordering to strengthen presolve and branching
  • Replace deprecated cuDF Column/Buffer APIs with pylibcudf and public cuDF interfaces
  • Modernize dependency pinnings; make CUDA runtime linkage static for portability
  • Build/tooling: add --split-compile, --jobserver, Clang host build, ThreadSanitizer, improved container scripts, and branch/commit metadata in images
  • Use explicit cudaStream_t with cub::DeviceTransform and non-blocking streams for GPU control
  • Enable barrier LP tests, add regression testing, and add SonarQube static analysis
  • Added parameter for specifying the random seed used by the solver

Bug Fixes (26.02)

  • Fixed an issue with incorrect signs of dual variables and reduced costs on maximization problems
  • Fix out-of-bounds in dense-column detection in barrier
  • Correct infeasible-list handling to avoid incorrect infeasibility reports in dual simplex
  • Fix race conditions found via Clang host build + ThreadSanitizer
  • Resolve CUDA–Numba version mismatches with cuDF
  • Fix device code to include required trailing return types
  • Fix issue in crossover after dualization in barrier
  • Repair container build and test failures
  • Miscellaneous additional fixes and stability improvements

Documentation (26.02)

  • Update README and top-level docs for current build and usage
  • Document new repository branching strategies and release-cycle details in README and CONTRIBUTING
  • Add best practices for batch solving

[NIGHTLY] v25.12.00

[NIGHTLY] v25.12.00 Pre-release
Pre-release

Choose a tag to compare

@rapids-bot rapids-bot released this 15 Oct 18:54
b0fea30

🔗 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

[NIGHTLY] v25.10.00 Pre-release
Pre-release

Choose a tag to compare

@rapids-bot rapids-bot released this 06 Aug 16:06
1a39bd4

🔗 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

🛠️ 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

[NIGHTLY] v25.08.00 Pre-release
Pre-release

Choose a tag to compare

@rapids-bot rapids-bot released this 11 Jun 21:09
v25.08.00a
4c92bf8

🔗 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 clang with 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

[NIGHTLY] v25.05.00 Pre-release
Pre-release

Choose a tag to compare

@rapids-bot rapids-bot released this 11 Jun 21:37
b833f7a

🔗 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