Skip to content

Integrate HiGHS and few minor fixes from Augmenta#5150

Open
PedramHooshangiAUGAI wants to merge 8 commits intogoogle:mainfrom
augmenta-ai:pedram/Augmenta
Open

Integrate HiGHS and few minor fixes from Augmenta#5150
PedramHooshangiAUGAI wants to merge 8 commits intogoogle:mainfrom
augmenta-ai:pedram/Augmenta

Conversation

@PedramHooshangiAUGAI
Copy link
Copy Markdown

This pull request introduces support for the HiGHS solver throughout the codebase, updates some dependency versions, and adds a patch for SCIP to fix assertion issues. The changes ensure that HiGHS can be used as a backend for various algorithms and examples, and that the build system and workspace configuration are updated accordingly.

HiGHS Solver Integration:

  • Added support for HiGHS in the Christofides algorithm, enabling minimum weight matching with MIP using HiGHS (ortools/graph/christofides.h). [1] [2] [3] [4]
  • Enabled HiGHS for the uncapacitated facility location example (examples/cpp/uncapacitated_facility_location.cc).
  • Updated the Makefile to display the USE_HIGHS flag (makefiles/Makefile.cpp.mk).
  • Added the USE_HIGHS define to the workspace configuration (or-tools.code-workspace).
  • Added comments and TODOs in the HiGHS interface implementation for future improvements (ortools/linear_solver/highs_interface.cc). [1] [2]

Dependency and Build System Updates:

  • Updated google_benchmark and googletest Bazel dependencies to newer versions and resolved merge conflicts in MODULE.bazel.
  • Added a git_override for SCIP with a patch to fix debug-build assertion issues (MODULE.bazel, patches/scip-v10.0.2.patch). [1] [2]

These changes collectively improve solver flexibility, maintainability, and build reliability.<!--
Thank you for submitting a PR!

Please make sure you are targeting the main branch instead of stable and that all contributors have signed the Contributor License Agreement.

This simply gives us permission to use and redistribute your contributions as part of the project.
Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.

This project follows https://opensource.google.com/conduct/

Thanks!
-->

…lver

Fix crash when HiGHS returns FEASIBLE status (time limit, node limit, gap tolerance).
Now populates variable_value, objective_value, and best_objective_bound for both
MPSOLVER_OPTIMAL and MPSOLVER_FEASIBLE, consistent with SCIP solver behavior.
ACORN-11869: Populate variable values for FEASIBLE status in HiGHS
- Fix floating-point rounding assertions in clock.c
- Handle zero/near-zero constraint coefficients in cons_linear.c
- Clamp negative solving time in stat.c instead of asserting
- Update MODULE.bazel to apply SCIP patch via git_override
ACORN-11869: Add SCIP debug-build assertion fixes to patch file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant