Eclipse SUMO - Simulation of Urban MObility
MSSOTLPolicyDesirability Class Referenceabstract

This class determines the desirability algorithm of a MSSOTLPolicy when used in combination with a high level policy. More...

#include <MSSOTLPolicyDesirability.h>

Inheritance diagram for MSSOTLPolicyDesirability:
[legend]
Collaboration diagram for MSSOTLPolicyDesirability:
[legend]

Public Types

enum class  ParameterisedAttrType { STRING , DOUBLE }
 @brie enum for Parameterised type More...
 

Public Member Functions

void clearParameter ()
 Clears the parameter map. More...
 
virtual double computeDesirability (double vehInMeasure, double vehOutMeasure)=0
 Calculates the desirability of the policy. More...
 
virtual double computeDesirability (double vehInMeasure, double vehOutMeasure, double vehInDispersionMeasure, double vehOutDispersionMeasure)=0
 Calculates the desirability of the policy. More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::string getKeyPrefix ()
 
virtual std::string getMessage ()=0
 
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 std::string kvsep="=", const std::string sep="|") const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 MSSOTLPolicyDesirability (std::string keyPrefix, const std::map< std::string, std::string > &parameters)
 
void setKeyPrefix (std::string val)
 
virtual 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, const std::string kvsep="=", const std::string sep="|")
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
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...
 
virtual ~MSSOTLPolicyDesirability ()
 

Static Public Member Functions

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

Static Private Member Functions

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

Private Attributes

ParameterisedAttrType myAttrType
 parameterised type More...
 
std::string myKeyPrefix
 
std::map< std::string, std::string > myMap
 The key->value map. More...
 

Detailed Description

This class determines the desirability algorithm of a MSSOTLPolicy when used in combination with a high level policy.

Definition at line 33 of file MSSOTLPolicyDesirability.h.

Member Enumeration Documentation

◆ ParameterisedAttrType

@brie enum for Parameterised type

Enumerator
STRING 

Parameterised accept strings.

DOUBLE 

Parameterised only accept doubles.

Definition at line 43 of file Parameterised.h.

Constructor & Destructor Documentation

◆ MSSOTLPolicyDesirability()

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

Definition at line 23 of file MSSOTLPolicyDesirability.cpp.

◆ ~MSSOTLPolicyDesirability()

MSSOTLPolicyDesirability::~MSSOTLPolicyDesirability ( )
virtual

Definition at line 29 of file MSSOTLPolicyDesirability.cpp.

Member Function Documentation

◆ areParametersValid()

bool Parameterised::areParametersValid ( const std::string &  value,
bool  report = false,
ParameterisedAttrType  attrType = ParameterisedAttrType::STRING,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"

Definition at line 217 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), and WRITE_WARNING.

Referenced by GNEAccess::isValid(), GNEBusStop::isValid(), GNECalibrator::isValid(), GNECalibratorFlow::isValid(), GNEChargingStation::isValid(), GNEClosingLaneReroute::isValid(), GNEClosingReroute::isValid(), GNEContainerStop::isValid(), GNEDestProbReroute::isValid(), GNEDetectorE1::isValid(), GNEDetectorE1Instant::isValid(), GNEDetectorE2::isValid(), GNEDetectorE3::isValid(), GNEDetectorEntryExit::isValid(), GNEParkingArea::isValid(), GNEParkingAreaReroute::isValid(), GNEParkingSpace::isValid(), GNEPOI::isValid(), GNEPoly::isValid(), GNERerouter::isValid(), GNERerouterInterval::isValid(), GNERouteProbe::isValid(), GNERouteProbReroute::isValid(), GNETAZ::isValid(), GNETAZSourceSink::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNEVariableSpeedSignStep::isValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), GNETAZRelData::isValid(), GNEPerson::isValid(), GNEPersonTrip::isValid(), GNERide::isValid(), GNERoute::isValid(), GNEVehicle::isValid(), GNEVehicleType::isValid(), GNEWalk::isValid(), GNEConnection::isValid(), GNECrossing::isValid(), GNEEdge::isValid(), GNEEdgeType::isValid(), GNEJunction::isValid(), GNELane::isValid(), GNELaneType::isValid(), GNEInspectorFrame::ParametersEditorInspector::onCmdSetParameters(), and GNEFrameAttributesModuls::ParametersEditorCreator::onCmdSetParameters().

Here is the caller graph for this function:

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 140 of file Parameterised.cpp.

References Parameterised::myMap.

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

Here is the caller graph for this function:

◆ computeDesirability() [1/2]

virtual double MSSOTLPolicyDesirability::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure 
)
pure virtual

Calculates the desirability of the policy.

Implemented in MSSOTLPolicy5DStimulus, and MSSOTLPolicy5DFamilyStimulus.

Referenced by MSSOTLPolicy::computeDesirability().

Here is the caller graph for this function:

◆ computeDesirability() [2/2]

virtual double MSSOTLPolicyDesirability::computeDesirability ( double  vehInMeasure,
double  vehOutMeasure,
double  vehInDispersionMeasure,
double  vehOutDispersionMeasure 
)
pure virtual

Calculates the desirability of the policy.

Implemented in MSSOTLPolicy5DStimulus, and MSSOTLPolicy5DFamilyStimulus.

◆ getDouble()

double Parameterised::getDouble ( const std::string &  key,
const double  defaultValue 
) const
inherited

◆ getKeyPrefix()

◆ getMessage()

virtual std::string MSSOTLPolicyDesirability::getMessage ( )
pure virtual

Implemented in MSSOTLPolicy5DStimulus, and MSSOTLPolicy5DFamilyStimulus.

Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic().

Here is the caller graph for this function:

◆ 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 112 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSRailSignal::constraintsAllow(), GNEEdge::drawEdgeName(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), GNEConnection::drawGL(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNEEdgeData::getColor(), GNEEdgeRelData::getColor(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPTime(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), GUITrafficLightLogicWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSBaseVehicle::getPrefixedParameter(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSRailSignalConstraint::getVehID(), MSTriggeredRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSSOTLPhasePolicy::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::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(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 146 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), GNEAdditional::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), GNETAZElement::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonStop::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVehicleType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GUILane::getParameterWindow(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), NIImporter_OpenStreetMap::insertEdge(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().

Here is the caller graph for this function:

◆ getParametersStr()

std::string Parameterised::getParametersStr ( const std::string  kvsep = "=",
const std::string  sep = "|" 
) const
inherited

Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".

Definition at line 152 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNEClosingReroute::getAttribute(), GNEContainerStop::getAttribute(), GNEDestProbReroute::getAttribute(), GNEDetectorE1::getAttribute(), GNEDetectorE1Instant::getAttribute(), GNEDetectorE2::getAttribute(), GNEDetectorE3::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), GNERerouter::getAttribute(), GNERerouterInterval::getAttribute(), GNERouteProbe::getAttribute(), GNERouteProbReroute::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEPerson::getAttribute(), GNEPersonTrip::getAttribute(), GNERide::getAttribute(), GNERoute::getAttribute(), GNEVehicle::getAttribute(), GNEVehicleType::getAttribute(), GNEWalk::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), and GNELaneType::getAttribute().

Here is the caller graph for this function:

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
ParameterisedAttrType  attrType,
const std::string &  kvsep,
const std::string &  sep 
)
staticprivateinherited

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

Definition at line 240 of file Parameterised.cpp.

References Parameterised::DOUBLE, StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and StringUtils::toDouble().

Referenced by Parameterised::areParametersValid().

Here is the caller graph for this function:

◆ knowsParameter()

◆ setKeyPrefix()

void MSSOTLPolicyDesirability::setKeyPrefix ( std::string  val)
inline

Definition at line 56 of file MSSOTLPolicyDesirability.h.

References myKeyPrefix.

Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy::MSSOTLMarchingPolicy(), MSSOTLPhasePolicy::MSSOTLPhasePolicy(), MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy(), and MSSOTLRequestPolicy::MSSOTLRequestPolicy().

Here is the caller graph for this function:

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

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

Definition at line 168 of file Parameterised.cpp.

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

◆ 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 179 of file Parameterised.cpp.

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

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
inherited

set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"

Parameters
[in]paramsStringA serialized key-value map
[in]kvsepThe separater between key and value
[in]sepThe separater between map entries

Definition at line 190 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, and Parameterised::setParameter().

Referenced by MSDevice_Taxi::initDispatch(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEContainerStop::setAttribute(), GNEDestProbReroute::setAttribute(), GNEDetectorE1::setAttribute(), GNEDetectorE1Instant::setAttribute(), GNEDetectorE2::setAttribute(), GNEDetectorE3::setAttribute(), GNEDetectorEntryExit::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), GNERerouter::setAttribute(), GNERerouterInterval::setAttribute(), GNERouteProbe::setAttribute(), GNERouteProbReroute::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEVariableSpeedSignStep::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEPerson::setAttribute(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEVehicle::setAttribute(), GNEVehicleType::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), and GNELaneType::setAttribute().

Here is the caller graph for this function:

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 92 of file Parameterised.cpp.

References Parameterised::myMap.

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

Here is the caller graph for this function:

◆ updateParameters()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 98 of file Parameterised.cpp.

References Parameterised::setParameter().

Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().

Here is the caller graph for this function:

◆ writeParams()

Field Documentation

◆ myAttrType

ParameterisedAttrType Parameterised::myAttrType
privateinherited

parameterised type

Definition at line 143 of file Parameterised.h.

Referenced by Parameterised::Parameterised(), and Parameterised::setParameter().

◆ myKeyPrefix

std::string MSSOTLPolicyDesirability::myKeyPrefix
private

Definition at line 36 of file MSSOTLPolicyDesirability.h.

Referenced by getKeyPrefix(), and setKeyPrefix().

◆ myMap


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