[][src]Trait ddo::core::abstraction::solver::Solver

pub trait Solver {
    fn maximize(&mut self) -> (i32, &Option<Vec<Decision>>);
}

The solver trait lets you maximize an objective function.

Required methods

fn maximize(&mut self) -> (i32, &Option<Vec<Decision>>)

Returns a tuple where the first component is the value of an optimal solution to the maximization problem, and the second term is the sequence of decisions making up that solution.

Loading content...

Implementors

impl<T, DD> Solver for ParallelSolver<T, DD> where
    T: Send,
    DD: MDD<T> + Clone + Send
[src]

fn maximize(&mut self) -> (i32, &Option<Vec<Decision>>)[src]

Applies the branch and bound algorithm proposed by Bergman et al. to solve the problem to optimality. To do so, it spawns nb_threads workers (long running threads); each of which will continually get a workload and process it until the problem is solved.

impl<T, DD> Solver for SequentialSolver<T, DD> where
    T: Hash + Eq + Clone,
    DD: MDD<T>, 
[src]

fn maximize(&mut self) -> (i32, &Option<Vec<Decision>>)[src]

Applies the branch and bound algorithm proposed by Bergman et al. to solve the problem to optimality.

Loading content...