Class SplittingRateDataComplete
- java.lang.Object
- 
- org.goplanit.assignment.ltm.sltm.loading.SplittingRateDataComplete
 
- 
- All Implemented Interfaces:
- SplittingRateData
 
 public class SplittingRateDataComplete extends Object implements SplittingRateData Store the splitting rates used during sLTM loading updates (Step 1 and 5). In this implementation we track all splitting rates of turns that are used by a path and assumed they are potentially blocking. This implementation explicitly requires registering tracked nodes (not all nodes might be used in loading) but the way the information is stored is different to reduce the memory footprint. All nodes of used paths are tracked providing a complete picture of the network. This requires more memory compared to the partial implementation. This way of tracking is compatible with the PhysicalQueue solution methods as well as the Advanced PointQueue solution method.- Author:
- markr
 
- 
- 
Constructor SummaryConstructors Constructor Description SplittingRateDataComplete(long numberOfLinkSegments)Constructor
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateNode(DirectedVertex trackedNode)Activate a node so we are able to track its splitting rates (and turn flows) during loading.org.ojalgo.array.Array1D<Double>getSplittingRates(EdgeSegment entrySegment)Obtain the downstream splitting rates of given node entry segment (can be modified)TreeSet<DirectedVertex>getTrackedNodes()Collect all registered potentially blocking nodesbooleanisPotentiallyBlocking(DirectedVertex nodeToVerify)Verify if node is registered as potentially blockingbooleanisTracked(DirectedVertex nodeToVerify)Verify if node is registered as being tracked with splitting ratesvoidresetPotentiallyBlockingNodes()Reset registered potentially blocking nodesvoidresetSplittingRates()Reset splitting rate datavoidresetTrackedNodes()Reset registered tracked nodes- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.goplanit.assignment.ltm.sltm.loading.SplittingRateDatagetSplittingRate, reset
 
- 
 
- 
- 
- 
Method Detail- 
activateNodepublic void activateNode(DirectedVertex trackedNode) Activate a node so we are able to track its splitting rates (and turn flows) during loading. It is regarded as both tracked and potentially blocking- Parameters:
- trackedNode- to start tracking turn flows and splitting rates for
 
 - 
isPotentiallyBlockingpublic boolean isPotentiallyBlocking(DirectedVertex nodeToVerify) Verify if node is registered as potentially blocking- Specified by:
- isPotentiallyBlockingin interface- SplittingRateData
- Parameters:
- nodeToVerify- the node to verify
- Returns:
- true when registered as potentially blocking, false otherwise
 
 - 
isTrackedpublic boolean isTracked(DirectedVertex nodeToVerify) Verify if node is registered as being tracked with splitting rates- Specified by:
- isTrackedin interface- SplittingRateData
- Parameters:
- nodeToVerify- the node to verify
- Returns:
- true when registered as tracked, false otherwise
 
 - 
getTrackedNodespublic TreeSet<DirectedVertex> getTrackedNodes() Collect all registered potentially blocking nodes- Specified by:
- getTrackedNodesin interface- SplittingRateData
- Returns:
- registered potentially blocking nodes
 
 - 
getSplittingRatespublic org.ojalgo.array.Array1D<Double> getSplittingRates(EdgeSegment entrySegment) Obtain the downstream splitting rates of given node entry segment (can be modified)- Specified by:
- getSplittingRatesin interface- SplittingRateData
- Parameters:
- entrySegment- to obtain for
- Returns:
- currently set next splitting rates
 
 - 
resetTrackedNodespublic void resetTrackedNodes() Reset registered tracked nodes- Specified by:
- resetTrackedNodesin interface- SplittingRateData
 
 - 
resetPotentiallyBlockingNodespublic void resetPotentiallyBlockingNodes() Reset registered potentially blocking nodes- Specified by:
- resetPotentiallyBlockingNodesin interface- SplittingRateData
 
 - 
resetSplittingRatespublic void resetSplittingRates() Reset splitting rate data- Specified by:
- resetSplittingRatesin interface- SplittingRateData
 
 
- 
 
-