Open-source VRPLite Package for Vehicle Routing with Pickup and Delivery: A Path Finding Engine for Scheduled Transportation Systems

Open-source VRPLite Package for Vehicle Routing with Pickup and Delivery: A Path Finding Engine... Urban Rail Transit (2018) 4(2):68–85 https://doi.org/10.1007/s40864-018-0083-7 http://www.urt.cn/ ORIGINAL RESEARCH PAPERS Open-source VRPLite Package for Vehicle Routing with Pickup and Delivery: A Path Finding Engine for Scheduled Transportation Systems 1 2,3 1 4 • • • • Xuesong Zhou Lu Tong Monirehalsadat Mahmoudi Lijuan Zhuge 4 5 6 1 5,7 • • • • Yu Yao Yongxiang Zhang Pan Shang Jiangtao Liu Tie Shi Received: 2 May 2018 / Revised: 17 May 2018 / Accepted: 23 May 2018 / Published online: 6 June 2018 The Author(s) 2018 Abstract Recently, automation, shared use, and electrifi- optimizing services for feature scheduled transportation cation are viewed as the ‘‘three revolutions’’ in the future systems. Due to the difficulty of finding optimal solutions transportation sector, and the traditional scheduled public for large-scale instances, enormous research efforts have transit system will be greatly enhanced with flexible ser- been dedicated to developing efficient algorithms, while vices and autonomous vehicle scheduling capabilities. our paper presents a unique perspective based on a time- Many emerging scheduled transportation applications dependent and state-dependent path searching framework. include the fully automatic operation system in urban rail An open-source and light-weight VRP with pickup and transit, joint line planning, and timetabling for high-speed delivery with time windows (VRPPDTW) modeling rail as well as emerging self-driving vehicle dispatching. package, namely VRPLite, has been developed in this The vehicle routing problem (VRP) holds promise for research to provide a high-quality and computationally seeking an optimal set of vehicle routes and schedules to efficient solution engine for transportation on demand meet customers’ requirements and plays a vital role in applications. This paper describes the space–time–state & Lu Tong School of Sustainable Engineering and the Built ltong@buaa.edu.cn Environment, Arizona State University, Tempe, AZ 85281, USA Xuesong Zhou xzhou74@asu.edu School of Electronic and Information Engineering, Beihang University, Beijing 100091, China Monirehalsadat Mahmoudi mmahmoudi@asu.edu National Engineering Laboratory for Comprehensive Transportation Big Data Application Technology, Lijuan Zhuge Beijing 100091, China 16120948@bjtu.edu.cn School of Traffic and Transportation, Beijing Jiaotong Yu Yao University, Beijing 100044, China yaoyu1@bjtu.edu.cn School of Transportation and Logistics, Southwest Jiaotong Yongxiang Zhang University, Chengdu 610031, Sichuan, China bk20100249@my.swjtu.edu.cn Department of Civil Engineering, Tsinghua University, Pan Shang Beijing 100084, China Shangp16@mails.tsinghua.edu.cn National United Engineering Laboratory of Integrated and Jiangtao Liu Intelligent Transportation, Southwest Jiaotong University, jliu215@asu.edu Chengdu 610031, Sichuan, China Tie Shi tshi2005@my.swjtu.edu.cn Communicated by Jing Teng. 123 Urban Rail Transit (2018) 4(2):68–85 69 modeling process of VRPPDTW using a hyper-network with time windows (VRPPDTW) [13]. Previous research representation. This solution framework can be embedded has made a number of important contributions along dif- in a column generation or Lagrangian relaxation frame- ferent formulations or solution approaches. On the other work to handle many general applications. A number of hand, there are a number of modeling and algorithmic illustrated examples are presented to demonstrate the challenges for a large-scale deployment of vehicle routing effectiveness of the path search algorithm under various and scheduling algorithms, especially for regional net- traffic conditions and passenger travel requirements. works with various road capacity and traffic delay con- straints on freeway bottlenecks and signal timing on urban Keywords Vehicle routing problem with pickup and streets. delivery  Space–time–state network modeling  Column In the field of operations research, a few previous generation  Lagrangian relaxation studies directly consider the underlying transportation network with time of day traffic congestion, while the majority of studies define the VRPPDTW on a directed 1 Introduction graph with fixed shortest travel distance or least travel time routes between origin–destination pairs. Due to the com- As population and personal travel activities continue to plexity of variables and constraints, it is difficult to seek increase, traffic congestion has remained as one of the optimal solutions for large-scale VRPs. The generalized major concerns for transportation system agencies with VRP problem also has a number of rich applications on the tight resource constraints. The next generation of trans- urban transit and other related scheduling or logistics portation scheduling initiatives aims to integrate various problems [14, 15]. For example, the most featured one is demand management strategies and traffic control mea- the transit vehicle assignment and routing problem, which sures to actively achieve mobility, environment and sus- is usually studied as the generalized VRP problem. Other tainability goals. Various approaches hold promises of related problems include crew scheduling, aircraft fleeting reducing the undesirable effects of traffic congestion due to and routing, fleet itinerary scheduling as well as network- driving-alone trips. In this research, we mainly focus on wide train timetabling which assigns trains to different providing a time-dependent and state-dependent path routes. searching engine to serve the demand-responsive ride- In this paper, we introduce our proposed algorithm from sourcing/urban transit services in next-generation trans- the perspective of shortest path algorithms, which has rich portation on demand applications. applications in the field of transportation network modeling In general, there are two classes of the vehicle routing [16]. The physical network can be denoted byðÞ N; A , problem (VRP): (1) designing line haul services for cus- where N is the set of nodes and A is the set of arcs, and then tomers from the depot and back haul services for customers the shortest path problem is to find a path with the minimal to the depot, and (2) transporting passengers or goods cost that consists of a sequence of links ðÞ i; j 2 A con- between specific origins and destinations with possible necting origin node o to destination node d. The shortest requested time windows. VRPLite can cover the above two path problem can be represented as the minimal cost net- types of problems, but our discussion below focuses on the work flow problem by sending one unit of flow from o to second class without loss of generality. There are a number d. A binary variable x is used to denote whether the flow i,j of excellent reviews on vehicle routing problems with passes the linkðÞ i; j or not. The mathematical formulation pickup and delivery by Cordeau et al. [1], Parragh et al. [2] of the shortest path problem with node flow balance con- and Psaraftis et al. [3]. When each transporting request is straints is listed below [17]. defined by determinate pickup and delivery points, the minz ¼ c x ð1Þ i;j i;j VRP becomes the vehicle routing problem with pickup and ðÞ i;j 2A delivery (VRPPD). Practical applications of the VRPPD can be commonly found in urban rail transit management, s.t. to name a few, rail transit line planning [4, 5], policy 1 8i ¼ o X X decision making [6, 7], train operation management [8, 9], x  x ¼ 1 8i ¼ d ð2Þ i;j j;i train timetabling [10, 11], and metro-based freight trans- : fg j:ðÞ i;j 2A fg j:ðÞ j;i 2A 0 otherwise portation [12]. In the emerging peer-to-peer ride-sharing x 2fg 0; 1 8ðÞ i; j 2 A ð3Þ service, a passenger can ask the driver to take him/her i;j directly to the destination, and the passenger may also In general, there are mainly two algorithmic approaches share this ride with one or more passengers. The ride- to deal with the shortest path problem, namely label setting sharing problem can be mathematically modeled by the and label correcting algorithm [17]. Both approaches classic vehicle routing problem with pickup and delivery 123 70 Urban Rail Transit (2018) 4(2):68–85 iteratively update the label cost of nodes at each step. The by using a cumulative space–time–state representation to label cost of nodes is designated as permanent in the label reduce the number of complex constraints. A space–time– setting algorithm at each iteration, while the label cor- speed hyper-network and the corresponding dynamic pro- recting algorithm can change the label cost of nodes at any gramming algorithm are introduced by Zhou et al. [22] step. This feature determines that label setting algorithm with applications in joint optimization of train timeta- cannot solve the shortest path problem with negative arc bles and speed profiles. A resource-space–time network costs, but the label correcting algorithm can deal with the was adapted by Lu et al. [23] to consider time-dependent shortest path problem with arbitrary arc costs. The static routing applications with energy resource considerations. shortest path problem can be further extended to dynamic As an alternative representation to the high-dimension version with time-dependent arc costs c on link (i, j) for network, a decomposition approach is considered by Tong i;j;t et al. [14] and Ruan et al. [24] with two coupled sub- vehicles leaving at time t, and time-dependent link travel time TT . Ziliaskopoulos and Mahmassani [18] proposed problems, i.e., a space–time network-based shortest path i,j,t problem and a general assignment problem, for customized an efficient label correcting-based algorithm to find the time-dependent shortest paths from all nodes in the net- bus applications. By extending the space–time network- based time-dependent shortest path algorithms, this work to the single destination node. Chabini [19] aims to reduce the worst-case complexity in solving the time-de- VRPLite package aims to solve the time-dependent and state-dependent shortest path problem. As a particular note, pendent shortest path problem by adopting the dynamic programming approach. Recently, the shortest path prob- the cumulative service state of passengers is presented as lem in three-dimensional networks or hyper-networks has the ‘‘state’’ dimension in the VRPLite package. Table 1 provides a detailed comparison of the above attracted significant interests in transportation optimization problems. Mahmoudi and Zhou [20] developed a time- shortest path algorithms from the perspectives of network representation, arc cost, data structure to the solution dependent forward dynamic programming algorithm to reformulate the VRPPD as a special version of the shortest methods. In Table 2, we further list different state repre- sentations in the space–time–state modeling framework to path problem with time-dependent and state-dependent arc costs where the state represents the number of passengers show the potential of this modeling method in solving difficult transportation problems. on the vehicle. Liu et al. [21] further considered an extended version of household activity scheduling problem The fully functional, open-source VRPLite package can be downloaded from https://github.com/xzhou99/VRPLite. Table 1 Comparison of different shortest path algorithms (network representation, arc cost, data structure, and solution methods) Dimension Vertex Arc States Cost Network building Method Space based [17] Physical Physical arcs – Negative Scan eligible list Label correcting nodes or positive Physical Physical arcs – Positive Heap for find the Label setting nodes minimal temporal labels Space-time, time- Physical Physical arcs, – Negative Without explicitly Label correcting dependent [18] nodes time- or building the space– dependent positive time network arc cost Space–time, time- Physical Physical arcs, – Negative Without explicitly Dynamic Programming dependent [19] nodes time- or building the space– dependent positive time network arc cost Space–time–state, Space– Space–time– Seats, number of Negative Without explicitly Dynamic Programming, but time and state time– state links passengers or building the space– need to enumerate the vehicle dependent [20] state positive time–state network carrying states nodes Space–time–state, Space– Space–time– 0, 1, 2, for Negative Without explicitly Dynamic Programming, time and state time– state links cumulative or building the space– dynamically generate the dependent (this state service states of positive time–state network passenger cumulative service research) nodes passengers states 123 Urban Rail Transit (2018) 4(2):68–85 71 Table 2 Typical different state representations State Applications Related papers Vehicle carrying VRPPDTW Mahmoudi and Zhou [20] Passenger cumulative service VRPPDTW Mahmoudi et al. [25] Resource, e.g., energy or emissions Green VRP Lu et al. [23] Activity performing states Household activity pattern Liu et al. [21] problem High-speed train speed Train scheduling Zhou et al. [22] Cumulative working hours in crew scheduling, cumulative running distance in electric Crew scheduling, EMU Chen et al. [26] multiple unit (EMU) maintenance scheduling maintenance scheduling The goal of this package includes the following three carrying state w . Because of the three-dimensional net- aspects. work structure, it is easy to model passengers’ travel requests, vehicles’ travel times changing over time, and 1. Provide an open-source code base that enables trans- available passenger carrying states. Given a set of pas- portation researchers and software developers to sengers P and their travel requests, as pickup/delivery expand its range of capabilities to various traffic/trans- locations, o =d , and space–time windows, a ; b and p p p p portation management applications. hi 0 0 2. Provide a free, educational modeling framework for a ; b , as well as vehicle capacity constraint Cap and p p students and researchers to understand the complex other routing constraints, the VRPPDTW problem aims to space–time–state network modeling process for trans- find optimal passenger-to-vehicle assignment, vehicle portation optimization applications, e.g., train time- routes and timetables for each vehicle v in the vehicle set tabling, urban rail transit scheduling and ride-sharing V under certain traffic conditions. The notations used in applications. this paper are listed in Tables 3 and 4. 3. We introduce our solution approach and related software implementation from a time-dependent and 2.2 Modeling Methodology Based on the Space– state-dependent shortest path approach. Time–State Network Representation A simple example with two travel requests and one vehicle in our previous study [20] is used to demonstrate key 2 Space–Time–State-Based Models modeling features of space–time–state network represen- tation. Consider a general physical transportation network 2.1 Problem Statement containing six nodes. Each link in this network is associ- ated with time-dependent travel time TTðÞ i; j; t . Two The VRPPDTW problem studied in this paper can be requests are with the same pickup node (node 2) and the formally defined by the following statement. Consider a same drop-off node (node 3), but with different pickup and physical transportation network (N, M) with a finite set of drop-off time windows. Only one vehicle is available for nodes N and a finite set of links M, where nodes i; j 2 N serving the two requests. Moreover, we assumed that the and directed link ðÞ i; j 2 M. A space–time network G ¼ vehicle starts its route from node 4 and ends it at node 1. ðÞ E; A can be constructed for transportation network One dummy origin node and one dummy destination node ðÞ N; M under planning time horizon T considering pas- need to be built to correspond to its pickup node and drop- senger carrying state W with a finite set of space–time–state off node for each request. As shown in Fig. 1, Passenger 1 vertices V and a finite set of space–time–state arcs A ac- should be picked up from dummy node o in time window cording to optimization requirements. In a space–time– [4,7] and dropped off at dummy node d in time window state setting, each vertexðÞ i; t; w V simultaneously rep- [11,14], while Passenger 2 should be picked up from resents time, location, and vehicle carrying state; each arc dummy node o in time window [8,10] and dropped off at ðÞ i; j; t; s; w; w2 A indicates a directed space–time–state dummy node d in time window [13,16]. Vehicle 1 also has path from node i departing at time t with passenger car- rying state w to node j arriving at time s with passenger 123 72 Urban Rail Transit (2018) 4(2):68–85 Table 3 Indexes and variables Symbol Definition used to describe the VRPPDTW problem V Set of physical vehicles V Set of virtual vehicles P Set of passengers N Set of physical transportation nodes in the physical traffic network M Set of physical transportation links in the physical traffic network W Set of possible passenger carrying states v Vehicle index v Index of virtual vehicle exclusively dedicated for passenger p p Passenger index w Passenger carrying state index (i, j) Index of physical link between adjacent nodes i and j TTðÞ i; j; t Link travel time from node i to node j starting at time t Cap Maximum capacity of vehicle v a Earliest departure time from passenger p’s origin b Latest departure time from passenger p’s origin Earliest arrival time at passenger p’s destination b Latest arrival time at passenger p’s destination Departure time window for passenger p’s origin a ; b p p hi 0 0 Arrival time window for passenger p’s destination a ; b p p o Dummy node for vehicle v’s origin d Dummy node for vehicle v’s destination e Vehicle v’s earliest departure time from the origin depot l Vehicle v’s latest arrival time to the destination depot o Dummy node for passenger p’s origin (pickup node for passenger p) d Dummy node for passenger p’s destination (delivery node for passenger p) Table 4 Indexes and variables used for the model formulation Symbol Definition ðÞ i; t; w ,ðÞ j; s; w Indexes of space–time–state vertexes ðÞ i; j; t; s; w; w Index of a space–time–state arc indicating that one can travel from node i at time t with passenger carrying state w to the node j at time s with passenger carrying state w V Set of vertices in the proposed space–time–state network V Set of virtual vehicles B Set of space–time–state arcs in vehicle v’s network 0 0 cvðÞ ; i; j; t; s; w; w Routing cost of arcðÞ i; j; t; s; w; w traveled by vehicle v, including transportation costs, passenger waiting time and vehicle waiting time, converted through the values of time 0 0 TTðÞ v; i; j; t; s; w; w Travel time of arcðÞ i; j; t; s; w; w traveled by vehicle v W Set of pickup service arcs of passenger p in vehicle v’s networks p;v 0 0 yvðÞ ; i; j; t; s; w; w = 1 if arcðÞ i; j; t; s; w; w is used by vehicle v; ¼ 0 otherwise the earliest departure time from its starting depot, t =1, it serves both requests. To use a space–time–state network and the latest arrival time at its ending depot, t = 20. representation for model formulation, the time horizon is Note that the shortest path with node sequence discretized into a set of time intervals with the same time 0 0 ðo ; 4; 2; o ; 2; o ; 2; 5; 6; 3; d ; 3; d ; 3; 1; d Þ from vehicle unit, e.g., 1 min. Selected arcs constituting the shortest 1 2 1 2 1 1 1’s origin to its ending depot is shown by bold arrows when paths from vehicle 1’s origin to its destination are 123 Urban Rail Transit (2018) 4(2):68–85 73 [11,14] 1 [13,16] [_] d’ 1 1 1 o’ 2 1 [_] 1 3 [p1,p2] 1 1 2 2 2 2 5 6 1 1 [_] [p1] [p2] 2 [p1,p2] 2 4 1 1 1 2 2 o’ [4,7] 1 [_] [8,10] d’ Time (a) (b) Time window for vehicle v at Dummy pickup node Transportation arcs starting and ending depots Passenger p’s preferred departure Dummy delivery node Waiting Arc time window from origin Service arc corresponding pickup Dummy depot Passenger p’s preferred arrival time window to destination Service arc corresponding drop-off Transportation node Fig. 1 a Six-node transportation network, transportation network with the corresponding dummy nodes, where [•,•] represents passenger time windows; b shortest paths in the space–time network, where [], [p1], [p1] and [p1, p2] represent vehicle carrying states [20] demonstrated in the vehicle’s space–time network illus- Flow balance constraints at vehicle v’s origin vertex: trated in Fig. 1 (b). yvðÞ ; i; j; t; s; w; w¼ 1 Each vehicle starts its trip from the empty state in which ðÞ i;j;t;s;w;w2B ð5Þ the vehicle carries 0 passenger. We call this empty state as 0 0 i ¼ o ; t ¼ e ; w ¼ w ¼ w ; 8v 2ðÞ V [ V v 0 the initial state w . Each vertex in the constructed space– time–state network is recognized by a triplet of three dif- Flow balance constraint at vehicle v’s destination vertex ferent indexes: node index i, time interval index t, and yvðÞ ; i; j; t; s; w; w¼ 1 passenger carrying state index w. ðÞ i;j;t;s;w;w2B ð6Þ In the space–time–state transportation network, we can 0 0 j ¼ d ; s ¼ l ; w ¼ w ¼ w ; 8v 2ðÞ V [ V v 0 identify a traveling arcðÞ i; j; t; s; w; w starting from node i at time t with passenger carrying state arriving w to node Flow balance constraint at intermediate vertex j at time s with passenger carrying state w . Accordingly, in X X 00 0 0 0 yvðÞ ; i; j; t; s; w; w yvðÞ ; j ; i; s ; t; w ; w¼ 0 the space–time–state network, each vertexðÞ i; t; w is con- 00 0 0 0 ðÞ j;s;w ðÞ j ;s ;w 0 0 nected to vertexðÞ j; s; w through arcðÞ i; j; t; s; w; w . 0 0 The VRPPDTW model based on space–time–state net- ðÞ i; t; w 62 o ; e ; w ; d ; l ; w ; 8v 2ðÞ V [ V v 0 v 0 v v work representation was first proposed by Mahmoudi and ð7Þ Zhou [20]. The model used in VRPLite is given in Eqs. (4)–(9). For more detailed information, we refer Passenger p’s pickup request constraint X X interested readers to the original research paper and the yvðÞ ; i; j; t; s; w; w¼ 1 8p 2 P ð8Þ GAMS source code can be found at https://github.com/ v2ðÞ V[VðÞ i;j;t;s;w;w2W p;v xzhou99/VRPLite/tree/master/GAMS_SourceCode. Objective function: Binary definitional constraint X X 0 0 0 0 minZ ¼ cvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w2fg 0; 1 8ðÞ i; j; t; s; w; w2 B ; 0 ð9Þ v2ðÞ V[VðÞ i;j;t;s;w;w2B 8v 2ðÞ V [ V ð4Þ Space 74 Urban Rail Transit (2018) 4(2):68–85 2.3 Understanding Different Optimization Models In graph theory, the shortest path problem is the problem of Within VRPLite Package finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is The transportation optimization problem for large-scale minimized. Interested readers could get more information instances gives rise to challenges requiring innovative on space–time network construction and computationally concepts and solution techniques. Our VRPLite package time-dependent shortest path algorithms in [17, 18]. In the tackles with routing and scheduling problems with time VRPPDTW, we need to compute time-dependent and state- dimensions and incorporates theoretical models and prac- dependent shortest path for each vehicle. tical methods, such as VRP, the assignment problem, the 5. Dynamic programming knapsack problem, time-dependent and state-dependent Several efficient algorithms have been developed to com- problem, Lagrangian relaxation solution framework, and pute time-dependent shortest paths in networks with time- column generation framework. dependent arc costs. In the path searching engine, a time- 1. Vehicle routing problem indexed dynamic programming algorithm is used to solve the shortest path problem. The family of VRP problem is a class of linear program- ming problems with a special structure of two layers. 6. Lagrangian relaxation solution framework Specifically, when it comes to the freight transportation, Lagrangian relaxation is a relaxation method which each source has a fixed supply of units, which must be approximates a difficult problem of constrained optimiza- distributed to the destinations. Each destination has a fixed tion by a simpler problem. To find the optimal solution for demand for units, which must be satisfied by the sources. In the Lagrangian dual problem, VRPLite computes time- dial-a-ride, transportation on demand problem or dependent and state-dependent least-cost path for each VRPPDTW problem for passenger transporting, each pas- vehicle based on updated multipliers by calling the pro- senger needs to be transported from his/her origin to des- posed time-dependent forward dynamic programming tination in a complex transportation network. algorithm. 2. Assignment problem 7. Column generation framework The assignment problem needs to match a number of Column generation, to be detailed further, provides an agents to a number of tasks. Any agent can be assigned to effective way to find solutions for linear programs with perform any task, incurring some costs that may vary numerous variables. The predominant concept is that the depending on the agent-to-task assignment relationship. It primal problem is split into two problems: the master is required to perform all tasks by assigning agents to tasks problem and the subproblem. The master problem is the following certain rules in such a way that the total cost of original problem with only a subset of variables being the assignment is minimized. In the VRPPDTW problem, considered. The subproblem is a new problem created to vehicles need to be assigned to serve passengers. By fol- identify a new variable. The VRPPDTW problem can be lowing a variable splitting method introduced by Fisher split into set partitioning problems and time-dependent [27], the complex space–time–state variables can be shortest path problems, which can be solved by standard decomposed into assignment variables for both passengers optimizer and proposed time-dependent dynamic pro- and vehicles and space–time routing variables for vehicles. gramming algorithm, respectively. The merit of variable dimensionality reduction lies in avoiding the enumeration of vehicle states. Therefore, the assignment problem-based VRP model is superior when 3 Software Architecture, Data Flow dealing with high-capacity transportation modes, such as and Implementation customized buses, public transit and etc. 3.1 Data Flow Chart of VRPLite 3. Knapsack problem The knapsack problem refers to the common problem of The software architecture designed in VRPLite aims to packing the most valuable or useful items subject to the integrate passenger-to-vehicle assignment and time-de- overall knapsack capacity constraints. In the VRPPDTW, pendent routing into an open-source VRP modeling pack- we need to decide which passengers should be served by age. As shown in Fig. 2, there are three major modeling each vehicle because of the limited carrying capacity of components, including: (1) dynamic programming based vehicles or limited time budgets. on a node-link network structure and vehicle states tran- 4. Time-dependent and state-dependent shortest path sition; (2) Lagrangian relaxation module, which utilizes problem passenger’s prices to determine vehicle’s pickup and 123 Urban Rail Transit (2018) 4(2):68–85 75 delivery decision in (1) dynamic programming module; (3) are updated according to a subgradient method, that is, column (i.e., vehicle paths) generation for large-scale checking how many times a passenger has been served problems. The final output includes passenger costs/profits during the current iteration to increase or decrease the price (e.g., total waiting cost, transportation cost), passenger-to- accordingly. For a large-scale application, we use a multi- vehicle assignment and vehicle space–time trajectories. vehicle column generation process to better define and search for feasible solutions. 3.2 A Dynamic Programming Solution Framework Implemented as a Beam Search Process 3.3 Column Generation Framework for Finding Multi-vehicle Routing Solutions Within a dynamic programming (DP) framework, Fig. 3 shows the data flow chart and the solution framework of The VRPPDTW, in its original arc-based form, can also be VRPLite. In general, dynamic programming is suitable for reformulated as a set partitioning problem by applying multistep or sequential decision processes with given state Dantzig–Wolfe decomposition. We could introduce a new transition. In our case, the time horizon serves as the stages set of path-based variables xvðÞ ; p , which equals 1 if pas- in DP, and at current node and current time, (cumulative senger p is served by vehicle v and equals 0 otherwise. The service) states are defined by the vehicle’s path node set partitioning formulation of the VRPPDTW can be sequence, path time sequence, and served passenger expressed as follows. X X sequence. Min Z ¼ cvðÞxvðÞ ; p ð10Þ Figure 4 depicts the pseudo-code of the time-indexed p2P v2V beam search algorithm, which is an improved version s.t. compared with the three-loop dynamic programming algorithm by Mahmoudi and Zhou [20]. Essentially, a xvðÞ ; p ¼ 1 8p 2 P ð11Þ vehicle starts from its depot at departure time and scans v2V[V three loops with the index of time, the index of k for the xvðÞ ; p ¼fg 0; 1 8p 2 P; v 2 V ð12Þ beam search and the index of outgoing nodes from the current node. At each time, all the possible states are The objective function (10) minimizes the cost of the evaluated by the objective function and the best K partial chosen paths. The constraint (11) guarantees that each solutions are selected to move forward. It should be noted passenger is served exactly once. The linear programming that the current node is stored in the time-indexed vector (LP) relaxation of (10)–(12) with a subset of feasible paths td_state[t] [k] and only the k best solutions are selected to is called the Restricted Master Problem (RMP), which can move forward. The final solution is output as the vehicle be solved by a standard optimizer. We are also able to reaches its destination within its time window. Figure 5 obtain dual prices for each passenger pðÞ p from the solu- depicts the process of the time-indexed beam search tion of the RMP. Those dual prices are then utilized in the algorithm. objective function of the subproblem, which searches for To handle the demand satisfaction constraint (8) of our variables with negative reduced cost. The objective func- model, we introduce Lagrangian relaxation to relax this tion of the underlying pricing subproblem can be formu- constraint, with added passenger profits (i.e., dual price) in lated as Eq. (13). the new objective function. Iteratively, passenger profits Network data (Link Capacity, free- flow/time- dependent travel time) (2) Lagrangian Relaxation Passenger cost/profit, Vehicle data Dual prices Space-time- passenger-to-vehicle (OD, capacity, time state structure assignment, window) (1) Dynamic Programming vehicle trajectory State transition Passenger data (OD, time window) (3) Column generation Vehicle path Fig. 2 Software architecture with key modeling components 123 76 Urban Rail Transit (2018) 4(2):68–85 1. The basic input data for VRPLite includes (a) passenger information with origin node, destination node, time window and base profit, (b) vehicle information with depot, time window and capacity constraint, and (d) transportation network with links (travel time) and nodes. To impose flow balance constraints, we add (c) virtual nodes and links. 2. Solution algorithm is composed mainly by (e) Lagrangian relaxation relaxes “hard” constraints and adds them to the objective function represented by (g) passenger profits, which are updated according to how many times passenger has been served during the current iteration and provided to (f) dynamic programming as an input. 3. The output data includes (i) vehicle space- time-state trajectories provided by (f) dynamic programming and (j) passenger profit/cost information updated by (e) Lagrangian relaxation. Fig. 3 Data flow chart of VRPLite 0 0 passenger p or not, should be binary variables. Thus we Min r ¼ cvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w 0 have to design branching strategies to find feasible integer i;j;t;s;w;w solutions. When the algorithm branches on variables pðÞ p xvðÞ ; p ð13Þ p xvðÞ ; p , it indicates that xvðÞ ; p is fractional and typically imposes two branches xvðÞ ; p ¼ 0 and xvðÞ ; p ¼ 1. The pricing problem is essentially a time-dependent shortest path problem in a network with time-dependent arc costs, while several efficient algorithms have been devel- 4 Numerical Experiments oped to solve such a problem. Along this line, the time- dependent and state-dependent path searching engine 4.1 The First Toy Example on a Corridor developed based on a dynamic programming framework can be used to compute the subproblem within the general A small corridor network consisting of 6 physical nodes column generation framework. and 5 physical links is shown in Figs. 7 and 6 dummy As shown in Fig. 6, by solving the Restricted Master nodes and 10 dummy links are also included. The internal Problem, the outputting optimal solution with dual prices number of physical and dummy nodes is determined with a of passengers being its byproduct results could be served as given labeling rule. First, all of the physical nodes are the input of the pricing subproblem. Iteratively, the pricing labeled from 1 to N where N is the number of physical subproblem is solved to generate a new path of the vehicle, nodes. Second, the pickup and delivery nodes of each as a new column to be added to the master problem. passenger are numbered sequentially from N ? 1to Finally, the optimized vehicle routes are obtained. For N ? 2P where P represents the total number of passengers. more details of column generation algorithms, especially Finally, we mark the number of origin and destination about the branch and price framework and its final con- depots of each vehicle in sequence from N ? 2P ? 1to vergence criteria, interested readers are referred to Lu¨b- N ? 2P ? 2M. In addition, the departure and arrival time becke and Desrosiers [28]. windows are specified directly beside those dummy nodes. In the column generation algorithm, the RMP is relaxed In this example, one vehicle will travel from node 1 to node into a linear programming problem; thus, the optimal 6 to serve two passengers on its way. The first passenger A solution we obtain might be fractional. However, the departs from node 2 and needs to alight the vehicle at node variables xvðÞ ; p , which represent if the vehicle v serves 123 Urban Rail Transit (2018) 4(2):68–85 77 Initialize vector td_state[t0] = [o], end_state[v] = [], KBestSize, build virtual node for each passengers’ and vehicle’s origin-destination node Do while t in (T0, T) Sort td_state[time t] according to the overall cost (transportation cost + profit for serving passengers+ passenger and vehicle waiting cost) Do while index k < min (td_state[t0].size (), KBestSize) current_node = td_state[t0] [k].current_node Do while to_node in current_node.outbound_node_vector.size () to_node_time = t + outbound_link’s travel time when entering link at time t Case 1: to_node is a dummy pick up or drop-off node and the arrival time to_node_time is within the service time window. If passenger p is not in td_state[t0] [k], then v can pick up passenger p; if p has been in vehicle v’s carrying state td_state[t0] [k], then v wold drop off passenger p. Update the vehicle carrying states in td_state[to_node_time] with its current_node = to_node and new cost with possible service profit. Case 2: to_node is a physical node. Update td_state[to_node_time] with its current_node = to_node and updated cost. Case 3: to_node is vehicle’s destination node d. Update end_state[v] with td_state[to_node_time] and updated cost. End // downstream node End // index k End // time t Sort end_state[v] according to its cost, choose the first one as our solution. Parameter and variable definitions: td_state: vehicle’s time-dependent state end_state: vehicle’s ending state at destination to_node_time: vehicle arrival time at the downstream node of the current node. Index k: the index for beam search with the KBestSize as beam width Fig. 4 Pseudo-code of time-indexed beam search process for each v with origin o departure time T , destination d arrival time T Fig. 5 The process of the time-indexed beam search algorithm, with the time dimension as the horizontal axis 123 78 Urban Rail Transit (2018) 4(2):68–85 Table 5 Internal number of the nodes shown in the basic example Initialization Name Internal node Type number 1 1 Physical node Restricted Master Problem 2 2 Physical node ˄ RMP˅ 3 3 Physical node 4 4 Physical node 5 5 Physical node Pricing Subproblem 6 6 Physical node Add colum n to RMP o 7 Dummy node, passenger A pickup node d 8 Dummy node, passenger A delivery node o 9 Dummy node, passenger B pickup node d 10 Dummy node, passenger B delivery node Is the reduced cost o 11 Dummy node, vehicle 1 origin depot Yes 1 negative? d 12 Dummy node, vehicle 1 destination depot No passenger waiting time or vehicle waiting time in this example. That is, in the optimal solution the vehicle can end arrive at the service points just at the time when the service time windows start. Fig. 6 Column generation framework for finding multi-vehicle routing solutions 4.2 The Second Example with Extended Link Travel Time 4, while the second passenger B needs to travel from node 3 to node 5. The internal number of nodes shown in Fig. 7 The travel time of links (2, 3) and (4, 5) is extended to 4, as is labeled in Table 5 by following our cost updating rule. In shown in Fig. 9, and the departure and arrival time win- Figs. 7, 9, 11 and 13, texts in circles, rectangles and tri- dows of passengers A and B are updated accordingly, so angles denote node numbers, and texts on links represent that no vehicle or passenger waiting time is introduced, as corresponding travel costs. shown in Table 7, and the space–time trajectory of the Both the upper bound and lower bound of the small vehicle is shown in Fig. 10. example are equal to 20, so it is proved that the optimal Both upper bound and lower bound of this problem are solution is 20. In addition, the optimal routes and schedules equal to 24, which increases by 4 compared to the optimal for the single vehicle are shown in Table 6, and the space– solution of the first example. Obviously, it is for the reason time trajectory of the vehicle for the basic example is that the travel time of links (2, 3) and (4, 5) increases by 4 illustrated in Fig. 8. It is remarked that there is no [17,19] [13,15] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [1,1] [13,53] 1 1 o o 1 2 [5,7] [9,11] Physical node Dummy node Physical link Dummy link Fig. 7 Network layout and time-window settings for the basic example 123 Urban Rail Transit (2018) 4(2):68–85 79 Table 6 The evolution of path LR iteration Step size Node sequence Time sequence node sequences and path time sequences for the basic example 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526 Time Fig. 8 Vehicle space–time trajectory for the basic example [21,23] [15,17] d d 1 2 11 11 2 4 2 4 2 1 П 1 2 3 4 5 6 П O d 1 1 [13,53] [1,1] 11 11 o o 1 2 [11,13] [5,7] Physical node Dummy node Physical link Dummy link Fig. 9 Network layout and time-window settings for the example with extended link travel time Space 80 Urban Rail Transit (2018) 4(2):68–85 Table 7 The evolution of path LR iteration Step size Node sequence Time sequence node sequences and path time sequences for basic example 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 with extended link travel time 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 d 1 o1 O 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 10 Space–time trajectory of the vehicle for the example with extended link travel time and no extra vehicle or passenger waiting time is The upper bound and lower bound of this example are introduced. equal to 22.5, which turns out to be the optimal solution. The optimal routes and schedules for the vehicle are shown 4.3 The Third Example with Extra Vehicle Waiting in Table 8, and the space–time trajectory of the vehicle is Time shown in Fig. 12. It can be observed that the vehicle arrives at node o at time 5 and waits until time 10, so the vehicle In order to test the influence of vehicle waiting time on the waiting time is 5. Besides, the total travel time of the optimal vehicle routes and schedules, the departure time vehicle is 25, but the cost ratio of vehicle waiting time is window of passenger A is delayed from [5, 7] to [10, 12]. only 0.5, and then the optimal value of total cost is equal to Therefore, the vehicle will have to wait at node o until 25 - 0.5 9 (10 - 5) = 22.5. passenger A gets ready to depart at time 10. In addition, the arrival time window of passenger A and the time windows 4.4 The Forth Example with Extra Passenger of passenger B are modified accordingly, so that the Waiting Time vehicle will not wait at other places. The updated time window settings are shown in Fig. 11. If the vehicle departs late from the origin deport, then the passengers will have to wait until the vehicle arrives. Space Urban Rail Transit (2018) 4(2):68–85 81 [22,24] [18,20] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [13,53] [1,1] 11 11 o o 1 2 [10,12] [14,16] Physical node Dummy node Physical link Dummy link Fig. 11 Network layout and time-window settings for the example with extra passenger waiting time with extra vehicle waiting time Table 8 The evolution of path node sequences and path time sequences for the example with extra vehicle waiting time LR iteration Step size Node sequence Time sequence 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 1 1 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 2 0.5 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 3 0.333333 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 4 0.25 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 5 0.2 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 6 0.166667 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 7 0.142857 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 8 0.125 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 9 0.111111 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 Upper bound: 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 12 Space–time trajectory of the vehicle for the example with extra vehicle waiting time Space 82 Urban Rail Transit (2018) 4(2):68–85 [22,24] [18,20] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [6,6] [13,53] o o 1 2 [5,10] [14,16] Physical node Dummy node Physical link Dummy link Fig. 13 Network layout and time-window settings for the example with extra passenger waiting time Table 9 The evolution of path node sequences and path time sequences for the example with extra passenger waiting time LR iteration Step size Node sequence Time sequence 0 1 11;1;2;3;4;5;6;12 6;7;9;11;13;15;17;18 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 4.5 The Fifth Example for Branching Process Therefore, the departure time window of the vehicle is delayed by 5 compared with the basic example, and the Within a Column Generation Process departure and arrival time windows of those two passen- gers are adjusted accordingly. The new time-window set- We test our column generation algorithm on the six-node tings are shown in Fig. 13. transportation network illustrated in Fig. 1 for a scenario The upper bound and lower bound of this example are with three passengers and two vehicles. Table 10 shows equal to 21.5, and the optimal routes and schedules of the origin–destination pairs, and passengers’ departure and vehicle are shown in Table 9, and the space–time trajectory arrival time windows. Terms ‘‘TW’’ and ‘‘TH’’ stand for of the vehicle is shown in Fig. 14. It is obvious that pas- time window and time horizon, respectively. The code and related data of this example can be downloaded at https:// senger A starts to wait at time 5 until the vehicle arrives at time 10, so the waiting time of passenger A is 5. In addi- github.com/YaoYuBJTU/VRPLite-python. Based on this scenario, we obtain a fractional optimal tion, because the cost ratio of passenger waiting time is 0.5 and the total travel time of the vehicle is 20, the optimal solution during solving the RMP. The solution, xðÞ 1; 1 ¼ xðÞ 1; 2 ¼ 0:5; xðÞ 2; 1 ¼ xðÞ 2; 3 ¼ 0:5; xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ value of the total cost is 20 ? 0.3 9 5 = 21.5. 0:5 shows that three types of paths are used (two passen- gers can be served through the ride-sharing mode by the vehicle going through each path), but the value of the decision variable = 0.5 means that only 0.5 vehicles go through that path, which has no physical significance. As a 123 Urban Rail Transit (2018) 4(2):68–85 83 d 1 o1 O 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 14 Space–time trajectory of the vehicle for the example with extra passenger waiting time Table 10 Passengers’ origin–destination pairs and corresponding departure and arrival time windows 0 0 0 0 o d o d o d o d o d 1 1 2 2 3 3 1 1 2 2 26 23 53 41 41 TW TW TW TW TW TW TH Cap TH Cap o d o d o d v v v v 1 1 2 2 3 3 1 1 2 2 [5,7] [8,11] [5,8] [11,15] [7,9] [12,14] [1, 30] 2 [1, 30] 2 result, branching is needed to obtain the feasible solutions, traveler mobility optimization, agent-based trajectory i.e., for the fractional value xðÞ 1; 1 ¼ 0:5, we could force control under the new environment of shared self-driving xðÞ 1; 1 to be 1 and 0 as two child nodes, ensuring passenger car or automated guided vehicle (AGV) networks. This p1 is served by vehicle v1 or not. After a branching step, open-source and educational modeling framework could column generation is used again and a series of new paths help researchers understand the complex space–time–state are generated through the subproblem. The feasible solu- network modeling methodologies, especially from a time- tion of branch xðÞ 1; 1 ¼1is xðÞ 1; 1 ¼ xðÞ 1; 2 dependent and state-dependent shortest path perspective. ¼ 1; xðÞ 4; 3 ¼ 1, while for the other branch xðÞ 1; 1 ¼ 0, Because the shipping of passengers and goods by shared there are two feasible solutions, xðÞ 2; 1 ¼ xðÞ 2; 3 ¼ self-driving cars or automated urban rail trains needs to be 1; xðÞ 5; 3 ¼ 1 and xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ 1; xðÞ 6; 1 ¼ 1. fully coordinated and cooperative, we hope this algorithm Finally, we could obtain the feasible optimal solu- could help to demonstrate how to reduce the transportation tion,xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ 1; xðÞ 6; 1 ¼ 1, which means p2 and cost and improve the efficiency in shipping passengers or p3 are served by one vehicle through the ride-sharing mode goods [29], especially in the area of city logistics [30]. In and p1 is served by another vehicle. particular, if the shared self-driving cars are electrified, the gas emission caused by the transportation process could decrease to a large extent [31]. 5 Discussions and Conclusions It should be highlighted that, unlike the shared self- driving cars, AGVs usually move on the visual track-based This research aims to improve the scheduled transportation networks with specially required path topologies and two system performance by enabling better vehicle scheduling AGVs may conflict on the interactions of their paths [32] capabilities in complex transportation on demand applica- where the paths of AGVs are planned in advance to avoid tions. Specifically, the VRPLite package addresses several all kinds of obstacles [33, 34]. In this situation, the fundamental research issues in scheduled transportation scheduling and routing of AGVs is very similar to that of systems, which offers a set of solution platforms on holistic scheduled rail systems [35–37] where each spatial and Space 84 Urban Rail Transit (2018) 4(2):68–85 China’s Guangzhou metro experience. Urban Rail Transit temporal resource can only be occupied by at most one 2(1):33–45 train. It can be shown that the scheduling and routing of 10. Niu H, Zhou X (2013) Optimizing urban rail timetable under AGVs are also a variant of the vehicle routing problem, time-dependent demand and oversaturated conditions. Transp Res and the readers can refer to [32, 38] for detailed reviews on Part C Emerg Technol 36:212–230 11. Shang P, Li R, Liu Z, Yang L, Wang Y (2018) Equity-oriented the corresponding solution approach and applications of skip-stopping schedule optimization in an oversaturated urban AGVs. rail transit network. Transp Res Part C Emerg Technol In addition, the VRPLite package uses a discretized 89:321–343 space–time–state modeling approach, so it is natural to 12. Dampier A, Marinov M (2015) A study of the feasibility and potential implementation of metro-based freight transportation in consider time-dependent link travel time in the program, Newcastle upon Tyne. Urban Rail Transit 1(3):164–182 such as the vehicle routing problem with time-dependent 13. Toth P, Vigo D (eds) (2002) The vehicle routing problem. Society link travel time and path flexibility in the paper [39], as for Industrial and Applied Mathematics, Philadelphia well as spatial and temporal conflicts between AGVs. 14. Tong L, Zhou L, Liu J, Zhou X (2017) Customized bus service design for jointly optimizing passenger-to-vehicle assignment We hope that, the theoretical methodologies, insights and vehicle routing. Transp Res Part C Emerg Technol and open-source tools developed from this research will be 85:451–475 useful for modeling and optimizing new autonomous 15. Niu H, Zhou X, Tian X (2018) Coordinating assignment and vehicle operation and control methods for metropolitan routing decisions in transit vehicle schedules: a variable-splitting Lagrangian decomposition approach for solution symmetry regions. In the future, a new class of ubiquitous distributed breaking. Transp Res Part B Methodol 107:70–101 computing-based algorithms will be further studied, to 16. Pallottino S, Scutella MG (1998) Shortest path algorithms in include joint trip assignment, routing and scheduling transportation models: classical and innovative aspects. equilib- problems. rium and advanced transportation modelling. Springer, Berlin 17. Ahuja RK, Magnanti TL, Orlin JB (1993) Network flows: theory, algorithms, and applications. Prentice Hall, Upper Saddle River Open Access This article is distributed under the terms of the 18. Ziliaskopoulos AK, Mahmassani HS (1993) A time dependent Creative Commons Attribution 4.0 International License (http://crea shortest path algorithm for real time intelligent vehicle/highway tivecommons.org/licenses/by/4.0/), which permits unrestricted use, systems. Transp Res Rec J Transp Res Board 1408:94–100 distribution, and reproduction in any medium, provided you give 19. Chabini I (1998) Discrete dynamic shortest path problems in appropriate credit to the original author(s) and the source, provide a transportation applications: complexity and algorithms with link to the Creative Commons license, and indicate if changes were optimal run time. Transp Res Rec J Transp Res Board made. 1645:170–175 20. Mahmoudi M, Zhou X (2016) Finding optimal solutions for vehicle routing problem with pickup and delivery services with References time windows: a dynamic programming approach based on state– space–time network representations. Transp Res Part B 89:19–42 1. Cordeau JF, Laporte G, Potvin JY, Savelsbergh MWP (2007) 21. Liu J, Kang JE, Zhou X, Pendyala R (2017) Network-oriented Chapter 7 transportation on demand. Handbooks in operations household activity pattern problem for system optimization. research and management science. Elsevier B.V, New York Transp Res Part C. https://doi.org/10.1016/j.trc.2017.09.006 2. Parragh SN, Doerner KF, Hartl RF (2008) A survey on pickup 22. Zhou L, Tong L, Chen J, Tang J, Zhou X (2017) Joint opti- and delivery problems. Journal Fu¨r Betriebswirtschaft mization of high-speed train timetables and speed profiles: a 58(1):21–51 unified modeling approach using space-time-speed grid networks. 3. Psaraftis HN, Wen M, Kontovas CA (2016) Dynamic vehicle Transp Res Part B Methodol 97:157–181 routing problems: three decades and counting. Networks 23. Lu G, Zhou X, Mahmoudi M, Shi T, Peng Q (2018) Optimizing 67(1):3–31 resource recharging location-routing plans: A resource-space- 4. Cheng WC, Schonfeld P (2015) A Method for optimizing the time network modeling framework for railway locomotive refu- phased development of rail transit lines. Urban Rail Transit eling applications. Computers & Industrial Engineering (in press) 1(4):227–237 24. Ruan JM, Liu B, Wei H, Qu Y, Zhu N, Zhou X (2016) How many 5. Lu K, Han B, Zhou X (2018) Smart urban transit systems: from and where to locate parking lots? A space–time accessibility- integrated framework to interdisciplinary perspective. Urban Rail maximization modeling framework for special event traffic Transit. https://doi.org/10.1007/s40864-018-0080-x management. Urban Rail Transit 2(2):59–70 6. Bao X (2018) Urban rail transit present situation and future 25. Mahmoudi M, Chen J, Shi T, Zhang Y, Zhou X (2018) A development trends in China: overall analysis based on national cumulative service state representation for the pickup and policies and strategic plans in 2016–2020. Urban Rail Transit delivery problem with synchronized transfers (Submitted) 4(1):1–12. https://doi.org/10.1007/s40864-018-0078-4 26. Chen R, Zhou L, Yue Y, Tang J, Lu C (2018) The integrated 7. Kelly J, Marinov M (2017) Innovative interior designs for urban optimization of robust train timetabling and electric multiple unit freight distribution using light rail systems. Urban Rail Transit circulation and maintenance scheduling problem. Adv Mech Eng 3(4):238–254 10(3):1–16 8. Wang Y, Zhang M, Ma J, Zhou X (2016) Survey on driverless 27. Fisher ML, Jo¨rnsten KO (1997) Vehicle routing with time win- train operation for urban rail transit systems. Urban Rail Transit dows: two optimization algorithms. INFORMS, Catonsville 2(3–4):106–113 28. Lu¨bbecke ME, Desrosiers J (2005) Selected topics in column 9. He L, Liang Q, Fang S (2016) Challenges and innovative solu- generation. Oper Res 53(6):1007–1023 tions in urban rail transit network operations and management: 29. Arslan A, Agatz N, Kroon L, Zuidwijk R (2016) Crowdsourced delivery: A dynamic pickup and delivery problem with ad-hoc 123 Urban Rail Transit (2018) 4(2):68–85 85 drivers. Technical report, ERIM Report Series Reference. http:// 35. Yin J, Tang T, Yang L, Gao Z, Ran B (2016) Energy-efficient ssrn.com/abstract2726731 metro train rescheduling with uncertain time-variant passenger 30. Savelsbergh M, Van Woensel T (2016) 50th anniversary invited demands: an approximate dynamic programming approach. article—city logistics: challenges and opportunities. Transp Sci Transp Res Part B Methodol 91:178–210 50(2):579–590 36. Rao X, Montigel M, Weidmann U (2016) A new rail optimisation 31. Mun˜oz-Villamizar A, Montoya-Torres JR, Faulin J (2017) Impact model by integration of traffic management and train automation. of the use of electric vehicles in collaborative urban transport Transp Res Part C Emerg Technol 71:382–405 networks: a case study. Transp Res Part D Transp Environ 37. Yin J, Yang L, Tang T, Gao Z, Ran B (2017) Dynamic passenger 50:40–54 demand oriented metro train scheduling with energy-efficiency 32. Qiu L, Hsu WJ, Huang SY, Wang H (2002) Scheduling and and waiting time minimization: mixed-integer linear program- routing algorithms for AGVs: a survey. Int J Prod Res ming approaches. Transp Res Part B Methodol 97:182–213 40(3):745–760 38. Fazlollahtabar H, Saidi-Mehrabad M (2015) Methodologies to 33. Chen X, Li Y (2006) Smooth formation navigation of multiple optimize automated guided vehicle scheduling and routing mobile robots for avoiding moving obstacles. Int J Control problems: a review study. J Intell Robot Syst 77(3–4):525–545 Autom Syst 4(4):466–479 39. Huang Y, Zhao L, Van Woensel T, Gross JP (2017) Time-de- 34. Ota J (2006) Multi-agent robot systems as distributed autono- pendent vehicle routing problem with path flexibility. Transp Res mous systems. Adv Eng Inform 20(1):59–70 Part B Methodol 95:169–195 http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Urban Rail Transit Springer Journals

Open-source VRPLite Package for Vehicle Routing with Pickup and Delivery: A Path Finding Engine for Scheduled Transportation Systems

Free
18 pages

Loading next page...
 
/lp/springer_journal/open-source-vrplite-package-for-vehicle-routing-with-pickup-and-KC9OlkLtE3
Publisher
Springer Journals
Copyright
Copyright © 2018 by The Author(s)
Subject
Engineering; Automotive Engineering; Geoengineering, Foundations, Hydraulics; Computational Intelligence
ISSN
2199-6687
eISSN
2199-6679
D.O.I.
10.1007/s40864-018-0083-7
Publisher site
See Article on Publisher Site

Abstract

Urban Rail Transit (2018) 4(2):68–85 https://doi.org/10.1007/s40864-018-0083-7 http://www.urt.cn/ ORIGINAL RESEARCH PAPERS Open-source VRPLite Package for Vehicle Routing with Pickup and Delivery: A Path Finding Engine for Scheduled Transportation Systems 1 2,3 1 4 • • • • Xuesong Zhou Lu Tong Monirehalsadat Mahmoudi Lijuan Zhuge 4 5 6 1 5,7 • • • • Yu Yao Yongxiang Zhang Pan Shang Jiangtao Liu Tie Shi Received: 2 May 2018 / Revised: 17 May 2018 / Accepted: 23 May 2018 / Published online: 6 June 2018 The Author(s) 2018 Abstract Recently, automation, shared use, and electrifi- optimizing services for feature scheduled transportation cation are viewed as the ‘‘three revolutions’’ in the future systems. Due to the difficulty of finding optimal solutions transportation sector, and the traditional scheduled public for large-scale instances, enormous research efforts have transit system will be greatly enhanced with flexible ser- been dedicated to developing efficient algorithms, while vices and autonomous vehicle scheduling capabilities. our paper presents a unique perspective based on a time- Many emerging scheduled transportation applications dependent and state-dependent path searching framework. include the fully automatic operation system in urban rail An open-source and light-weight VRP with pickup and transit, joint line planning, and timetabling for high-speed delivery with time windows (VRPPDTW) modeling rail as well as emerging self-driving vehicle dispatching. package, namely VRPLite, has been developed in this The vehicle routing problem (VRP) holds promise for research to provide a high-quality and computationally seeking an optimal set of vehicle routes and schedules to efficient solution engine for transportation on demand meet customers’ requirements and plays a vital role in applications. This paper describes the space–time–state & Lu Tong School of Sustainable Engineering and the Built ltong@buaa.edu.cn Environment, Arizona State University, Tempe, AZ 85281, USA Xuesong Zhou xzhou74@asu.edu School of Electronic and Information Engineering, Beihang University, Beijing 100091, China Monirehalsadat Mahmoudi mmahmoudi@asu.edu National Engineering Laboratory for Comprehensive Transportation Big Data Application Technology, Lijuan Zhuge Beijing 100091, China 16120948@bjtu.edu.cn School of Traffic and Transportation, Beijing Jiaotong Yu Yao University, Beijing 100044, China yaoyu1@bjtu.edu.cn School of Transportation and Logistics, Southwest Jiaotong Yongxiang Zhang University, Chengdu 610031, Sichuan, China bk20100249@my.swjtu.edu.cn Department of Civil Engineering, Tsinghua University, Pan Shang Beijing 100084, China Shangp16@mails.tsinghua.edu.cn National United Engineering Laboratory of Integrated and Jiangtao Liu Intelligent Transportation, Southwest Jiaotong University, jliu215@asu.edu Chengdu 610031, Sichuan, China Tie Shi tshi2005@my.swjtu.edu.cn Communicated by Jing Teng. 123 Urban Rail Transit (2018) 4(2):68–85 69 modeling process of VRPPDTW using a hyper-network with time windows (VRPPDTW) [13]. Previous research representation. This solution framework can be embedded has made a number of important contributions along dif- in a column generation or Lagrangian relaxation frame- ferent formulations or solution approaches. On the other work to handle many general applications. A number of hand, there are a number of modeling and algorithmic illustrated examples are presented to demonstrate the challenges for a large-scale deployment of vehicle routing effectiveness of the path search algorithm under various and scheduling algorithms, especially for regional net- traffic conditions and passenger travel requirements. works with various road capacity and traffic delay con- straints on freeway bottlenecks and signal timing on urban Keywords Vehicle routing problem with pickup and streets. delivery  Space–time–state network modeling  Column In the field of operations research, a few previous generation  Lagrangian relaxation studies directly consider the underlying transportation network with time of day traffic congestion, while the majority of studies define the VRPPDTW on a directed 1 Introduction graph with fixed shortest travel distance or least travel time routes between origin–destination pairs. Due to the com- As population and personal travel activities continue to plexity of variables and constraints, it is difficult to seek increase, traffic congestion has remained as one of the optimal solutions for large-scale VRPs. The generalized major concerns for transportation system agencies with VRP problem also has a number of rich applications on the tight resource constraints. The next generation of trans- urban transit and other related scheduling or logistics portation scheduling initiatives aims to integrate various problems [14, 15]. For example, the most featured one is demand management strategies and traffic control mea- the transit vehicle assignment and routing problem, which sures to actively achieve mobility, environment and sus- is usually studied as the generalized VRP problem. Other tainability goals. Various approaches hold promises of related problems include crew scheduling, aircraft fleeting reducing the undesirable effects of traffic congestion due to and routing, fleet itinerary scheduling as well as network- driving-alone trips. In this research, we mainly focus on wide train timetabling which assigns trains to different providing a time-dependent and state-dependent path routes. searching engine to serve the demand-responsive ride- In this paper, we introduce our proposed algorithm from sourcing/urban transit services in next-generation trans- the perspective of shortest path algorithms, which has rich portation on demand applications. applications in the field of transportation network modeling In general, there are two classes of the vehicle routing [16]. The physical network can be denoted byðÞ N; A , problem (VRP): (1) designing line haul services for cus- where N is the set of nodes and A is the set of arcs, and then tomers from the depot and back haul services for customers the shortest path problem is to find a path with the minimal to the depot, and (2) transporting passengers or goods cost that consists of a sequence of links ðÞ i; j 2 A con- between specific origins and destinations with possible necting origin node o to destination node d. The shortest requested time windows. VRPLite can cover the above two path problem can be represented as the minimal cost net- types of problems, but our discussion below focuses on the work flow problem by sending one unit of flow from o to second class without loss of generality. There are a number d. A binary variable x is used to denote whether the flow i,j of excellent reviews on vehicle routing problems with passes the linkðÞ i; j or not. The mathematical formulation pickup and delivery by Cordeau et al. [1], Parragh et al. [2] of the shortest path problem with node flow balance con- and Psaraftis et al. [3]. When each transporting request is straints is listed below [17]. defined by determinate pickup and delivery points, the minz ¼ c x ð1Þ i;j i;j VRP becomes the vehicle routing problem with pickup and ðÞ i;j 2A delivery (VRPPD). Practical applications of the VRPPD can be commonly found in urban rail transit management, s.t. to name a few, rail transit line planning [4, 5], policy 1 8i ¼ o X X decision making [6, 7], train operation management [8, 9], x  x ¼ 1 8i ¼ d ð2Þ i;j j;i train timetabling [10, 11], and metro-based freight trans- : fg j:ðÞ i;j 2A fg j:ðÞ j;i 2A 0 otherwise portation [12]. In the emerging peer-to-peer ride-sharing x 2fg 0; 1 8ðÞ i; j 2 A ð3Þ service, a passenger can ask the driver to take him/her i;j directly to the destination, and the passenger may also In general, there are mainly two algorithmic approaches share this ride with one or more passengers. The ride- to deal with the shortest path problem, namely label setting sharing problem can be mathematically modeled by the and label correcting algorithm [17]. Both approaches classic vehicle routing problem with pickup and delivery 123 70 Urban Rail Transit (2018) 4(2):68–85 iteratively update the label cost of nodes at each step. The by using a cumulative space–time–state representation to label cost of nodes is designated as permanent in the label reduce the number of complex constraints. A space–time– setting algorithm at each iteration, while the label cor- speed hyper-network and the corresponding dynamic pro- recting algorithm can change the label cost of nodes at any gramming algorithm are introduced by Zhou et al. [22] step. This feature determines that label setting algorithm with applications in joint optimization of train timeta- cannot solve the shortest path problem with negative arc bles and speed profiles. A resource-space–time network costs, but the label correcting algorithm can deal with the was adapted by Lu et al. [23] to consider time-dependent shortest path problem with arbitrary arc costs. The static routing applications with energy resource considerations. shortest path problem can be further extended to dynamic As an alternative representation to the high-dimension version with time-dependent arc costs c on link (i, j) for network, a decomposition approach is considered by Tong i;j;t et al. [14] and Ruan et al. [24] with two coupled sub- vehicles leaving at time t, and time-dependent link travel time TT . Ziliaskopoulos and Mahmassani [18] proposed problems, i.e., a space–time network-based shortest path i,j,t problem and a general assignment problem, for customized an efficient label correcting-based algorithm to find the time-dependent shortest paths from all nodes in the net- bus applications. By extending the space–time network- based time-dependent shortest path algorithms, this work to the single destination node. Chabini [19] aims to reduce the worst-case complexity in solving the time-de- VRPLite package aims to solve the time-dependent and state-dependent shortest path problem. As a particular note, pendent shortest path problem by adopting the dynamic programming approach. Recently, the shortest path prob- the cumulative service state of passengers is presented as lem in three-dimensional networks or hyper-networks has the ‘‘state’’ dimension in the VRPLite package. Table 1 provides a detailed comparison of the above attracted significant interests in transportation optimization problems. Mahmoudi and Zhou [20] developed a time- shortest path algorithms from the perspectives of network representation, arc cost, data structure to the solution dependent forward dynamic programming algorithm to reformulate the VRPPD as a special version of the shortest methods. In Table 2, we further list different state repre- sentations in the space–time–state modeling framework to path problem with time-dependent and state-dependent arc costs where the state represents the number of passengers show the potential of this modeling method in solving difficult transportation problems. on the vehicle. Liu et al. [21] further considered an extended version of household activity scheduling problem The fully functional, open-source VRPLite package can be downloaded from https://github.com/xzhou99/VRPLite. Table 1 Comparison of different shortest path algorithms (network representation, arc cost, data structure, and solution methods) Dimension Vertex Arc States Cost Network building Method Space based [17] Physical Physical arcs – Negative Scan eligible list Label correcting nodes or positive Physical Physical arcs – Positive Heap for find the Label setting nodes minimal temporal labels Space-time, time- Physical Physical arcs, – Negative Without explicitly Label correcting dependent [18] nodes time- or building the space– dependent positive time network arc cost Space–time, time- Physical Physical arcs, – Negative Without explicitly Dynamic Programming dependent [19] nodes time- or building the space– dependent positive time network arc cost Space–time–state, Space– Space–time– Seats, number of Negative Without explicitly Dynamic Programming, but time and state time– state links passengers or building the space– need to enumerate the vehicle dependent [20] state positive time–state network carrying states nodes Space–time–state, Space– Space–time– 0, 1, 2, for Negative Without explicitly Dynamic Programming, time and state time– state links cumulative or building the space– dynamically generate the dependent (this state service states of positive time–state network passenger cumulative service research) nodes passengers states 123 Urban Rail Transit (2018) 4(2):68–85 71 Table 2 Typical different state representations State Applications Related papers Vehicle carrying VRPPDTW Mahmoudi and Zhou [20] Passenger cumulative service VRPPDTW Mahmoudi et al. [25] Resource, e.g., energy or emissions Green VRP Lu et al. [23] Activity performing states Household activity pattern Liu et al. [21] problem High-speed train speed Train scheduling Zhou et al. [22] Cumulative working hours in crew scheduling, cumulative running distance in electric Crew scheduling, EMU Chen et al. [26] multiple unit (EMU) maintenance scheduling maintenance scheduling The goal of this package includes the following three carrying state w . Because of the three-dimensional net- aspects. work structure, it is easy to model passengers’ travel requests, vehicles’ travel times changing over time, and 1. Provide an open-source code base that enables trans- available passenger carrying states. Given a set of pas- portation researchers and software developers to sengers P and their travel requests, as pickup/delivery expand its range of capabilities to various traffic/trans- locations, o =d , and space–time windows, a ; b and p p p p portation management applications. hi 0 0 2. Provide a free, educational modeling framework for a ; b , as well as vehicle capacity constraint Cap and p p students and researchers to understand the complex other routing constraints, the VRPPDTW problem aims to space–time–state network modeling process for trans- find optimal passenger-to-vehicle assignment, vehicle portation optimization applications, e.g., train time- routes and timetables for each vehicle v in the vehicle set tabling, urban rail transit scheduling and ride-sharing V under certain traffic conditions. The notations used in applications. this paper are listed in Tables 3 and 4. 3. We introduce our solution approach and related software implementation from a time-dependent and 2.2 Modeling Methodology Based on the Space– state-dependent shortest path approach. Time–State Network Representation A simple example with two travel requests and one vehicle in our previous study [20] is used to demonstrate key 2 Space–Time–State-Based Models modeling features of space–time–state network represen- tation. Consider a general physical transportation network 2.1 Problem Statement containing six nodes. Each link in this network is associ- ated with time-dependent travel time TTðÞ i; j; t . Two The VRPPDTW problem studied in this paper can be requests are with the same pickup node (node 2) and the formally defined by the following statement. Consider a same drop-off node (node 3), but with different pickup and physical transportation network (N, M) with a finite set of drop-off time windows. Only one vehicle is available for nodes N and a finite set of links M, where nodes i; j 2 N serving the two requests. Moreover, we assumed that the and directed link ðÞ i; j 2 M. A space–time network G ¼ vehicle starts its route from node 4 and ends it at node 1. ðÞ E; A can be constructed for transportation network One dummy origin node and one dummy destination node ðÞ N; M under planning time horizon T considering pas- need to be built to correspond to its pickup node and drop- senger carrying state W with a finite set of space–time–state off node for each request. As shown in Fig. 1, Passenger 1 vertices V and a finite set of space–time–state arcs A ac- should be picked up from dummy node o in time window cording to optimization requirements. In a space–time– [4,7] and dropped off at dummy node d in time window state setting, each vertexðÞ i; t; w V simultaneously rep- [11,14], while Passenger 2 should be picked up from resents time, location, and vehicle carrying state; each arc dummy node o in time window [8,10] and dropped off at ðÞ i; j; t; s; w; w2 A indicates a directed space–time–state dummy node d in time window [13,16]. Vehicle 1 also has path from node i departing at time t with passenger car- rying state w to node j arriving at time s with passenger 123 72 Urban Rail Transit (2018) 4(2):68–85 Table 3 Indexes and variables Symbol Definition used to describe the VRPPDTW problem V Set of physical vehicles V Set of virtual vehicles P Set of passengers N Set of physical transportation nodes in the physical traffic network M Set of physical transportation links in the physical traffic network W Set of possible passenger carrying states v Vehicle index v Index of virtual vehicle exclusively dedicated for passenger p p Passenger index w Passenger carrying state index (i, j) Index of physical link between adjacent nodes i and j TTðÞ i; j; t Link travel time from node i to node j starting at time t Cap Maximum capacity of vehicle v a Earliest departure time from passenger p’s origin b Latest departure time from passenger p’s origin Earliest arrival time at passenger p’s destination b Latest arrival time at passenger p’s destination Departure time window for passenger p’s origin a ; b p p hi 0 0 Arrival time window for passenger p’s destination a ; b p p o Dummy node for vehicle v’s origin d Dummy node for vehicle v’s destination e Vehicle v’s earliest departure time from the origin depot l Vehicle v’s latest arrival time to the destination depot o Dummy node for passenger p’s origin (pickup node for passenger p) d Dummy node for passenger p’s destination (delivery node for passenger p) Table 4 Indexes and variables used for the model formulation Symbol Definition ðÞ i; t; w ,ðÞ j; s; w Indexes of space–time–state vertexes ðÞ i; j; t; s; w; w Index of a space–time–state arc indicating that one can travel from node i at time t with passenger carrying state w to the node j at time s with passenger carrying state w V Set of vertices in the proposed space–time–state network V Set of virtual vehicles B Set of space–time–state arcs in vehicle v’s network 0 0 cvðÞ ; i; j; t; s; w; w Routing cost of arcðÞ i; j; t; s; w; w traveled by vehicle v, including transportation costs, passenger waiting time and vehicle waiting time, converted through the values of time 0 0 TTðÞ v; i; j; t; s; w; w Travel time of arcðÞ i; j; t; s; w; w traveled by vehicle v W Set of pickup service arcs of passenger p in vehicle v’s networks p;v 0 0 yvðÞ ; i; j; t; s; w; w = 1 if arcðÞ i; j; t; s; w; w is used by vehicle v; ¼ 0 otherwise the earliest departure time from its starting depot, t =1, it serves both requests. To use a space–time–state network and the latest arrival time at its ending depot, t = 20. representation for model formulation, the time horizon is Note that the shortest path with node sequence discretized into a set of time intervals with the same time 0 0 ðo ; 4; 2; o ; 2; o ; 2; 5; 6; 3; d ; 3; d ; 3; 1; d Þ from vehicle unit, e.g., 1 min. Selected arcs constituting the shortest 1 2 1 2 1 1 1’s origin to its ending depot is shown by bold arrows when paths from vehicle 1’s origin to its destination are 123 Urban Rail Transit (2018) 4(2):68–85 73 [11,14] 1 [13,16] [_] d’ 1 1 1 o’ 2 1 [_] 1 3 [p1,p2] 1 1 2 2 2 2 5 6 1 1 [_] [p1] [p2] 2 [p1,p2] 2 4 1 1 1 2 2 o’ [4,7] 1 [_] [8,10] d’ Time (a) (b) Time window for vehicle v at Dummy pickup node Transportation arcs starting and ending depots Passenger p’s preferred departure Dummy delivery node Waiting Arc time window from origin Service arc corresponding pickup Dummy depot Passenger p’s preferred arrival time window to destination Service arc corresponding drop-off Transportation node Fig. 1 a Six-node transportation network, transportation network with the corresponding dummy nodes, where [•,•] represents passenger time windows; b shortest paths in the space–time network, where [], [p1], [p1] and [p1, p2] represent vehicle carrying states [20] demonstrated in the vehicle’s space–time network illus- Flow balance constraints at vehicle v’s origin vertex: trated in Fig. 1 (b). yvðÞ ; i; j; t; s; w; w¼ 1 Each vehicle starts its trip from the empty state in which ðÞ i;j;t;s;w;w2B ð5Þ the vehicle carries 0 passenger. We call this empty state as 0 0 i ¼ o ; t ¼ e ; w ¼ w ¼ w ; 8v 2ðÞ V [ V v 0 the initial state w . Each vertex in the constructed space– time–state network is recognized by a triplet of three dif- Flow balance constraint at vehicle v’s destination vertex ferent indexes: node index i, time interval index t, and yvðÞ ; i; j; t; s; w; w¼ 1 passenger carrying state index w. ðÞ i;j;t;s;w;w2B ð6Þ In the space–time–state transportation network, we can 0 0 j ¼ d ; s ¼ l ; w ¼ w ¼ w ; 8v 2ðÞ V [ V v 0 identify a traveling arcðÞ i; j; t; s; w; w starting from node i at time t with passenger carrying state arriving w to node Flow balance constraint at intermediate vertex j at time s with passenger carrying state w . Accordingly, in X X 00 0 0 0 yvðÞ ; i; j; t; s; w; w yvðÞ ; j ; i; s ; t; w ; w¼ 0 the space–time–state network, each vertexðÞ i; t; w is con- 00 0 0 0 ðÞ j;s;w ðÞ j ;s ;w 0 0 nected to vertexðÞ j; s; w through arcðÞ i; j; t; s; w; w . 0 0 The VRPPDTW model based on space–time–state net- ðÞ i; t; w 62 o ; e ; w ; d ; l ; w ; 8v 2ðÞ V [ V v 0 v 0 v v work representation was first proposed by Mahmoudi and ð7Þ Zhou [20]. The model used in VRPLite is given in Eqs. (4)–(9). For more detailed information, we refer Passenger p’s pickup request constraint X X interested readers to the original research paper and the yvðÞ ; i; j; t; s; w; w¼ 1 8p 2 P ð8Þ GAMS source code can be found at https://github.com/ v2ðÞ V[VðÞ i;j;t;s;w;w2W p;v xzhou99/VRPLite/tree/master/GAMS_SourceCode. Objective function: Binary definitional constraint X X 0 0 0 0 minZ ¼ cvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w2fg 0; 1 8ðÞ i; j; t; s; w; w2 B ; 0 ð9Þ v2ðÞ V[VðÞ i;j;t;s;w;w2B 8v 2ðÞ V [ V ð4Þ Space 74 Urban Rail Transit (2018) 4(2):68–85 2.3 Understanding Different Optimization Models In graph theory, the shortest path problem is the problem of Within VRPLite Package finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is The transportation optimization problem for large-scale minimized. Interested readers could get more information instances gives rise to challenges requiring innovative on space–time network construction and computationally concepts and solution techniques. Our VRPLite package time-dependent shortest path algorithms in [17, 18]. In the tackles with routing and scheduling problems with time VRPPDTW, we need to compute time-dependent and state- dimensions and incorporates theoretical models and prac- dependent shortest path for each vehicle. tical methods, such as VRP, the assignment problem, the 5. Dynamic programming knapsack problem, time-dependent and state-dependent Several efficient algorithms have been developed to com- problem, Lagrangian relaxation solution framework, and pute time-dependent shortest paths in networks with time- column generation framework. dependent arc costs. In the path searching engine, a time- 1. Vehicle routing problem indexed dynamic programming algorithm is used to solve the shortest path problem. The family of VRP problem is a class of linear program- ming problems with a special structure of two layers. 6. Lagrangian relaxation solution framework Specifically, when it comes to the freight transportation, Lagrangian relaxation is a relaxation method which each source has a fixed supply of units, which must be approximates a difficult problem of constrained optimiza- distributed to the destinations. Each destination has a fixed tion by a simpler problem. To find the optimal solution for demand for units, which must be satisfied by the sources. In the Lagrangian dual problem, VRPLite computes time- dial-a-ride, transportation on demand problem or dependent and state-dependent least-cost path for each VRPPDTW problem for passenger transporting, each pas- vehicle based on updated multipliers by calling the pro- senger needs to be transported from his/her origin to des- posed time-dependent forward dynamic programming tination in a complex transportation network. algorithm. 2. Assignment problem 7. Column generation framework The assignment problem needs to match a number of Column generation, to be detailed further, provides an agents to a number of tasks. Any agent can be assigned to effective way to find solutions for linear programs with perform any task, incurring some costs that may vary numerous variables. The predominant concept is that the depending on the agent-to-task assignment relationship. It primal problem is split into two problems: the master is required to perform all tasks by assigning agents to tasks problem and the subproblem. The master problem is the following certain rules in such a way that the total cost of original problem with only a subset of variables being the assignment is minimized. In the VRPPDTW problem, considered. The subproblem is a new problem created to vehicles need to be assigned to serve passengers. By fol- identify a new variable. The VRPPDTW problem can be lowing a variable splitting method introduced by Fisher split into set partitioning problems and time-dependent [27], the complex space–time–state variables can be shortest path problems, which can be solved by standard decomposed into assignment variables for both passengers optimizer and proposed time-dependent dynamic pro- and vehicles and space–time routing variables for vehicles. gramming algorithm, respectively. The merit of variable dimensionality reduction lies in avoiding the enumeration of vehicle states. Therefore, the assignment problem-based VRP model is superior when 3 Software Architecture, Data Flow dealing with high-capacity transportation modes, such as and Implementation customized buses, public transit and etc. 3.1 Data Flow Chart of VRPLite 3. Knapsack problem The knapsack problem refers to the common problem of The software architecture designed in VRPLite aims to packing the most valuable or useful items subject to the integrate passenger-to-vehicle assignment and time-de- overall knapsack capacity constraints. In the VRPPDTW, pendent routing into an open-source VRP modeling pack- we need to decide which passengers should be served by age. As shown in Fig. 2, there are three major modeling each vehicle because of the limited carrying capacity of components, including: (1) dynamic programming based vehicles or limited time budgets. on a node-link network structure and vehicle states tran- 4. Time-dependent and state-dependent shortest path sition; (2) Lagrangian relaxation module, which utilizes problem passenger’s prices to determine vehicle’s pickup and 123 Urban Rail Transit (2018) 4(2):68–85 75 delivery decision in (1) dynamic programming module; (3) are updated according to a subgradient method, that is, column (i.e., vehicle paths) generation for large-scale checking how many times a passenger has been served problems. The final output includes passenger costs/profits during the current iteration to increase or decrease the price (e.g., total waiting cost, transportation cost), passenger-to- accordingly. For a large-scale application, we use a multi- vehicle assignment and vehicle space–time trajectories. vehicle column generation process to better define and search for feasible solutions. 3.2 A Dynamic Programming Solution Framework Implemented as a Beam Search Process 3.3 Column Generation Framework for Finding Multi-vehicle Routing Solutions Within a dynamic programming (DP) framework, Fig. 3 shows the data flow chart and the solution framework of The VRPPDTW, in its original arc-based form, can also be VRPLite. In general, dynamic programming is suitable for reformulated as a set partitioning problem by applying multistep or sequential decision processes with given state Dantzig–Wolfe decomposition. We could introduce a new transition. In our case, the time horizon serves as the stages set of path-based variables xvðÞ ; p , which equals 1 if pas- in DP, and at current node and current time, (cumulative senger p is served by vehicle v and equals 0 otherwise. The service) states are defined by the vehicle’s path node set partitioning formulation of the VRPPDTW can be sequence, path time sequence, and served passenger expressed as follows. X X sequence. Min Z ¼ cvðÞxvðÞ ; p ð10Þ Figure 4 depicts the pseudo-code of the time-indexed p2P v2V beam search algorithm, which is an improved version s.t. compared with the three-loop dynamic programming algorithm by Mahmoudi and Zhou [20]. Essentially, a xvðÞ ; p ¼ 1 8p 2 P ð11Þ vehicle starts from its depot at departure time and scans v2V[V three loops with the index of time, the index of k for the xvðÞ ; p ¼fg 0; 1 8p 2 P; v 2 V ð12Þ beam search and the index of outgoing nodes from the current node. At each time, all the possible states are The objective function (10) minimizes the cost of the evaluated by the objective function and the best K partial chosen paths. The constraint (11) guarantees that each solutions are selected to move forward. It should be noted passenger is served exactly once. The linear programming that the current node is stored in the time-indexed vector (LP) relaxation of (10)–(12) with a subset of feasible paths td_state[t] [k] and only the k best solutions are selected to is called the Restricted Master Problem (RMP), which can move forward. The final solution is output as the vehicle be solved by a standard optimizer. We are also able to reaches its destination within its time window. Figure 5 obtain dual prices for each passenger pðÞ p from the solu- depicts the process of the time-indexed beam search tion of the RMP. Those dual prices are then utilized in the algorithm. objective function of the subproblem, which searches for To handle the demand satisfaction constraint (8) of our variables with negative reduced cost. The objective func- model, we introduce Lagrangian relaxation to relax this tion of the underlying pricing subproblem can be formu- constraint, with added passenger profits (i.e., dual price) in lated as Eq. (13). the new objective function. Iteratively, passenger profits Network data (Link Capacity, free- flow/time- dependent travel time) (2) Lagrangian Relaxation Passenger cost/profit, Vehicle data Dual prices Space-time- passenger-to-vehicle (OD, capacity, time state structure assignment, window) (1) Dynamic Programming vehicle trajectory State transition Passenger data (OD, time window) (3) Column generation Vehicle path Fig. 2 Software architecture with key modeling components 123 76 Urban Rail Transit (2018) 4(2):68–85 1. The basic input data for VRPLite includes (a) passenger information with origin node, destination node, time window and base profit, (b) vehicle information with depot, time window and capacity constraint, and (d) transportation network with links (travel time) and nodes. To impose flow balance constraints, we add (c) virtual nodes and links. 2. Solution algorithm is composed mainly by (e) Lagrangian relaxation relaxes “hard” constraints and adds them to the objective function represented by (g) passenger profits, which are updated according to how many times passenger has been served during the current iteration and provided to (f) dynamic programming as an input. 3. The output data includes (i) vehicle space- time-state trajectories provided by (f) dynamic programming and (j) passenger profit/cost information updated by (e) Lagrangian relaxation. Fig. 3 Data flow chart of VRPLite 0 0 passenger p or not, should be binary variables. Thus we Min r ¼ cvðÞ ; i; j; t; s; w; w yvðÞ ; i; j; t; s; w; w 0 have to design branching strategies to find feasible integer i;j;t;s;w;w solutions. When the algorithm branches on variables pðÞ p xvðÞ ; p ð13Þ p xvðÞ ; p , it indicates that xvðÞ ; p is fractional and typically imposes two branches xvðÞ ; p ¼ 0 and xvðÞ ; p ¼ 1. The pricing problem is essentially a time-dependent shortest path problem in a network with time-dependent arc costs, while several efficient algorithms have been devel- 4 Numerical Experiments oped to solve such a problem. Along this line, the time- dependent and state-dependent path searching engine 4.1 The First Toy Example on a Corridor developed based on a dynamic programming framework can be used to compute the subproblem within the general A small corridor network consisting of 6 physical nodes column generation framework. and 5 physical links is shown in Figs. 7 and 6 dummy As shown in Fig. 6, by solving the Restricted Master nodes and 10 dummy links are also included. The internal Problem, the outputting optimal solution with dual prices number of physical and dummy nodes is determined with a of passengers being its byproduct results could be served as given labeling rule. First, all of the physical nodes are the input of the pricing subproblem. Iteratively, the pricing labeled from 1 to N where N is the number of physical subproblem is solved to generate a new path of the vehicle, nodes. Second, the pickup and delivery nodes of each as a new column to be added to the master problem. passenger are numbered sequentially from N ? 1to Finally, the optimized vehicle routes are obtained. For N ? 2P where P represents the total number of passengers. more details of column generation algorithms, especially Finally, we mark the number of origin and destination about the branch and price framework and its final con- depots of each vehicle in sequence from N ? 2P ? 1to vergence criteria, interested readers are referred to Lu¨b- N ? 2P ? 2M. In addition, the departure and arrival time becke and Desrosiers [28]. windows are specified directly beside those dummy nodes. In the column generation algorithm, the RMP is relaxed In this example, one vehicle will travel from node 1 to node into a linear programming problem; thus, the optimal 6 to serve two passengers on its way. The first passenger A solution we obtain might be fractional. However, the departs from node 2 and needs to alight the vehicle at node variables xvðÞ ; p , which represent if the vehicle v serves 123 Urban Rail Transit (2018) 4(2):68–85 77 Initialize vector td_state[t0] = [o], end_state[v] = [], KBestSize, build virtual node for each passengers’ and vehicle’s origin-destination node Do while t in (T0, T) Sort td_state[time t] according to the overall cost (transportation cost + profit for serving passengers+ passenger and vehicle waiting cost) Do while index k < min (td_state[t0].size (), KBestSize) current_node = td_state[t0] [k].current_node Do while to_node in current_node.outbound_node_vector.size () to_node_time = t + outbound_link’s travel time when entering link at time t Case 1: to_node is a dummy pick up or drop-off node and the arrival time to_node_time is within the service time window. If passenger p is not in td_state[t0] [k], then v can pick up passenger p; if p has been in vehicle v’s carrying state td_state[t0] [k], then v wold drop off passenger p. Update the vehicle carrying states in td_state[to_node_time] with its current_node = to_node and new cost with possible service profit. Case 2: to_node is a physical node. Update td_state[to_node_time] with its current_node = to_node and updated cost. Case 3: to_node is vehicle’s destination node d. Update end_state[v] with td_state[to_node_time] and updated cost. End // downstream node End // index k End // time t Sort end_state[v] according to its cost, choose the first one as our solution. Parameter and variable definitions: td_state: vehicle’s time-dependent state end_state: vehicle’s ending state at destination to_node_time: vehicle arrival time at the downstream node of the current node. Index k: the index for beam search with the KBestSize as beam width Fig. 4 Pseudo-code of time-indexed beam search process for each v with origin o departure time T , destination d arrival time T Fig. 5 The process of the time-indexed beam search algorithm, with the time dimension as the horizontal axis 123 78 Urban Rail Transit (2018) 4(2):68–85 Table 5 Internal number of the nodes shown in the basic example Initialization Name Internal node Type number 1 1 Physical node Restricted Master Problem 2 2 Physical node ˄ RMP˅ 3 3 Physical node 4 4 Physical node 5 5 Physical node Pricing Subproblem 6 6 Physical node Add colum n to RMP o 7 Dummy node, passenger A pickup node d 8 Dummy node, passenger A delivery node o 9 Dummy node, passenger B pickup node d 10 Dummy node, passenger B delivery node Is the reduced cost o 11 Dummy node, vehicle 1 origin depot Yes 1 negative? d 12 Dummy node, vehicle 1 destination depot No passenger waiting time or vehicle waiting time in this example. That is, in the optimal solution the vehicle can end arrive at the service points just at the time when the service time windows start. Fig. 6 Column generation framework for finding multi-vehicle routing solutions 4.2 The Second Example with Extended Link Travel Time 4, while the second passenger B needs to travel from node 3 to node 5. The internal number of nodes shown in Fig. 7 The travel time of links (2, 3) and (4, 5) is extended to 4, as is labeled in Table 5 by following our cost updating rule. In shown in Fig. 9, and the departure and arrival time win- Figs. 7, 9, 11 and 13, texts in circles, rectangles and tri- dows of passengers A and B are updated accordingly, so angles denote node numbers, and texts on links represent that no vehicle or passenger waiting time is introduced, as corresponding travel costs. shown in Table 7, and the space–time trajectory of the Both the upper bound and lower bound of the small vehicle is shown in Fig. 10. example are equal to 20, so it is proved that the optimal Both upper bound and lower bound of this problem are solution is 20. In addition, the optimal routes and schedules equal to 24, which increases by 4 compared to the optimal for the single vehicle are shown in Table 6, and the space– solution of the first example. Obviously, it is for the reason time trajectory of the vehicle for the basic example is that the travel time of links (2, 3) and (4, 5) increases by 4 illustrated in Fig. 8. It is remarked that there is no [17,19] [13,15] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [1,1] [13,53] 1 1 o o 1 2 [5,7] [9,11] Physical node Dummy node Physical link Dummy link Fig. 7 Network layout and time-window settings for the basic example 123 Urban Rail Transit (2018) 4(2):68–85 79 Table 6 The evolution of path LR iteration Step size Node sequence Time sequence node sequences and path time sequences for the basic example 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526 Time Fig. 8 Vehicle space–time trajectory for the basic example [21,23] [15,17] d d 1 2 11 11 2 4 2 4 2 1 П 1 2 3 4 5 6 П O d 1 1 [13,53] [1,1] 11 11 o o 1 2 [11,13] [5,7] Physical node Dummy node Physical link Dummy link Fig. 9 Network layout and time-window settings for the example with extended link travel time Space 80 Urban Rail Transit (2018) 4(2):68–85 Table 7 The evolution of path LR iteration Step size Node sequence Time sequence node sequences and path time sequences for basic example 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 with extended link travel time 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;6;8;9;10;12;13;14;16;17;18;20;21 d 1 o1 O 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 10 Space–time trajectory of the vehicle for the example with extended link travel time and no extra vehicle or passenger waiting time is The upper bound and lower bound of this example are introduced. equal to 22.5, which turns out to be the optimal solution. The optimal routes and schedules for the vehicle are shown 4.3 The Third Example with Extra Vehicle Waiting in Table 8, and the space–time trajectory of the vehicle is Time shown in Fig. 12. It can be observed that the vehicle arrives at node o at time 5 and waits until time 10, so the vehicle In order to test the influence of vehicle waiting time on the waiting time is 5. Besides, the total travel time of the optimal vehicle routes and schedules, the departure time vehicle is 25, but the cost ratio of vehicle waiting time is window of passenger A is delayed from [5, 7] to [10, 12]. only 0.5, and then the optimal value of total cost is equal to Therefore, the vehicle will have to wait at node o until 25 - 0.5 9 (10 - 5) = 22.5. passenger A gets ready to depart at time 10. In addition, the arrival time window of passenger A and the time windows 4.4 The Forth Example with Extra Passenger of passenger B are modified accordingly, so that the Waiting Time vehicle will not wait at other places. The updated time window settings are shown in Fig. 11. If the vehicle departs late from the origin deport, then the passengers will have to wait until the vehicle arrives. Space Urban Rail Transit (2018) 4(2):68–85 81 [22,24] [18,20] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [13,53] [1,1] 11 11 o o 1 2 [10,12] [14,16] Physical node Dummy node Physical link Dummy link Fig. 11 Network layout and time-window settings for the example with extra passenger waiting time with extra vehicle waiting time Table 8 The evolution of path node sequences and path time sequences for the example with extra vehicle waiting time LR iteration Step size Node sequence Time sequence 0 1 11;1;2;3;4;5;6;12 1;2;4;6;8;10;12;13 1 1 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 2 0.5 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 3 0.333333 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 4 0.25 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 5 0.2 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 6 0.166667 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 7 0.142857 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 8 0.125 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 9 0.111111 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 Upper bound: 11;1;2;7;7;2;3;9;3;4;8;4;5;10;5;6;12 1;2;4;5;10;11;13;14;15;17;18;19;21;22;23;25;26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 12 Space–time trajectory of the vehicle for the example with extra vehicle waiting time Space 82 Urban Rail Transit (2018) 4(2):68–85 [22,24] [18,20] d d 1 2 1 2 2 2 2 2 1 1 2 3 4 5 6 П П O d 1 1 [6,6] [13,53] o o 1 2 [5,10] [14,16] Physical node Dummy node Physical link Dummy link Fig. 13 Network layout and time-window settings for the example with extra passenger waiting time Table 9 The evolution of path node sequences and path time sequences for the example with extra passenger waiting time LR iteration Step size Node sequence Time sequence 0 1 11;1;2;3;4;5;6;12 6;7;9;11;13;15;17;18 1 1 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 2 0.5 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 3 0.333333 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 4 0.25 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 5 0.2 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 6 0.166667 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 7 0.142857 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 8 0.125 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 9 0.111111 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 Upper bound: 11;1;2;7;2;3;9;3;4;8;4;5;10;5;6;12 6;7;9;10;11;13;14;15;17;18;19;21;22;23;25;26 4.5 The Fifth Example for Branching Process Therefore, the departure time window of the vehicle is delayed by 5 compared with the basic example, and the Within a Column Generation Process departure and arrival time windows of those two passen- gers are adjusted accordingly. The new time-window set- We test our column generation algorithm on the six-node tings are shown in Fig. 13. transportation network illustrated in Fig. 1 for a scenario The upper bound and lower bound of this example are with three passengers and two vehicles. Table 10 shows equal to 21.5, and the optimal routes and schedules of the origin–destination pairs, and passengers’ departure and vehicle are shown in Table 9, and the space–time trajectory arrival time windows. Terms ‘‘TW’’ and ‘‘TH’’ stand for of the vehicle is shown in Fig. 14. It is obvious that pas- time window and time horizon, respectively. The code and related data of this example can be downloaded at https:// senger A starts to wait at time 5 until the vehicle arrives at time 10, so the waiting time of passenger A is 5. In addi- github.com/YaoYuBJTU/VRPLite-python. Based on this scenario, we obtain a fractional optimal tion, because the cost ratio of passenger waiting time is 0.5 and the total travel time of the vehicle is 20, the optimal solution during solving the RMP. The solution, xðÞ 1; 1 ¼ xðÞ 1; 2 ¼ 0:5; xðÞ 2; 1 ¼ xðÞ 2; 3 ¼ 0:5; xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ value of the total cost is 20 ? 0.3 9 5 = 21.5. 0:5 shows that three types of paths are used (two passen- gers can be served through the ride-sharing mode by the vehicle going through each path), but the value of the decision variable = 0.5 means that only 0.5 vehicles go through that path, which has no physical significance. As a 123 Urban Rail Transit (2018) 4(2):68–85 83 d 1 o1 O 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Time Fig. 14 Space–time trajectory of the vehicle for the example with extra passenger waiting time Table 10 Passengers’ origin–destination pairs and corresponding departure and arrival time windows 0 0 0 0 o d o d o d o d o d 1 1 2 2 3 3 1 1 2 2 26 23 53 41 41 TW TW TW TW TW TW TH Cap TH Cap o d o d o d v v v v 1 1 2 2 3 3 1 1 2 2 [5,7] [8,11] [5,8] [11,15] [7,9] [12,14] [1, 30] 2 [1, 30] 2 result, branching is needed to obtain the feasible solutions, traveler mobility optimization, agent-based trajectory i.e., for the fractional value xðÞ 1; 1 ¼ 0:5, we could force control under the new environment of shared self-driving xðÞ 1; 1 to be 1 and 0 as two child nodes, ensuring passenger car or automated guided vehicle (AGV) networks. This p1 is served by vehicle v1 or not. After a branching step, open-source and educational modeling framework could column generation is used again and a series of new paths help researchers understand the complex space–time–state are generated through the subproblem. The feasible solu- network modeling methodologies, especially from a time- tion of branch xðÞ 1; 1 ¼1is xðÞ 1; 1 ¼ xðÞ 1; 2 dependent and state-dependent shortest path perspective. ¼ 1; xðÞ 4; 3 ¼ 1, while for the other branch xðÞ 1; 1 ¼ 0, Because the shipping of passengers and goods by shared there are two feasible solutions, xðÞ 2; 1 ¼ xðÞ 2; 3 ¼ self-driving cars or automated urban rail trains needs to be 1; xðÞ 5; 3 ¼ 1 and xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ 1; xðÞ 6; 1 ¼ 1. fully coordinated and cooperative, we hope this algorithm Finally, we could obtain the feasible optimal solu- could help to demonstrate how to reduce the transportation tion,xðÞ 3; 2 ¼ xðÞ 3; 3 ¼ 1; xðÞ 6; 1 ¼ 1, which means p2 and cost and improve the efficiency in shipping passengers or p3 are served by one vehicle through the ride-sharing mode goods [29], especially in the area of city logistics [30]. In and p1 is served by another vehicle. particular, if the shared self-driving cars are electrified, the gas emission caused by the transportation process could decrease to a large extent [31]. 5 Discussions and Conclusions It should be highlighted that, unlike the shared self- driving cars, AGVs usually move on the visual track-based This research aims to improve the scheduled transportation networks with specially required path topologies and two system performance by enabling better vehicle scheduling AGVs may conflict on the interactions of their paths [32] capabilities in complex transportation on demand applica- where the paths of AGVs are planned in advance to avoid tions. Specifically, the VRPLite package addresses several all kinds of obstacles [33, 34]. In this situation, the fundamental research issues in scheduled transportation scheduling and routing of AGVs is very similar to that of systems, which offers a set of solution platforms on holistic scheduled rail systems [35–37] where each spatial and Space 84 Urban Rail Transit (2018) 4(2):68–85 China’s Guangzhou metro experience. Urban Rail Transit temporal resource can only be occupied by at most one 2(1):33–45 train. It can be shown that the scheduling and routing of 10. Niu H, Zhou X (2013) Optimizing urban rail timetable under AGVs are also a variant of the vehicle routing problem, time-dependent demand and oversaturated conditions. Transp Res and the readers can refer to [32, 38] for detailed reviews on Part C Emerg Technol 36:212–230 11. Shang P, Li R, Liu Z, Yang L, Wang Y (2018) Equity-oriented the corresponding solution approach and applications of skip-stopping schedule optimization in an oversaturated urban AGVs. rail transit network. Transp Res Part C Emerg Technol In addition, the VRPLite package uses a discretized 89:321–343 space–time–state modeling approach, so it is natural to 12. Dampier A, Marinov M (2015) A study of the feasibility and potential implementation of metro-based freight transportation in consider time-dependent link travel time in the program, Newcastle upon Tyne. Urban Rail Transit 1(3):164–182 such as the vehicle routing problem with time-dependent 13. Toth P, Vigo D (eds) (2002) The vehicle routing problem. Society link travel time and path flexibility in the paper [39], as for Industrial and Applied Mathematics, Philadelphia well as spatial and temporal conflicts between AGVs. 14. Tong L, Zhou L, Liu J, Zhou X (2017) Customized bus service design for jointly optimizing passenger-to-vehicle assignment We hope that, the theoretical methodologies, insights and vehicle routing. Transp Res Part C Emerg Technol and open-source tools developed from this research will be 85:451–475 useful for modeling and optimizing new autonomous 15. Niu H, Zhou X, Tian X (2018) Coordinating assignment and vehicle operation and control methods for metropolitan routing decisions in transit vehicle schedules: a variable-splitting Lagrangian decomposition approach for solution symmetry regions. In the future, a new class of ubiquitous distributed breaking. Transp Res Part B Methodol 107:70–101 computing-based algorithms will be further studied, to 16. Pallottino S, Scutella MG (1998) Shortest path algorithms in include joint trip assignment, routing and scheduling transportation models: classical and innovative aspects. equilib- problems. rium and advanced transportation modelling. Springer, Berlin 17. Ahuja RK, Magnanti TL, Orlin JB (1993) Network flows: theory, algorithms, and applications. Prentice Hall, Upper Saddle River Open Access This article is distributed under the terms of the 18. Ziliaskopoulos AK, Mahmassani HS (1993) A time dependent Creative Commons Attribution 4.0 International License (http://crea shortest path algorithm for real time intelligent vehicle/highway tivecommons.org/licenses/by/4.0/), which permits unrestricted use, systems. Transp Res Rec J Transp Res Board 1408:94–100 distribution, and reproduction in any medium, provided you give 19. Chabini I (1998) Discrete dynamic shortest path problems in appropriate credit to the original author(s) and the source, provide a transportation applications: complexity and algorithms with link to the Creative Commons license, and indicate if changes were optimal run time. Transp Res Rec J Transp Res Board made. 1645:170–175 20. Mahmoudi M, Zhou X (2016) Finding optimal solutions for vehicle routing problem with pickup and delivery services with References time windows: a dynamic programming approach based on state– space–time network representations. Transp Res Part B 89:19–42 1. Cordeau JF, Laporte G, Potvin JY, Savelsbergh MWP (2007) 21. Liu J, Kang JE, Zhou X, Pendyala R (2017) Network-oriented Chapter 7 transportation on demand. Handbooks in operations household activity pattern problem for system optimization. research and management science. Elsevier B.V, New York Transp Res Part C. https://doi.org/10.1016/j.trc.2017.09.006 2. Parragh SN, Doerner KF, Hartl RF (2008) A survey on pickup 22. Zhou L, Tong L, Chen J, Tang J, Zhou X (2017) Joint opti- and delivery problems. Journal Fu¨r Betriebswirtschaft mization of high-speed train timetables and speed profiles: a 58(1):21–51 unified modeling approach using space-time-speed grid networks. 3. Psaraftis HN, Wen M, Kontovas CA (2016) Dynamic vehicle Transp Res Part B Methodol 97:157–181 routing problems: three decades and counting. Networks 23. Lu G, Zhou X, Mahmoudi M, Shi T, Peng Q (2018) Optimizing 67(1):3–31 resource recharging location-routing plans: A resource-space- 4. Cheng WC, Schonfeld P (2015) A Method for optimizing the time network modeling framework for railway locomotive refu- phased development of rail transit lines. Urban Rail Transit eling applications. Computers & Industrial Engineering (in press) 1(4):227–237 24. Ruan JM, Liu B, Wei H, Qu Y, Zhu N, Zhou X (2016) How many 5. Lu K, Han B, Zhou X (2018) Smart urban transit systems: from and where to locate parking lots? A space–time accessibility- integrated framework to interdisciplinary perspective. Urban Rail maximization modeling framework for special event traffic Transit. https://doi.org/10.1007/s40864-018-0080-x management. Urban Rail Transit 2(2):59–70 6. Bao X (2018) Urban rail transit present situation and future 25. Mahmoudi M, Chen J, Shi T, Zhang Y, Zhou X (2018) A development trends in China: overall analysis based on national cumulative service state representation for the pickup and policies and strategic plans in 2016–2020. Urban Rail Transit delivery problem with synchronized transfers (Submitted) 4(1):1–12. https://doi.org/10.1007/s40864-018-0078-4 26. Chen R, Zhou L, Yue Y, Tang J, Lu C (2018) The integrated 7. Kelly J, Marinov M (2017) Innovative interior designs for urban optimization of robust train timetabling and electric multiple unit freight distribution using light rail systems. Urban Rail Transit circulation and maintenance scheduling problem. Adv Mech Eng 3(4):238–254 10(3):1–16 8. Wang Y, Zhang M, Ma J, Zhou X (2016) Survey on driverless 27. Fisher ML, Jo¨rnsten KO (1997) Vehicle routing with time win- train operation for urban rail transit systems. Urban Rail Transit dows: two optimization algorithms. INFORMS, Catonsville 2(3–4):106–113 28. Lu¨bbecke ME, Desrosiers J (2005) Selected topics in column 9. He L, Liang Q, Fang S (2016) Challenges and innovative solu- generation. Oper Res 53(6):1007–1023 tions in urban rail transit network operations and management: 29. Arslan A, Agatz N, Kroon L, Zuidwijk R (2016) Crowdsourced delivery: A dynamic pickup and delivery problem with ad-hoc 123 Urban Rail Transit (2018) 4(2):68–85 85 drivers. Technical report, ERIM Report Series Reference. http:// 35. Yin J, Tang T, Yang L, Gao Z, Ran B (2016) Energy-efficient ssrn.com/abstract2726731 metro train rescheduling with uncertain time-variant passenger 30. Savelsbergh M, Van Woensel T (2016) 50th anniversary invited demands: an approximate dynamic programming approach. article—city logistics: challenges and opportunities. Transp Sci Transp Res Part B Methodol 91:178–210 50(2):579–590 36. Rao X, Montigel M, Weidmann U (2016) A new rail optimisation 31. Mun˜oz-Villamizar A, Montoya-Torres JR, Faulin J (2017) Impact model by integration of traffic management and train automation. of the use of electric vehicles in collaborative urban transport Transp Res Part C Emerg Technol 71:382–405 networks: a case study. Transp Res Part D Transp Environ 37. Yin J, Yang L, Tang T, Gao Z, Ran B (2017) Dynamic passenger 50:40–54 demand oriented metro train scheduling with energy-efficiency 32. Qiu L, Hsu WJ, Huang SY, Wang H (2002) Scheduling and and waiting time minimization: mixed-integer linear program- routing algorithms for AGVs: a survey. Int J Prod Res ming approaches. Transp Res Part B Methodol 97:182–213 40(3):745–760 38. Fazlollahtabar H, Saidi-Mehrabad M (2015) Methodologies to 33. Chen X, Li Y (2006) Smooth formation navigation of multiple optimize automated guided vehicle scheduling and routing mobile robots for avoiding moving obstacles. Int J Control problems: a review study. J Intell Robot Syst 77(3–4):525–545 Autom Syst 4(4):466–479 39. Huang Y, Zhao L, Van Woensel T, Gross JP (2017) Time-de- 34. Ota J (2006) Multi-agent robot systems as distributed autono- pendent vehicle routing problem with path flexibility. Transp Res mous systems. Adv Eng Inform 20(1):59–70 Part B Methodol 95:169–195

Journal

Urban Rail TransitSpringer Journals

Published: Jun 6, 2018

References

You’re reading a free preview. Subscribe to read the entire article.


DeepDyve is your
personal research library

It’s your single place to instantly
discover and read the research
that matters to you.

Enjoy affordable access to
over 18 million articles from more than
15,000 peer-reviewed journals.

All for just $49/month

Explore the DeepDyve Library

Search

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Organize

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Access

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Your journals are on DeepDyve

Read from thousands of the leading scholarly journals from SpringerNature, Elsevier, Wiley-Blackwell, Oxford University Press and more.

All the latest content is available, no embargo periods.

See the journals in your area

DeepDyve

Freelancer

DeepDyve

Pro

Price

FREE

$49/month
$360/year

Save searches from
Google Scholar,
PubMed

Create lists to
organize your research

Export lists, citations

Read DeepDyve articles

Abstract access only

Unlimited access to over
18 million full-text articles

Print

20 pages / month

PDF Discount

20% off