Package org.apache.wayang.profiler.log
Class GeneticOptimizer
- java.lang.Object
-
- org.apache.wayang.profiler.log.GeneticOptimizer
-
public class GeneticOptimizer extends java.lang.Object
Implementation of the genetic optimization technique for finding goodLoadProfileEstimator
s.
-
-
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 double
calculateObservationBasedWeight(PartialExecution observation)
double
calculateRuntimeBasedWeight(PartialExecution observation)
java.util.List<Individual>
createInitialPopulation()
Creates a population of randomIndividual
s.java.util.List<Individual>
evolve(java.util.List<Individual> population)
Bitmask
getActivatedGenes()
Configuration
getConfiguration()
java.util.Collection<PartialExecution>
getData()
java.util.HashMap<java.lang.Object,java.lang.Integer>
getNumObservations()
java.util.Collection<PartialExecution>
getObservations()
OptimizationSpace
getOptimizationSpace()
java.util.Map<Platform,Variable>
getPlatformOverheads()
static double
getSelectionProbability(double score1, double score2, double minScore)
void
updateFitness(java.util.List<Individual> individuals)
Update the fitness of theIndividual
s 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 randomIndividual
s.- Returns:
- the
Individual
s ordered by their fitness
-
updateFitness
public void updateFitness(java.util.List<Individual> individuals)
Update the fitness of theIndividual
s w.r.t. to this instance and sort them according to their new fitness.- Parameters:
individuals
- theIndividual
s
-
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)
-
-