Class MatingBayes

java.lang.Object
org.opt4j.optimizer.ea.MatingCrossoverMutate
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.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)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    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.

    Methods inherited from class org.opt4j.optimizer.ea.MatingCrossoverMutate

    getOffspring, getOffspringInternal, mate

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 Details

    • getHeuristicManager

      public TacticOperatorsManager getHeuristicManager()
    • 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