Package org.apache.wayang.profiler.log
Class GeneticOptimizer
- java.lang.Object
-
- org.apache.wayang.profiler.log.GeneticOptimizer
-
public class GeneticOptimizer extends java.lang.ObjectImplementation of the genetic optimization technique for finding goodLoadProfileEstimators.
-
-
Constructor Summary
Constructors Constructor Description GeneticOptimizer(OptimizationSpace optimizationSpace, java.util.Collection<PartialExecution> observations, java.util.Map<java.lang.String,DynamicLoadProfileEstimator> estimators, java.util.Map<Platform,Variable> platformOverheads, Configuration configuration)Creates a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecalculateObservationBasedWeight(PartialExecution observation)doublecalculateRuntimeBasedWeight(PartialExecution observation)java.util.List<Individual>createInitialPopulation()Creates a population of randomIndividuals.java.util.List<Individual>evolve(java.util.List<Individual> population)BitmaskgetActivatedGenes()ConfigurationgetConfiguration()java.util.Collection<PartialExecution>getData()java.util.HashMap<java.lang.Object,java.lang.Integer>getNumObservations()java.util.Collection<PartialExecution>getObservations()OptimizationSpacegetOptimizationSpace()java.util.Map<Platform,Variable>getPlatformOverheads()static doublegetSelectionProbability(double score1, double score2, double minScore)voidupdateFitness(java.util.List<Individual> individuals)Update the fitness of theIndividuals w.r.t. to this instance and sort them according to their new fitness.
-
-
-
Constructor Detail
-
GeneticOptimizer
public GeneticOptimizer(OptimizationSpace optimizationSpace, java.util.Collection<PartialExecution> observations, java.util.Map<java.lang.String,DynamicLoadProfileEstimator> estimators, java.util.Map<Platform,Variable> platformOverheads, Configuration configuration)
Creates a new instance.
-
-
Method Detail
-
createInitialPopulation
public java.util.List<Individual> createInitialPopulation()
Creates a population of randomIndividuals.- Returns:
- the
Individuals ordered by their fitness
-
updateFitness
public void updateFitness(java.util.List<Individual> individuals)
Update the fitness of theIndividuals w.r.t. to this instance and sort them according to their new fitness.- Parameters:
individuals- theIndividuals
-
evolve
public java.util.List<Individual> evolve(java.util.List<Individual> population)
-
getSelectionProbability
public static double getSelectionProbability(double score1, double score2, double minScore)
-
getActivatedGenes
public Bitmask getActivatedGenes()
-
getData
public java.util.Collection<PartialExecution> getData()
-
getConfiguration
public Configuration getConfiguration()
-
getOptimizationSpace
public OptimizationSpace getOptimizationSpace()
-
getObservations
public java.util.Collection<PartialExecution> getObservations()
-
getNumObservations
public java.util.HashMap<java.lang.Object,java.lang.Integer> getNumObservations()
-
calculateObservationBasedWeight
public double calculateObservationBasedWeight(PartialExecution observation)
-
calculateRuntimeBasedWeight
public double calculateRuntimeBasedWeight(PartialExecution observation)
-
-