Package org.goplanit.assignment.ltm.sltm
Class StaticLtmBushStrategy
- java.lang.Object
-
- org.goplanit.assignment.ltm.sltm.StaticLtmAssignmentStrategy
-
- org.goplanit.assignment.ltm.sltm.StaticLtmBushStrategy
-
public class StaticLtmBushStrategy extends StaticLtmAssignmentStrategy
Implementation to support a bush absed solution for sLTM- Author:
- markr
-
-
Constructor Summary
Constructors Constructor Description StaticLtmBushStrategy(IdGroupingToken idGroupingToken, long assignmentId, TransportModelNetwork transportModelNetwork, StaticLtmSettings settings, TrafficAssignmentComponentAccessee taComponents)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
createInitialSolution(double[] initialLinkSegmentCosts)
Create initial bushes, where for each origin the bush is initialised with the shortest path onlyprotected StaticLtmLoadingBush
createNetworkLoading()
Create bush based network loading implementationString
getDescription()
Description of the chosen sLTM strategy for equilibrationprotected StaticLtmLoadingBush
getLoading()
The network loading to applyboolean
performIteration(Mode theMode, double[] costsToUpdate, int iterationIndex)
Perform an iteration by: 1.-
Methods inherited from class org.goplanit.assignment.ltm.sltm.StaticLtmAssignmentStrategy
executeNetworkCostsUpdate, executeNetworkLoading, getAssignmentId, getIdGroupingToken, getInfrastructureNetwork, getOdDemands, getSettings, getTrafficAssignmentComponent, getTransportNetwork, setOdDemands, updateTimePeriod, verifyNetworkLoadingConvergenceProgress
-
-
-
-
Constructor Detail
-
StaticLtmBushStrategy
public StaticLtmBushStrategy(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
-
createNetworkLoading
protected StaticLtmLoadingBush createNetworkLoading()
Create bush based network loading implementation- Specified by:
createNetworkLoading
in classStaticLtmAssignmentStrategy
- Returns:
- created loading implementation supporting bush-based approach
-
getLoading
protected StaticLtmLoadingBush getLoading()
The network loading to apply- Overrides:
getLoading
in classStaticLtmAssignmentStrategy
- Returns:
- network loading
-
createInitialSolution
public void createInitialSolution(double[] initialLinkSegmentCosts)
Create initial bushes, where for each origin the bush is initialised with the shortest path only- Specified by:
createInitialSolution
in classStaticLtmAssignmentStrategy
- Parameters:
initialLinkSegmentCosts
- costs to use
-
performIteration
public boolean performIteration(Mode theMode, double[] costsToUpdate, int iterationIndex)
Perform an iteration by: 1. Identify new PASs and shift flow from affected bushes 2. Conduct another loading update based on adjusted PASs and bushes 3. Update Bushes by shifting flow between existing PASs 4. Conducting a loading to obtain network costs- Specified by:
performIteration
in classStaticLtmAssignmentStrategy
- Parameters:
theMode
- to usecostsToUpdate
- to place updated costs in (output)iterationIndex
- we're at- Returns:
- true when iteration could be successfully completed, false otherwise
-
getDescription
public String getDescription()
Description of the chosen sLTM strategy for equilibration- Specified by:
getDescription
in classStaticLtmAssignmentStrategy
- Returns:
- String
-
-