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