Package org.ddolib.common.dominance
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
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:
-
Field Summary
Fields inherited from class org.ddolib.common.dominance.DominanceChecker
dominance -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a default dominance checker that never declares any state as dominated. -
Method Summary
Modifier and TypeMethodDescriptionbooleanupdateDominance(T state, int depth, double objValue) Updates the dominance information for a given state.
-
Constructor Details
-
DefaultDominanceChecker
public DefaultDominanceChecker()Constructs a default dominance checker that never declares any state as dominated.Internally, it uses a trivial
Dominanceinstance that:- Always returns
nullas a key for any state. - Always considers that no state dominates another (
false).
- Always returns
-
-
Method Details
-
updateDominance
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:
updateDominancein classDominanceChecker<T>- Parameters:
state- the state being tested for dominancedepth- the depth (layer) in the search or decision diagramobjValue- the objective value associated with the state- Returns:
- always
false, since no dominance checking is applied
-