Expand description
Coin CBC Rust bindings
This crate exposes safe and efficient bindings to the Coin CBC C API.
For more information on how to install the Cbc
library dependencies,
see the respective README section.
This project is distributed under the MIT License by Kardinal.
Solving multiple problems in parallel
By default, this crate enforces a global lock which will force multiple
problems to be solved sequentially even if solve
is called from multiple
threads in parallel. This is because by default, libcbc is not thread safe.
If you have compiled your own libcbc with the CBC_THREAD_SAFE
option,
you can disable this behavior by disabling the singlethread-cbc
feature on this crate. Do not disable this feature if you are not certain
that you have a thread safe libcbc, or you will be exposed to memory corruption
vulnerabilities.
Re-exports
pub use raw::Sense;
Modules
- A raw and safe binding to the Coin CBC C API.
Structs
- A column identifier.
- A MILP model.
- A row identifier.
- A solution to a MILP problem.
Functions
- Panics if the installed version of libcbc is less than a given version
- Returns a tuple of (major, minor, patch) version of the libcbc installed on the current system
- Returns an error if the installed version of libcbc is less than a given version