Skip to content

mbiggio/cplex-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

Binding of IBM Cplex library

Resources

License

Apache-2.0, BSD-3-Clause licenses found

Licenses found

Apache-2.0
LICENSE
BSD-3-Clause
LICENSE_rplex

Stars

Watchers

Forks

Packages

No packages published