![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Class for low-level marching policy. More...
#include <MSSOTLMarchingPolicy.h>
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... | |
virtual int | decideNextPhase (SUMOTime elapsed, const MSPhaseDefinition *stage, int currentPhaseIndex, int phaseMaxCTS, bool thresholdPassed, bool pushButtonPressed, int vehicleCount) |
MSSOTLPolicyDesirability * | getDesirabilityAlgorithm () |
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... | |
virtual double | getThetaSensitivity () |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
MSSOTLMarchingPolicy (const std::map< std::string, std::string > ¶meters) | |
MSSOTLMarchingPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm) | |
MSSOTLMarchingPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > ¶meters) | |
void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. More... | |
virtual void | setThetaSensitivity (double val) |
void | unsetParameter (const std::string &key) |
Removes a parameter. More... | |
void | updateParameter (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... | |
Protected Member Functions | |
void | init () |
void | init (std::string prefix, const Parameterised *parameterised) |
bool | pushButtonLogic (SUMOTime elapsed, bool pushButtonPressed, const MSPhaseDefinition *stage) |
Protected Attributes | |
std::string | m_prefix |
double | m_pushButtonScaleFactor |
Private Attributes | |
MSSOTLPolicyDesirability * | myDesirabilityAlgorithm |
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... | |
Class for low-level marching policy.
Definition at line 34 of file MSSOTLMarchingPolicy.h.
MSSOTLMarchingPolicy::MSSOTLMarchingPolicy | ( | const std::map< std::string, std::string > & | parameters | ) |
Definition at line 22 of file MSSOTLMarchingPolicy.cpp.
References init().
MSSOTLMarchingPolicy::MSSOTLMarchingPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm | ) |
Definition at line 28 of file MSSOTLMarchingPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
MSSOTLMarchingPolicy::MSSOTLMarchingPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm, |
const std::map< std::string, std::string > & | parameters | ||
) |
Definition at line 35 of file MSSOTLMarchingPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
|
virtual |
Implements MSSOTLPolicy.
Definition at line 43 of file MSSOTLMarchingPolicy.cpp.
References MSPhaseDefinition::duration, MSPhaseDefinition::minDuration, and PushButtonLogic::pushButtonLogic().
|
inherited |
Clears the parameter map.
Definition at line 99 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::beginEdgeParsing(), GNECrossing::setGenericParametersStr(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), and GNEVehicle::setGenericParametersStr().
|
inherited |
Definition at line 112 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
inherited |
Computes the desirability of this policy, necessary when used in combination with an high level policy.
Definition at line 103 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtualinherited |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 121 of file MSSOTLPolicy.cpp.
References MSSOTLPolicy::canRelease(), DBG, MSPhaseDefinition::isCommit(), MSPhaseDefinition::isDecisional(), MSPhaseDefinition::isTransient(), time2string(), and WRITE_MESSAGE.
Referenced by MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), and MSSwarmTrafficLightLogic::decideNextPhase().
|
inlineinherited |
Definition at line 121 of file MSSOTLPolicy.h.
References MSSOTLPolicy::myDesirabilityAlgorithm.
Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy(), MSSOTLPhasePolicy::MSSOTLPhasePolicy(), MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy(), MSSOTLRequestPolicy::MSSOTLRequestPolicy(), and MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic().
|
inherited |
Returns the value for a given key converted to a double.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 81 of file Parameterised.cpp.
References Parameterised::myMap, StringUtils::toDouble(), and WRITE_WARNING.
Referenced by MSDevice_Battery::buildVehicleDevices(), MSSOTLPolicy5DStimulus::getStimCox(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionIn(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionOut(), MSSOTLPolicy5DStimulus::getStimCoxExpIn(), MSSOTLPolicy5DStimulus::getStimCoxExpOut(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionIn(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionOut(), MSSOTLPolicy5DStimulus::getStimDivisorIn(), MSSOTLPolicy5DStimulus::getStimDivisorOut(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionIn(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionOut(), MSSOTLPolicy5DStimulus::getStimOffsetIn(), MSSOTLPolicy5DStimulus::getStimOffsetOut(), and MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus().
|
inlineinherited |
Definition at line 118 of file MSSOTLPolicy.h.
References MSSOTLPolicy::myName.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicy::computeDesirability(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSSOTLPolicyBasedTrafficLightLogic::MSSOTLPolicyBasedTrafficLightLogic(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 71 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNELane::getColorValue(), GUILane::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(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::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(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), 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().
|
inherited |
Returns the inner key/value map.
Definition at line 105 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().
|
inlinevirtualinherited |
Definition at line 112 of file MSSOTLPolicy.h.
References MSSOTLPolicy::theta_sensitivity.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
protectedvirtual |
Reimplemented from MSSOTLPolicy.
Definition at line 51 of file MSSOTLMarchingPolicy.cpp.
References PushButtonLogic::init().
Referenced by MSSOTLMarchingPolicy().
|
protectedinherited |
Definition at line 25 of file MSSOTLPolicy.cpp.
References Parameterised::getParameter(), PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, StringUtils::toDouble(), and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::init(), init(), and MSSOTLPlatoonPolicy::init().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 65 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::getBoolParam(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), libsumo::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), MSDevice_SSM::useGeoCoords(), and NWWriter_OpenDrive::writeRoadObjects().
|
protectedinherited |
Definition at line 31 of file MSSOTLPolicy.cpp.
References MSPhaseDefinition::duration, PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::canRelease(), canRelease(), and MSSOTLPlatoonPolicy::canRelease().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 45 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().
|
inlinevirtualinherited |
Definition at line 115 of file MSSOTLPolicy.h.
References MSSOTLPolicy::theta_sensitivity.
Referenced by MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 51 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by GNEVehicleType::setAttribute().
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
write Params in the given outputdevice
Definition at line 111 of file Parameterised.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by ROVehicle::saveAsXML(), ROPerson::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), GNEAdditional::writeAdditional(), NWWriter_SUMO::writeConnection(), GNERoute::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), PointOfInterest::writeXML(), and SUMOPolygon::writeXML().
|
protectedinherited |
Definition at line 46 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().
|
protectedinherited |
Definition at line 45 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().
|
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 80 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::computeDesirability(), and MSSOTLPolicy::getDesirabilityAlgorithm().
|
privateinherited |
The key->value map.
Definition at line 103 of file Parameterised.h.
Referenced by Parameterised::clearParameter(), Parameterised::getDouble(), Parameterised::getParameter(), Parameterised::getParametersMap(), Parameterised::knowsParameter(), Parameterised::setParameter(), Parameterised::unsetParameter(), Parameterised::updateParameter(), and Parameterised::writeParams().
|
privateinherited |
The name of the policy.
Definition at line 75 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::getName().
|
privateinherited |
The sensitivity of this policy.
Definition at line 71 of file MSSOTLPolicy.h.
Referenced by MSSOTLPolicy::getThetaSensitivity(), MSSOTLPolicy::MSSOTLPolicy(), and MSSOTLPolicy::setThetaSensitivity().