Skip to main content

cnvx_lp/
auto.rs

1use cnvx_core::{Model, Solution, SolveError, Solver};
2
3use crate::PrimalSimplexSolver;
4
5pub struct LpAutoSolver<'model> {
6    solver: Box<dyn Solver<'model> + 'model>,
7}
8
9impl<'model> Solver<'model> for LpAutoSolver<'model> {
10    fn new(model: &'model Model) -> Self {
11        let solver = Box::new(PrimalSimplexSolver::new(model));
12
13        Self { solver }
14    }
15
16    fn solve(&mut self) -> Result<Solution, SolveError> {
17        self.solver.solve()
18    }
19
20    fn get_objective_value(&self) -> f64 {
21        todo!()
22    }
23
24    fn get_solution(&self) -> Vec<f64> {
25        todo!()
26    }
27}