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

assignment methods More...

#include <ROMAAssignments.h>

Collaboration diagram for ROMAAssignments:
[legend]

Public Member Functions

double capacityConstraintFunction (const ROEdge *edge, const double flow) const
double getCapacity (const ROEdge *edge) const
ROVehiclegetDefaultVehicle () const
void incremental (const int numIter, const bool verbose)
void resetFlows ()
 ROMAAssignments (const SUMOTime begin, const SUMOTime end, const bool additiveTraffic, const double adaptionFactor, const int maxAlternatives, const bool defaultCapacities, RONet &net, ODMatrix &matrix, SUMOAbstractRouter< ROEdge, ROVehicle > &router, OutputDevice *netloadOutput)
 Constructor.
void sue (const int maxOuterIteration, const int maxInnerIteration, const int kPaths, const double penalty, const double tolerance, const std::string routeChoiceMethod)
void ue ()
void writeInterval (const SUMOTime begin, const SUMOTime end)
 ~ROMAAssignments ()
 Destructor.

Static Public Member Functions

static double getPenalizedEffort (const ROEdge *const e, const ROVehicle *const v, double t)
 Returns the effort to pass an edge including penalties.
static double getPenalizedTT (const ROEdge *const e, const ROVehicle *const v, double t)
 Returns the traveltime on an edge including penalties.
static double getTravelTime (const ROEdge *const e, const ROVehicle *const v, double t)
 Returns the traveltime on an edge without penalties.

Private Member Functions

bool addRoute (const ConstROEdgeVector &edges, std::vector< RORoute * > &paths, std::string routeId, double prob)
 add a route and check for duplicates
const ConstROEdgeVector computePath (ODCell *cell, const SUMOTime time=0, const double probability=0., SUMOAbstractRouter< ROEdge, ROVehicle > *router=nullptr, bool setBulkMode=false)
void getKPaths (const int kPaths, const double penalty)
 get the k shortest paths
ROMAAssignmentsoperator= (const ROMAAssignments &src)=delete
 Invalidated assignment operator.

Private Attributes

const double myAdaptionFactor
const bool myAdditiveTraffic
const SUMOTime myBegin
ROVehiclemyDefaultVehicle
const SUMOTime myEnd
ODMatrixmyMatrix
const int myMaxAlternatives
RONetmyNet
OutputDevice *const myNetloadOutput
SUMOAbstractRouter< ROEdge, ROVehicle > & myRouter
const bool myUseDefaultCapacities

Static Private Attributes

static std::map< const ROEdge *const, double > myPenalties

Detailed Description

assignment methods

Definition at line 48 of file ROMAAssignments.h.

Constructor & Destructor Documentation

◆ ROMAAssignments()

ROMAAssignments::ROMAAssignments ( const SUMOTime begin,
const SUMOTime end,
const bool additiveTraffic,
const double adaptionFactor,
const int maxAlternatives,
const bool defaultCapacities,
RONet & net,
ODMatrix & matrix,
SUMOAbstractRouter< ROEdge, ROVehicle > & router,
OutputDevice * netloadOutput )

Constructor.

Definition at line 48 of file ROMAAssignments.cpp.

References DEFAULT_VTYPE_ID, RONet::getVehicleTypeSecure(), myAdaptionFactor, myAdditiveTraffic, myBegin, myDefaultVehicle, myEnd, myMatrix, myMaxAlternatives, myNet, myNetloadOutput, myRouter, and myUseDefaultCapacities.

Referenced by operator=().

Here is the caller graph for this function:

◆ ~ROMAAssignments()

ROMAAssignments::~ROMAAssignments ( )

Destructor.

Definition at line 59 of file ROMAAssignments.cpp.

References myDefaultVehicle.

Member Function Documentation

◆ addRoute()

bool ROMAAssignments::addRoute ( const ConstROEdgeVector & edges,
std::vector< RORoute * > & paths,
std::string routeId,
double prob )
private

add a route and check for duplicates

Definition at line 169 of file ROMAAssignments.cpp.

Referenced by computePath().

Here is the caller graph for this function:

◆ capacityConstraintFunction()

double ROMAAssignments::capacityConstraintFunction ( const ROEdge * edge,
const double flow ) const

Definition at line 117 of file ROMAAssignments.cpp.

References getCapacity(), ROEdge::getLength(), ROEdge::getNumLanes(), ROEdge::getPriority(), ROEdge::getSpeedLimit(), ROEdge::isTazConnector(), and myUseDefaultCapacities.

Referenced by incremental(), and sue().

Here is the caller graph for this function:

◆ computePath()

const ConstROEdgeVector ROMAAssignments::computePath ( ODCell * cell,
const SUMOTime time = 0,
const double probability = 0.,
SUMOAbstractRouter< ROEdge, ROVehicle > * router = nullptr,
bool setBulkMode = false )
private

Definition at line 187 of file ROMAAssignments.cpp.

References RORoute::addProbability(), addRoute(), SUMOAbstractRouter< E, V >::compute(), ODCell::destination, ODCell::destinationIsEdge, myDefaultVehicle, myMaxAlternatives, myNet, myRouter, ODCell::origin, ODCell::originIsEdge, ODCell::pathsVector, SUMOAbstractRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::setBulkMode(), TLF, and toString().

Referenced by getKPaths(), incremental(), and sue().

Here is the caller graph for this function:

◆ getCapacity()

double ROMAAssignments::getCapacity ( const ROEdge * edge) const

Definition at line 65 of file ROMAAssignments.cpp.

References ROEdge::getNumLanes(), ROEdge::getPriority(), ROEdge::getSpeedLimit(), ROEdge::isTazConnector(), and myUseDefaultCapacities.

Referenced by capacityConstraintFunction(), and writeInterval().

Here is the caller graph for this function:

◆ getDefaultVehicle()

ROVehicle * ROMAAssignments::getDefaultVehicle ( ) const
inline

Definition at line 59 of file ROMAAssignments.h.

References myDefaultVehicle.

Referenced by writeInterval().

Here is the caller graph for this function:

◆ getKPaths()

void ROMAAssignments::getKPaths ( const int kPaths,
const double penalty )
private

get the k shortest paths

Definition at line 225 of file ROMAAssignments.cpp.

References computePath(), myMatrix, and myPenalties.

Referenced by sue().

Here is the caller graph for this function:

◆ getPenalizedEffort()

double ROMAAssignments::getPenalizedEffort ( const ROEdge *const e,
const ROVehicle *const v,
double t )
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.

Parameters
[in]eThe edge for which the effort to be passed shall be returned
[in]vThe (default) vehicle that is routed
[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 487 of file ROMAAssignments.cpp.

References ROEdge::getEffort(), and myPenalties.

◆ getPenalizedTT()

double ROMAAssignments::getPenalizedTT ( const ROEdge *const e,
const ROVehicle *const v,
double t )
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.

Parameters
[in]eThe edge for which the effort to be passed shall be returned
[in]vThe (default) vehicle that is routed
[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 494 of file ROMAAssignments.cpp.

References ROEdge::getTravelTime(), and myPenalties.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ getTravelTime()

double ROMAAssignments::getTravelTime ( const ROEdge *const e,
const ROVehicle *const v,
double t )
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.

Parameters
[in]eThe edge for which the effort to be passed shall be returned
[in]vThe (default) vehicle that is routed
[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 501 of file ROMAAssignments.cpp.

References ROEdge::getTravelTime().

◆ incremental()

◆ operator=()

ROMAAssignments & ROMAAssignments::operator= ( const ROMAAssignments & src)
privatedelete

Invalidated assignment operator.

References ROMAAssignments().

◆ resetFlows()

void ROMAAssignments::resetFlows ( )

◆ sue()

◆ ue()

void ROMAAssignments::ue ( )

◆ writeInterval()

void ROMAAssignments::writeInterval ( const SUMOTime begin,
const SUMOTime end )

Field Documentation

◆ myAdaptionFactor

const double ROMAAssignments::myAdaptionFactor
private

Definition at line 136 of file ROMAAssignments.h.

Referenced by incremental(), and ROMAAssignments().

◆ myAdditiveTraffic

const bool ROMAAssignments::myAdditiveTraffic
private

Definition at line 135 of file ROMAAssignments.h.

Referenced by incremental(), ROMAAssignments(), and sue().

◆ myBegin

const SUMOTime ROMAAssignments::myBegin
private

Definition at line 133 of file ROMAAssignments.h.

Referenced by incremental(), resetFlows(), ROMAAssignments(), and sue().

◆ myDefaultVehicle

ROVehicle* ROMAAssignments::myDefaultVehicle
private

◆ myEnd

const SUMOTime ROMAAssignments::myEnd
private

Definition at line 134 of file ROMAAssignments.h.

Referenced by incremental(), resetFlows(), ROMAAssignments(), and sue().

◆ myMatrix

ODMatrix& ROMAAssignments::myMatrix
private

Definition at line 140 of file ROMAAssignments.h.

Referenced by getKPaths(), incremental(), resetFlows(), ROMAAssignments(), and sue().

◆ myMaxAlternatives

const int ROMAAssignments::myMaxAlternatives
private

Definition at line 137 of file ROMAAssignments.h.

Referenced by computePath(), and ROMAAssignments().

◆ myNet

RONet& ROMAAssignments::myNet
private

Definition at line 139 of file ROMAAssignments.h.

Referenced by computePath(), incremental(), ROMAAssignments(), and sue().

◆ myNetloadOutput

OutputDevice* const ROMAAssignments::myNetloadOutput
private

Definition at line 144 of file ROMAAssignments.h.

Referenced by ROMAAssignments(), and writeInterval().

◆ myPenalties

std::map< const ROEdge *const, double > ROMAAssignments::myPenalties
staticprivate

Definition at line 142 of file ROMAAssignments.h.

Referenced by getKPaths(), getPenalizedEffort(), and getPenalizedTT().

◆ myRouter

SUMOAbstractRouter<ROEdge, ROVehicle>& ROMAAssignments::myRouter
private

Definition at line 141 of file ROMAAssignments.h.

Referenced by computePath(), incremental(), ROMAAssignments(), and sue().

◆ myUseDefaultCapacities

const bool ROMAAssignments::myUseDefaultCapacities
private

Definition at line 138 of file ROMAAssignments.h.

Referenced by capacityConstraintFunction(), getCapacity(), and ROMAAssignments().


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