problemreductions/solvers/mod.rs
1//! Solvers for computational problems.
2
3mod brute_force;
4pub mod customized;
5pub mod decision_search;
6
7#[cfg(feature = "ilp-solver")]
8pub mod ilp;
9
10pub use brute_force::BruteForce;
11pub use customized::CustomizedSolver;
12
13#[cfg(feature = "ilp-solver")]
14pub use ilp::ILPSolver;
15
16use crate::traits::Problem;
17
18/// Trait for problem solvers.
19pub trait Solver {
20 /// Solve a problem to its aggregate value.
21 fn solve<P>(&self, problem: &P) -> P::Value
22 where
23 P: Problem,
24 P::Value: crate::types::Aggregate;
25}