![]() |
SUMO - Simulation of Urban MObility
|
assignment methods More...
#include <ROMAAssignments.h>
Public Member Functions | |
SUMOReal | capacityConstraintFunction (const ROEdge *edge, const SUMOReal flow) const |
ROVehicle * | getDefaultVehicle () |
void | incremental (const int numIter, const bool verbose) |
void | resetFlows () |
ROMAAssignments (const SUMOTime begin, const SUMOTime end, const bool additiveTraffic, const SUMOReal adaptionFactor, RONet &net, ODMatrix &matrix, SUMOAbstractRouter< ROEdge, ROVehicle > &router) | |
Constructor. More... | |
void | sue (const int maxOuterIteration, const int maxInnerIteration, const int kPaths, const SUMOReal penalty, const SUMOReal tolerance, const std::string routeChoiceMethod) |
void | ue () |
~ROMAAssignments () | |
Destructor. More... | |
Static Public Member Functions | |
static SUMOReal | getCapacity (const ROEdge *edge) |
static SUMOReal | getPenalizedEffort (const ROEdge *const e, const ROVehicle *const v, SUMOReal t) |
Returns the effort to pass an edge including penalties. More... | |
static SUMOReal | getPenalizedTT (const ROEdge *const e, const ROVehicle *const v, SUMOReal t) |
Returns the traveltime on an edge including penalties. More... | |
static SUMOReal | getTravelTime (const ROEdge *const e, const ROVehicle *const v, SUMOReal t) |
Returns the traveltime on an edge without penalties. More... | |
Private Member Functions | |
bool | addRoute (ConstROEdgeVector &edges, std::vector< RORoute * > &paths, std::string routeId, SUMOReal prob) |
add a route and check for duplicates More... | |
void | getKPaths (const int kPaths, const SUMOReal penalty) |
get the k shortest paths More... | |
ROMAAssignments & | operator= (const ROMAAssignments &src) |
Invalidated assignment operator. More... | |
Private Attributes | |
const SUMOReal | myAdaptionFactor |
const bool | myAdditiveTraffic |
const SUMOTime | myBegin |
ROVehicle * | myDefaultVehicle |
const SUMOTime | myEnd |
ODMatrix & | myMatrix |
RONet & | myNet |
SUMOAbstractRouter< ROEdge, ROVehicle > & | myRouter |
Static Private Attributes | |
static std::map< const ROEdge *const, SUMOReal > | myPenalties |
assignment methods
Definition at line 58 of file ROMAAssignments.h.
ROMAAssignments::ROMAAssignments | ( | const SUMOTime | begin, |
const SUMOTime | end, | ||
const bool | additiveTraffic, | ||
const SUMOReal | adaptionFactor, | ||
RONet & | net, | ||
ODMatrix & | matrix, | ||
SUMOAbstractRouter< ROEdge, ROVehicle > & | router | ||
) |
Constructor.
Definition at line 61 of file ROMAAssignments.cpp.
References DEFAULT_VTYPE_ID, RONet::getVehicleTypeSecure(), and myDefaultVehicle.
ROMAAssignments::~ROMAAssignments | ( | ) |
Destructor.
Definition at line 69 of file ROMAAssignments.cpp.
References myDefaultVehicle, and SUMOReal.
|
private |
add a route and check for duplicates
Definition at line 179 of file ROMAAssignments.cpp.
Referenced by getDefaultVehicle(), getKPaths(), incremental(), and sue().
SUMOReal ROMAAssignments::capacityConstraintFunction | ( | const ROEdge * | edge, |
const SUMOReal | flow | ||
) | const |
Definition at line 127 of file ROMAAssignments.cpp.
References ROEdge::ET_DISTRICT, getCapacity(), ROEdge::getFunc(), ROEdge::getLaneNo(), ROEdge::getLength(), ROEdge::getPriority(), ROEdge::getSpeed(), and SUMOReal.
Referenced by getDefaultVehicle(), incremental(), and sue().
Definition at line 75 of file ROMAAssignments.cpp.
References ROEdge::ET_DISTRICT, ROEdge::getFunc(), ROEdge::getLaneNo(), ROEdge::getPriority(), ROEdge::getSpeed(), and SUMOReal.
Referenced by capacityConstraintFunction(), getDefaultVehicle(), and writeInterval().
|
inline |
Definition at line 67 of file ROMAAssignments.h.
References addRoute(), capacityConstraintFunction(), getCapacity(), getKPaths(), getPenalizedEffort(), getPenalizedTT(), getTravelTime(), incremental(), myDefaultVehicle, resetFlows(), sue(), SUMOReal, and ue().
|
private |
get the k shortest paths
Definition at line 197 of file ROMAAssignments.cpp.
References addRoute(), SUMOAbstractRouter< E, V >::compute(), ODCell::destination, ODMatrix::getCells(), RONet::getEdge(), myDefaultVehicle, myMatrix, myNet, myPenalties, myRouter, ODCell::origin, ODCell::pathsVector, and toString().
Referenced by getDefaultVehicle(), and sue().
|
static |
Returns the effort to pass an edge including penalties.
This method is given to the used router in order to obtain the efforts to pass an edge from the internal edge weights container.
[in] | e | The edge for which the effort to be passed shall be returned |
[in] | v | The (default) vehicle that is routed |
[in] | t | The time for which the effort shall be returned |
Definition at line 429 of file ROMAAssignments.cpp.
References ROEdge::getEffort(), myPenalties, and SUMOReal.
Referenced by computeRoutes(), and getDefaultVehicle().
|
static |
Returns the traveltime on an edge including penalties.
This method is given to the used router in order to obtain the efforts to pass an edge from the internal edge weights container.
[in] | e | The edge for which the effort to be passed shall be returned |
[in] | v | The (default) vehicle that is routed |
[in] | t | The time for which the effort shall be returned |
Definition at line 436 of file ROMAAssignments.cpp.
References ROEdge::getTravelTime(), myPenalties, and SUMOReal.
Referenced by computeRoutes(), and getDefaultVehicle().
|
static |
Returns the traveltime on an edge without penalties.
This method is given to the used router in order to obtain the efforts to pass an edge from the internal edge weights container.
[in] | e | The edge for which the effort to be passed shall be returned |
[in] | v | The (default) vehicle that is routed |
[in] | t | The time for which the effort shall be returned |
Definition at line 443 of file ROMAAssignments.cpp.
References ROEdge::getTravelTime(), myBegin, and toString().
Referenced by computeRoutes(), and getDefaultVehicle().
void ROMAAssignments::incremental | ( | const int | numIter, |
const bool | verbose | ||
) |
Definition at line 225 of file ROMAAssignments.cpp.
References addRoute(), ROEdge::addTravelTime(), ODCell::begin, capacityConstraintFunction(), SUMOAbstractRouter< E, V >::compute(), ODCell::destination, ODCell::end, ODMatrix::getCells(), RONet::getEdge(), RONet::getEdgeMap(), ROMAEdge::getFlow(), ROEdge::getTravelTime(), ROEdge::hasLoadedTravelTime(), myAdaptionFactor, myAdditiveTraffic, myBegin, myDefaultVehicle, myEnd, myMatrix, myNet, myRouter, ODCell::origin, ODCell::pathsVector, SUMOAbstractRouter< E, V >::setBulkMode(), ROMAEdge::setFlow(), STEPS2TIME, SUMOReal, time2string(), toString(), ODCell::vehicleNumber, and WRITE_MESSAGE.
Referenced by getDefaultVehicle().
|
private |
Invalidated assignment operator.
void ROMAAssignments::resetFlows | ( | ) |
Definition at line 215 of file ROMAAssignments.cpp.
References RONet::getEdgeMap(), myBegin, myEnd, myNet, ROMAEdge::setFlow(), ROMAEdge::setHelpFlow(), and STEPS2TIME.
Referenced by computeRoutes(), and getDefaultVehicle().
void ROMAAssignments::sue | ( | const int | maxOuterIteration, |
const int | maxInnerIteration, | ||
const int | kPaths, | ||
const SUMOReal | penalty, | ||
const SUMOReal | tolerance, | ||
const std::string | routeChoiceMethod | ||
) |
Definition at line 323 of file ROMAAssignments.cpp.
References addRoute(), ROEdge::addTravelTime(), ODCell::begin, capacityConstraintFunction(), SUMOAbstractRouter< E, V >::compute(), ODCell::destination, ODCell::end, RouteCostCalculator< R, E, V >::getCalculator(), ODMatrix::getCells(), RONet::getEdge(), RONet::getEdgeMap(), RORoute::getEdgeVector(), ROMAEdge::getFlow(), ROMAEdge::getHelpFlow(), getKPaths(), RORoute::getProbability(), myAdditiveTraffic, myBegin, myDefaultVehicle, myEnd, myMatrix, myNet, myRouter, ODCell::origin, ODCell::pathsVector, SUMOAbstractRouter< E, V >::recomputeCosts(), RORoute::setCosts(), ROMAEdge::setFlow(), ROMAEdge::setHelpFlow(), RORoute::setProbability(), STEPS2TIME, SUMOReal, toString(), and ODCell::vehicleNumber.
Referenced by getDefaultVehicle().
void ROMAAssignments::ue | ( | ) |
Referenced by getDefaultVehicle().
|
private |
Definition at line 139 of file ROMAAssignments.h.
Referenced by incremental().
|
private |
Definition at line 138 of file ROMAAssignments.h.
Referenced by incremental(), and sue().
|
private |
Definition at line 136 of file ROMAAssignments.h.
Referenced by getTravelTime(), incremental(), resetFlows(), and sue().
|
private |
Definition at line 144 of file ROMAAssignments.h.
Referenced by getDefaultVehicle(), getKPaths(), incremental(), ROMAAssignments(), sue(), and ~ROMAAssignments().
|
private |
Definition at line 137 of file ROMAAssignments.h.
Referenced by incremental(), resetFlows(), and sue().
|
private |
Definition at line 141 of file ROMAAssignments.h.
Referenced by getKPaths(), incremental(), and sue().
|
private |
Definition at line 140 of file ROMAAssignments.h.
Referenced by getKPaths(), incremental(), resetFlows(), and sue().
Definition at line 143 of file ROMAAssignments.h.
Referenced by getKPaths(), getPenalizedEffort(), and getPenalizedTT().
|
private |
Definition at line 142 of file ROMAAssignments.h.
Referenced by getKPaths(), incremental(), and sue().