Package net.bmahe.genetics4j.gpu.spec
Class ImmutableGPUEAConfiguration.Builder<T extends Comparable<T>>
java.lang.Object
net.bmahe.genetics4j.gpu.spec.ImmutableGPUEAConfiguration.Builder<T>
- Direct Known Subclasses:
GPUEAConfiguration.Builder
- Enclosing class:
ImmutableGPUEAConfiguration<T extends Comparable<T>>
@Generated(from="GPUEAConfiguration",
generator="Immutables")
public static class ImmutableGPUEAConfiguration.Builder<T extends Comparable<T>>
extends Object
Builds instances of type
GPUEAConfiguration.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<ChromosomeSpec> private CombinationPolicyprivate OpenCLFitness<T> private GenotypeCombinatorprivate static final longprivate static final longprivate static final longprivate static final longprivate static final longprivate longprivate List<MutationPolicy> private doubleprivate static final longprivate longprivate Optimizationprivate SelectionPolicyprivate PostEvaluationProcessor<T> private Programprivate ReplacementStrategyprivate Collection<Genotype> private Termination<T> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal GPUEAConfiguration.Builder<T> addAllChromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Adds elements tochromosomeSpecslist.final GPUEAConfiguration.Builder<T> addAllMutationPolicies(Iterable<? extends MutationPolicy> elements) Adds elements tomutationPolicieslist.final GPUEAConfiguration.Builder<T> addChromosomeSpecs(ChromosomeSpec element) Adds one element tochromosomeSpecslist.final GPUEAConfiguration.Builder<T> addChromosomeSpecs(ChromosomeSpec... elements) Adds elements tochromosomeSpecslist.final GPUEAConfiguration.Builder<T> addMutationPolicies(MutationPolicy element) Adds one element tomutationPolicieslist.final GPUEAConfiguration.Builder<T> addMutationPolicies(MutationPolicy... elements) Adds elements tomutationPolicieslist.build()Builds a newGPUEAConfiguration.final GPUEAConfiguration.Builder<T> chromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Sets or replaces all elements forchromosomeSpecslist.final GPUEAConfiguration.Builder<T> combinationPolicy(CombinationPolicy combinationPolicy) Initializes the value for thecombinationPolicyattribute.final GPUEAConfiguration.Builder<T> fitness(OpenCLFitness<T> fitness) Initializes the value for thefitnessattribute.private Stringfinal GPUEAConfiguration.Builder<T> from(GPUEAConfiguration<T> instance) Fill a builder with attribute values from the providedGPUEAConfigurationinstance.final GPUEAConfiguration.Builder<T> genotypeCombinator(GenotypeCombinator genotypeCombinator) Initializes the value for thegenotypeCombinatorattribute.final GPUEAConfiguration.Builder<T> genotypeGenerator(Supplier<Genotype> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.final GPUEAConfiguration.Builder<T> genotypeGenerator(Optional<? extends Supplier<Genotype>> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.final GPUEAConfiguration.Builder<T> mutationPolicies(Iterable<? extends MutationPolicy> elements) Sets or replaces all elements formutationPolicieslist.final GPUEAConfiguration.Builder<T> offspringGeneratedRatio(double offspringGeneratedRatio) Initializes the value for theoffspringGeneratedRatioattribute.private booleanfinal GPUEAConfiguration.Builder<T> optimization(Optimization optimization) Initializes the value for theoptimizationattribute.final GPUEAConfiguration.Builder<T> parentSelectionPolicy(SelectionPolicy parentSelectionPolicy) Initializes the value for theparentSelectionPolicyattribute.final GPUEAConfiguration.Builder<T> postEvaluationProcessor(Optional<? extends PostEvaluationProcessor<T>> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.final GPUEAConfiguration.Builder<T> postEvaluationProcessor(PostEvaluationProcessor<T> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.final GPUEAConfiguration.Builder<T> Initializes the value for theprogramattribute.final GPUEAConfiguration.Builder<T> replacementStrategy(ReplacementStrategy replacementStrategy) Initializes the value for thereplacementStrategyattribute.final GPUEAConfiguration.Builder<T> seedPopulation(Collection<Genotype> seedPopulation) Initializes the value for theseedPopulationattribute.final GPUEAConfiguration.Builder<T> termination(Termination<T> termination) Initializes the value for theterminationattribute.
-
Field Details
-
INIT_BIT_PARENT_SELECTION_POLICY
private static final long INIT_BIT_PARENT_SELECTION_POLICY- See Also:
-
INIT_BIT_COMBINATION_POLICY
private static final long INIT_BIT_COMBINATION_POLICY- See Also:
-
INIT_BIT_TERMINATION
private static final long INIT_BIT_TERMINATION- See Also:
-
INIT_BIT_PROGRAM
private static final long INIT_BIT_PROGRAM- See Also:
-
INIT_BIT_FITNESS
private static final long INIT_BIT_FITNESS- See Also:
-
OPT_BIT_OFFSPRING_GENERATED_RATIO
private static final long OPT_BIT_OFFSPRING_GENERATED_RATIO- See Also:
-
initBits
private long initBits -
optBits
private long optBits -
chromosomeSpecs
-
parentSelectionPolicy
-
combinationPolicy
-
mutationPolicies
-
replacementStrategy
-
postEvaluationProcessor
-
termination
-
genotypeGenerator
-
seedPopulation
-
genotypeCombinator
-
offspringGeneratedRatio
private double offspringGeneratedRatio -
optimization
-
program
-
fitness
-
-
Constructor Details
-
Builder
public Builder()Creates a builder forGPUEAConfigurationinstances.new GPUEAConfiguration.Builder<T>() .addChromosomeSpecs|addAllChromosomeSpecs(net.bmahe.genetics4j.core.spec.chromosome.ChromosomeSpec) //chromosomeSpecselements .parentSelectionPolicy(net.bmahe.genetics4j.core.spec.selection.SelectionPolicy) // requiredparentSelectionPolicy.combinationPolicy(net.bmahe.genetics4j.core.spec.combination.CombinationPolicy) // requiredcombinationPolicy.addMutationPolicies|addAllMutationPolicies(net.bmahe.genetics4j.core.spec.mutation.MutationPolicy) //mutationPolicieselements .replacementStrategy(net.bmahe.genetics4j.core.spec.replacement.ReplacementStrategy) // optionalreplacementStrategy.postEvaluationProcessor(Optional<net.bmahe.genetics4j.core.spec.PostEvaluationProcessor<T>>) // optionalpostEvaluationProcessor.termination(net.bmahe.genetics4j.core.termination.Termination<T>) // requiredtermination.genotypeGenerator(Optional<function.Supplier<net.bmahe.genetics4j.core.Genotype>>) // optionalgenotypeGenerator.seedPopulation(Collection<net.bmahe.genetics4j.core.Genotype>) // optionalseedPopulation.genotypeCombinator(net.bmahe.genetics4j.core.combination.GenotypeCombinator) // optionalgenotypeCombinator.offspringGeneratedRatio(double) // optionaloffspringGeneratedRatio.optimization(net.bmahe.genetics4j.core.spec.Optimization) // optionaloptimization.program(net.bmahe.genetics4j.gpu.spec.Program) // requiredprogram.fitness(net.bmahe.genetics4j.gpu.spec.fitness.OpenCLFitness<T>) // requiredfitness.build();
-
-
Method Details
-
from
Fill a builder with attribute values from the providedGPUEAConfigurationinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
addChromosomeSpecs
Adds one element tochromosomeSpecslist.- Parameters:
element- A chromosomeSpecs element- Returns:
thisbuilder for use in a chained invocation
-
addChromosomeSpecs
Adds elements tochromosomeSpecslist.- Parameters:
elements- An array of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
chromosomeSpecs
public final GPUEAConfiguration.Builder<T> chromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Sets or replaces all elements forchromosomeSpecslist.- Parameters:
elements- An iterable of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
addAllChromosomeSpecs
public final GPUEAConfiguration.Builder<T> addAllChromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Adds elements tochromosomeSpecslist.- Parameters:
elements- An iterable of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
parentSelectionPolicy
public final GPUEAConfiguration.Builder<T> parentSelectionPolicy(SelectionPolicy parentSelectionPolicy) Initializes the value for theparentSelectionPolicyattribute.- Parameters:
parentSelectionPolicy- The value for parentSelectionPolicy- Returns:
thisbuilder for use in a chained invocation
-
combinationPolicy
Initializes the value for thecombinationPolicyattribute.- Parameters:
combinationPolicy- The value for combinationPolicy- Returns:
thisbuilder for use in a chained invocation
-
addMutationPolicies
Adds one element tomutationPolicieslist.- Parameters:
element- A mutationPolicies element- Returns:
thisbuilder for use in a chained invocation
-
addMutationPolicies
Adds elements tomutationPolicieslist.- Parameters:
elements- An array of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
mutationPolicies
public final GPUEAConfiguration.Builder<T> mutationPolicies(Iterable<? extends MutationPolicy> elements) Sets or replaces all elements formutationPolicieslist.- Parameters:
elements- An iterable of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
addAllMutationPolicies
public final GPUEAConfiguration.Builder<T> addAllMutationPolicies(Iterable<? extends MutationPolicy> elements) Adds elements tomutationPolicieslist.- Parameters:
elements- An iterable of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
replacementStrategy
public final GPUEAConfiguration.Builder<T> replacementStrategy(ReplacementStrategy replacementStrategy) Initializes the value for thereplacementStrategyattribute.If not set, this attribute will have a default value as returned by the initializer of
replacementStrategy.- Parameters:
replacementStrategy- The value for replacementStrategy- Returns:
thisbuilder for use in a chained invocation
-
postEvaluationProcessor
public final GPUEAConfiguration.Builder<T> postEvaluationProcessor(PostEvaluationProcessor<T> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.- Parameters:
postEvaluationProcessor- The value for postEvaluationProcessor- Returns:
thisbuilder for chained invocation
-
postEvaluationProcessor
public final GPUEAConfiguration.Builder<T> postEvaluationProcessor(Optional<? extends PostEvaluationProcessor<T>> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.- Parameters:
postEvaluationProcessor- The value for postEvaluationProcessor- Returns:
thisbuilder for use in a chained invocation
-
termination
Initializes the value for theterminationattribute.- Parameters:
termination- The value for termination- Returns:
thisbuilder for use in a chained invocation
-
genotypeGenerator
Initializes the optional valuegenotypeGeneratorto genotypeGenerator.- Parameters:
genotypeGenerator- The value for genotypeGenerator- Returns:
thisbuilder for chained invocation
-
genotypeGenerator
public final GPUEAConfiguration.Builder<T> genotypeGenerator(Optional<? extends Supplier<Genotype>> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.- Parameters:
genotypeGenerator- The value for genotypeGenerator- Returns:
thisbuilder for use in a chained invocation
-
seedPopulation
Initializes the value for theseedPopulationattribute.If not set, this attribute will have a default value as returned by the initializer of
seedPopulation.- Parameters:
seedPopulation- The value for seedPopulation- Returns:
thisbuilder for use in a chained invocation
-
genotypeCombinator
public final GPUEAConfiguration.Builder<T> genotypeCombinator(GenotypeCombinator genotypeCombinator) Initializes the value for thegenotypeCombinatorattribute.If not set, this attribute will have a default value as returned by the initializer of
genotypeCombinator.- Parameters:
genotypeCombinator- The value for genotypeCombinator- Returns:
thisbuilder for use in a chained invocation
-
offspringGeneratedRatio
Initializes the value for theoffspringGeneratedRatioattribute.If not set, this attribute will have a default value as returned by the initializer of
offspringGeneratedRatio.- Parameters:
offspringGeneratedRatio- The value for offspringGeneratedRatio- Returns:
thisbuilder for use in a chained invocation
-
optimization
Initializes the value for theoptimizationattribute.If not set, this attribute will have a default value as returned by the initializer of
optimization.- Parameters:
optimization- The value for optimization- Returns:
thisbuilder for use in a chained invocation
-
program
Initializes the value for theprogramattribute.- Parameters:
program- The value for program- Returns:
thisbuilder for use in a chained invocation
-
fitness
Initializes the value for thefitnessattribute.- Parameters:
fitness- The value for fitness- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newGPUEAConfiguration.- Returns:
- An immutable instance of GPUEAConfiguration
- Throws:
IllegalStateException- if any required attributes are missing
-
offspringGeneratedRatioIsSet
private boolean offspringGeneratedRatioIsSet() -
formatRequiredAttributesMessage
-