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
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.