Class HASCOViaFDAndBestFirstFactory<V extends java.lang.Comparable<V>>

  • Type Parameters:
    V -
    All Implemented Interfaces:
    SoftwareConfigurationAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,​HASCOSolutionCandidate<V>,​V,​HASCO<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V>>, org.api4.java.algorithm.IAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,​HASCOSolutionCandidate<V>,​HASCO<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V>>
    Direct Known Subclasses:
    HASCOViaFDAndBestFirstWithDyadRankedNodeQueueFactory, HASCOViaFDAndBestFirstWithRandomCompletionsFactory

    public class HASCOViaFDAndBestFirstFactory<V extends java.lang.Comparable<V>>
    extends HASCOViaFDFactory<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V>,​V>
    This factory makes it easier to create HASCO objects. In contrast to the standard HASCOFactory, it is only necessary to set the problem and a node evaluator Note that the standard HASCO search problem is a GraphSearchProblem, but BestFirst needs sub-path evaluation, so providing such a transformation is a MUST. It is possible to set the node evaluator, which will be then used in the search
    • Constructor Detail

      • HASCOViaFDAndBestFirstFactory

        public HASCOViaFDAndBestFirstFactory()
      • HASCOViaFDAndBestFirstFactory

        public HASCOViaFDAndBestFirstFactory​(org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V> nodeEvaluator)
    • Method Detail

      • setNodeEvaluator

        public void setNodeEvaluator​(org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V> nodeEvaluator)
      • getSearchFactory

        public ai.libs.jaicore.search.algorithms.standard.bestfirst.StandardBestFirstFactory<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V> getSearchFactory()
        Overrides:
        getSearchFactory in class HASCOFactory<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>
      • getSearchProblemTransformer

        public ai.libs.jaicore.search.problemtransformers.GraphSearchProblemInputToGraphSearchWithSubpathEvaluationInputTransformer<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V> getSearchProblemTransformer()
        Overrides:
        getSearchProblemTransformer in class HASCOFactory<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>
      • getAlgorithm

        public HASCOViaFDAndBestFirst<V> getAlgorithm()
        Specified by:
        getAlgorithm in interface org.api4.java.algorithm.IAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V extends java.lang.Comparable<V>>,​HASCOSolutionCandidate<V extends java.lang.Comparable<V>>,​HASCO<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>>
        Overrides:
        getAlgorithm in class HASCOFactory<ai.libs.jaicore.search.probleminputs.GraphSearchWithSubpathEvaluationsInput<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>,​ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,​java.lang.String,​V extends java.lang.Comparable<V>>