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 void
cancel()
java.lang.String
getLoggerName()
org.api4.java.algorithm.events.IAlgorithmEvent
nextWithException()
void
registerListener(java.lang.Object listener)
void
setLoggerName(java.lang.String name)
void
setNumCPUs(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:
cancel
in interfaceorg.api4.java.common.control.ICancelable
- Overrides:
cancel
in 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:
registerListener
in interfaceorg.api4.java.algorithm.IAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,T>
- Overrides:
registerListener
in 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:
setNumCPUs
in interfaceorg.api4.java.algorithm.IAlgorithm<I extends GraphSearchWithNodeRecommenderInput<T,A>,T>
- Overrides:
setNumCPUs
in 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.InterruptedException
org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
org.api4.java.algorithm.exceptions.AlgorithmException
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
- Overrides:
getLoggerName
in classAOptimalPathInORGraphSearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>>
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
- Overrides:
setLoggerName
in classAOptimalPathInORGraphSearch<I extends GraphSearchWithNodeRecommenderInput<T,A>,T,A,V extends java.lang.Comparable<V>>
-
-