Class DefaultDominanceChecker<T>

java.lang.Object
org.ddolib.common.dominance.DominanceChecker<T>
org.ddolib.common.dominance.DefaultDominanceChecker<T>
Type Parameters:
T - the type representing the problem state

public class DefaultDominanceChecker<T> extends DominanceChecker<T>
Default implementation of a DominanceChecker that performs no dominance checking.

This class can be used as a placeholder when dominance pruning is not required or when a problem does not define any dominance relation between states.

In decision diagram or search-based algorithms, a dominance checker is used to compare two states and discard those that are dominated (i.e., guaranteed to lead to no better solution). This default implementation disables that feature: it never reports any dominance and never removes any state.

See Also:
  • Constructor Details

    • DefaultDominanceChecker

      public DefaultDominanceChecker()
      Constructs a default dominance checker that never declares any state as dominated.

      Internally, it uses a trivial Dominance instance that:

      • Always returns null as a key for any state.
      • Always considers that no state dominates another (false).
  • Method Details

    • updateDominance

      public boolean updateDominance(T state, int depth, double objValue)
      Updates the dominance information for a given state.

      This implementation always returns false, meaning that no state is ever considered dominated or pruned.

      Specified by:
      updateDominance in class DominanceChecker<T>
      Parameters:
      state - the state being tested for dominance
      depth - the depth (layer) in the search or decision diagram
      objValue - the objective value associated with the state
      Returns:
      always false, since no dominance checking is applied