lpsolve

High-level lpsolve wrapper

1 unstable release

Uses old Rust 2015

0.1.0 Mar 26, 2016
Download history 1/week @ 2024-07-15 5/week @ 2024-07-29 17/week @ 2024-08-05 1/week @ 2024-08-12 1/week @ 2024-08-26 9/week @ 2024-09-09 5/week @ 2024-09-16 26/week @ 2024-09-23 15/week @ 2024-09-30 8/week @ 2024-10-07 18/week @ 2024-10-14 46/week @ 2024-10-21 13/week @ 2024-10-28

87 downloads per month
Used in good_lp

MIT/Apache

2MB
55K SLoC

C 46K SLoC // 0.2% comments Rust 5K SLoC Visual Studio Project 3K SLoC Happy 737 SLoC Batch 243 SLoC // 0.1% comments Lex 235 SLoC // 0.1% comments Visual Studio Solution 155 SLoC

Wrapper for lpsolve

Build status Crates.io

Please see the documentation for more information.

License

This crate and lpsolve-sys are licensed under either of

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

Build status Crates.io

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

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.

Dependencies