Skip to main content

cnvx_lp/
lib.rs

1//! # CNVX LP
2//!
3//! This crate provides linear programming (LP) functionality built on top of
4//! [`cnvx_core`]. It implements LP-specific abstractions and solver algorithms,
5//! with a focus on the simplex method.
6//!
7//! # Features
8//!
9//! - [`LpAutoSolver`]: Automatically selects the appropriate solver based on the problem characteristics. (TODO)
10//! - [`DualSimplexSolver`]: Solver implementing the dual simplex algorithm for LP problems. (TODO)
11//! - [`PrimalSimplexSolver`]: Solver implementing the 2-phase primal simplex algorithm for LP problems.
12//!
13//! # Modules
14//!
15//! - [`auto`]: Contains the [`LpAutoSolver`] struct, which automatically selects the appropriate solver based on the problem characteristics.
16//! - [`dual_simplex`]: Contains the [`DualSimplexSolver`] struct and dual
17//! - [`primal_simplex`]: Contains the [`PrimalSimplexSolver`] struct and primal simplex-specific solver logic.
18
19pub mod auto;
20pub mod dual_simplex;
21pub mod primal_simplex;
22pub mod validate;
23
24pub use auto::*;
25pub use dual_simplex::*;
26pub use primal_simplex::*;