Class LMRS
- java.lang.Object
-
- org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner
-
- org.opentrafficsim.road.gtu.lane.tactical.lmrs.AbstractIncentivesTacticalPlanner
-
- org.opentrafficsim.road.gtu.lane.tactical.lmrs.LMRS
-
- All Implemented Interfaces:
Serializable
,TacticalPlanner<LaneBasedGTU,LanePerception>
,Blockable
,DesireBased
,LaneBasedTacticalPlanner
,Synchronizable
public class LMRS extends AbstractIncentivesTacticalPlanner implements DesireBased, Synchronizable, Blockable
Implementation of the LMRS (Lane change Model with Relaxation and Synchronization). See Schakel, W.J., Knoop, V.L., and Van Arem, B. (2012), LMRS: Integrated Lane Change Model with Relaxation and Synchronization, Transportation Research Records: Journal of the Transportation Research Board, No. 2316, pp. 47-57. Note in the official versions of TRB and TRR some errors appeared due to the typesetting of the papers (not in the preprint provided here). A list of errata for the official versions is found here.Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version Apr 13, 2016
- Author:
- Wouter Schakel
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.opentrafficsim.road.gtu.lane.tactical.Synchronizable
Synchronizable.State
-
-
Field Summary
-
Fields inherited from class org.opentrafficsim.road.gtu.lane.tactical.lmrs.AbstractIncentivesTacticalPlanner
ACCELERATION, MANDATORY, VOLUNTARY
-
Fields inherited from class org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner
DT, LOOKAHEAD, TACTICAL_PLANNER
-
-
Constructor Summary
Constructors Constructor Description LMRS(CarFollowingModel carFollowingModel, LaneBasedGTU gtu, LanePerception lanePerception, Synchronization synchronization, Cooperation cooperation, GapAcceptance gapAcceptance, Tailgating tailgating)
Constructor setting the car-following model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OperationalPlan
generateOperationalPlan(Time startTime, DirectedPoint locationAtStartTime)
Desire
getLatestDesire(Class<? extends Incentive> incentiveClass)
Returns the latest desire from the specified incentive.Synchronizable.State
getSynchronizationState()
Returns the synchronization state.boolean
isBlocking()
Returns whether the GTU is blocking conflicts.String
toString()
-
Methods inherited from class org.opentrafficsim.road.gtu.lane.tactical.lmrs.AbstractIncentivesTacticalPlanner
addAccelerationIncentive, addMandatoryIncentive, addVoluntaryIncentive, getAccelerationIncentives, getMandatoryIncentives, getVoluntaryIncentives, setDefaultIncentives
-
Methods inherited from class org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner
buildLanePathInfo, buildLanePathInfo, buildLinkListForward, concatenateNull, connectsToPath, determineNextSplit, getCarFollowingModel, getGtu, getPerception, noLaneDrop, setCarFollowingModel
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.opentrafficsim.road.gtu.lane.tactical.LaneBasedTacticalPlanner
chooseLaneAtSplit, okDistance
-
-
-
-
Constructor Detail
-
LMRS
public LMRS(CarFollowingModel carFollowingModel, LaneBasedGTU gtu, LanePerception lanePerception, Synchronization synchronization, Cooperation cooperation, GapAcceptance gapAcceptance, Tailgating tailgating)
Constructor setting the car-following model.- Parameters:
carFollowingModel
- CarFollowingModel; Car-following model.gtu
- LaneBasedGTU; GTUlanePerception
- LanePerception; perceptionsynchronization
- Synchronization; type of synchronizationcooperation
- Cooperation; type of cooperationgapAcceptance
- GapAcceptance; gap-acceptancetailgating
- Tailgating; tail gating
-
-
Method Detail
-
generateOperationalPlan
public final OperationalPlan generateOperationalPlan(Time startTime, DirectedPoint locationAtStartTime) throws OperationalPlanException, GTUException, NetworkException, ParameterException
- Specified by:
generateOperationalPlan
in interfaceTacticalPlanner<LaneBasedGTU,LanePerception>
- Throws:
OperationalPlanException
GTUException
NetworkException
ParameterException
-
getLatestDesire
public final Desire getLatestDesire(Class<? extends Incentive> incentiveClass)
Returns the latest desire from the specified incentive.- Specified by:
getLatestDesire
in interfaceDesireBased
- Parameters:
incentiveClass
- Class<? extends Incentive>; incentive class- Returns:
- latest desire from the specified incentive
-
getSynchronizationState
public Synchronizable.State getSynchronizationState()
Returns the synchronization state.- Specified by:
getSynchronizationState
in interfaceSynchronizable
- Returns:
- State; synchronization state
-
isBlocking
public boolean isBlocking()
Returns whether the GTU is blocking conflicts.- Specified by:
isBlocking
in interfaceBlockable
- Returns:
- boolean; whether the GTU is blocking conflicts
-
-