Eclipse SUMO - Simulation of Urban MObility
MSSOTLCongestionPolicy Class Reference

Class for low-level congestion policy. More...

#include <MSSOTLCongestionPolicy.h>

Inheritance diagram for MSSOTLCongestionPolicy:
Collaboration diagram for MSSOTLCongestionPolicy:

Public Member Functions

bool canRelease (SUMOTime elapsed, bool thresholdPassed, bool pushButtonPressed, const MSPhaseDefinition *stage, int vehicleCount)
 
void clearParameter ()
 Clears the parameter map. More...
 
double computeDesirability (double vehInMeasure, double vehOutMeasure)
 
double computeDesirability (double vehInMeasure, double vehOutMeasure, double vehInDispersionMeasure, double vehOutDispersionMeasure)
 Computes the desirability of this policy, necessary when used in combination with an high level policy. More...
 
int decideNextPhase (SUMOTime elapsed, const MSPhaseDefinition *stage, int currentPhaseIndex, int phaseMaxCTS, bool thresholdPassed, bool pushButtonPressed, int vehicleCount)
 
MSSOTLPolicyDesirabilitygetDesirabilityAlgorithm ()
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::string getName ()
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParametersStr () const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
virtual double getThetaSensitivity ()
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 MSSOTLCongestionPolicy (const std::map< std::string, std::string > &parameters)
 
 MSSOTLCongestionPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm)
 
 MSSOTLCongestionPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > &parameters)
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersMap (const std::map< std::string, std::string > &paramsMap)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString)
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
virtual void setThetaSensitivity (double val)
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 

Static Public Member Functions

static bool areParametersValid (const std::string &value, bool report=false)
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 

Protected Member Functions

virtual void init ()
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, bool report)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

MSSOTLPolicyDesirabilitymyDesirabilityAlgorithm
 A pointer to the policy desirability object.\nIt's an optional component related to the computeDesirability() method and it's necessary only when the policy is used in combination with an high level policy. More...
 
std::map< std::string, std::string > myMap
 The key->value map. More...
 
std::string myName
 The name of the policy. More...
 
double theta_sensitivity
 The sensitivity of this policy. More...
 

Detailed Description

Class for low-level congestion policy.

Definition at line 33 of file MSSOTLCongestionPolicy.h.

Constructor & Destructor Documentation

◆ MSSOTLCongestionPolicy() [1/3]

MSSOTLCongestionPolicy::MSSOTLCongestionPolicy ( const std::map< std::string, std::string > &  parameters)

Definition at line 20 of file MSSOTLCongestionPolicy.cpp.

◆ MSSOTLCongestionPolicy() [2/3]

MSSOTLCongestionPolicy::MSSOTLCongestionPolicy ( MSSOTLPolicyDesirability desirabilityAlgorithm)

◆ MSSOTLCongestionPolicy() [3/3]

MSSOTLCongestionPolicy::MSSOTLCongestionPolicy ( MSSOTLPolicyDesirability desirabilityAlgorithm,
const std::map< std::string, std::string > &  parameters 
)

Member Function Documentation

◆ areParametersValid()

◆ canRelease()

bool MSSOTLCongestionPolicy::canRelease ( SUMOTime  elapsed,
bool  thresholdPassed,
bool  pushButtonPressed,
const MSPhaseDefinition stage,
int  vehicleCount 
)
virtual

Implements MSSOTLPolicy.

Definition at line 61 of file MSSOTLCongestionPolicy.cpp.

References MSPhaseDefinition::minDuration.

Referenced by decideNextPhase().

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 100 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().

◆ computeDesirability() [1/2]

double MSSOTLPolicy::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure 
)
inherited

◆ computeDesirability() [2/2]

double MSSOTLPolicy::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure,
double  vehInDispersionMeasure,
double  vehOutDispersionMeasure 
)
inherited

Computes the desirability of this policy, necessary when used in combination with an high level policy.

Definition at line 102 of file MSSOTLPolicy.cpp.

References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.

◆ decideNextPhase()

int MSSOTLCongestionPolicy::decideNextPhase ( SUMOTime  elapsed,
const MSPhaseDefinition stage,
int  currentPhaseIndex,
int  phaseMaxCTS,
bool  thresholdPassed,
bool  pushButtonPressed,
int  vehicleCount 
)
virtual

◆ getDesirabilityAlgorithm()

◆ getDouble()

◆ getName()

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 72 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), GNEEdge::drawEdgeName(), GUIEdge::drawGL(), GNEConnection::drawGL(), GUIBaseVehicle::drawOnPos(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), GUIJunctionWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::Simulation::getParameter(), libsumo::POI::getParameter(), libsumo::Polygon::getParameter(), libsumo::Person::getParameter(), libsumo::Route::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), MSSOTLPhasePolicy::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), PushButtonLogic::init(), SigmoidLogic::init(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

◆ getParametersStr()

◆ getThetaSensitivity()

virtual double MSSOTLPolicy::getThetaSensitivity ( )
inlinevirtualinherited

◆ init()

virtual void MSSOTLPolicy::init ( )
inlineprotectedvirtualinherited

Reimplemented in MSSOTLPlatoonPolicy, MSSOTLPhasePolicy, and MSSOTLMarchingPolicy.

Definition at line 82 of file MSSOTLPolicy.h.

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
bool  report 
)
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 189 of file Parameterised.cpp.

References StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and SUMOXMLDefinitions::isValidParameterValue().

Referenced by Parameterised::areParametersValid().

◆ knowsParameter()

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

set the inner key/value map in map<string, string> format

Definition at line 127 of file Parameterised.cpp.

References Parameterised::getParametersMap(), and Parameterised::myMap.

◆ setParametersMap()

void Parameterised::setParametersMap ( const std::map< std::string, std::string > &  paramsMap)
inherited

set the inner key/value map in map<string, string> format

Definition at line 133 of file Parameterised.cpp.

References Parameterised::myMap.

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString)
inherited

◆ setThetaSensitivity()

virtual void MSSOTLPolicy::setThetaSensitivity ( double  val)
inlinevirtualinherited

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 52 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().

◆ updateParameters()

void Parameterised::updateParameters ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ writeParams()

Field Documentation

◆ myDesirabilityAlgorithm

MSSOTLPolicyDesirability* MSSOTLPolicy::myDesirabilityAlgorithm
privateinherited

A pointer to the policy desirability object.\nIt's an optional component related to the computeDesirability() method and it's necessary only when the policy is used in combination with an high level policy.

Definition at line 79 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy::computeDesirability(), and MSSOTLPolicy::getDesirabilityAlgorithm().

◆ myMap

◆ myName

std::string MSSOTLPolicy::myName
privateinherited

The name of the policy.

Definition at line 74 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy::getName().

◆ theta_sensitivity

double MSSOTLPolicy::theta_sensitivity
privateinherited

The sensitivity of this policy.

Definition at line 70 of file MSSOTLPolicy.h.

Referenced by MSSOTLPolicy::getThetaSensitivity(), MSSOTLPolicy::MSSOTLPolicy(), and MSSOTLPolicy::setThetaSensitivity().


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