NichingGeneticAlgorithmSolver

constructor(problemDefinition: ProblemDefinition, evaluator: EvaluatorIfc, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = RNStreamProvider(), populationSize: Int = defaultPopulationSize, nicheIdentifier: NicheIdentifier = NicheIdentifier(), fitnessSharing: FitnessSharing = FitnessSharing(), grouping: NoiseGroupingProcedure = NoiseGroupingProcedure(), ranking: LinearRankingSelection = LinearRankingSelection(), sampling: StochasticUniversalSampling = StochasticUniversalSampling(), mating: MatingRestrictionIfc = DynamicInbreeding(), crossover: NgaCrossoverIfc = ArithmeticalCrossover(), mutation: NgaMutationIfc = UniformMutation(), conserveNicheCenters: Boolean = false, transitionRules: List<NgaTransitionRuleIfc> = listOf(SingleNicheRule(), ImprovementRule()), maxIterations: Int = ngaDefaultMaxIterations, replicationsPerEvaluation: ReplicationPerEvaluationIfc, name: String? = null)(source)

Parameters

problemDefinition

the problem being solved

evaluator

the evaluator responsible for assessing the quality of solutions

streamNum

the random number stream number; 0 (the default) means the next available stream

streamProvider

the provider of random number streams; defaults to a fresh RNStreamProvider

populationSize

the population size m_G. It must not exceed the number of distinct input-feasible points of the problem: the initial population is filled with unique feasible points, so requesting more than exist cannot terminate.

nicheIdentifier

the niche-identification strategy

fitnessSharing

the fitness-sharing strategy

grouping

the noise-aware grouping strategy

ranking

the linear-ranking selection-probability strategy

sampling

the stochastic-universal-sampling strategy

mating

the mating-restriction strategy

crossover

the recombination strategy

mutation

the mutation strategy (default UniformMutation, which preserves convergence)

conserveNicheCenters

whether to carry niche centers forward unchanged (elitism, Algorithm 5)

transitionRules

the global→local transition rules; the phase ends when any fires

maxIterations

the maximum number of generations

replicationsPerEvaluation

strategy for the number of replications per evaluation

name

an optional name for the solver


constructor(problemDefinition: ProblemDefinition, evaluator: EvaluatorIfc, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = RNStreamProvider(), populationSize: Int = defaultPopulationSize, nicheIdentifier: NicheIdentifier = NicheIdentifier(), fitnessSharing: FitnessSharing = FitnessSharing(), grouping: NoiseGroupingProcedure = NoiseGroupingProcedure(), ranking: LinearRankingSelection = LinearRankingSelection(), sampling: StochasticUniversalSampling = StochasticUniversalSampling(), mating: MatingRestrictionIfc = DynamicInbreeding(), crossover: NgaCrossoverIfc = ArithmeticalCrossover(), mutation: NgaMutationIfc = UniformMutation(), conserveNicheCenters: Boolean = false, transitionRules: List<NgaTransitionRuleIfc> = listOf(SingleNicheRule(), ImprovementRule()), maxIterations: Int = ngaDefaultMaxIterations, replicationsPerEvaluation: Int = defaultReplicationsPerEvaluation, name: String? = null)(source)

Constructs a Niching GA solver using a fixed number of replications per evaluation.