Class MaxCoverFastLowerBound
java.lang.Object
org.ddolib.examples.maximumcoverage.MaxCoverFastLowerBound
- All Implemented Interfaces:
FastLowerBound<MaxCoverState>
Fast lower bound computation for the Maximum Coverage problem.
This class implements FastLowerBound and provides a cheap and
optimistic lower bound on the objective value from a given state.
The bound is based on the maximum cardinality of any subset in the instance.
The lower bound assumes that each remaining decision variable can cover
at most maxCardSet new items, which yields a fast but coarse estimate.
-
Constructor Summary
ConstructorsConstructorDescriptionMaxCoverFastLowerBound(MaxCoverProblem problem) Constructs a fast lower bound evaluator for a given MaxCover problem. -
Method Summary
Modifier and TypeMethodDescriptiondoublefastLowerBound(MaxCoverState state, Set<Integer> variables) Computes a fast lower bound on the objective value from a given state.
-
Constructor Details
-
MaxCoverFastLowerBound
Constructs a fast lower bound evaluator for a given MaxCover problem.During construction, the maximum subset cardinality is precomputed to allow constant-time bound evaluation.
- Parameters:
problem- the MaxCover problem instance
-
-
Method Details
-
fastLowerBound
Computes a fast lower bound on the objective value from a given state.The bound is computed by assuming that each remaining variable can contribute at most
maxCardSetadditional covered items. The result is returned as a negative value to match the minimization formulation of the problem.- Specified by:
fastLowerBoundin interfaceFastLowerBound<MaxCoverState>- Parameters:
state- the current state (not explicitly used in this bound)variables- the set of remaining decision variables- Returns:
- a fast, optimistic lower bound on the objective value
-