Class HASCO<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​N,​A,​V extends java.lang.Comparable<V>>

    • Constructor Summary

      Constructors 
      Constructor Description
      HASCO​(HASCOConfig algorithmConfig, RefinementConfiguredSoftwareConfigurationProblem<V> configurationProblem, IHASCOPlanningReduction<N,​A> planningGraphGeneratorDeriver, ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> searchFactory, ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> searchProblemTransformer)  
      HASCO​(RefinementConfiguredSoftwareConfigurationProblem<V> configurationProblem, IHASCOPlanningReduction<N,​A> planningGraphGeneratorDeriver, ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> searchFactory, ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> searchProblemTransformer)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()  
      HASCOConfig getConfig()  
      ai.libs.jaicore.search.core.interfaces.GraphGenerator<N,​A> getGraphGenerator()  
      java.lang.String getLoggerName()  
      IHASCOPlanningReduction<N,​A> getPlanningGraphGeneratorDeriver()  
      ai.libs.jaicore.planning.hierarchical.problems.htn.CostSensitiveHTNPlanningProblem<ai.libs.jaicore.planning.hierarchical.problems.ceocipstn.CEOCIPSTNPlanningProblem,​V> getPlanningProblem()  
      HASCORunReport<V> getReport()  
      ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearch<S,​N,​A,​V> getSearch()  
      ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> getSearchFactory()  
      ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> getSearchProblemTransformer()  
      ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent nextWithException()  
      void setCreateComponentInstancesFromNodesInsteadOfPlans​(boolean cIsFromNodes)  
      void setLoggerName​(java.lang.String name)  
      protected void shutdown()  
      java.lang.String toString()  
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AOptimizer

        call, getBestSeenSolution, nextSolutionCandidate, nextSolutionCandidateEvent, setBestSeenSolution, updateBestSeenSolution
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator

        collectAllSolutions
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm

        activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getId, getInput, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setMaxNumThreads, setNumCPUs, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, terminate, unregisterActiveThread, unregisterThreadAndShutdown
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface ai.libs.jaicore.basic.algorithm.IAlgorithm

        getId, getInput, getNumCPUs, getTimeout, registerListener, setMaxNumThreads, setNumCPUs, setTimeout, setTimeout
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, hasNext, next, remove
    • Constructor Detail

      • HASCO

        public HASCO​(RefinementConfiguredSoftwareConfigurationProblem<V> configurationProblem,
                     IHASCOPlanningReduction<N,​A> planningGraphGeneratorDeriver,
                     ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> searchFactory,
                     ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> searchProblemTransformer)
      • HASCO

        public HASCO​(HASCOConfig algorithmConfig,
                     RefinementConfiguredSoftwareConfigurationProblem<V> configurationProblem,
                     IHASCOPlanningReduction<N,​A> planningGraphGeneratorDeriver,
                     ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> searchFactory,
                     ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> searchProblemTransformer)
    • Method Detail

      • nextWithException

        public ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent nextWithException()
                                                                                throws java.lang.InterruptedException,
                                                                                       ai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledException,
                                                                                       ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmTimeoutedException,
                                                                                       ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException
        Throws:
        java.lang.InterruptedException
        ai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledException
        ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmTimeoutedException
        ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException
      • getGraphGenerator

        public ai.libs.jaicore.search.core.interfaces.GraphGenerator<N,​A> getGraphGenerator()
      • getPlanningProblem

        public ai.libs.jaicore.planning.hierarchical.problems.htn.CostSensitiveHTNPlanningProblem<ai.libs.jaicore.planning.hierarchical.problems.ceocipstn.CEOCIPSTNPlanningProblem,​V> getPlanningProblem()
      • getSearchProblemTransformer

        public ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction<? super ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,​A,​V>,​? super ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>,​S,​ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,​A,​V>> getSearchProblemTransformer()
      • getSearchFactory

        public ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,​N,​A,​V> getSearchFactory()
      • getSearch

        public ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearch<S,​N,​A,​V> getSearch()
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
        Overrides:
        getLoggerName in class ai.libs.jaicore.basic.algorithm.AOptimizer<RefinementConfiguredSoftwareConfigurationProblem<V extends java.lang.Comparable<V>>,​HASCOSolutionCandidate<V extends java.lang.Comparable<V>>,​V extends java.lang.Comparable<V>>
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
        Overrides:
        setLoggerName in class ai.libs.jaicore.basic.algorithm.AOptimizer<RefinementConfiguredSoftwareConfigurationProblem<V extends java.lang.Comparable<V>>,​HASCOSolutionCandidate<V extends java.lang.Comparable<V>>,​V extends java.lang.Comparable<V>>
      • setCreateComponentInstancesFromNodesInsteadOfPlans

        public void setCreateComponentInstancesFromNodesInsteadOfPlans​(boolean cIsFromNodes)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object