Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MSRoutingEngine Class Reference

A device that performs vehicle rerouting based on current edge speeds. More...

#include <MSRoutingEngine.h>

Collaboration diagram for MSRoutingEngine:
[legend]

Public Types

typedef SUMOAbstractRouter< MSEdge, SUMOVehicle >::Prohibitions Prohibitions
 

Static Public Member Functions

static void addEdgeTravelTime (const MSEdge &edge, const SUMOTime travelTime)
 record actual travel time for an edge
 
static void applyExtras (const MSEdge *const e, const SUMOVehicle *const v, SUMOTime step, double &effort)
 apply cost modifications from randomness, priorityFactor and preferences
 
static void cleanup ()
 deletes the router instance
 
static double getAssumedSpeed (const MSEdge *edge, const SUMOVehicle *veh)
 return current travel speed assumption
 
static ConstMSRoutePtr getCachedRoute (const std::pair< const MSEdge *, const MSEdge * > &key)
 return the cached route or nullptr on miss
 
static double getEffort (const MSEdge *const e, const SUMOVehicle *const v, double t)
 Returns the effort to pass an edge.
 
static double getEffortBike (const MSEdge *const e, const SUMOVehicle *const v, double t)
 
static double getEffortExtra (const MSEdge *const e, const SUMOVehicle *const v, double t)
 
static MSTransportableRoutergetIntermodalRouterTT (const int rngIndex, const Prohibitions &prohibited={})
 return the person router instance
 
static SUMOTime getLastAdaptation ()
 Information when the last edge weight adaptation occurred.
 
static MSVehicleRoutergetRouterTT (const int rngIndex, SUMOVehicleClass svc, const Prohibitions &prohibited={})
 return the vehicle router instance
 
static bool hasBikeSpeeds ()
 whether the router collects bicycle speeds
 
static bool hasEdgeUpdates ()
 returns whether any edge weight updates will take place
 
static bool haveExtras ()
 
static void initEdgeWeights (SUMOVehicleClass svc, SUMOTime lastAdaption=-1, int index=-1)
 initialize the edge weights if not done before
 
static void initRouter (SUMOVehicle *vehicle=nullptr)
 
static void initWeightConstants (const OptionsCont &oc)
 initialize constants for using myPriorityFactor
 
static void initWeightUpdate ()
 intialize period edge weight update
 
static bool isEnabled ()
 returns whether any routing actions take place
 
static void loadState (const SUMOSAXAttributes &attrs)
 Loads the state.
 
static void reroute (MSTransportable &t, const SUMOTime currentTime, const std::string &info, const bool onInit=false, const bool silent=false, const Prohibitions &prohibited={})
 initiate the person rerouting, create router / thread pool on first use
 
static void reroute (SUMOVehicle &vehicle, const SUMOTime currentTime, const std::string &info, const bool onInit=false, const bool silent=false, const Prohibitions &prohibited={})
 initiate the rerouting, create router / thread pool on first use
 
static void saveState (OutputDevice &out)
 Saves the state (i.e. recorded speeds)
 
static void setEdgeTravelTime (const MSEdge *const edge, const double travelTime)
 adapt the known travel time for an edge
 
static bool withTaz ()
 whether taz-routing is enabled
 

Static Public Attributes

static SUMOAbstractRouter< MSEdge, SUMOVehicle >::Operation myEffortFunc = &MSRoutingEngine::getEffort
 

Private Types

typedef std::pair< SUMOTime, int > TimeAndCount
 

Private Member Functions

 MSRoutingEngine (const MSRoutingEngine &)
 Invalidated copy constructor.
 
MSRoutingEngineoperator= (const MSRoutingEngine &)
 Invalidated assignment operator.
 

Static Private Member Functions

static void _initEdgeWeights (std::vector< double > &edgeSpeeds, std::vector< std::vector< double > > &pastEdgeSpeeds)
 initialized edge speed storage into the given containers
 
static SumoRNGgetThreadRNG ()
 returns RNG associated with the current thread
 
Network state adaptation
static SUMOTime adaptEdgeEfforts (SUMOTime currentTime)
 Adapt edge efforts by the current edge states.
 
static double patchSpeedForTurns (const MSEdge *edge, double currSpeed)
 

Static Private Attributes

static SUMOTime myAdaptationInterval = -1
 At which time interval the edge weights get updated.
 
static int myAdaptationSteps
 The number of steps for averaging edge speeds (ring-buffer)
 
static int myAdaptationStepsIndex = 0
 The current index in the pastEdgeSpeed ring-buffer.
 
static double myAdaptationWeight
 Information which weight prior edge efforts have.
 
static bool myBikeSpeeds
 whether separate speeds for bicycles shall be tracked
 
static std::map< std::pair< const MSEdge *, const MSEdge * >, ConstMSRoutePtrmyCachedRoutes
 The container of pre-calculated routes.
 
static bool myDynamicRandomness
 whether randomness varies over time
 
static std::vector< double > myEdgeBikeSpeeds
 
static double myEdgePriorityRange
 the difference between maximum and minimum priority for all edges
 
static std::vector< double > myEdgeSpeeds
 The container of edge speeds.
 
static std::vector< TimeAndCountmyEdgeTravelTimes
 Sum of travel times experienced by equipped vehicles for each edge.
 
static CommandmyEdgeWeightSettingCommand = nullptr
 The weights adaptation/overwriting command.
 
static bool myHaveExtras
 whether extra routing cost modifications are configured
 
static SUMOTime myLastAdaptation = -1
 Information when the last edge weight adaptation occurred.
 
static double myMinEdgePriority
 Minimum priority for all edges.
 
static std::vector< std::vector< double > > myPastEdgeBikeSpeeds
 
static std::vector< std::vector< double > > myPastEdgeSpeeds
 The container of past edge speeds (when using a simple moving average)
 
static double myPriorityFactor
 Coefficient for factoring edge priority into routing weight.
 
static MSRouterProvidermyRouterProvider = nullptr
 The router to use.
 
static bool myWithTaz
 whether taz shall be used at initial rerouting
 

Detailed Description

A device that performs vehicle rerouting based on current edge speeds.

The routing-device system consists of in-vehicle devices that perform a routing and a simulation-wide (static) methods for colecting edge weights.

The edge weights container "myEdgeSpeeds" is pre-initialised as soon as one device is built and is kept updated via an event that adapts it to the current mean speed on the simulated network's edges.

A device is assigned to a vehicle using the common explicit/probability - procedure.

A device computes a new route for a vehicle as soon as the vehicle is inserted (within "enterLaneAtInsertion") - and, if the given period is larger than 0 - each x time steps where x is the period. This is triggered by an event that executes "wrappedRerouteCommandExecute".

Definition at line 67 of file MSRoutingEngine.h.

Member Typedef Documentation

◆ Prohibitions

Definition at line 69 of file MSRoutingEngine.h.

◆ TimeAndCount

typedef std::pair<SUMOTime, int> MSRoutingEngine::TimeAndCount
private

Definition at line 269 of file MSRoutingEngine.h.

Constructor & Destructor Documentation

◆ MSRoutingEngine()

MSRoutingEngine::MSRoutingEngine ( const MSRoutingEngine )
private

Invalidated copy constructor.

Member Function Documentation

◆ _initEdgeWeights()

void MSRoutingEngine::_initEdgeWeights ( std::vector< double > &  edgeSpeeds,
std::vector< std::vector< double > > &  pastEdgeSpeeds 
)
staticprivate

initialized edge speed storage into the given containers

Definition at line 150 of file MSRoutingEngine.cpp.

References OptionsCont::getBool(), MSNet::getCurrentTimeStep(), MSNet::getEdgeControl(), MSEdgeControl::getEdges(), MSNet::getInstance(), OptionsCont::getInt(), OptionsCont::getOptions(), MSNet::getTravelTime(), MSGlobals::gWeightsSeparateTurns, OptionsCont::isDefault(), myAdaptationSteps, myAdaptationWeight, myEdgeSpeeds, myEdgeTravelTimes, myLastAdaptation, and SIMTIME.

Referenced by initEdgeWeights().

Here is the caller graph for this function:

◆ adaptEdgeEfforts()

SUMOTime MSRoutingEngine::adaptEdgeEfforts ( SUMOTime  currentTime)
staticprivate

Adapt edge efforts by the current edge states.

This method is called by the event handler at the end of a simulation step. The current edge weights are combined with the previously stored.

Parameters
[in]currentTimeThe current simulation time
Returns
The offset to the next call (always 1 in this case - edge weights are updated each time step)
Todo:
Describe how the weights are adapted
See also
MSEventHandler
StaticCommand

Definition at line 219 of file MSRoutingEngine.cpp.

References OutputDevice::closeTag(), DEBUG_COND, DELTA_T, OutputDevice::getDeviceByOption(), MSNet::getEdgeControl(), MSEdgeControl::getEdges(), getEffortBike(), MSNet::getInstance(), OptionsCont::getOptions(), MSGlobals::gWeightsSeparateTurns, initEdgeWeights(), OptionsCont::isSet(), myAdaptationInterval, myAdaptationSteps, myAdaptationStepsIndex, myAdaptationWeight, myBikeSpeeds, myCachedRoutes, myEdgeBikeSpeeds, myEdgeSpeeds, myEffortFunc, myLastAdaptation, myPastEdgeBikeSpeeds, myPastEdgeSpeeds, OutputDevice::openTag(), patchSpeedForTurns(), SIMTIME, STEPS2TIME, SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_TAG_EDGE, SUMO_TAG_INTERVAL, SVC_BICYCLE, SVC_PASSENGER, and OutputDevice::writeAttr().

Referenced by initWeightUpdate().

Here is the caller graph for this function:

◆ addEdgeTravelTime()

void MSRoutingEngine::addEdgeTravelTime ( const MSEdge edge,
const SUMOTime  travelTime 
)
static

record actual travel time for an edge

Definition at line 515 of file MSRoutingEngine.cpp.

References MSEdge::getNumericalID(), and myEdgeTravelTimes.

Referenced by MSDevice_Routing::notifyEnter().

Here is the caller graph for this function:

◆ applyExtras()

static void MSRoutingEngine::applyExtras ( const MSEdge *const  e,
const SUMOVehicle *const  v,
SUMOTime  step,
double &  effort 
)
inlinestatic

apply cost modifications from randomness, priorityFactor and preferences

Definition at line 95 of file MSRoutingEngine.h.

References MSNet::getInstance(), MSEdge::getNumericalID(), MSNet::getPreference(), MSEdge::getPriority(), SUMOTrafficObject::getRandomSeed(), MSEdge::getRoutingType(), SUMOTrafficObject::getVTypeParameter(), gRoutingPreferences, gWeightsRandomFactor, myDynamicRandomness, myEdgePriorityRange, myMinEdgePriority, myPriorityFactor, and RandHelper::randHash().

Referenced by getEffortExtra(), and MSNet::getTravelTime().

Here is the caller graph for this function:

◆ cleanup()

void MSRoutingEngine::cleanup ( )
static

deletes the router instance

Definition at line 571 of file MSRoutingEngine.cpp.

References MSGlobals::gNumThreads, myAdaptationInterval, myAdaptationStepsIndex, myCachedRoutes, myEdgeBikeSpeeds, myEdgeSpeeds, myEdgeTravelTimes, myPastEdgeBikeSpeeds, myPastEdgeSpeeds, and myRouterProvider.

Referenced by MSDevice::cleanupAll().

Here is the caller graph for this function:

◆ getAssumedSpeed()

double MSRoutingEngine::getAssumedSpeed ( const MSEdge edge,
const SUMOVehicle veh 
)
static

return current travel speed assumption

Definition at line 213 of file MSRoutingEngine.cpp.

References MSEdge::getLength(), and myEffortFunc.

Referenced by MSEdge::getRoutingSpeed(), and MSEdge::getTravelTimeAggregated().

Here is the caller graph for this function:

◆ getCachedRoute()

ConstMSRoutePtr MSRoutingEngine::getCachedRoute ( const std::pair< const MSEdge *, const MSEdge * > &  key)
static

return the cached route or nullptr on miss

Definition at line 365 of file MSRoutingEngine.cpp.

References myCachedRoutes.

Referenced by MSDevice_Routing::preInsertionReroute().

Here is the caller graph for this function:

◆ getEffort()

double MSRoutingEngine::getEffort ( const MSEdge *const  e,
const SUMOVehicle *const  v,
double  t 
)
static

Returns the effort to pass an edge.

This method is given to the used router in order to obtain the efforts to pass an edge from the internal edge weights container.

The time is not used, here, as the current simulation state is used in an aggregated way.

Parameters
[in]eThe edge for which the effort to be passed shall be returned
[in]vThe vehicle that is rerouted
[in]tThe time for which the effort shall be returned
Returns
The effort (time to pass in this case) for an edge
See also
DijkstraRouter_ByProxi

Definition at line 183 of file MSRoutingEngine.cpp.

References MSEdge::getLength(), MSEdge::getMinimumTravelTime(), MSEdge::getNumericalID(), MAX2(), and myEdgeSpeeds.

Referenced by getEffortExtra(), MSDevice_Routing::getParameter(), MSNet::getTravelTime(), and initRouter().

Here is the caller graph for this function:

◆ getEffortBike()

double MSRoutingEngine::getEffortBike ( const MSEdge *const  e,
const SUMOVehicle *const  v,
double  t 
)
static

Definition at line 193 of file MSRoutingEngine.cpp.

References MSEdge::getLength(), MSEdge::getMinimumTravelTime(), MSEdge::getNumericalID(), MAX2(), and myEdgeBikeSpeeds.

Referenced by adaptEdgeEfforts(), getEffortExtra(), and MSNet::getTravelTime().

Here is the caller graph for this function:

◆ getEffortExtra()

double MSRoutingEngine::getEffortExtra ( const MSEdge *const  e,
const SUMOVehicle *const  v,
double  t 
)
static

Definition at line 203 of file MSRoutingEngine.cpp.

References applyExtras(), getEffort(), getEffortBike(), SUMOTrafficObject::getVClass(), myBikeSpeeds, SIMSTEP, and SVC_BICYCLE.

Referenced by MSNet::getTravelTime(), and initRouter().

Here is the caller graph for this function:

◆ getIntermodalRouterTT()

MSTransportableRouter & MSRoutingEngine::getIntermodalRouterTT ( const int  rngIndex,
const Prohibitions prohibited = {} 
)
static

return the person router instance

Definition at line 547 of file MSRoutingEngine.cpp.

References MSNet::getEdgeControl(), MSNet::getInstance(), RouterProvider< E, L, N, V >::getIntermodalRouter(), MFXWorkerThread::Pool::getWorkers(), MSGlobals::gNumThreads, initEdgeWeights(), initRouter(), initWeightUpdate(), myRouterProvider, MFXWorkerThread::Pool::size(), SVC_PEDESTRIAN, and UNUSED_PARAMETER.

Referenced by reroute(), MSTriggeredRerouter::resetClosedEdges(), and MSTriggeredRerouter::triggerRouting().

Here is the caller graph for this function:

◆ getLastAdaptation()

static SUMOTime MSRoutingEngine::getLastAdaptation ( )
inlinestatic

Information when the last edge weight adaptation occurred.

Definition at line 86 of file MSRoutingEngine.h.

References myLastAdaptation.

Referenced by MSDevice_Routing::reroute(), and MSTransportableDevice_Routing::reroute().

Here is the caller graph for this function:

◆ getRouterTT()

◆ getThreadRNG()

static SumoRNG * MSRoutingEngine::getThreadRNG ( )
staticprivate

returns RNG associated with the current thread

◆ hasBikeSpeeds()

static bool MSRoutingEngine::hasBikeSpeeds ( )
inlinestatic

whether the router collects bicycle speeds

Definition at line 148 of file MSRoutingEngine.h.

References myBikeSpeeds.

Referenced by MSNet::getTravelTime().

Here is the caller graph for this function:

◆ hasEdgeUpdates()

static bool MSRoutingEngine::hasEdgeUpdates ( )
inlinestatic

returns whether any edge weight updates will take place

Definition at line 81 of file MSRoutingEngine.h.

References myEdgeWeightSettingCommand.

Referenced by MSDevice_Routing::MSDevice_Routing().

Here is the caller graph for this function:

◆ haveExtras()

static bool MSRoutingEngine::haveExtras ( )
inlinestatic

Definition at line 90 of file MSRoutingEngine.h.

References myHaveExtras.

Referenced by MSNet::getTravelTime().

Here is the caller graph for this function:

◆ initEdgeWeights()

void MSRoutingEngine::initEdgeWeights ( SUMOVehicleClass  svc,
SUMOTime  lastAdaption = -1,
int  index = -1 
)
static

initialize the edge weights if not done before

Definition at line 109 of file MSRoutingEngine.cpp.

References _initEdgeWeights(), myAdaptationSteps, myAdaptationStepsIndex, myBikeSpeeds, myEdgeBikeSpeeds, myEdgeSpeeds, myLastAdaptation, myPastEdgeBikeSpeeds, myPastEdgeSpeeds, and SVC_BICYCLE.

Referenced by adaptEdgeEfforts(), getIntermodalRouterTT(), getRouterTT(), MSBaseVehicle::initTransientModelParams(), MSStateHandler::myStartElement(), MSDevice_Routing::reroute(), and MSTransportableDevice_Routing::reroute().

Here is the caller graph for this function:

◆ initRouter()

◆ initWeightConstants()

void MSRoutingEngine::initWeightConstants ( const OptionsCont oc)
static

initialize constants for using myPriorityFactor

Definition at line 126 of file MSRoutingEngine.cpp.

References OptionsCont::getBool(), MSNet::getEdgeControl(), MSEdgeControl::getEdges(), OptionsCont::getFloat(), MSNet::getInstance(), gRoutingPreferences, gWeightsRandomFactor, MAX2(), MIN2(), myDynamicRandomness, myEdgePriorityRange, myHaveExtras, myMinEdgePriority, myPriorityFactor, TL, and WRITE_WARNING.

Referenced by NLBuilder::build().

Here is the caller graph for this function:

◆ initWeightUpdate()

◆ isEnabled()

static bool MSRoutingEngine::isEnabled ( )
inlinestatic

returns whether any routing actions take place

Definition at line 134 of file MSRoutingEngine.h.

References myAdaptationInterval, and myWithTaz.

Referenced by MSInsertionControl::determineCandidates(), and MSInsertionControl::emitVehicles().

Here is the caller graph for this function:

◆ loadState()

void MSRoutingEngine::loadState ( const SUMOSAXAttributes attrs)
static

Loads the state.

Parameters
[in]attrsXML attributes describing the current state

Definition at line 628 of file MSRoutingEngine.cpp.

References MSEdge::dictionary(), SUMOSAXAttributes::get(), MSEdge::getNumericalID(), SUMOSAXAttributes::getOpt(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), MSEdge::markDelayed(), myAdaptationSteps, myBikeSpeeds, myEdgeBikeSpeeds, myEdgeSpeeds, myPastEdgeBikeSpeeds, myPastEdgeSpeeds, SUMO_ATTR_BIKESPEED, SUMO_ATTR_ID, SUMO_ATTR_PASTBIKESPEED, SUMO_ATTR_PASTSPEED, SUMO_ATTR_SPEED, and WRITE_WARNING.

Referenced by MSStateHandler::myStartElement().

Here is the caller graph for this function:

◆ operator=()

MSRoutingEngine & MSRoutingEngine::operator= ( const MSRoutingEngine )
private

Invalidated assignment operator.

◆ patchSpeedForTurns()

double MSRoutingEngine::patchSpeedForTurns ( const MSEdge edge,
double  currSpeed 
)
staticprivate

Definition at line 297 of file MSRoutingEngine.cpp.

References DEBUG_COND, Named::getID(), MSEdge::getLength(), MSEdge::getViaSuccessors(), MSGlobals::gWeightsSeparateTurns, MAX2(), myAdaptationSteps, myAdaptationStepsIndex, myEdgeSpeeds, myEdgeTravelTimes, myPastEdgeSpeeds, SIMTIME, and STEPS2TIME.

Referenced by adaptEdgeEfforts().

Here is the caller graph for this function:

◆ reroute() [1/2]

void MSRoutingEngine::reroute ( MSTransportable t,
const SUMOTime  currentTime,
const std::string &  info,
const bool  onInit = false,
const bool  silent = false,
const Prohibitions prohibited = {} 
)
static

◆ reroute() [2/2]

void MSRoutingEngine::reroute ( SUMOVehicle vehicle,
const SUMOTime  currentTime,
const std::string &  info,
const bool  onInit = false,
const bool  silent = false,
const Prohibitions prohibited = {} 
)
static

initiate the rerouting, create router / thread pool on first use

Definition at line 443 of file MSRoutingEngine.cpp.

References MFXWorkerThread::Pool::add(), MSNet::getEdgeControl(), MSNet::getInstance(), SUMOTrafficObject::getVClass(), RouterProvider< E, L, N, V >::getVehicleRouter(), initRouter(), myRouterProvider, myWithTaz, SUMOVehicle::reroute(), and MFXWorkerThread::Pool::size().

Referenced by MSDevice_Routing::reroute(), MSTransportableDevice_Routing::reroute(), and MSRailSignal::LinkInfo::reroute().

Here is the caller graph for this function:

◆ saveState()

void MSRoutingEngine::saveState ( OutputDevice out)
static

Saves the state (i.e. recorded speeds)

Parameters
[in]outThe OutputDevice to write the information into

Definition at line 597 of file MSRoutingEngine.cpp.

References OutputDevice::closeTag(), MSNet::getEdgeControl(), MSEdgeControl::getEdges(), MSNet::getInstance(), myAdaptationSteps, myAdaptationStepsIndex, myBikeSpeeds, myEdgeBikeSpeeds, myEdgeSpeeds, myLastAdaptation, myPastEdgeBikeSpeeds, myPastEdgeSpeeds, OutputDevice::openTag(), SUMO_ATTR_BIKESPEED, SUMO_ATTR_ID, SUMO_ATTR_INDEX, SUMO_ATTR_LAST, SUMO_ATTR_PASTBIKESPEED, SUMO_ATTR_PASTSPEED, SUMO_ATTR_SPEED, SUMO_TAG_EDGE, SUMO_TAG_ROUTINGENGINE, and OutputDevice::writeAttr().

Referenced by MSStateHandler::saveState().

Here is the caller graph for this function:

◆ setEdgeTravelTime()

void MSRoutingEngine::setEdgeTravelTime ( const MSEdge *const  edge,
const double  travelTime 
)
static

adapt the known travel time for an edge

Definition at line 510 of file MSRoutingEngine.cpp.

References MSEdge::getLength(), MSEdge::getNumericalID(), and myEdgeSpeeds.

Referenced by MSDevice_Routing::setParameter().

Here is the caller graph for this function:

◆ withTaz()

static bool MSRoutingEngine::withTaz ( )
inlinestatic

whether taz-routing is enabled

Definition at line 175 of file MSRoutingEngine.h.

References myWithTaz.

Referenced by MSDevice_Routing::notifyEnter().

Here is the caller graph for this function:

Field Documentation

◆ myAdaptationInterval

SUMOTime MSRoutingEngine::myAdaptationInterval = -1
staticprivate

At which time interval the edge weights get updated.

Definition at line 258 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), cleanup(), initRouter(), initWeightUpdate(), and isEnabled().

◆ myAdaptationSteps

int MSRoutingEngine::myAdaptationSteps
staticprivate

The number of steps for averaging edge speeds (ring-buffer)

Definition at line 264 of file MSRoutingEngine.h.

Referenced by _initEdgeWeights(), adaptEdgeEfforts(), initEdgeWeights(), initWeightUpdate(), loadState(), patchSpeedForTurns(), and saveState().

◆ myAdaptationStepsIndex

int MSRoutingEngine::myAdaptationStepsIndex = 0
staticprivate

The current index in the pastEdgeSpeed ring-buffer.

Definition at line 267 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), cleanup(), initEdgeWeights(), patchSpeedForTurns(), and saveState().

◆ myAdaptationWeight

double MSRoutingEngine::myAdaptationWeight
staticprivate

Information which weight prior edge efforts have.

Definition at line 255 of file MSRoutingEngine.h.

Referenced by _initEdgeWeights(), adaptEdgeEfforts(), and initWeightUpdate().

◆ myBikeSpeeds

bool MSRoutingEngine::myBikeSpeeds
staticprivate

whether separate speeds for bicycles shall be tracked

Definition at line 286 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), getEffortExtra(), hasBikeSpeeds(), initEdgeWeights(), initRouter(), loadState(), and saveState().

◆ myCachedRoutes

std::map< std::pair< const MSEdge *, const MSEdge * >, ConstMSRoutePtr > MSRoutingEngine::myCachedRoutes
staticprivate

The container of pre-calculated routes.

Definition at line 292 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), cleanup(), and getCachedRoute().

◆ myDynamicRandomness

bool MSRoutingEngine::myDynamicRandomness
staticprivate

whether randomness varies over time

Definition at line 303 of file MSRoutingEngine.h.

Referenced by applyExtras(), and initWeightConstants().

◆ myEdgeBikeSpeeds

std::vector< double > MSRoutingEngine::myEdgeBikeSpeeds
staticprivate

◆ myEdgePriorityRange

double MSRoutingEngine::myEdgePriorityRange
staticprivate

the difference between maximum and minimum priority for all edges

Definition at line 300 of file MSRoutingEngine.h.

Referenced by applyExtras(), and initWeightConstants().

◆ myEdgeSpeeds

std::vector< double > MSRoutingEngine::myEdgeSpeeds
staticprivate

◆ myEdgeTravelTimes

std::vector< MSRoutingEngine::TimeAndCount > MSRoutingEngine::myEdgeTravelTimes
staticprivate

Sum of travel times experienced by equipped vehicles for each edge.

Definition at line 276 of file MSRoutingEngine.h.

Referenced by _initEdgeWeights(), addEdgeTravelTime(), cleanup(), initWeightUpdate(), and patchSpeedForTurns().

◆ myEdgeWeightSettingCommand

Command * MSRoutingEngine::myEdgeWeightSettingCommand = nullptr
staticprivate

The weights adaptation/overwriting command.

Definition at line 252 of file MSRoutingEngine.h.

Referenced by hasEdgeUpdates(), and initWeightUpdate().

◆ myEffortFunc

SUMOAbstractRouter< MSEdge, SUMOVehicle >::Operation MSRoutingEngine::myEffortFunc = &MSRoutingEngine::getEffort
static

Definition at line 169 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), getAssumedSpeed(), and initRouter().

◆ myHaveExtras

bool MSRoutingEngine::myHaveExtras
staticprivate

whether extra routing cost modifications are configured

Definition at line 306 of file MSRoutingEngine.h.

Referenced by haveExtras(), and initWeightConstants().

◆ myLastAdaptation

SUMOTime MSRoutingEngine::myLastAdaptation = -1
staticprivate

Information when the last edge weight adaptation occurred.

Definition at line 261 of file MSRoutingEngine.h.

Referenced by _initEdgeWeights(), adaptEdgeEfforts(), getLastAdaptation(), initEdgeWeights(), initWeightUpdate(), and saveState().

◆ myMinEdgePriority

double MSRoutingEngine::myMinEdgePriority
staticprivate

Minimum priority for all edges.

Definition at line 298 of file MSRoutingEngine.h.

Referenced by applyExtras(), and initWeightConstants().

◆ myPastEdgeBikeSpeeds

std::vector< std::vector< double > > MSRoutingEngine::myPastEdgeBikeSpeeds
staticprivate

Definition at line 280 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), cleanup(), initEdgeWeights(), loadState(), and saveState().

◆ myPastEdgeSpeeds

std::vector< std::vector< double > > MSRoutingEngine::myPastEdgeSpeeds
staticprivate

The container of past edge speeds (when using a simple moving average)

Definition at line 279 of file MSRoutingEngine.h.

Referenced by adaptEdgeEfforts(), cleanup(), initEdgeWeights(), loadState(), patchSpeedForTurns(), and saveState().

◆ myPriorityFactor

double MSRoutingEngine::myPriorityFactor
staticprivate

Coefficient for factoring edge priority into routing weight.

Definition at line 295 of file MSRoutingEngine.h.

Referenced by applyExtras(), initRouter(), and initWeightConstants().

◆ myRouterProvider

MSRouterProvider * MSRoutingEngine::myRouterProvider = nullptr
staticprivate

The router to use.

Definition at line 289 of file MSRoutingEngine.h.

Referenced by cleanup(), getIntermodalRouterTT(), getRouterTT(), initRouter(), and reroute().

◆ myWithTaz

bool MSRoutingEngine::myWithTaz
staticprivate

whether taz shall be used at initial rerouting

Definition at line 283 of file MSRoutingEngine.h.

Referenced by initWeightUpdate(), isEnabled(), reroute(), reroute(), and withTaz().


The documentation for this class was generated from the following files: