Class ServerExpansionImpl
- java.lang.Object
-
- de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
-
- de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.ServerExpansionImpl
-
- All Implemented Interfaces:
ITactic
public class ServerExpansionImpl extends AbstractTactic
Implements a server expansion heuristic. This heuristic finds a highly utilised resource container, creates a new resource container and reallocates components to this new resource container
-
-
Field Summary
-
Fields inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
copy, individualFactory
-
-
Constructor Summary
Constructors Constructor Description ServerExpansionImpl(org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, DSEIndividualFactory individualFactory, DSEWorkflowConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
doesMatchPrecondition(DSEIndividual individual)
Check whether there is a resource container that has a utilisation >= THRESHOLD_HIGH_UTILISATION and there is a least one unused resource container (unused means no allocated components)List<TacticsResultCandidate>
getHeuristicCandidates(DSEIndividual individual, UtilisationResultCacheAndHelper resultsHelper)
Generates collection of candidates by applying the server consolidation heuristic-
Methods inherited from class de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
doesNotImprove, getHeuristicWeight, getNumberOfGeneratedCandidates, improves, increaseCounterOfGeneratedCandidates, setHeuristicWeight
-
-
-
-
Constructor Detail
-
ServerExpansionImpl
public ServerExpansionImpl(org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, DSEIndividualFactory individualFactory, DSEWorkflowConfiguration configuration)
- Parameters:
copy
- Used to copy genotypeindividualFactory
- Used to build individual
-
-
Method Detail
-
doesMatchPrecondition
public boolean doesMatchPrecondition(DSEIndividual individual)
Check whether there is a resource container that has a utilisation >= THRESHOLD_HIGH_UTILISATION and there is a least one unused resource container (unused means no allocated components)- Parameters:
individual
-- Returns:
-
getHeuristicCandidates
public List<TacticsResultCandidate> getHeuristicCandidates(DSEIndividual individual, UtilisationResultCacheAndHelper resultsHelper)
Generates collection of candidates by applying the server consolidation heuristic- Parameters:
individual
- Individual which the heuristic should be applied to- Returns:
- Collection of improved individuals
-
-