ec.multiobjective.nsga2
Class NSGA2Breeder
java.lang.Object
ec.Breeder
ec.simple.SimpleBreeder
ec.multiobjective.nsga2.NSGA2Breeder
- All Implemented Interfaces:
- Setup, Singleton, java.io.Serializable
public class NSGA2Breeder
- extends SimpleBreeder
This SimpleBreeder subclass breeds a set of children from the Population, then
joins the original Population with the children in a (mu+mu) fashion. An NSGA2Breeder
may have multiple threads for breeding.
NSGA-II has fixed archive size (the population size), and so ignores the 'elites'
declaration. However it will adhere to the 'reevaluate-elites' parameter in SimpleBreeder
to determine whether to force fitness reevaluation.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NSGA2Breeder
public NSGA2Breeder()
setup
public void setup(EvolutionState state,
Parameter base)
- Description copied from interface:
Setup
- Sets up the object by reading it from the parameters stored
in state, built off of the parameter base base.
If an ancestor implements this method, be sure to call
super.setup(state,base); before you do anything else.
- Specified by:
setup
in interface Setup
- Overrides:
setup
in class SimpleBreeder
breedPopulation
public Population breedPopulation(EvolutionState state)
- Override breedPopulation(). We take the result from the super method in
SimpleBreeder and append it to the old population. Hence, after
generation 0, every subsequent call to
NSGA2Evaluator.evaluatePopulation()
will be passed a
population of 2xoriginalPopSize
individuals.
- Overrides:
breedPopulation
in class SimpleBreeder