Class StaticLtmStrategyConjugateBush
- java.lang.Object
-
- org.goplanit.assignment.ltm.sltm.StaticLtmAssignmentStrategy
-
- org.goplanit.assignment.ltm.sltm.StaticLtmBushStrategyBase<ConjugateDestinationBush>
-
- org.goplanit.assignment.ltm.sltm.conjugate.StaticLtmStrategyConjugateBush
-
public class StaticLtmStrategyConjugateBush extends StaticLtmBushStrategyBase<ConjugateDestinationBush>
Base implementation to support a bush based solution for sLTM- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.assignment.ltm.sltm.StaticLtmBushStrategyBase
bushes, equalFlowDistributedPass, pasManager
-
-
Constructor Summary
Constructors Constructor Description StaticLtmStrategyConjugateBush(IdGroupingToken idGroupingToken, long assignmentId, TransportModelNetwork transportModelNetwork, StaticLtmSettings settings, TrafficAssignmentComponentAccessee taComponents)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ConjugateDestinationBush[]createEmptyBushes()Create initial conjugate (destination based) empty bushesprotected StaticLtmLoadingBushConjugatecreateNetworkLoading()Create conjugate bush based network loading implementationprotected PasFlowShiftExecutorcreatePasFlowShiftExecutor(Pas pas, StaticLtmSettings settings)StringgetDescription()Description of the chosen sLTM strategy for equilibrationprotected StaticLtmLoadingBushConjugategetLoading()The network loading to applyprotected voidinitialiseBush(ConjugateDestinationBush bush, Zoning zoning, OdDemands odDemands, ShortestBushGeneralised shortestBushAlgorithm)Initialise the sLTM bush by including the relevant DAGs based on available demand and bush layout.protected Collection<Pas>updateBushPass(double[] linkSegmentCosts)Based on provided original network link segment costs see if we can update the existing collection of PASs-
Methods inherited from class org.goplanit.assignment.ltm.sltm.StaticLtmBushStrategyBase
createInitialSolution, createNetworkShortestBushAlgo, createNetworkShortestPathAlgo, hasConverged, initialiseBushes, isSolutionFlowEntropyMaximised, performIteration, syncBushFlowsToNetworkFlows, updateGap
-
Methods inherited from class org.goplanit.assignment.ltm.sltm.StaticLtmAssignmentStrategy
executeNetworkCostsUpdate, executeNetworkLoading, findCentroidVertex, getAssignmentId, getIdGroupingToken, getInfrastructureNetwork, getOdDemands, getSettings, getTrafficAssignmentComponent, getTransportNetwork, setOdDemands, updateTimePeriod, verifyNetworkLoadingConvergenceProgress
-
-
-
-
Constructor Detail
-
StaticLtmStrategyConjugateBush
public StaticLtmStrategyConjugateBush(IdGroupingToken idGroupingToken, long assignmentId, TransportModelNetwork transportModelNetwork, StaticLtmSettings settings, TrafficAssignmentComponentAccessee taComponents)
Constructor- Parameters:
idGroupingToken- to use for internal managed idsassignmentId- of parent assignmenttransportModelNetwork- to usesettings- to usetaComponents- to use for access to user configured assignment components
-
-
Method Detail
-
createEmptyBushes
protected ConjugateDestinationBush[] createEmptyBushes()
Create initial conjugate (destination based) empty bushes- Specified by:
createEmptyBushesin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Returns:
- created empty bushes suitable for this strategy
-
initialiseBush
protected void initialiseBush(ConjugateDestinationBush bush, Zoning zoning, OdDemands odDemands, ShortestBushGeneralised shortestBushAlgorithm)
Initialise the sLTM bush by including the relevant DAGs based on available demand and bush layout. When equal costs are found between alternative paths OD demand is to be split proportionallyAdd the edge segments to the bush and update the turn sending flow accordingly.
- Specified by:
initialiseBushin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Parameters:
bush- to usezoning- to useodDemands- to useshortestBushAlgorithm- to use
-
createPasFlowShiftExecutor
protected PasFlowShiftExecutor createPasFlowShiftExecutor(Pas pas, StaticLtmSettings settings)
- Specified by:
createPasFlowShiftExecutorin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Parameters:
pas- to create flow shift executor forsettings- to use- Returns:
- created executor
-
createNetworkLoading
protected StaticLtmLoadingBushConjugate createNetworkLoading()
Create conjugate bush based network loading implementation- Specified by:
createNetworkLoadingin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Returns:
- created loading implementation supporting bush-based approach
-
getLoading
protected StaticLtmLoadingBushConjugate getLoading()
The network loading to apply- Overrides:
getLoadingin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Returns:
- network loading
-
updateBushPass
protected Collection<Pas> updateBushPass(double[] linkSegmentCosts) throws PlanItException
Based on provided original network link segment costs see if we can update the existing collection of PASs- Specified by:
updateBushPassin classStaticLtmBushStrategyBase<ConjugateDestinationBush>- Parameters:
linkSegmentCosts- to use- Returns:
- newly created PASs
- Throws:
PlanItException- thrown if error
-
getDescription
public String getDescription()
Description copied from class:StaticLtmAssignmentStrategyDescription of the chosen sLTM strategy for equilibration- Specified by:
getDescriptionin classStaticLtmAssignmentStrategy- Returns:
- description of this strategy for sLTM
-
-