Package org.ddolib.examples.alp
Class ALPRelax
java.lang.Object
org.ddolib.examples.alp.ALPRelax
- All Implemented Interfaces:
Relaxation<ALPState>
Relaxation operator for
ALPState in the Aircraft Landing Problem (ALP).
This class defines how multiple states are merged into a single relaxed state when building a relaxed decision diagram. The relaxation helps to limit the size of the decision diagram while maintaining bounds on the optimal solution.
The merged state is computed by:
- For each aircraft class, taking the minimum number of remaining aircraft among all merged states.
- For each runway, taking the minimum previous landing time among all merged states.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionALPRelax(ALPProblem problem) Constructs a relaxation operator for the given ALP problem. -
Method Summary
-
Constructor Details
-
ALPRelax
Constructs a relaxation operator for the given ALP problem.- Parameters:
problem- the ALP problem instance
-
-
Method Details
-
mergeStates
Merges multiple states into a single relaxed state.The merged state takes the minimum remaining aircraft count per class and the minimum previous landing time per runway.
- Specified by:
mergeStatesin interfaceRelaxation<ALPState>- Parameters:
states- an iterator over the states to merge- Returns:
- the merged relaxed state
-
relaxEdge
Returns the relaxed cost of a transition (edge) between states.In this default implementation, the edge cost remains unchanged.
- Specified by:
relaxEdgein interfaceRelaxation<ALPState>- Parameters:
from- the source stateto- the destination statemerged- the merged stated- the decision leading to this transitioncost- the original cost of the transition- Returns:
- the relaxed cost of the edge
-