pub struct RcspSolver<Problem, LabelMeta: Meta, NodeWeight, EdgeWeight, BranchFilter>where
Problem: UserProblem<LabelMeta, NodeWeight, EdgeWeight, BranchFilter>,{ /* private fields */ }Expand description
The solver structure holding the user problem and graph
Implementations§
Source§impl<Problem: UserProblem<LabelMeta, NodeWeight, EdgeWeight, BranchFilter>, LabelMeta: Meta, NodeWeight, EdgeWeight, BranchFilter> RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
impl<Problem: UserProblem<LabelMeta, NodeWeight, EdgeWeight, BranchFilter>, LabelMeta: Meta, NodeWeight, EdgeWeight, BranchFilter> RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
pub fn new(problem: Problem) -> Self
Sourcepub fn get_graph(&self) -> &ProblemGraph<NodeWeight, EdgeWeight>
pub fn get_graph(&self) -> &ProblemGraph<NodeWeight, EdgeWeight>
Returns reference to stored problem graph
Sourcepub fn get_graph_mut(&mut self) -> &mut ProblemGraph<NodeWeight, EdgeWeight>
pub fn get_graph_mut(&mut self) -> &mut ProblemGraph<NodeWeight, EdgeWeight>
Returns mutable reference to stored problem graph
Sourcepub fn get_problem_mut(&mut self) -> &mut Problem
pub fn get_problem_mut(&mut self) -> &mut Problem
Returns mutable reference to stored problem
Sourcepub fn get_problem(&self) -> &Problem
pub fn get_problem(&self) -> &Problem
Returns reference to stored problem
Source§impl<Problem: UserProblem<LabelMeta, NodeWeight, EdgeWeight, BranchFilter>, LabelMeta: Meta + InitialLabelGenerator<Problem>, NodeWeight, EdgeWeight, BranchFilter> RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
impl<Problem: UserProblem<LabelMeta, NodeWeight, EdgeWeight, BranchFilter>, LabelMeta: Meta + InitialLabelGenerator<Problem>, NodeWeight, EdgeWeight, BranchFilter> RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
Sourcepub fn find_paths<const EARLY_EXIT: bool>(
&mut self,
filters: &[BranchFilter],
path_start_cost: f64,
) -> Vec<(f64, FeasiblePath)>
pub fn find_paths<const EARLY_EXIT: bool>( &mut self, filters: &[BranchFilter], path_start_cost: f64, ) -> Vec<(f64, FeasiblePath)>
Primary function of solver. Finds RCSP for network and returns non dominated results
Return object is vector of (path cost, path) tuples
Auto Trait Implementations§
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> Freeze for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>where
Problem: Freeze,
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> RefUnwindSafe for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>where
Problem: RefUnwindSafe,
LabelMeta: RefUnwindSafe,
EdgeWeight: RefUnwindSafe,
NodeWeight: RefUnwindSafe,
BranchFilter: RefUnwindSafe,
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> Send for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> Sync for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> Unpin for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>
impl<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter> UnwindSafe for RcspSolver<Problem, LabelMeta, NodeWeight, EdgeWeight, BranchFilter>where
Problem: UnwindSafe,
LabelMeta: UnwindSafe,
EdgeWeight: UnwindSafe,
NodeWeight: UnwindSafe,
BranchFilter: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more