Package ai.libs.hasco.core
Class HASCOFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N,A,V extends java.lang.Comparable<V>>
- java.lang.Object
-
- ai.libs.hasco.core.HASCOFactory<S,N,A,V>
-
- All Implemented Interfaces:
SoftwareConfigurationAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,HASCOSolutionCandidate<V>,V,HASCO<S,N,A,V>>
,org.api4.java.algorithm.IAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,HASCOSolutionCandidate<V>,HASCO<S,N,A,V>>
- Direct Known Subclasses:
HASCOViaFDFactory
public class HASCOFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N,A,V extends java.lang.Comparable<V>> extends java.lang.Object implements SoftwareConfigurationAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,HASCOSolutionCandidate<V>,V,HASCO<S,N,A,V>>
-
-
Constructor Summary
Constructors Constructor Description HASCOFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HASCO<S,N,A,V>
getAlgorithm()
HASCO<S,N,A,V>
getAlgorithm(RefinementConfiguredSoftwareConfigurationProblem<V> problem)
IHASCOPlanningReduction<N,A>
getPlanningGraphGeneratorDeriver()
RefinementConfiguredSoftwareConfigurationProblem<V>
getProblem()
org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearchFactory<S,ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,A,V>,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()
void
setPlanningGraphGeneratorDeriver(ai.libs.jaicore.planning.hierarchical.problems.htn.IHierarchicalPlanningToGraphSearchReduction<N,A,? super ai.libs.jaicore.planning.hierarchical.problems.ceocipstn.CEOCIPSTNPlanningProblem,? extends ai.libs.jaicore.planning.core.interfaces.IPlan,? extends ai.libs.jaicore.search.probleminputs.GraphSearchInput<N,A>,? super org.api4.java.datastructure.graph.ILabeledPath<N,A>> planningGraphGeneratorDeriver)
void
setProblemInput(RefinementConfiguredSoftwareConfigurationProblem<V> problemInput)
void
setSearchFactory(org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearchFactory<S,ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,A,V>,N,A,V,?> searchFactory)
void
setSearchProblemTransformer(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)
void
withAlgorithmConfig(HASCOConfig hascoConfig)
void
withAlgorithmConfigFile(java.io.File hascoConfigFile)
void
withDefaultAlgorithmConfig()
-
-
-
Method Detail
-
setProblemInput
public void setProblemInput(RefinementConfiguredSoftwareConfigurationProblem<V> problemInput)
-
getAlgorithm
public HASCO<S,N,A,V> getAlgorithm(RefinementConfiguredSoftwareConfigurationProblem<V> problem)
-
getPlanningGraphGeneratorDeriver
public IHASCOPlanningReduction<N,A> getPlanningGraphGeneratorDeriver()
-
setPlanningGraphGeneratorDeriver
public void setPlanningGraphGeneratorDeriver(ai.libs.jaicore.planning.hierarchical.problems.htn.IHierarchicalPlanningToGraphSearchReduction<N,A,? super ai.libs.jaicore.planning.hierarchical.problems.ceocipstn.CEOCIPSTNPlanningProblem,? extends ai.libs.jaicore.planning.core.interfaces.IPlan,? extends ai.libs.jaicore.search.probleminputs.GraphSearchInput<N,A>,? super org.api4.java.datastructure.graph.ILabeledPath<N,A>> planningGraphGeneratorDeriver)
-
getSearchFactory
public org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearchFactory<S,ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,A,V>,N,A,V,?> getSearchFactory()
-
setSearchFactory
public void setSearchFactory(org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearchFactory<S,ai.libs.jaicore.search.model.other.EvaluatedSearchGraphPath<N,A,V>,N,A,V,?> searchFactory)
-
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()
-
setSearchProblemTransformer
public void setSearchProblemTransformer(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)
-
withDefaultAlgorithmConfig
public void withDefaultAlgorithmConfig()
-
withAlgorithmConfig
public void withAlgorithmConfig(HASCOConfig hascoConfig)
-
withAlgorithmConfigFile
public void withAlgorithmConfigFile(java.io.File hascoConfigFile)
-
getProblem
public RefinementConfiguredSoftwareConfigurationProblem<V> getProblem()
-
-