Class NSGAII<T, TInput, TOutput>
public class NSGAII<T, TInput, TOutput> : StandardGeneticAlgorithm<T, TInput, TOutput>, IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>
Type Parameters
TTInputTOutput
- Inheritance
-
GeneticBase<T, TInput, TOutput>StandardGeneticAlgorithm<T, TInput, TOutput>NSGAII<T, TInput, TOutput>
- Implements
-
IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>
- Inherited Members
Constructors
NSGAII(Func<IFullModel<T, TInput, TOutput>>, List<IFitnessCalculator<T, TInput, TOutput>>, IModelEvaluator<T, TInput, TOutput>)
public NSGAII(Func<IFullModel<T, TInput, TOutput>> modelFactory, List<IFitnessCalculator<T, TInput, TOutput>> objectives, IModelEvaluator<T, TInput, TOutput> modelEvaluator)
Parameters
modelFactoryFunc<IFullModel<T, TInput, TOutput>>objectivesList<IFitnessCalculator<T, TInput, TOutput>>modelEvaluatorIModelEvaluator<T, TInput, TOutput>
Methods
CreateNextGeneration(TInput, TOutput, TInput?, TOutput?)
Creates the next generation of individuals through selection, crossover, and mutation.
protected override ICollection<ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>> CreateNextGeneration(TInput trainingInput, TOutput trainingOutput, TInput? validationInput = default, TOutput? validationOutput = default)
Parameters
trainingInputTInputThe input training data.
trainingOutputTOutputThe expected output for training.
validationInputTInputOptional validation input data.
validationOutputTOutputOptional validation output data.
Returns
- ICollection<ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>>
The new population.
GetMetaData()
Gets the metadata for the model.
public override ModelMetadata<T> GetMetaData()
Returns
- ModelMetadata<T>
The model metadata.