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>,ai.libs.jaicore.basic.algorithm.IAlgorithmFactory<RefinementConfiguredSoftwareConfigurationProblem<V>,HASCOSolutionCandidate<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>
-
-
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()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()voidsetPlanningGraphGeneratorDeriver(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 ai.libs.jaicore.search.model.other.SearchGraphPath<N,A>> planningGraphGeneratorDeriver)voidsetProblemInput(RefinementConfiguredSoftwareConfigurationProblem<V> problemInput)voidsetSearchFactory(ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,N,A,V> searchFactory)voidsetSearchProblemTransformer(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)voidwithAlgorithmConfig(HASCOConfig hascoConfig)voidwithAlgorithmConfigFile(java.io.File hascoConfigFile)voidwithDefaultAlgorithmConfig()
-
-
-
Method Detail
-
setProblemInput
public void setProblemInput(RefinementConfiguredSoftwareConfigurationProblem<V> problemInput)
-
getAlgorithm
public HASCO<S,N,A,V> getAlgorithm()
- Specified by:
getAlgorithmin interfaceai.libs.jaicore.basic.algorithm.IAlgorithmFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N>- Specified by:
getAlgorithmin interfaceSoftwareConfigurationAlgorithmFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N,A>
-
getAlgorithm
public HASCO<S,N,A,V> getAlgorithm(RefinementConfiguredSoftwareConfigurationProblem<V> problem)
- Specified by:
getAlgorithmin interfaceai.libs.jaicore.basic.algorithm.IAlgorithmFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N>- Specified by:
getAlgorithmin interfaceSoftwareConfigurationAlgorithmFactory<S extends ai.libs.jaicore.search.probleminputs.GraphSearchWithPathEvaluationsInput<N,A,V>,N,A>
-
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 ai.libs.jaicore.search.model.other.SearchGraphPath<N,A>> planningGraphGeneratorDeriver)
-
getSearchFactory
public ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,N,A,V> getSearchFactory()
-
setSearchFactory
public void setSearchFactory(ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,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()
-
-