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
/// 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;