Class StaticLtmLoadingPath
- java.lang.Object
-
- org.goplanit.assignment.ltm.sltm.loading.StaticLtmNetworkLoading
-
- org.goplanit.assignment.ltm.sltm.loading.StaticLtmLoadingPath
-
public class StaticLtmLoadingPath extends StaticLtmNetworkLoading
The path based network loading scheme for sLTM- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.assignment.ltm.sltm.loading.StaticLtmNetworkLoading
convergenceAnalyser, flowAcceptanceGapFunction, inFlowOutflowData, networkLoadingFactorData, prevIterationFinalSolutionScheme, receivingFlowData, receivingFlowGapFunction, sendingFlowData, sendingFlowGapFunction, settings, solutionScheme, splittingRateData
-
-
Constructor Summary
Constructors Constructor Description StaticLtmLoadingPath(IdGroupingToken idToken, long assignmentId, StaticLtmSettings settings)
constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
activateEligibleSplittingRateTrackedNodes()
In a path based implementation, tracked nodes overlap with potentially blocking nodes.protected void
networkLoadingLinkSegmentSendingflowOutflowUpdate()
Conduct a network loading to compute updated current sending flow and outflow rates (without tracking turn flows).protected void
networkLoadingLinkSegmentSendingFlowUpdate()
Conduct a network loading to compute updated current sending flow rates (without tracking turn flows): Eq.protected org.apache.commons.collections4.map.MultiKeyMap<Object,Double>
networkLoadingTurnFlowUpdate()
Conduct a network loading to compute updated turn inflow rates u_ab: Eq.void
updateOdPaths(OdPaths odPaths)
Update the od paths to use in the loading-
Methods inherited from class org.goplanit.assignment.ltm.sltm.loading.StaticLtmNetworkLoading
activateAllUsedNodeSplittingRates, activateNextExtension, getActivatedSolutionScheme, getCurrentFlowAcceptanceFactors, getCurrentInflowsPcuH, getCurrentOutflowsPcuH, getOdDemands, getSettings, getSplittingRateData, getSupportedMode, getTransportNetwork, getUsedNetworkLayer, initialiseInputs, isConverging, isIterativeSendingFlowUpdateActivated, isTrackAllNodeTurnFlows, performNodeModelUpdate, reset, resetIteration, stepFiveCheckNetworkLoadingConvergence, stepFourOutflowReceivingFlowUpdate, stepOneSplittingRatesUpdate, stepSixFinaliseForPersistence, stepThreeSplittingRateUpdate, stepTwoInflowSendingFlowUpdate, stepZeroIterationInitialisation, updatePotentiallyBlockingNodes, validateInputs
-
-
-
-
Constructor Detail
-
StaticLtmLoadingPath
public StaticLtmLoadingPath(IdGroupingToken idToken, long assignmentId, StaticLtmSettings settings)
constructor- Parameters:
idToken
- to useassignmentId
- to usesettings
- to use
-
-
Method Detail
-
networkLoadingTurnFlowUpdate
protected org.apache.commons.collections4.map.MultiKeyMap<Object,Double> networkLoadingTurnFlowUpdate()
Conduct a network loading to compute updated turn inflow rates u_ab: Eq. (3)-(4) in paper. We only consider turns on nodes that are tracked or activated to reduce computational overhead.- Specified by:
networkLoadingTurnFlowUpdate
in classStaticLtmNetworkLoading
- Returns:
- acceptedTurnFlows (on potentially blocking nodes) where multikey comprises entry and exit edge segment and value is the accepted turn flow v_ab
-
networkLoadingLinkSegmentSendingFlowUpdate
protected void networkLoadingLinkSegmentSendingFlowUpdate()
Conduct a network loading to compute updated current sending flow rates (without tracking turn flows): Eq. (3)-(4) in paper- Specified by:
networkLoadingLinkSegmentSendingFlowUpdate
in classStaticLtmNetworkLoading
-
networkLoadingLinkSegmentSendingflowOutflowUpdate
protected void networkLoadingLinkSegmentSendingflowOutflowUpdate()
Conduct a network loading to compute updated current sending flow and outflow rates (without tracking turn flows). Used to finalise a loading after convergence to ensure consistency in flows that might be compromised during local updates- Specified by:
networkLoadingLinkSegmentSendingflowOutflowUpdate
in classStaticLtmNetworkLoading
-
activateEligibleSplittingRateTrackedNodes
protected void activateEligibleSplittingRateTrackedNodes()
In a path based implementation, tracked nodes overlap with potentially blocking nodes. Since potentially blocking nodes are identified by the base class, there is no need for additional work in this implementation. Empty implementation- Specified by:
activateEligibleSplittingRateTrackedNodes
in classStaticLtmNetworkLoading
-
updateOdPaths
public void updateOdPaths(OdPaths odPaths)
Update the od paths to use in the loading- Parameters:
odPaths
- to use
-
-