[][src]Struct mop_solvers::genetic_algorithm::Spea2

pub struct Spea2<CO, D, M, MS, OR, ORS, OS, SS> { /* fields omitted */ }

Types

  • C: Constraint
  • CO: CrossOver
  • D: Solution Domain
  • M: Mutation
  • MS: Mating Selection
  • O: Objective
  • OR: Objective Result

Implementations

impl<CO, D, M, MS, O, OR, ORS, OS, S, SS> Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    O: Obj<OR, S>,
    OR: AddAssign<OR> + Copy + Div<OR, Output = OR> + NumCast + One + PartialOrd + Pow<OR, Output = OR> + Sub<OR, Output = OR> + Zero,
    ORS: AsRef<[OR]> + Clear + Extend<OR> + Storage<Item = OR> + WithCapacity<Input = usize>,
    OS: AsRef<[O]> + Storage<Item = O>,
    S: Clone + Solution,
    SS: AsRef<[S]> + Clear + Extend<S> + Push<Input = S> + Storage<Item = S> + WithCapacity<Input = usize>, 
[src]

pub fn new(
    archive_size_pct: Pct,
    gap: GeneticAlgorithmParams<CO, M, MS>,
    problem: &Mp<D, ORS, OS, SS>,
    population_size: usize
) -> Result<Self, Error>
[src]

Trait Implementations

impl<CO: Debug, D: Debug, M: Debug, MS: Debug, OR: Debug, ORS: Debug, OS: Debug, SS: Debug> Debug for Spea2<CO, D, M, MS, OR, ORS, OS, SS>[src]

impl<CO, D, M, MS, O, OR, ORS, OS, S, SS> Solver<Gp<D, ArrayVec<[(); 0]>, ArrayVec<[(); 0]>, ORS, OS, ArrayVec<[(); 0]>, ArrayVec<[(); 0]>, SS>> for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    D: TraitCfg,
    CO: Crossover<MpOrs<ORS, SS>> + TraitCfg,
    M: Mutation<D, MpOrs<ORS, SS>> + TraitCfg,
    MS: MatingSelection<[O], MpOrs<ORS, SS>> + TraitCfg,
    O: Obj<OR, S> + TraitCfg,
    OR: AddAssign<OR> + Copy + Debug + Div<OR, Output = OR> + Mul<OR, Output = OR> + NumCast + One + PartialOrd + Pow<OR, Output = OR> + SampleUniform + Sub<OR, Output = OR> + TraitCfg + Zero,
    ORS: AsMut<[OR]> + AsRef<[OR]> + Clear + Extend<OR> + Storage<Item = OR> + TraitCfg + WithCapacity<Input = usize>,
    OS: AsRef<[O]> + Storage<Item = O> + TraitCfg,
    S: Clone + Solution + TraitCfg,
    SS: AsMut<[S]> + AsRef<[S]> + Clear + Extend<S> + Push<Input = S> + Storage<Item = S> + TraitCfg + WithCapacity<Input = usize>,
    Error: From<CO::Error> + From<M::Error> + From<MS::Error>, 
[src]

type Error = Error

Auto Trait Implementations

impl<CO, D, M, MS, OR, ORS, OS, SS> RefUnwindSafe for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    CO: RefUnwindSafe,
    D: RefUnwindSafe,
    M: RefUnwindSafe,
    MS: RefUnwindSafe,
    OR: RefUnwindSafe,
    ORS: RefUnwindSafe,
    OS: RefUnwindSafe,
    SS: RefUnwindSafe

impl<CO, D, M, MS, OR, ORS, OS, SS> Send for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    CO: Send,
    D: Send,
    M: Send,
    MS: Send,
    OR: Send,
    ORS: Send,
    OS: Send,
    SS: Send

impl<CO, D, M, MS, OR, ORS, OS, SS> Sync for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    CO: Sync,
    D: Sync,
    M: Sync,
    MS: Sync,
    OR: Sync,
    ORS: Sync,
    OS: Sync,
    SS: Sync

impl<CO, D, M, MS, OR, ORS, OS, SS> Unpin for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    CO: Unpin,
    D: Unpin,
    M: Unpin,
    MS: Unpin,
    OR: Unpin,
    ORS: Unpin,
    OS: Unpin,
    SS: Unpin

impl<CO, D, M, MS, OR, ORS, OS, SS> UnwindSafe for Spea2<CO, D, M, MS, OR, ORS, OS, SS> where
    CO: UnwindSafe,
    D: UnwindSafe,
    M: UnwindSafe,
    MS: UnwindSafe,
    OR: UnwindSafe,
    ORS: UnwindSafe,
    OS: UnwindSafe,
    SS: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> TraitCfg for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,