Class BestFirstLimitedDiscrepancySearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>>
- java.lang.Object
-
- ai.libs.jaicore.basic.algorithm.AAlgorithm<I,O>
-
- ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator<I,O>
-
- ai.libs.jaicore.basic.algorithm.AOptimizer<I,EvaluatedSearchGraphPath<N,A,V>,V>
-
- ai.libs.jaicore.search.core.interfaces.AOptimalPathInORGraphSearch<I,T,A,V>
-
- ai.libs.jaicore.search.algorithms.standard.lds.BestFirstLimitedDiscrepancySearch<I,T,A,V>
-
- Type Parameters:
T-A-V-
- All Implemented Interfaces:
java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>,java.util.concurrent.Callable<EvaluatedSearchGraphPath<T,A,V>>,java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>,org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearch<I,EvaluatedSearchGraphPath<T,A,V>,T,A,V>,org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<I,EvaluatedSearchGraphPath<T,A,V>,T,A>,org.api4.java.ai.graphsearch.problem.IPathSearch<I,EvaluatedSearchGraphPath<T,A,V>,T,A>,org.api4.java.algorithm.IAlgorithm<I,EvaluatedSearchGraphPath<T,A,V>>,org.api4.java.algorithm.IOptimizationAlgorithm<I,EvaluatedSearchGraphPath<T,A,V>,V>,org.api4.java.algorithm.ISolutionCandidateIterator<I,EvaluatedSearchGraphPath<T,A,V>>,org.api4.java.common.control.ICancelable,org.api4.java.common.control.ILoggingCustomizable
public class BestFirstLimitedDiscrepancySearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>> extends AOptimalPathInORGraphSearch<I,T,A,V>
This class conducts a limited discrepancy search by running a best first algorithm with list-based node evaluations. Since the f-values are lists too, we do not simply extend BestFirst but rather forward all commands to it.
-
-
Constructor Summary
Constructors Constructor Description BestFirstLimitedDiscrepancySearch(I problem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel()java.lang.StringgetLoggerName()org.api4.java.algorithm.events.IAlgorithmEventnextWithException()voidregisterListener(java.lang.Object listener)voidsetLoggerName(java.lang.String name)voidsetNumCPUs(int numberOfCPUs)-
Methods inherited from class ai.libs.jaicore.search.core.interfaces.AOptimalPathInORGraphSearch
getGoalTester, getGraphGenerator, nextSolutionCandidateEvent, registerSolution
-
Methods inherited from class ai.libs.jaicore.basic.algorithm.AOptimizer
call, getBestScoreKnownToExist, getBestSeenSolution, nextSolutionCandidate, setBestSeenSolution, tellAboutBestScoreKnownToExist, 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, getConfig, getId, getInput, getListeners, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeouted, iterator, next, post, registerActiveThread, resolveShutdownInterruptOnCurrentThread, setConfig, setDeadline, setMaxNumThreads, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, shutdown, terminate, unregisterActiveThread, unregisterThreadAndShutdown
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.api4.java.algorithm.IAlgorithm
call, getConfig, getId, getInput, getNumCPUs, getTimeout, setMaxNumThreads, setTimeout, setTimeout
-
-
-
-
Constructor Detail
-
BestFirstLimitedDiscrepancySearch
public BestFirstLimitedDiscrepancySearch(I problem)
-
-
Method Detail
-
cancel
public void cancel()
- Specified by:
cancelin interfaceorg.api4.java.common.control.ICancelable- Overrides:
cancelin classai.libs.jaicore.basic.algorithm.AAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,EvaluatedSearchGraphPath<T,A,V extends java.lang.Comparable<V>>>
-
registerListener
public void registerListener(java.lang.Object listener)
- Specified by:
registerListenerin interfaceorg.api4.java.algorithm.IAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,T>- Overrides:
registerListenerin classai.libs.jaicore.basic.algorithm.AAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,EvaluatedSearchGraphPath<T,A,V extends java.lang.Comparable<V>>>
-
setNumCPUs
public void setNumCPUs(int numberOfCPUs)
- Specified by:
setNumCPUsin interfaceorg.api4.java.algorithm.IAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,T>- Overrides:
setNumCPUsin classai.libs.jaicore.basic.algorithm.AAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,EvaluatedSearchGraphPath<T,A,V extends java.lang.Comparable<V>>>
-
nextWithException
public org.api4.java.algorithm.events.IAlgorithmEvent nextWithException() throws java.lang.InterruptedException, org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException, org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException, org.api4.java.algorithm.exceptions.AlgorithmException- Throws:
java.lang.InterruptedExceptionorg.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledExceptionorg.api4.java.algorithm.exceptions.AlgorithmTimeoutedExceptionorg.api4.java.algorithm.exceptions.AlgorithmException
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerNamein interfaceorg.api4.java.common.control.ILoggingCustomizable- Overrides:
getLoggerNamein classAOptimalPathInORGraphSearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>>
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerNamein interfaceorg.api4.java.common.control.ILoggingCustomizable- Overrides:
setLoggerNamein classAOptimalPathInORGraphSearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>>
-
-