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(), and myDefaultVehicle.

◆ ~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

◆ 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(), ODMatrix::getCells(), 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.

◆ resetFlows()

void ROMAAssignments::resetFlows ( )

Definition at line 239 of file ROMAAssignments.cpp.

References NamedObjectCont< T >::begin(), NamedObjectCont< T >::end(), ODMatrix::getCells(), RONet::getEdgeMap(), MIN2(), myBegin, myEnd, myMatrix, myNet, ROMAEdge::setFlow(), ROMAEdge::setHelpFlow(), and STEPS2TIME.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ sue()

◆ ue()

void ROMAAssignments::ue ( )

◆ writeInterval()

Field Documentation

◆ myAdaptionFactor

const double ROMAAssignments::myAdaptionFactor
private

Definition at line 136 of file ROMAAssignments.h.

Referenced by incremental().

◆ myAdditiveTraffic

const bool ROMAAssignments::myAdditiveTraffic
private

Definition at line 135 of file ROMAAssignments.h.

Referenced by incremental(), and sue().

◆ myBegin

const SUMOTime ROMAAssignments::myBegin
private

Definition at line 133 of file ROMAAssignments.h.

Referenced by incremental(), resetFlows(), 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(), and sue().

◆ myMatrix

ODMatrix& ROMAAssignments::myMatrix
private

Definition at line 140 of file ROMAAssignments.h.

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

◆ myMaxAlternatives

const int ROMAAssignments::myMaxAlternatives
private

Definition at line 137 of file ROMAAssignments.h.

Referenced by computePath().

◆ myNet

RONet& ROMAAssignments::myNet
private

Definition at line 139 of file ROMAAssignments.h.

Referenced by computePath(), incremental(), resetFlows(), sue(), and writeInterval().

◆ myNetloadOutput

OutputDevice* const ROMAAssignments::myNetloadOutput
private

Definition at line 144 of file ROMAAssignments.h.

Referenced by 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(), and sue().

◆ myUseDefaultCapacities

const bool ROMAAssignments::myUseDefaultCapacities
private

Definition at line 138 of file ROMAAssignments.h.

Referenced by capacityConstraintFunction(), and getCapacity().


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