Class MatingBayes

  • All Implemented Interfaces:
    org.opt4j.optimizer.ea.Mating

    public class MatingBayes
    extends org.opt4j.optimizer.ea.MatingCrossoverMutate
    This class is meant to contain methods that operate on a collection of Binary strings. These methods build a Bayesian Network out of the Binary Strings and sample out new Binary Strings. Each Binary String is actually a translated DesignDecisionGenoytpe (i.e a FinalBinaryGenotype)
    • Field Summary

      • Fields inherited from class org.opt4j.optimizer.ea.MatingCrossoverMutate

        copy, coupler, crossover, crossoverRate, individualFactory, mutate, mutationRate, random
    • Constructor Summary

      Constructors 
      Constructor Description
      MatingBayes​(org.opt4j.operator.crossover.Crossover<org.opt4j.core.Genotype> crossover, org.opt4j.operator.mutate.Mutate<org.opt4j.core.Genotype> mutate, org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, org.opt4j.optimizer.ea.Coupler coupler, org.opt4j.optimizer.ea.CrossoverRate crossoverRate, org.opt4j.operator.mutate.MutationRate mutationRate, org.opt4j.common.random.Rand random, org.opt4j.core.IndividualFactory individualFactory, QMLBoundDependentTacticOperatorsManager qmlTacticManager)  
    • Constructor Detail

      • MatingBayes

        @Inject
        public MatingBayes​(org.opt4j.operator.crossover.Crossover<org.opt4j.core.Genotype> crossover,
                           org.opt4j.operator.mutate.Mutate<org.opt4j.core.Genotype> mutate,
                           org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy,
                           org.opt4j.optimizer.ea.Coupler coupler,
                           org.opt4j.optimizer.ea.CrossoverRate crossoverRate,
                           org.opt4j.operator.mutate.MutationRate mutationRate,
                           org.opt4j.common.random.Rand random,
                           org.opt4j.core.IndividualFactory individualFactory,
                           QMLBoundDependentTacticOperatorsManager qmlTacticManager)
    • Method Detail

      • getOffspring

        public Collection<org.opt4j.core.Individual> getOffspring​(int size,
                                                                  Collection<org.opt4j.core.Individual> parents)
        This method is similar to the getSampledGenomes method, the only difference being that this method operates on a collection of Individual objects. The Individual objects are converted to Collection of DesignDecisionGenotype objects, which are converted to FinalBinaryGenotype objects. The getSampledGenomes is invoked on this list of FinalBinaryGenotype objects to output new solutions. These are then converted systematically back to Individual type of objects
        Specified by:
        getOffspring in interface org.opt4j.optimizer.ea.Mating
        Overrides:
        getOffspring in class org.opt4j.optimizer.ea.MatingCrossoverMutate