ec.multiobjective.nsga2
Class NSGA2Breeder
- java.lang.Object
-
- ec.Breeder
-
- ec.simple.SimpleBreeder
-
- ec.multiobjective.nsga2.NSGA2Breeder
-
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
-
-
Field Summary
-
Fields inherited from class ec.simple.SimpleBreeder
backupPopulation, clonePipelineAndPopulation, elite, eliteFrac, NOT_SET, P_CLONE_PIPELINE_AND_POPULATION, P_ELITE, P_ELITE_FRAC, P_REEVALUATE_ELITES, P_SEQUENTIAL_BREEDING, pool, reevaluateElites, sequentialBreeding
-
-
Constructor Summary
Constructors Constructor and Description NSGA2Breeder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description PopulationbreedPopulation(EvolutionState state)Override breedPopulation().voidsetup(EvolutionState state, Parameter base)Sets up the object by reading it from the parameters stored in state, built off of the parameter base base.-
Methods inherited from class ec.simple.SimpleBreeder
computeSubpopulationLength, numElites, shouldBreedSubpop, usingElitism
-
-
-
-
Method Detail
-
setup
public void setup(EvolutionState state, Parameter base)
Description copied from interface:SetupSets 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:
setupin interfaceSetup- Overrides:
setupin classSimpleBreeder
-
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 toNSGA2Evaluator.evaluatePopulation()will be passed a population of 2xoriginalPopSizeindividuals.- Overrides:
breedPopulationin classSimpleBreeder
-
-
DMelt 3.0 © DataMelt by jWork.ORG