Class BestFirstLimitedDiscrepancySearch<I extends GraphSearchWithNodeRecommenderInput<T,​A>,​T,​A,​V extends java.lang.Comparable<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.
    • 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.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
      • Methods inherited from interface org.api4.java.algorithm.ISolutionCandidateIterator

        nextSolutionCandidate
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, hasNext, next, remove
    • Constructor Detail

      • BestFirstLimitedDiscrepancySearch

        public BestFirstLimitedDiscrepancySearch​(I problem)
    • Method Detail

      • 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