pub struct VnFirst {
pub part_count: usize,
}Expand description
§Descent Vector-of-Numbers algorithm
This algorithm moves weights from parts to parts whenever it decreases the imbalance. See also its 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::VnFirst { 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 VnFirst
impl RefUnwindSafe for VnFirst
impl Send for VnFirst
impl Sync for VnFirst
impl Unpin for VnFirst
impl UnwindSafe for VnFirst
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.