es.udc.gii.common.eaf.algorithm.operator
Interface Operator

All Superinterfaces:
Configurable
All Known Implementing Classes:
BLXCrossOver, ColonizationOperator, CrossOverOperator, DEMutationOperator, DeterministicTournamentSelection, DoubleRandomMutation, ElitismOperator, ElitismReevaluateOperator, EvaluationOperator, EvolutionaryStrategyMutation, EvolutionaryStrategyReplaceOperator, ExtintionOperator, FlatCrossOver, GaussianMutation, InheritExtintionOperator, JADEEvolutionaryStrategyReplaceOperator, LinearRankingSelection, LocalSearchOperator, MichalewiczNonUniformMutation, MigrationOperator, MOPMutation, MutationOperator, NSGA2ReplaceOperator, Order1CrossOver, ParetoFrontReplaceOperator, PopulationMemoryReplaceOperator, RandomCrossOver, ReplaceOperator, ReproductionOperator, SBXCrossOver, SelectionOperator, SwapMutation, TournamentSelection, UniformSelection

public interface Operator
extends Configurable

An Operator represents an operation that takes place on a list of indivuduals during the evolution process. Examples of operators include reproduction, crossover, and mutation.

This interface contains one methods: operate. This method is responsible for performing the operator on the current algorithm and the current list of individuals.

Since:
1.0
Author:
Grupo Integrado de IngenierĂ­a (www.gii.udc.es)

Method Summary
 java.util.List<Individual> operate(EvolutionaryAlgorithm algorithm, java.util.List<Individual> individuals)
          Execute this operator over a group of individuals.
 
Methods inherited from interface es.udc.gii.common.eaf.config.Configurable
configure
 

Method Detail

operate

java.util.List<Individual> operate(EvolutionaryAlgorithm algorithm,
                                   java.util.List<Individual> individuals)
                                   throws OperatorException
Execute this operator over a group of individuals. This method will be invoked by the current algorithm during its execution. It will be applied on a list of individuals and will return a list of modified individuals.

This method will recive two parameters. The current algorithm, to visit it if it is necessary, for example, to get some parameter of the current execution. And a list of individuals on wich we will apply this operator.

Parameters:
algorithm - the current algorithm, to visit when it is necessary.
individuals - list of individuals on wich we will apply the operator.
Returns:
the result of apply this operator to a individuals' lisr.
Throws:
OperatorException - when occurs some type of error during the execution of this operator.