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

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