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 voidactivateEligibleSplittingRateTrackedNodes()In a path based implementation, tracked nodes overlap with potentially blocking nodes.protected voidnetworkLoadingLinkSegmentInflowUpdate(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.voidupdateOdPaths(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:
networkLoadingTurnFlowUpdatein 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:
networkLoadingLinkSegmentInflowUpdatein 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:
activateEligibleSplittingRateTrackedNodesin classStaticLtmNetworkLoading
-
updateOdPaths
public void updateOdPaths(OdPaths odPaths)
Update the od paths to use in the loading- Parameters:
odPaths- to use
-
-