Watchmaker Framework for Evolutionary Computation API
(Version 0.7.1)

org.uncommons.watchmaker.framework.operators
Class EvolutionPipeline<T>

java.lang.Object
  extended by org.uncommons.watchmaker.framework.operators.EvolutionPipeline<T>
Type Parameters:
T - The type of evolved candidate that this pipeline operates on.
All Implemented Interfaces:
EvolutionaryOperator<T>

public class EvolutionPipeline<T>
extends Object
implements EvolutionaryOperator<T>

A compound evolutionary operator that applies multiple operators (of the same type) in series.

By combining EvolutionPipeline operators with SplitEvolution operators, elaborate evolutionary schemes can be constructed.

Author:
Daniel Dyer

Constructor Summary
EvolutionPipeline(List<EvolutionaryOperator<T>> pipeline)
          Creates a pipeline consisting of the specified operators in the order that they are supplied.
 
Method Summary
 List<T> apply(List<T> selectedCandidates, Random rng)
          Applies each operation in the pipeline in turn to the selection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EvolutionPipeline

public EvolutionPipeline(List<EvolutionaryOperator<T>> pipeline)
Creates a pipeline consisting of the specified operators in the order that they are supplied.

Parameters:
pipeline - An ordered list of operators that make up the pipeline.
Method Detail

apply

public List<T> apply(List<T> selectedCandidates,
                     Random rng)
Applies each operation in the pipeline in turn to the selection.

Specified by:
apply in interface EvolutionaryOperator<T>
Parameters:
selectedCandidates - The candidates to subjected to evolution.
rng - A source of randomness used by all stochastic processes in the pipeline.
Returns:
A list of evolved candidates.

Watchmaker Framework for Evolutionary Computation API
(Version 0.7.1)