Class IncreaseProcessingRateImpl
java.lang.Object
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.AbstractProcessingRateTactic
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.IncreaseProcessingRateImpl
- All Implemented Interfaces:
ITactic
This class implements an IHeuristic which increases the processing rate of
highly utilized processing resources.
XXX increase or decrease processing rate by a randomized demand, e.g.
normally distributed around the given parameter value?
-
Field Summary
Fields inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.AbstractProcessingRateTactic
logger
Fields inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
copy, individualFactory
-
Constructor Summary
ConstructorDescriptionIncreaseProcessingRateImpl
(org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, DSEIndividualFactory individualFactory, DSEWorkflowConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionboolean
doesMatchPrecondition
(DSEIndividual individual, UtilisationResultCacheAndHelper resultsCache) Check whether individual matches precondition.double
getCandidateWeight
(org.palladiosimulator.analyzer.resultdecorator.resourceenvironmentdecorator.UtilisationResult utilisationResult) getHeuristicCandidates
(DSEIndividual individual, UtilisationResultCacheAndHelper resultCache) Generates candidates based on given individualprotected int
getUpdatedNumberOfCores
(DiscreteRangeChoice discreteChoice, NumberOfCoresDegree numberOfCoresDegree) protected double
getUpdatedProcessingRate
(ContinousRangeChoice continousRangeChoice, ContinuousProcessingRateDegree processingRateDegree) Methods inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.AbstractProcessingRateTactic
addNewNumberOfCoresCandidate, addNewProcRateCandidate
Methods inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
doesNotImprove, getHeuristicWeight, getNumberOfGeneratedCandidates, improves, increaseCounterOfGeneratedCandidates, setHeuristicWeight
-
Constructor Details
-
IncreaseProcessingRateImpl
public IncreaseProcessingRateImpl(org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, DSEIndividualFactory individualFactory, DSEWorkflowConfiguration configuration) - Parameters:
copy
- Creates copy of genotypesindividualFactory
- Builds individual
-
-
Method Details
-
doesMatchPrecondition
public boolean doesMatchPrecondition(DSEIndividual individual, UtilisationResultCacheAndHelper resultsCache) Check whether individual matches precondition. Precondition: Does a resource exists which is either highly or hardly utilised- Parameters:
individual
- Individual to check
-
getHeuristicCandidates
public List<TacticsResultCandidate> getHeuristicCandidates(DSEIndividual individual, UtilisationResultCacheAndHelper resultCache) Generates candidates based on given individual- Parameters:
Indivdual
- used to apply heuristic- Returns:
- Collection of generated candidates.
-
getCandidateWeight
public double getCandidateWeight(org.palladiosimulator.analyzer.resultdecorator.resourceenvironmentdecorator.UtilisationResult utilisationResult) - Specified by:
getCandidateWeight
in classAbstractProcessingRateTactic
-
getUpdatedProcessingRate
protected double getUpdatedProcessingRate(ContinousRangeChoice continousRangeChoice, ContinuousProcessingRateDegree processingRateDegree) - Specified by:
getUpdatedProcessingRate
in classAbstractProcessingRateTactic
- Parameters:
continousRangeChoice
-processingRateDegree
-- Returns:
-
getUpdatedNumberOfCores
protected int getUpdatedNumberOfCores(DiscreteRangeChoice discreteChoice, NumberOfCoresDegree numberOfCoresDegree) - Specified by:
getUpdatedNumberOfCores
in classAbstractProcessingRateTactic
-