Class Lmrs
java.lang.Object
org.opentrafficsim.road.gtu.tactical.AbstractLaneBasedTacticalPlanner
org.opentrafficsim.road.gtu.tactical.lmrs.AbstractIncentivesTacticalPlanner
org.opentrafficsim.road.gtu.tactical.lmrs.Lmrs
- All Implemented Interfaces:
TacticalPlanner<LaneBasedGtu,,LanePerception> Blockable,LaneBasedTacticalPlanner,AccelerationBased,DesireBased,Synchronizable,WithDesiredSpeed
public class Lmrs
extends AbstractIncentivesTacticalPlanner
implements Synchronizable, Blockable, WithDesiredSpeed
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-2026 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Wouter Schakel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opentrafficsim.road.gtu.tactical.Synchronizable
Synchronizable.State -
Field Summary
Fields inherited from class org.opentrafficsim.road.gtu.tactical.AbstractLaneBasedTacticalPlanner
DT, LANE_TACTICAL_PLANNER, LOOKAHEAD -
Constructor Summary
ConstructorsConstructorDescriptionLmrs(CarFollowingModel carFollowingModel, LaneBasedGtu gtu, LanePerception lanePerception, Synchronization synchronization, Cooperation cooperation, GapAcceptance gapAcceptance, Tailgating tailgating) Constructor setting the car-following model. -
Method Summary
Modifier and TypeMethodDescriptiongenerateOperationalPlan(org.djunits.value.vdouble.scalar.Duration startTime, DirectedPoint2d locationAtStartTime) org.djunits.value.vdouble.scalar.SpeedReturns the last computed desired speed.Returns the synchronization state.booleanReturns whether the GTU is blocking conflicts.toString()Methods inherited from class org.opentrafficsim.road.gtu.tactical.lmrs.AbstractIncentivesTacticalPlanner
addAccelerationIncentive, addMandatoryIncentive, addVoluntaryIncentive, getAcceleration, getAccelerationIncentives, getLatestAcceleration, getLatestDesire, getLatestMandatoryDesire, getLatestVoluntaryDesire, getMandatoryDesire, getMandatoryIncentives, getVoluntaryDesire, getVoluntaryIncentivesMethods inherited from class org.opentrafficsim.road.gtu.tactical.AbstractLaneBasedTacticalPlanner
getCarFollowingModel, getGtu, getPerception, setCarFollowingModelMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opentrafficsim.road.gtu.tactical.LaneBasedTacticalPlanner
chooseLaneAtSplit
-
Constructor Details
-
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- car-following modelgtu- GTUlanePerception- perceptionsynchronization- type of synchronizationcooperation- type of cooperationgapAcceptance- gap-acceptancetailgating- tailgating
-
-
Method Details
-
generateOperationalPlan
public OperationalPlan generateOperationalPlan(org.djunits.value.vdouble.scalar.Duration startTime, DirectedPoint2d locationAtStartTime) throws GtuException, NetworkException, ParameterException - Specified by:
generateOperationalPlanin interfaceTacticalPlanner<LaneBasedGtu,LanePerception> - Throws:
GtuExceptionNetworkExceptionParameterException
-
getSynchronizationState
Description copied from interface:SynchronizableReturns the synchronization state.- Specified by:
getSynchronizationStatein interfaceSynchronizable- Returns:
- synchronization state
-
isBlocking
public boolean isBlocking()Description copied from interface:BlockableReturns whether the GTU is blocking conflicts.- Specified by:
isBlockingin interfaceBlockable- Returns:
- whether the GTU is blocking conflicts
-
getDesiredSpeed
public org.djunits.value.vdouble.scalar.Speed getDesiredSpeed()Description copied from interface:WithDesiredSpeedReturns the last computed desired speed.- Specified by:
getDesiredSpeedin interfaceWithDesiredSpeed- Returns:
- last computed desired speed
-
toString
-