Package org.goplanit.assignment.ltm.eltm
Class EventBasedLtm
- java.lang.Object
-
- org.goplanit.component.PlanitComponent<NetworkLoading>
-
- org.goplanit.supply.networkloading.NetworkLoading
-
- org.goplanit.assignment.TrafficAssignment
-
- org.goplanit.assignment.ltm.LtmAssignment
-
- org.goplanit.assignment.ltm.eltm.EventBasedLtm
-
- All Implemented Interfaces:
Serializable
,Comparable<IdAble>
,EventListener
,PlanitComponentListener
,InteractorAccessee
,TrafficAssignmentComponentAccessee
,EventListener
,ExternalIdAble
,IdAble
public class EventBasedLtm extends LtmAssignment
Event based Link Transmission Model implementation (eLTM) for network loading using a capacity constrained (Deterministic) assignment- 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 Constructor Description EventBasedLtm(EventBasedLtm other, boolean deepCopy)
Copy ConstructorEventBasedLtm(IdGroupingToken groupId)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,String>
collectSettingsAsKeyValueMap()
Provide all the settings of this particular component by name and value, where each value is a string representation of the underlying entityOutputTypeAdapter
createOutputTypeAdapter(OutputType outputType)
Create the output type adapter for the current output type, specifically tailored towards the assignment type that we are builingLtmAssignment
deepClone()
deep clone on planit component should attempt to also update internal dependencies between deep cloned containers where possiblevoid
executeEquilibration()
Run equilibration after resources initialized, including saving resultsClass<? extends InteractorAccessor<?>>
getCompatibleAccessor()
this accessee provides access to this accessorint
getIterationIndex()
Collect the current iteration index of the simulationvoid
reset()
All components should be able to reset going back to some representative initial stateEventBasedLtm
shallowClone()
Create a shallow copy of this entity-
Methods inherited from class org.goplanit.assignment.ltm.LtmAssignment
getPathChoice, getUsedNetworkLayer, setFundamentalDiagram, setNodeModel, setPathChoice, verifyComponentCompatibility, verifyNetworkDemandZoningCompatibility
-
Methods inherited from class org.goplanit.assignment.TrafficAssignment
checkForEmptyComponents, createLoggingPrefix, createTransportNetwork, disbandTransportNetwork, execute, finalizeAfterExecution, getDemands, getGapFunction, getInfrastructureNetwork, 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
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
-
-
-
-
Constructor Detail
-
EventBasedLtm
public EventBasedLtm(IdGroupingToken groupId)
Constructor- Parameters:
groupId
- contiguous id generation within this group for instances of this class
-
EventBasedLtm
public EventBasedLtm(EventBasedLtm other, boolean deepCopy)
Copy Constructor- Parameters:
other
- to copydeepCopy
- when true, create a eep copy, shallow copy otherwise
-
-
Method Detail
-
createOutputTypeAdapter
public OutputTypeAdapter createOutputTypeAdapter(OutputType outputType)
Description copied from class:TrafficAssignment
Create the output type adapter for the current output type, specifically tailored towards the assignment type that we are builing- Specified by:
createOutputTypeAdapter
in classTrafficAssignment
- Parameters:
outputType
- the current output type- Returns:
- the output type adapter corresponding to the current traffic assignment and output type
-
executeEquilibration
public void executeEquilibration() throws PlanItException
Description copied from class:TrafficAssignment
Run equilibration after resources initialized, including saving results- Specified by:
executeEquilibration
in classTrafficAssignment
- Throws:
PlanItException
- thrown if there is an error
-
getIterationIndex
public int getIterationIndex()
Description copied from class:TrafficAssignment
Collect the current iteration index of the simulation- Specified by:
getIterationIndex
in classTrafficAssignment
- Returns:
- current iteration index
-
shallowClone
public EventBasedLtm shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in classLtmAssignment
- Returns:
- shallow copy of entity
-
deepClone
public 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 classLtmAssignment
- Returns:
- deep copy of entity
-
getCompatibleAccessor
public Class<? extends InteractorAccessor<?>> getCompatibleAccessor()
Description copied from interface:InteractorAccessee
this accessee provides access to this accessor- Returns:
- class that accessee provides to
-
reset
public void reset()
All components should be able to reset going back to some representative initial state- Overrides:
reset
in classLtmAssignment
-
collectSettingsAsKeyValueMap
public Map<String,String> collectSettingsAsKeyValueMap()
Provide all the settings of this particular component by name and value, where each value is a string representation of the underlying entity- Specified by:
collectSettingsAsKeyValueMap
in classPlanitComponent<NetworkLoading>
- Returns:
- name-value map of all (user configurable) settings
-
-