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
networkLoadingLinkSegmentInflowUpdate(double[] linkSegmentFlowArrayToFill)
Conduct a network loading to compute updated inflow rates (without tracking turn flows): Eq.protected Map<Integer,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, populateForPersistence, reset, resetIteration, stepFiveCheckNetworkLoadingConvergence, stepFourOutflowReceivingFlowUpdate, stepOneSplittingRatesUpdate, 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 Map<Integer,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 key comprises a combined hash of entry and exit edge segment ids and value is the accepted turn flow v_ab
-
networkLoadingLinkSegmentInflowUpdate
protected void networkLoadingLinkSegmentInflowUpdate(double[] linkSegmentFlowArrayToFill)
Conduct a network loading to compute updated inflow rates (without tracking turn flows): Eq. (3)-(4) in paper- Specified by:
networkLoadingLinkSegmentInflowUpdate
in classStaticLtmNetworkLoading
- Parameters:
linkSegmentFlowArrayToFill
- the inflows (u_a) to update
-
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
-
-