 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
18 #ifndef ROMAAssignments_h
19 #define ROMAAssignments_h
54 const double adaptionFactor,
const int maxAlternatives,
74 void incremental(
const int numIter,
const bool verbose);
80 void sue(
const int maxOuterIteration,
const int maxInnerIteration,
const int kPaths,
const double penalty,
const double tolerance,
const std::string routeChoiceMethod);
128 void getKPaths(
const int kPaths,
const double penalty);
147 : myAssign(assign), myCell(c),
myBegin(begin), myLinkFlow(linkFlow) {}
153 const double myLinkFlow;
156 RoutingTask&
operator=(
const RoutingTask&);
ROMAAssignments & operator=(const ROMAAssignments &src)
Invalidated assignment operator.
void getKPaths(const int kPaths, const double penalty)
get the k shortest paths
void incremental(const int numIter, const bool verbose)
const bool myAdditiveTraffic
A basic edge for routing applications.
The router's network representation.
ROMAAssignments(const SUMOTime begin, const SUMOTime end, const bool additiveTraffic, const double adaptionFactor, const int maxAlternatives, RONet &net, ODMatrix &matrix, SUMOAbstractRouter< ROEdge, ROVehicle > &router)
Constructor.
A vehicle as used by router.
SUMOAbstractRouter< ROEdge, ROVehicle > & myRouter
A single O/D-matrix cell.
const double myAdaptionFactor
static std::map< const ROEdge *const, double > myPenalties
static double getPenalizedEffort(const ROEdge *const e, const ROVehicle *const v, double t)
Returns the effort to pass an edge including penalties.
ROVehicle * getDefaultVehicle()
~ROMAAssignments()
Destructor.
bool addRoute(const ConstROEdgeVector &edges, std::vector< RORoute * > &paths, std::string routeId, double prob)
add a route and check for duplicates
An O/D (origin/destination) matrix.
ROVehicle * myDefaultVehicle
double capacityConstraintFunction(const ROEdge *edge, const double flow) const
static double getCapacity(const ROEdge *edge)
const ConstROEdgeVector computePath(ODCell *cell, const SUMOTime time=0, const double probability=0., SUMOAbstractRouter< ROEdge, ROVehicle > *router=nullptr)
A basic edge for routing applications.
const int myMaxAlternatives
Abstract superclass of a task to be run with an index to keep track of pending tasks.
static double getTravelTime(const ROEdge *const e, const ROVehicle *const v, double t)
Returns the traveltime on an edge without penalties.
std::vector< const ROEdge * > ConstROEdgeVector
A thread repeatingly calculating incoming tasks.
static double getPenalizedTT(const ROEdge *const e, const ROVehicle *const v, double t)
Returns the traveltime on an edge including penalties.
void sue(const int maxOuterIteration, const int maxInnerIteration, const int kPaths, const double penalty, const double tolerance, const std::string routeChoiceMethod)