Package org.goplanit.assignment.ltm
Class LtmAssignment
- java.lang.Object
-
- org.goplanit.component.PlanitComponent<NetworkLoading>
-
- org.goplanit.supply.networkloading.NetworkLoading
-
- org.goplanit.assignment.TrafficAssignment
-
- org.goplanit.assignment.ltm.LtmAssignment
-
- All Implemented Interfaces:
Serializable
,Comparable<IdAble>
,EventListener
,PlanitComponentListener
,InteractorAccessee
,TrafficAssignmentComponentAccessee
,EventListener
,ExternalIdAble
,IdAble
- Direct Known Subclasses:
EventBasedLtm
,StaticLtm
public abstract class LtmAssignment extends TrafficAssignment
Link Transmission Model implementation base implementation for network loading based on LTM network loading paradigm.- Author:
- markr
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.goplanit.assignment.TrafficAssignment
ALGORITHM_B, ELTM, initialLinkSegmentCostByTimePeriod, initialLinkSegmentCostTimePeriodAgnostic, SLTM, TRADITIONAL_STATIC_ASSIGNMENT
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
LtmAssignment(LtmAssignment other, boolean deepCopy)
Copy Constructorprotected
LtmAssignment(IdGroupingToken groupId)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract LtmAssignment
deepClone()
deep clone on planit component should attempt to also update internal dependencies between deep cloned containers where possiblePathChoice
getPathChoice()
The path choice model to useprotected MacroscopicNetworkLayer
getUsedNetworkLayer()
The used network layervoid
reset()
All components should be able to reset going back to some representative initial statevoid
setFundamentalDiagram(FundamentalDiagramComponent fundamentalDiagram)
Set the fundamental diagramvoid
setNodeModel(NodeModelComponent nodeModel)
The node model to usevoid
setPathChoice(PathChoice pathChoice)
The path choice model to useabstract LtmAssignment
shallowClone()
Create a shallow copy of this entityprotected void
verifyComponentCompatibility()
Verify if the create traffic assignment (sbu)components are compatible with each other and the created transport network.protected void
verifyNetworkDemandZoningCompatibility()
Verify if the network contains a single compatible infrastructure layer because sLTM does not (yet) support multiple (or intermodal) network layers-
Methods inherited from class org.goplanit.assignment.TrafficAssignment
checkForEmptyComponents, createLoggingPrefix, createOutputTypeAdapter, createTransportNetwork, disbandTransportNetwork, execute, executeEquilibration, finalizeAfterExecution, getDemands, getGapFunction, getInfrastructureNetwork, getIterationIndex, getOutputManager, getPhysicalCost, getSmoothing, getTotalNumberOfNetworkSegments, getTotalNumberOfNetworkVertices, getTrafficAssignmentComponent, getTransportNetwork, getVirtualCost, getZoning, initialiseBeforeExecution, logAllSettings, logRegisteredComponentName, registerComponent, setDemands, setGapFunction, setInfrastructureNetwork, setInitialLinkSegmentCost, setInitialLinkSegmentCost, setOutputManager, setPhysicalCost, setSmoothing, setVirtualCost, setZoning
-
Methods inherited from class org.goplanit.component.PlanitComponent
collectSettingsAsKeyValueMap, equals, getComponentType, getExternalId, getId, getIdGroupingToken, getKnownSupportedEventTypes, getXmlId, hashCode, onPlanitComponentEvent, setExternalId, setXmlId
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.goplanit.utils.event.EventListener
hasKnownSupportedEventTypes
-
Methods inherited from interface org.goplanit.utils.id.ExternalIdAble
appendExternalId, appendExternalId, getIdsAsString, getSplitExternalId, getSplitExternalId, hasExternalId, hasXmlId, setXmlId
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, idEquals, idHashCode
-
Methods inherited from interface org.goplanit.interactor.InteractorAccessee
getCompatibleAccessor
-
-
-
-
Constructor Detail
-
LtmAssignment
protected LtmAssignment(IdGroupingToken groupId)
Constructor- Parameters:
groupId
- contiguous id generation within this group for instances of this class
-
LtmAssignment
protected LtmAssignment(LtmAssignment other, boolean deepCopy)
Copy Constructor- Parameters:
other
- to copydeepCopy
- when true, create a eep copy, shallow copy otherwise
-
-
Method Detail
-
getUsedNetworkLayer
protected MacroscopicNetworkLayer getUsedNetworkLayer()
The used network layer- Returns:
- network layer used
-
verifyNetworkDemandZoningCompatibility
protected void verifyNetworkDemandZoningCompatibility() throws PlanItException
Verify if the network contains a single compatible infrastructure layer because sLTM does not (yet) support multiple (or intermodal) network layers- Specified by:
verifyNetworkDemandZoningCompatibility
in classTrafficAssignment
- Throws:
PlanItException
- thrown if the components are not compatible
-
verifyComponentCompatibility
protected void verifyComponentCompatibility() throws PlanItException
Verify if the create traffic assignment (sbu)components are compatible with each other and the created transport network. Called before starting the simulation and after the transport network has been generated from physical and virtual network. So this is called after the build of the assignment instance- Specified by:
verifyComponentCompatibility
in classTrafficAssignment
- Throws:
PlanItException
- thrown if the components are not compatible
-
shallowClone
public abstract LtmAssignment shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in classTrafficAssignment
- Returns:
- shallow copy of entity
-
deepClone
public abstract LtmAssignment deepClone()
deep clone on planit component should attempt to also update internal dependencies between deep cloned containers where possible- Specified by:
deepClone
in interfaceIdAble
- Specified by:
deepClone
in classTrafficAssignment
- Returns:
- deep copy of entity
-
setFundamentalDiagram
public void setFundamentalDiagram(FundamentalDiagramComponent fundamentalDiagram)
Set the fundamental diagram- Parameters:
fundamentalDiagram
- the fundamental diagram
-
setNodeModel
public void setNodeModel(NodeModelComponent nodeModel)
The node model to use- Parameters:
nodeModel
- to use
-
getPathChoice
public PathChoice getPathChoice()
The path choice model to use- Returns:
- path choice model used
-
setPathChoice
public void setPathChoice(PathChoice pathChoice)
The path choice model to use- Parameters:
pathChoice
- model used
-
reset
public void reset()
All components should be able to reset going back to some representative initial state- Overrides:
reset
in classTrafficAssignment
-
-