java.lang.Object
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.AbstractTactic
de.uka.ipd.sdq.dsexplore.opt4j.optimizer.heuristic.operators.impl.ReallocationImpl
All Implemented Interfaces:
ITactic

public class ReallocationImpl extends AbstractTactic
Implements a reallocation heuristic which allocates a component from a highly utilised resource container to a lowly utilised container TODO: Only works for a single resource type so far.
  • Constructor Details

    • ReallocationImpl

      public ReallocationImpl(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, org.palladiosimulator.pcm.resourcetype.ResourceType resourceType)
      Check whether there is one server with high utilization and one with low utilization which are both not null
      Parameters:
      individual - Individual to check
      resourceType -
    • getHeuristicCandidates

      public List<TacticsResultCandidate> getHeuristicCandidates(DSEIndividual individual, UtilisationResultCacheAndHelper resultCache)
      Generates collection of candidates by applying the reallocation heuristic
      Parameters:
      individual - Individual which the heuristic should be applied to
      Returns:
      Collection of improved individuals