Package org.opt4j.optimizers.ea
Class EvolutionaryAlgorithm
- java.lang.Object
-
- org.opt4j.optimizers.ea.EvolutionaryAlgorithm
-
- All Implemented Interfaces:
org.opt4j.core.optimizer.IterativeOptimizer
public class EvolutionaryAlgorithm extends java.lang.Object implements org.opt4j.core.optimizer.IterativeOptimizer
TheEvolutionaryAlgorithm
is an implementation of an Evolutionary Algorithm based on the operatorsCrossover
andMutate
. It uses aSelector
for the mating and environmental selection.
-
-
Constructor Summary
Constructors Constructor Description EvolutionaryAlgorithm(org.opt4j.core.optimizer.Population population, org.opt4j.core.IndividualFactory individualFactory, org.opt4j.core.optimizer.IndividualCompleter completer, Selector selector, Mating mating, int alpha, int mu, int lambda)
Constructs anEvolutionaryAlgorithm
with aPopulation
, anIndividualFactory
, aIndividualCompleter
, aSelector
, aMating
, the number of generations, the population size, the number of parents, the number of offspring, and a random number generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
initialize()
void
next()
-
-
-
Constructor Detail
-
EvolutionaryAlgorithm
@Inject public EvolutionaryAlgorithm(org.opt4j.core.optimizer.Population population, org.opt4j.core.IndividualFactory individualFactory, org.opt4j.core.optimizer.IndividualCompleter completer, Selector selector, Mating mating, int alpha, int mu, int lambda)
Constructs anEvolutionaryAlgorithm
with aPopulation
, anIndividualFactory
, aIndividualCompleter
, aSelector
, aMating
, the number of generations, the population size, the number of parents, the number of offspring, and a random number generator.- Parameters:
population
- the populationindividualFactory
- the individual factorycompleter
- the completerselector
- the selectormating
- the matingalpha
- the population sizemu
- the number of parentslambda
- the number of offspring
-
-
Method Detail
-
initialize
public void initialize()
- Specified by:
initialize
in interfaceorg.opt4j.core.optimizer.IterativeOptimizer
-
next
public void next() throws org.opt4j.core.optimizer.TerminationException
- Specified by:
next
in interfaceorg.opt4j.core.optimizer.IterativeOptimizer
- Throws:
org.opt4j.core.optimizer.TerminationException
-
-