Skip to content

[issue1199] Add Gurobi support. - #307

Draft
TravisRiveraPetit wants to merge 35 commits into
aibasel:mainfrom
remochristen:issue1199-part2-algs-rebased
Draft

[issue1199] Add Gurobi support.#307
TravisRiveraPetit wants to merge 35 commits into
aibasel:mainfrom
remochristen:issue1199-part2-algs-rebased

Conversation

@TravisRiveraPetit

@TravisRiveraPetit TravisRiveraPetit commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

This PR adds Gurobi 13.0.x as a new LP/MIP solver backend and tests it on Ubuntu, macOS, and Windows. It also expands macOS, Ubuntu, and Windows CI workflows so that all implemented solver backends (i.e., Gurobi, CPLEX, and SoPlex) are tested on each platform.

Main changes

Documentation

BUILD.md was updated with instructions on how to set up Gurobi on Ubuntu, macOS, and Windows.

Gurobi

  • Add a Gurobi implementation of the LP solver interface.
  • Add FindGurobi.cmake to locate Gurobi headers and libraries.
  • Add Gurobi header to the clang-tidy ignore list
  • Add Tox environment for Gurobi

Ubuntu CI

  • Add a Gurobi workflow

macOS CI

  • Update tested macOS versions from 14/15 to 15/26.
  • Update Python version from 3.14 to 3.10, matching the version used for Ubuntu.
  • Add a Gurobi workflow
  • Add a CPLEX workflow.
  • Add a SoPlex workflow. The tested SoPlex version is 7.1.6 instead of 7.1.0 because the latter has a known compilation bug on macOS. See https://sources.debian.org/src/soplex/7.1.6%2Bdfsg-3/CHANGELOG.

Windows CI

  • Add a Gurobi workflow
  • Add a SoPlex workflow
  • Fix a conflict between Windows ERROR macro and SoPlex's ERROR enum.

Repository secrets

The following secrets were added to the repository:

  • GUROBI1302_LINUX_URL
  • GUROBI1302_OSX_URL
  • GUROBI1302_WINDOWS_URL
  • GUROBI_LICENSE_URL
  • CPLEX2220_OSX_URL

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.

2 participants