Package org.ddolib.examples.alp
Class ALPFastLowerBound
java.lang.Object
org.ddolib.examples.alp.ALPFastLowerBound
- All Implemented Interfaces:
FastLowerBound<ALPState>
Fast lower bound computation for the Aircraft Landing Problem (ALP).
This class implements the FastLowerBound interface for ALPState.
It provides a heuristic estimation of the minimum total tardiness that can be
achieved from a given state, considering only unassigned aircraft and ignoring
conflicts that may arise from simultaneous assignments.
The heuristic works as follows:
- For each aircraft class, it iterates over the remaining aircraft.
- For each aircraft, it computes the estimated tardiness for each runway.
- The minimum estimated tardiness across all runways is selected.
- If an aircraft cannot be assigned to any runway without missing its deadline,
the function returns
Integer.MAX_VALUEto indicate an infeasible state. - The sum of these minimum tardiness values over all remaining aircraft is returned as the fast lower bound.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionALPFastLowerBound(ALPProblem problem) Constructs a new fast lower bound evaluator for the given ALP problem. -
Method Summary
Modifier and TypeMethodDescriptiondoublefastLowerBound(ALPState state, Set<Integer> variables) Computes a heuristic lower bound of total tardiness from the given state.
-
Constructor Details
-
ALPFastLowerBound
Constructs a new fast lower bound evaluator for the given ALP problem.- Parameters:
problem- the ALP problem instance
-
-
Method Details
-
fastLowerBound
Computes a heuristic lower bound of total tardiness from the given state.- Specified by:
fastLowerBoundin interfaceFastLowerBound<ALPState>- Parameters:
state- the current state containing remaining aircraft and runway assignmentsvariables- the set of variables (aircraft indices) that can still be assigned- Returns:
- the estimated lower bound of total tardiness;
Integer.MAX_VALUEif infeasible
-