Class 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 Detail

      • 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 Detail

      • 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