org.optaplanner.core.impl.localsearch.decider.acceptor.tabu

## Class AbstractTabuAcceptor

- java.lang.Object
- - org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter<Solution_>
  - - org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListenerAdapter
    - - org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor
      - - org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.AbstractTabuAcceptor

- All Implemented Interfaces:
    EventListener, Acceptor, LocalSearchPhaseLifecycleListener, SolverLifecycleListener
  Direct Known Subclasses:
    EntityTabuAcceptor, MoveTabuAcceptor, SolutionTabuAcceptor, ValueTabuAcceptor

      public abstract class AbstractTabuAcceptor
      extends AbstractAcceptor

  Abstract superclass for all Tabu Acceptors.
  See Also:
    `Acceptor`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `aspirationEnabled`
    `protected boolean` | `assertTabuHashCodeCorrectness`
    `protected TabuSizeStrategy` | `fadingTabuSizeStrategy`
    `protected String` | `logIndentation`
    `protected Deque<Object>` | `tabuSequenceDeque`
    `protected TabuSizeStrategy` | `tabuSizeStrategy`
    `protected Map<Object,Integer>` | `tabuToStepIndexMap`
    `protected int` | `workingFadingTabuSize`
    `protected int` | `workingTabuSize`

    - ### Fields inherited from class org.optaplanner.core.impl.localsearch.decider.acceptor.AbstractAcceptor

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractTabuAcceptor(String logIndentation)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `adjustTabuList(int tabuStepIndex, Collection<? extends Object> tabus)`
    `protected double` | `calculateFadingTabuAcceptChance(int fadingTabuStepCount)`
    `protected abstract Collection<? extends Object>` | `findNewTabu(LocalSearchStepScope stepScope)`
    `protected abstract Collection<? extends Object>` | `findTabu(LocalSearchMoveScope moveScope)`
    `boolean` | `isAccepted(LocalSearchMoveScope moveScope)`
    `void` | `phaseEnded(LocalSearchPhaseScope phaseScope)`
    `void` | `phaseStarted(LocalSearchPhaseScope phaseScope)`
    `void` | `setAspirationEnabled(boolean aspirationEnabled)`
    `void` | `setAssertTabuHashCodeCorrectness(boolean assertTabuHashCodeCorrectness)`
    `void` | `setFadingTabuSizeStrategy(TabuSizeStrategy fadingTabuSizeStrategy)`
    `void` | `setTabuSizeStrategy(TabuSizeStrategy tabuSizeStrategy)`
    `void` | `stepEnded(LocalSearchStepScope stepScope)`

    - ### Methods inherited from class org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListenerAdapter

      `stepStarted`

    - ### Methods inherited from class org.optaplanner.core.impl.solver.event.SolverLifecycleListenerAdapter

      `solvingEnded, solvingStarted`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.optaplanner.core.impl.localsearch.event.LocalSearchPhaseLifecycleListener

      `stepStarted`

    - ### Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener

      `solvingEnded, solvingStarted`

- - ### Field Detail

    - #### logIndentation

          protected final String logIndentation

    - #### tabuSizeStrategy

          protected TabuSizeStrategy tabuSizeStrategy

    - #### fadingTabuSizeStrategy

          protected TabuSizeStrategy fadingTabuSizeStrategy

    - #### aspirationEnabled

          protected boolean aspirationEnabled

    - #### assertTabuHashCodeCorrectness

          protected boolean assertTabuHashCodeCorrectness

    - #### tabuToStepIndexMap

          protected Map<Object,Integer> tabuToStepIndexMap

    - #### tabuSequenceDeque

          protected Deque<Object> tabuSequenceDeque

    - #### workingTabuSize

          protected int workingTabuSize

    - #### workingFadingTabuSize

          protected int workingFadingTabuSize

  - ### Constructor Detail

    - #### AbstractTabuAcceptor

          public AbstractTabuAcceptor(String logIndentation)

  - ### Method Detail

    - #### setTabuSizeStrategy

          public void setTabuSizeStrategy(TabuSizeStrategy tabuSizeStrategy)

    - #### setFadingTabuSizeStrategy

          public void setFadingTabuSizeStrategy(TabuSizeStrategy fadingTabuSizeStrategy)

    - #### setAspirationEnabled

          public void setAspirationEnabled(boolean aspirationEnabled)

    - #### setAssertTabuHashCodeCorrectness

          public void setAssertTabuHashCodeCorrectness(boolean assertTabuHashCodeCorrectness)

    - #### phaseStarted

          public void phaseStarted(LocalSearchPhaseScope phaseScope)

      Specified by:
        `phaseStarted` in interface `LocalSearchPhaseLifecycleListener`
      Overrides:
        `phaseStarted` in class `LocalSearchPhaseLifecycleListenerAdapter`

    - #### phaseEnded

          public void phaseEnded(LocalSearchPhaseScope phaseScope)

      Specified by:
        `phaseEnded` in interface `LocalSearchPhaseLifecycleListener`
      Overrides:
        `phaseEnded` in class `LocalSearchPhaseLifecycleListenerAdapter`

    - #### stepEnded

          public void stepEnded(LocalSearchStepScope stepScope)

      Specified by:
        `stepEnded` in interface `LocalSearchPhaseLifecycleListener`
      Overrides:
        `stepEnded` in class `LocalSearchPhaseLifecycleListenerAdapter`

    - #### adjustTabuList

          protected void adjustTabuList(int tabuStepIndex,
                                        Collection<? extends Object> tabus)

    - #### isAccepted

          public boolean isAccepted(LocalSearchMoveScope moveScope)

      Parameters:
        `moveScope` - not null
      Returns:
        true if accepted

    - #### calculateFadingTabuAcceptChance

          protected double calculateFadingTabuAcceptChance(int fadingTabuStepCount)

      Parameters:
        `fadingTabuStepCount` - `0 < fadingTabuStepCount <= fadingTabuSize`
      Returns:
        `0.0 < acceptChance < 1.0`

    - #### findTabu

          protected abstract Collection<? extends Object> findTabu(LocalSearchMoveScope moveScope)

    - #### findNewTabu

          protected abstract Collection<? extends Object> findNewTabu(LocalSearchStepScope stepScope)

Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.