pub trait EvolutionStrategy {
    type Context: HeuristicContext<Objective = Self::Objective, Solution = Self::Solution>;
    type Objective: HeuristicObjective<Solution = Self::Solution>;
    type Solution: HeuristicSolution;

    // Required method
    fn run(
        &mut self,
        heuristic_ctx: Self::Context,
        termination: Box<dyn Termination<Context = Self::Context, Objective = Self::Objective>>
    ) -> EvolutionResult<Self::Solution>;
}
Expand description

An evolution algorithm strategy.

Required Associated Types§

source

type Context: HeuristicContext<Objective = Self::Objective, Solution = Self::Solution>

A heuristic context type.

source

type Objective: HeuristicObjective<Solution = Self::Solution>

A heuristic objective type.

source

type Solution: HeuristicSolution

A solution type.

Required Methods§

source

fn run( &mut self, heuristic_ctx: Self::Context, termination: Box<dyn Termination<Context = Self::Context, Objective = Self::Objective>> ) -> EvolutionResult<Self::Solution>

Runs evolution and returns a population with solution(-s).

Implementors§

source§

impl<C, O, S> EvolutionStrategy for Iterative<C, O, S>
where C: HeuristicContext<Objective = O, Solution = S>, O: HeuristicObjective<Solution = S>, S: HeuristicSolution,

§

type Context = C

§

type Objective = O

§

type Solution = S