Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 1.49 KB

README.md

File metadata and controls

23 lines (16 loc) · 1.49 KB

cplex-rs CI Pipeline

Safe rust bindings for CPLEX, based on the existing rplex project. It adds a few features on top of rplex, such as:

  • parameter namespaces consistent with the native C/C++ CPLEX API
  • more structured error handling
  • possibility to add variables and constraints in batch
  • raw bindings generate at compile time parsing the actual cplex header

It also remove some features which are present rplex, especially the macros to define constraints and variables, since they present some issues.

It depends on the raw cplex bindings, generated through bindgen in the cplex-rs-sys crate.

To build this repo, a valid CPLEX installation must be present on the system. If the CPLEX installation path is not the standard one, you will need to pass the CPLEX_PATH environment variable to cargo with the cplex installation path of choice, e.g.:

CPLEX_PATH=/path/to/cplex/installation cargo build

Testing

Tests in the CI are run using a personal copy of the CPLEX community edition, deployed in a docker image a private docker repository.

If you want to generate an image with your own CPLEX installation to test this repo, you can find instructions in the ./utils folder on how to do so.