pub struct VnBest {
pub part_count: usize,
}Expand description
§Steepest descent Vector-of-Numbers algorithm
This algorithm greedily moves weights from parts to parts in such a way that the balance gain is maximized on each move. See also its non-greedy version.
§Example
use coupe::Partition as _;
use rand;
let part_count = 2;
let mut partition = [0; 4];
let weights = [4, 6, 2, 9];
coupe::Random { rng: rand::thread_rng(), part_count }
.partition(&mut partition, ())
.unwrap();
coupe::VnBest { part_count }
.partition(&mut partition, weights)
.unwrap();§Reference
Remi Barat. Load Balancing of Multi-physics Simulation by Multi-criteria Graph Partitioning. Other [cs.OH]. Université de Bordeaux, 2017. English. NNT : 2017BORD0961. tel-01713977
Fields§
§part_count: usizeTrait Implementations§
Auto Trait Implementations§
impl Freeze for VnBest
impl RefUnwindSafe for VnBest
impl Send for VnBest
impl Sync for VnBest
impl Unpin for VnBest
impl UnwindSafe for VnBest
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.