pub struct SubProblem<T> {
pub state: Arc<T>,
pub value: isize,
pub path: Vec<Decision>,
pub ub: isize,
pub depth: usize,
}
Expand description
A subproblem is a residual problem that must be solved in order to complete the resolution of the original problem which had been defined.
§Note:
Sub-problems are automatically instantiated from nodes in the exact cut-sets of relaxed decision diagrams. If you are only discovering the API, rest assured.. you don’t need to implement any subproblem yourself.
Fields§
§state: Arc<T>
The root state of this sub problem
value: isize
The root value of this sub problem
path: Vec<Decision>
The path to traverse to reach this subproblem from the root of the original problem
ub: isize
An upper bound on the objective reachable in this subproblem
depth: usize
The depth of the subproblem with respect to the root problem
Trait Implementations§
Source§impl<T: Clone> Clone for SubProblem<T>
impl<T: Clone> Clone for SubProblem<T>
Source§fn clone(&self) -> SubProblem<T>
fn clone(&self) -> SubProblem<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<X: SubProblemRanking> Compare<SubProblem<<X as SubProblemRanking>::State>> for CompareSubProblem<X>
impl<X: SubProblemRanking> Compare<SubProblem<<X as SubProblemRanking>::State>> for CompareSubProblem<X>
Source§fn compare(
&self,
l: &SubProblem<X::State>,
r: &SubProblem<X::State>,
) -> Ordering
fn compare( &self, l: &SubProblem<X::State>, r: &SubProblem<X::State>, ) -> Ordering
Compares two values, returning
Less
, Equal
, or Greater
if l
is less
than, equal to, or greater than r
, respectively.Source§fn borrowing(self) -> Borrowing<Self, L, R>where
Self: Sized,
fn borrowing(self) -> Borrowing<Self, L, R>where
Self: Sized,
Borrows the comparator’s parameters before comparing them. Read more
Source§fn rev(self) -> Rev<Self>where
Self: Sized,
fn rev(self) -> Rev<Self>where
Self: Sized,
Reverses the ordering of the comparator. Read more
Source§impl<T: Debug> Debug for SubProblem<T>
impl<T: Debug> Debug for SubProblem<T>
Source§impl<T: PartialEq> PartialEq for SubProblem<T>
impl<T: PartialEq> PartialEq for SubProblem<T>
impl<T: Eq> Eq for SubProblem<T>
impl<T> StructuralPartialEq for SubProblem<T>
Auto Trait Implementations§
impl<T> Freeze for SubProblem<T>
impl<T> RefUnwindSafe for SubProblem<T>where
T: RefUnwindSafe,
impl<T> Send for SubProblem<T>
impl<T> Sync for SubProblem<T>
impl<T> Unpin for SubProblem<T>
impl<T> UnwindSafe for SubProblem<T>where
T: RefUnwindSafe,
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