1 unstable release
Uses old Rust 2015
0.1.0 | Mar 26, 2016 |
---|
#25 in #linear-programming
52 downloads per month
Used in good_lp
2MB
55K
SLoC
Wrapper for lpsolve
Please see the documentation for more information.
License
This crate and lpsolve-sys
are licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option. However, please note that lpsolve itself is LGPL. The default configuration right now builds a bundled copy of lpsolve and links to it statically.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
lib.rs
:
Wrapper for lpsolve
lpsolve is a free software (LGPL) solver for mixed integer linear programming problems. The documentation here is nonexistent when it comes to understanding how to model systems or precisely what the consequences of various methods are. The upstream documentation for lpsolve is much more comprehensive.
This wrapper is mostly straightforward.
The performance of lpsolve is mediocre compared to commercial solvers and some other free software solvers. Performance here is how how long it takes to solve benchmark models.
If you need help chosing a solver, the following is an excellent report:
http://prod.sandia.gov/techlib/access-control.cgi/2013/138847.pdf
Boolean return values
The boolean return values represent the underlying return value from lpsolve. true
means
success and false
means some error occured. There is an error reporting API, although by
default it logs to standard out, and is not yet wrapped.
Status
This wrapper is not complete. In particular, none of the solver setting or debug functions are wrapped. Additionally, a few of the model building and solution extraction functions are not wrapped.
This is not fundamental, merge requests welcome!
Stability
lpsolve-sys
is versioned separately from this wrapper. This wrapper is provisionally
unstable, but the functions that are currently wrapped are not likely to change.
License
This crate and lpsolve-sys
are licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option. However, please note that lpsolve itself is LGPL. The default configuration right now builds a bundled copy of lpsolve and links to it statically.