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

    • ServerExpansionImpl

      public ServerExpansionImpl(org.opt4j.operator.copy.Copy<org.opt4j.core.Genotype> copy, DSEIndividualFactory individualFactory, DSEWorkflowConfiguration configuration)
      Parameters:
      copy - Used to copy genotype
      individualFactory - Used to build individual
  • Method Details

    • 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