21 #ifndef ROMAAssignments_h 22 #define ROMAAssignments_h 80 void incremental(
const int numIter,
const bool verbose);
86 void sue(
const int maxOuterIteration,
const int maxInnerIteration,
const int kPaths,
const double penalty,
const double tolerance,
const std::string routeChoiceMethod);
132 void getKPaths(
const int kPaths,
const double penalty);
150 : myAssign(assign), myCell(c),
myBegin(begin), myLinkFlow(linkFlow) {}
156 const double myLinkFlow;
159 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
ROMAAssignments(const SUMOTime begin, const SUMOTime end, const bool additiveTraffic, const double adaptionFactor, RONet &net, ODMatrix &matrix, SUMOAbstractRouter< ROEdge, ROVehicle > &router)
Constructor.
A vehicle as used by router.
A single O/D-matrix cell.
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.
bool addRoute(ConstROEdgeVector &edges, std::vector< RORoute *> &paths, std::string routeId, double prob)
add a route and check for duplicates
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.
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)
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.