1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#![deny(missing_docs)] //! A Linear Programming modeler that is easy to use, performant with large problems, and well-typed. //! //! ```rust //! use good_lp::{variables, variable, coin_cbc, SolverModel, Solution}; //! //! let mut vars = variables!(); //! let a = vars.add(variable().max(1)); //! let b = vars.add(variable().min(2).max(4)); //! let solution = vars.maximise(10 * (a - b / 5) - b) //! .using(coin_cbc) //! .with(a + 2. << b) //! .with(1 + a >> 4. - b) //! .solve()?; //! //! assert_eq!(solution.value(a), 1.); //! assert_eq!(solution.value(b), 3.); //! # use good_lp::ResolutionError; //! # Ok::<_, ResolutionError>(()) //! ``` pub use expression::Expression; pub use variable::{Variable, variable}; pub use constraint::Constraint; pub use solvers::{ResolutionError, Solution, SolverModel}; pub use solvers::coin_cbc::coin_cbc; mod expression; #[macro_use] pub mod variable; mod solvers; pub mod constraint; mod variables_macro;