Class PasFlowShiftOriginBasedSmartLabelledExecutor


  • public class PasFlowShiftOriginBasedSmartLabelledExecutor
    extends PasFlowShiftExecutor
    Functionality to conduct a PAS flow shift by means of the smart labelling technique where we try to minimise the number of labels required across each bush to reduce both computational and memory burden.
    Author:
    markr
    • Constructor Detail

      • PasFlowShiftOriginBasedSmartLabelledExecutor

        protected PasFlowShiftOriginBasedSmartLabelledExecutor​(Pas pas,
                                                               StaticLtmSettings settings)
        Constructor
        Parameters:
        pas - to use
        settings - to use
    • Method Detail

      • executeBushFlowShift

        protected void executeBushFlowShift​(RootedLabelledBush origin,
                                            EdgeSegment entrySegment,
                                            double bushFlowShift,
                                            double[] flowAcceptanceFactors)
        Perform the flow shift for a given bush. Delegate to concrete class implementation
        Specified by:
        executeBushFlowShift in class PasFlowShiftExecutor
        Parameters:
        origin - to perform shift for
        entrySegment - entry segment at hand to apply flow shift for
        bushFlowShift - the absolute shift to apply for the given PAS-bush-entrysegment combination
        flowAcceptanceFactors - to use
      • initialise

        public void initialise()
        Initialise by determining the desired flows along each subpath (on the network level) + identify the label chains along the PAS
        Overrides:
        initialise in class PasFlowShiftExecutor