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 StaticLtmLoadingBushConjugate
createNetworkLoading()
Create conjugate bush based network loading implementationprotected PasFlowShiftExecutor
createPasFlowShiftExecutor(Pas pas, StaticLtmSettings settings)
String
getDescription()
Description of the chosen sLTM strategy for equilibrationprotected StaticLtmLoadingBushConjugate
getLoading()
The network loading to applyprotected 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.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:
createEmptyBushes
in 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:
initialiseBush
in classStaticLtmBushStrategyBase<ConjugateDestinationBush>
- Parameters:
bush
- to usezoning
- to useodDemands
- to useshortestBushAlgorithm
- to use
-
createPasFlowShiftExecutor
protected PasFlowShiftExecutor createPasFlowShiftExecutor(Pas pas, StaticLtmSettings settings)
- Specified by:
createPasFlowShiftExecutor
in 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:
createNetworkLoading
in classStaticLtmBushStrategyBase<ConjugateDestinationBush>
- Returns:
- created loading implementation supporting bush-based approach
-
getLoading
protected StaticLtmLoadingBushConjugate getLoading()
The network loading to apply- Overrides:
getLoading
in 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:
updateBushPass
in classStaticLtmBushStrategyBase<ConjugateDestinationBush>
- Parameters:
linkSegmentCosts
- to use- Returns:
- newly created PASs
- Throws:
PlanItException
- thrown if error
-
getDescription
public String getDescription()
Description copied from class:StaticLtmAssignmentStrategy
Description of the chosen sLTM strategy for equilibration- Specified by:
getDescription
in classStaticLtmAssignmentStrategy
- Returns:
- description of this strategy for sLTM
-
-