cplex-rs

Crates.iocplex-rs
lib.rscplex-rs
version0.1.7
sourcesrc
created_at2024-03-25 14:37:18.088836
updated_at2024-05-20 17:03:39.593225
descriptionBinding of IBM Cplex library
homepage
repositoryhttps://github.com/mbiggio/cplex-rs
max_upload_size
id1185345
size65,933
Matteo Biggio (mbiggio)

documentation

README

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.

Commit count: 53

cargo fmt