Interface Dominance<T>
- Type Parameters:
T- the type representing the problem state
- All Known Implementing Classes:
BKSDominance,KSDominance,MaxCoverDominance,MispDominance,MKSDominance,MSCTDominance,SMICDominance,TSPTWDominance
A Dominance relation provides a way to determine whether one
state of the problem is at least as good as (i.e., dominates) another,
allowing the solver to discard redundant or inferior subproblems.
The dominance check is an essential optimization mechanism in decision diagram–based solvers, as it helps reduce the search space by recognizing equivalent or dominated states that do not need to be further expanded.
-
Method Summary
-
Method Details
-
getKey
Returns a canonical key associated with a given state.This key is typically used to identify equivalent states or to group states that share the same dominance characteristics. Implementations should ensure that two states with identical keys are comparable under the same dominance criteria.
- Parameters:
state- the state for which a dominance key is requested- Returns:
- an object uniquely (or canonically) representing the given state
-
isDominatedOrEqual
Tests whetherstate1is dominated by or equivalent tostate2.A state
state1is said to be dominated bystate2if every feasible continuation fromstate1cannot yield a better objective value than one fromstate2. In other words,state2is at least as good asstate1in all relevant aspects of the problem.- Parameters:
state1- the first state to comparestate2- the second state to compare against- Returns:
trueifstate1is dominated by or equivalent tostate2;falseotherwise
-