Class AwaStarSearch<I extends GraphSearchWithSubpathEvaluationsInput<N,​A,​V>,​N,​A,​V extends java.lang.Comparable<V>>

  • Type Parameters:
    N -
    A -
    V -
    All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<EvaluatedSearchGraphPath<N,​A,​V>>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearch<I,​EvaluatedSearchGraphPath<N,​A,​V>,​N,​A,​V>, org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<I,​EvaluatedSearchGraphPath<N,​A,​V>,​N,​A>, org.api4.java.ai.graphsearch.problem.IPathSearch<I,​EvaluatedSearchGraphPath<N,​A,​V>,​N,​A>, org.api4.java.algorithm.IAlgorithm<I,​EvaluatedSearchGraphPath<N,​A,​V>>, org.api4.java.algorithm.IOptimizationAlgorithm<I,​EvaluatedSearchGraphPath<N,​A,​V>,​V>, org.api4.java.algorithm.ISolutionCandidateIterator<I,​EvaluatedSearchGraphPath<N,​A,​V>>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable

    public class AwaStarSearch<I extends GraphSearchWithSubpathEvaluationsInput<N,​A,​V>,​N,​A,​V extends java.lang.Comparable<V>>
    extends AOptimalPathInORGraphSearch<I,​N,​A,​V>
    This is a modified version of the AWA* algorithm for problems without admissible heuristic. Important differences are: - no early termination if a best-f-valued solution is found as f is not optimistic
    • Constructor Summary

      Constructors 
      Constructor Description
      AwaStarSearch​(I problem)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.api4.java.datastructure.graph.implicit.IGraphGenerator<N,​A> getGraphGenerator()  
      java.lang.String getLoggerName()  
      int getNumCPUs()  
      org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()  
      void receiveSolutionEvent​(EvaluatedSearchSolutionCandidateFoundEvent<N,​A,​V> solutionEvent)  
      EvaluatedSearchSolutionCandidateFoundEvent<N,​A,​V> registerNewSolutionCandidate​(EvaluatedSearchGraphPath<N,​A,​V> solution)  
      void setLoggerName​(java.lang.String name)  
      void setNumCPUs​(int numberOfCPUs)  
      protected void shutdown()  
      • 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, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getId, getInput, getListeners, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setDeadline, setMaxNumThreads, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, 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, getTimeout, registerListener, setMaxNumThreads, setTimeout, setTimeout
      • Methods inherited from interface org.api4.java.common.control.ICancelable

        cancel
      • 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