CN110309962B - Railway travel route planning method and device based on time expansion model - Google Patents

Railway travel route planning method and device based on time expansion model Download PDF

Info

Publication number
CN110309962B
CN110309962B CN201910544798.9A CN201910544798A CN110309962B CN 110309962 B CN110309962 B CN 110309962B CN 201910544798 A CN201910544798 A CN 201910544798A CN 110309962 B CN110309962 B CN 110309962B
Authority
CN
China
Prior art keywords
time
node
transfer
station
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910544798.9A
Other languages
Chinese (zh)
Other versions
CN110309962A (en
Inventor
董炜
马煜翔
张梦宇
孙新亚
吉吟东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201910544798.9A priority Critical patent/CN110309962B/en
Publication of CN110309962A publication Critical patent/CN110309962A/en
Application granted granted Critical
Publication of CN110309962B publication Critical patent/CN110309962B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • G06Q50/40

Abstract

The invention provides a railway travel route planning method and a device based on a time extension model, wherein the standard time extension model is improved by comparing the difference between the actual conditions of the standard time extension model and a Chinese railway network to obtain the time extension model suitable for the Chinese railway network, and an air-rail combined transportation model and an air-rail-ground combined transportation model based on the time extension model are established on the basis of the time extension model; then solving the optimal path problem of the railway travel plan by using a Dijkstra algorithm based on the improved model, and solving the K optimal path problem of the railway travel plan based on a backtracking algorithm idea; and finally, accelerating the travel planning algorithm by utilizing model compression and an A-algorithm, so that the algorithm can realize the real-time calculation of the passenger travel scheme.

Description

Railway travel route planning method and device based on time expansion model
Technical Field
The invention belongs to the field of railway path optimization, and particularly relates to a railway travel route planning method and device based on a time expansion model.
Background
With the development of society, the travel demand of people is gradually increased. The railway, as one of the basic transportation modes, has the characteristics of low price, high speed and the like, so that the passenger capacity borne by the railway becomes larger and larger. The method is obtained according to a national economic and social development statistical publication of 2018 published by the national statistical office of China: in 2018, the total annual transportation amount (railway, road, water transportation and civil aviation) of China is 179 hundred million people, wherein the railway transportation amount is 33.7 hundred million people, which is 9.4 percent higher than that of the whole year. Railways have become one of the important travel ways for people. Obviously, obtaining a railway riding scheme between two places according to the traveling needs of passengers (minimum transfer, minimum fare, minimum time and the like) is a first problem faced by the passengers for selecting a railway mode for traveling.
All transportation departments at home and abroad carry out service according to a schedule. The schedule records the departure time and stop of all vehicles, so-called trip planning, which is to find one or more optimal solutions in all possible solutions according to the schedule and the requirements of passengers.
A typical trip planning system should solve the optimal path problem under the following objectives: the transfer problem is minimum, passengers go to a target station from a starting station, and the transfer frequency is required to be minimum; the shortest journey time problem, the goal being to minimize the time spent by passengers in a journey (including the time waiting in a station); an earliest arrival problem, the goal being to enable passengers to arrive at the destination earliest; and (4) performing multi-objective optimization, and comprehensively considering the above targets to realize pareto optimality.
The China railway network has particularity and complexity, and the time expansion model and algorithm disclosed in the prior art need to be improved to realize the journey planning of the China railway path.
Disclosure of Invention
In order to solve the problems in the prior art, the invention provides a railway travel route planning method based on a time expansion model.
The specific technical scheme of the invention is as follows:
the invention provides a railway travel route planning method based on a time extension model, which comprises the following steps:
constructing a time extension model suitable for a railway network; wherein the railway network is preferably a Chinese railway network; the time expansion graph G which forms the time expansion model is (V, E), V represents a node set, E represents an edge set, and the node set comprises an arrival node, a departure node and a transfer node; and V has the following properties for any one node V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time t; station (v) indicates the station to which v belongs; train (v) represents the total number of cars represented by v; CITY (v) represents the city to which v belongs; if (u, v) belongs to E, then TIME (u) is less than or equal to TIME (v), the edge set comprises an edge of an arrival node pointing to a transfer node, an edge of an arrival node pointing to a departure node, an edge of a transfer node pointing to a transfer node, an edge of a transfer node pointing to a departure node and an edge of a departure node pointing to an arrival node;
and searching a path with the minimum weight value in paths formed by all edges pointing to the arrival node from the departure node on the time expansion graph to obtain the optimal path.
In a further improvement, said constructing a time-expansion model suitable for a railway network comprises the following steps:
reading inbound and city information: establishing indexes of stations and cities, a relation table of the stations and the cities and a departure station table;
reading in the train running period: obtaining an extended schedule according to the train running period, and establishing a prototype of a time extended model according to the extended schedule;
adding in-station transfer edges: for each transfer-allowed station S, all transfer nodes belonging to the station S are sorted according to time, and the sorted nodes are v1,…,vkAdding a side (v)i,vi+1) I is more than or equal to 1 and less than or equal to k-1; traversing the arriving node in S, for each arriving node u that satisfies State (u) S, finding the smallest i that satisfies TIME (v)i) Time (u) ≧ TRANSFER (S), adding edge (u, v)i);
Adding a city transfer edge: station S1And station S2Allowing city transfer, traversing station S1For each arriving node that satisfies status (u) ═ S1At station S2Of transfer node sequence v1,…,vkIn (v), find the smallest i satisfies TIME (v)i) Time (u) ≧ t, add edge (u, v)i) Where t is the minimum transfer time for the same city transfer.
Further improvement, the operation of Dijkstra algorithm based on the time expansion model to obtain the optimal path specifically comprises:
setting a weight value for the edge;
and searching in the time expansion diagram by using a Dijkstra algorithm to obtain an optimal path.
In a further improvement, the method further comprises the step of obtaining the K optimal path by utilizing a backtracking algorithm on the basis of the obtained optimal path.
In a further improvement, the method further comprises the step of constructing an air-rail combined transportation model and/or an air-rail combined transportation model based on the time extension model on the basis of the time extension model suitable for the railway network.
In a further improvement, the data structure adopted for running the Dijkstra algorithm comprises a Dial bucket, an N-tuple heap, a Radix heap, a Fib heap or a binary heap.
Further improvement, the step of obtaining the K-best path comprises the following steps:
one-to-all: the optimal path weight value from the starting point to other points is solved;
backtracking: and obtaining a front K-best path through reverse search.
Further improvement, the K optimal path obtained by utilizing the backtracking algorithm further comprises optimization of the K optimal path algorithm, wherein the optimization comprises compression of a time expansion diagram or acceleration of a one-to-all process in the backtracking algorithm by utilizing an A-star algorithm.
The invention further provides a Chinese railway journey route planning device based on the time extension model, which comprises:
a model building component: the model construction component is configured to construct a time expansion model suitable for a railway network, a time expansion graph G (V, E) forming the time expansion model, V represents a node set, E represents an edge set, and the node set comprises an arrival node, a departure node and a transfer node; and V has the following properties for any one node V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time t; station (v) indicates the station to which v belongs; train (v) represents the total number of cars represented by v; CITY (v) represents the city to which v belongs; if (u, v) belongs to E, then TIME (u) is less than or equal to TIME (v), the edge set comprises an edge of an arrival node pointing to a transfer node, an edge of an arrival node pointing to a departure node, an edge of a transfer node pointing to a transfer node, an edge of a transfer node pointing to a departure node and an edge of a departure node pointing to an arrival node;
a search component: the searching component is configured to search a path with the minimum weight value in paths formed by all edges pointing to the arrival nodes from the departure node on the time expansion graph to obtain an optimal path.
The invention provides a railway journey route planning method and a device based on a time expansion model, the method establishes the time expansion model suitable for the application requirement of China railway on the basis of considering the problems of transfer in the same city, clearing stations, train driving period and the like, and provides a ticket journey planning calculation model based on the time expansion model, and the method obtains the optimal route based on Dijkstra algorithm and obtains the K optimal route based on backtracking algorithm.
Drawings
FIG. 1 is a basic time-spreading model;
FIG. 2 is a time expansion model after timetable data is read in;
FIG. 3 is a time expansion model suitable for the Chinese railway network;
FIG. 4 illustrates the efficiency of Dijkstra's algorithm under various data structures;
FIG. 5 is a graph of the effect of N in an N-tuple heap on the efficiency of the Dijkstra algorithm;
FIG. 6 is a diagram of an example algorithm;
FIG. 7 is a label diagram of points given by One-to-all steps;
FIG. 8 is a graph of the change in R during the backtracking process;
FIG. 9 is a time-expanded model of air-rail intermodal transport;
FIG. 10 is a three-level time expansion model of air-rail transport;
FIG. 11 is a pure model of a bus;
FIG. 12 air-rail ground transport time expansion model
FIG. 13 is a time-expanded model after refinement;
FIG. 14 is a graph of the effect of compression models on response efficiency;
figure 15 is the effect of algorithm a on response efficiency;
FIG. 16 shows the experimental results of the K-best path algorithm under four targets;
FIG. 17 comparison of the backtracking algorithm with the MS algorithm;
FIG. 18 comparison of the backtracking algorithm with the YEN algorithm;
FIG. 19 comparison of the backtracking algorithm with the YEN algorithm after acceleration;
FIG. 20 train late algorithm response efficiency;
figure 21 illustrates the efficiency of the itinerary planning algorithm.
The steps illustrated in the flow charts of the figures may be performed in a computer system such as a set of computer-executable instructions. Although a logical order is shown in the flow diagrams, in some cases, the steps described may be performed in an order different than here.
Detailed Description
Since the method of the present invention is described as being implemented in a computer system, the computer system may be provided in a processor of a server or a client. For example, the methods described herein may be implemented as software executable with control logic that is executed by a CPU in a server. The functionality described herein may be implemented as a set of program instructions stored in a non-transitory tangible computer readable medium. When implemented in this manner, the computer program comprises a set of instructions which, when executed by a computer, cause the computer to perform a method capable of carrying out the functions described above. Programmable logic may be temporarily or permanently installed in a non-transitory tangible computer-readable medium, such as a read-only memory chip, computer memory, disk, or other storage medium. In addition to being implemented in software, the logic described herein may be embodied using discrete components, integrated circuits, programmable logic used in conjunction with a programmable logic device such as a Field Programmable Gate Array (FPGA) or microprocessor, or any other device including any combination thereof. All such implementations are within the scope of the present invention.
Before understanding the gist of the invention of the present application, the following should be understood:
the main idea of time-extension model modeling is to take each departure and arrival event in the railway network as a node of the graph; nodes belonging to different stations are connected to represent that a train runs between the two stations; nodes within the same site are connected in time sequence representing passengers waiting within the site. Thus, a station is expanded according to time to obtain a plurality of nodes, each node simultaneously contains spatial information (belonging to the station) and time information (departure time or arrival time), and the railway network is constructed into a space-time network, which is called a time expansion model, as shown in fig. 1.
The Dijkstra algorithm is a very representative one of the shortest-path algorithms. The conventional Dijkstra algorithm, which is an algorithm for finding shortest paths from a fixed starting point to the remaining points, is an algorithm for generating shortest paths in order of increasing path length.
The basic idea of Dijkstra's algorithm is to generate a shortest path spanning tree rooted at a fixed starting point. The path from the root to each node in the tree is the shortest path from the root to the node, and because the network of the problem solved by the traditional Dijkstra algorithm has no negative weight, the shortest path generating tree adds the nodes into the tree one by one according to the distance from the nodes to the fixed starting point and the adjacency relation between the nodes in the generating process, wherein the distance is from the node to the fixed starting point.
The following description of the present invention is provided in connection with specific embodiments thereof.
One embodiment of the invention provides a railway journey route planning method based on a time expansion model, which comprises the following steps:
s1: constructing a time extension model suitable for the Chinese railway network;
in step S1, a time expansion model suitable for the chinese railway network is constructed with the following time expansion graph, where the time expansion graph G ═ V, E, V represents a node set, E represents an edge set, and G has the following properties:
there are three nodes in V: an arrival node, a departure node and a transfer node; and V has the following properties for any one node V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time t; station (v) indicates the station to which v belongs; train (v) represents the total number of cars represented by v; CITY (v) stands for the city to which v belongs.
If (u, v) is E, then there must be TIME (u). ltoreq.TIME (v); the edges in E are classified into five categories:
(a) the arrival node points to the edge of the transfer node. The edge represents the occurrence of a transfer event. If two nodes are in the same station, the station represents in-station transfer, and the station is transfer; otherwise, it represents a city transfer and the two stations are city transferable.
(b) The arriving node points to the edge of the departing node. The side represents that the passenger does not get off the bus at the station and directly sits in the same sliding bus to leave the station.
(c) The transfer node points to the edge of the transfer node. The edge represents the passenger waiting in the station for the next trip to arrive.
(d) The transfer node points to the edge of the departure node. This edge represents that the car is ready for departure and the passenger gets on the car and out of the station.
(e) The edge from the departure node to the arrival node. The edge represents the passenger riding to the next stop.
For example, in other embodiments, the construction of the time-spreading model applicable to the chinese railway network includes the following steps:
s11: reading inbound and city information
Namely, an index of the station and the city, a relation table of the station and the city and an available starting station table are established. A hash table is used to store all stations and cities. The city is represented by a structure, and the contained information comprises a city code, a city name and a transfer node set belonging to the city. The station is also represented by a structure body, and the contained information comprises a station code, a station name, a city to which the station belongs, a mark, a transfer node set and an arrival node set. Where a flag is used to indicate whether the stop is an initiable stop, the set of transfer nodes and the set of arrival nodes indicate all the transfer nodes and the set of arrival nodes belonging to the stop.
S12: reading in train running period
And obtaining an extended schedule according to the train running period, and then establishing a prototype of the time extended model according to the extended schedule. As shown in fig. 2, each node in the graph is represented by a structure, and includes the following information: node number, station to which the node belongs, time represented by the node, total train number represented by the node, train number of train stations represented by the node, and node attribute. For example, in the preferred embodiment, a node may have three attributes, 1 for an arriving node, 2 for a transfer node, and 3 for a departing node.
And generating one node of each of the three types for each record in the expansion timetable, filling information corresponding to the node, and finally expanding the point set structures in the station and the city structure body. Each point is added to the point set of the corresponding station, but only when the station belongs to an available starting station, the point is added to the corresponding city point set. Every time all nodes of a turn are traversed, the corresponding arrival node and departure node of the turn and transfer node and departure node are connected by an edge.
S13: adding in-station transfer edges
For each transfer-enabled station S, all transfer nodes belonging to the station S (which can be directly obtained through the structure of the station) are sorted in time, and the sorted nodes are v1,…,vkAdding a side (v)i,vi+1)1≤i≤k-1。
Finally, traversing the arriving nodes in S, for each arriving node u that satisfies state (u) ═ S, find the smallest i that satisfies TIME (v)i) Time (u) ≧ TRANSFER (S), adding edge (u, v)i)。
S14: adding city transfer edge
Similar to the process of adding an in-station transfer edge, if station S1And station S2With the intermediate stations being allowed to transfer in the same city, the traversal station S1For each of all arriving nodes that satisfy the state (u))=S1At station S2Of transfer node sequence v1,…,vkIn (v), find the smallest i satisfies TIME (v)i) Time (u) ≧ t, add edge (u, v)i) Where t is the minimum transfer time for the same city transfer.
Finally, the obtained time-expansion model is shown in fig. 3. There are a total of three stations a, B, C in the figure. Where A and B are both allowed transfers and can be transferred to city, and C is not allowed.
S2: and running Dijkstra algorithm to obtain the optimal path based on the time expansion model constructed in the step S1.
In step S2, the problem that the Dijkstra algorithm is run to obtain the optimal path based on the time expansion model applicable to the chinese railway network constructed in step S1 is described as follows: at time [ t1,t2]From city S1Go to city S2There are many kinds of proposals, using
f=(ST1a,ST1d,Z1,t1a,t1d,ST2a,ST2d,Z2,t2a,t2d,…,ST(n-1)a,ST(n-1)d,Zn-1,t(n-1)a,t(n-1)d) To indicate a possible scenario illustrating the passenger at t1dRide at moment Z1Slave station ST1dFrom a departure at a time t1aTo ST1a. Then at time t2dRide Z2Slave station ST2dFrom a departure at a time t2aTo ST2a… … finally at time t(n-1)dRide Zn-1From a departure at a time t(n-1)aTo ST(n-1)a. In order to guarantee the rationality of this solution, the following conditions must be satisfied:
ST1d=S1
ST(n-1)a=S2
t1d∈[t1,t2]
STia≡ST(i+1)dor STiaAnd ST(i+1)dCan carry out city transfer
Let F be { F | F at time [ t1,t2]From S1Go out to S2Scheme of (1) }, i.e. F is all at time [ t [ ]1,t2]From city S1Go to city S2For the passenger, some schemes are better than others, and value (f) represents the passenger's evaluation on the scheme f under a certain judgment standard, then the optimal problem is converted into an optimization problem:
Figure BDA0002103639770000061
because of the different preferences of passengers, there are many different criteria for the calculation of value (f), which lead to different trip planning problems.
The most commonly used criteria are divided into the following:
(a) travel time
According to the difference of value (f) calculation mode, the judgment standard can be divided into two sub-problems:
the earliest problem to arrive: value (f) ═ t(n-1)a
The shortest travel time problem: value (f) ═ t(n-1)a-t1d
(b) Number of transfers
Reversing often causes inconvenience and new expenses to passengers, so most passengers are biased for a scheme with a small number of transfers. From this criterion, a minimum transfer problem can be introduced. Definition of
Figure BDA0002103639770000071
Figure BDA0002103639770000072
Transi indicates that the passenger is in STiaWhether to back up the car or not; minimal transfer problems may be desirable
Figure BDA0002103639770000073
Figure BDA0002103639770000074
(c) Ticket price
For some travelers, saving money is the most important, and they would like to choose some reversing times or a scheme with long travel time in order to save some money. From this criterion, the lowest fare issue can be introduced; using priceiTo show ride ZiFrom STidTo STiaThe price of (2), the minimum fare question is advisable
Figure BDA0002103639770000075
(d) Comprehensively considers the four factors
The passenger does not have only one judgment standard when selecting the riding scheme, various standards are comprehensively considered, and then a satisfactory scheme is selected. The pareto optimal trip planning problem can be introduced by this criterion. By λ1,λ2,λ3,λ4Respectively representing the preferences of passengers on arrival time, travel time, reversing times and ticket price, so that the pareto optimal travel planning problem can be taken
Figure BDA0002103639770000076
Figure BDA0002103639770000077
In order to be able to solve the proposed optimization problem using the time-extension model, it is necessary to obtain a one-to-one correspondence from the solution f to a path P in the time-extension diagram.
Each point in the time expansion diagram represents the occurrence of an event, the scheme f uniquely corresponds to the occurrence of 2(n-1) events, and the paths formed by the 2(n-1) points are connected to obtain the path P (f) corresponding to the scheme f.
Setting proper weight in the time expansion diagram to make cost (p (f)) value (f), the proposed optimization problem can be solved by using Dijkstra algorithm. The basic flow for solving the optimization problem by using the time expansion model is obtained as follows:
setting proper weight values for the edges so that cost (p (f)) is value (f);
and searching in the time expansion diagram by using a Dijkstra algorithm to obtain an optimal path.
The factors affecting the Dijkstra algorithm are mainly: the size of the graph, the selection of the priority queue, and the actual distance of the point pairs.
Common data structures suitable for the Dijkstra algorithm include N-tuple heap, Radix heap, Fib heap, binary heap, and Dial bucket, and the time complexity of various data structures is shown in the following table:
TABLE 1 temporal complexity contrast for various data structures
Figure BDA0002103639770000078
As can be seen from the above table, the complexity of the Dial bucket operations is minimal, and thus, the Dial bucket is the most appropriate data structure. The following examples demonstrate.
The Dijkstra algorithm is realized by using various data structures, and the Dijkstra algorithm is tested, wherein 1513754 points and 2575593 edges are shared in a time expansion diagram used in the test, and the selected optimization target is the shortest travel time. The test results are shown in fig. 4 and 5.
Each data structure in the diagram corresponds to one box, each box has five lines which are respectively a minimum value, a quarter value, a median, a three-quarter value and a maximum value in the test data from bottom to top. The rectangle is the main distribution area of the test point. Wherein the median reflects the average response efficiency, and the difference between the maximum and minimum reflects the fluctuation range of the response time.
As can be seen in the figure, Dial buckets are most efficient, responding to a request on average in as little as 14ms, and the range of response times for Dial buckets is minimal for different point pairs. Dial buckets are ultimately employed to implement the Dijkstra algorithm because they have the lowest complexity and highest efficiency.
The Dijkstra algorithm is operated to realize the path optimization under different standards, and the method specifically comprises the following steps:
1. shortest travel time path obtained by shortest travel time algorithm
The invention takes the travel time as a judgment standard to process the problem of the shortest travel time.
The shortest travel time problem: two cities S are given1And S2And a departure time interval t1,t2]The goal is to find the path with the shortest travel time.
This problem is equivalent to the following optimization problem:
Figure BDA0002103639770000081
let (u, v) ∈ E, set cos t (u, v) ═ time (v) — time (u), then there is cos t (p (f) ═ value (f)
And (3) proving that: let P (f) be { v }1,v2,…,vmSince p (f) and f correspond to each other, the following equation holds:
TIME(v1)=t1d,TIME(vm)=t(n-1)a
for V ∈ V, the weight of point V is represented by cost (V), and for (u, V) ∈ E, the weight of edge (u, V) is represented by cost (u, V), so for path P ═ V [ { V } [, (V) ]1,v2,…,vn}, there are
Figure BDA0002103639770000082
Figure BDA0002103639770000083
TIME(v1)=t(n-1)a-t1d+cos t(v1)
Therefore, if cost (v) is selected1) 0, cost (p (f)) value (f).
The shortest travel time problem is converted into a shortest path problem, the problem can be solved by using a Dijkstra algorithm, a priority queue is represented by T, the insert of an element into T is represented by T.insert, the deletion of the element with the minimum weight in T is represented by T.deleteImin, the reduction of the weight of a specified element in T is represented by T.decreasKey, and the forward node of each point is recorded by pre. A shortest path P can be obtained through a Dijkstra algorithm, and then the P is mapped into a scheme f, namely, the shortest travel time path is obtained.
2. Obtaining an earliest arriving path by an earliest arriving route planning algorithm
The earliest arrival problem is processed by taking the travel time as a judgment standard.
The earliest problem to arrive: two cities S are given1And S2And a departure time interval t1,t2]The goal is to find the path with the shortest travel time.
This problem is equivalent to the following optimization problem:
Figure BDA0002103639770000084
let (u, v) ∈ E, set cos t (u, v) ═ time (v) — time (u), and then there is cos t (p (f) ═ value (f).
And (3) proving that: let P (f) be { v }1,v2,…,vmSince p (f) and f correspond to each other, the following equation holds:
TIME(v1)=t1d,TIME(vm)=t(n-1)a
for V ∈ V, the weight of point V is represented by cos t (V), and for (u, V) ∈ E, the weight of edge (u, V) is represented by cos t (u, V), so for path P ═ V [ { V (V) }1,v2,…,vn}, there are
Figure BDA0002103639770000091
Figure BDA0002103639770000092
Therefore, if cos t (v) is selected1)=TIME(v1)=t1dThere is cos t (p (f) ═ value (f)).
The earliest arrival problem is transformed into a shortest path problem similar to the shortest travel time, and can be solved by Dijkstra algorithm, the only difference is that when the point v needs to be added to the priority queue, its initial weight is TIME (v) instead of 0.
3. Minimum transfer route obtaining algorithm for minimum transfer journey planning
The minimum transfer problem is processed by taking the transfer times as a judgment standard.
Minimal transfer problems: two cities S are given1And S2And a departure time interval t1,t2]The goal is to find a least transfer solution.
This problem is equivalent to the following optimization problem:
Figure BDA0002103639770000093
let (u, v) E E, set
Figure BDA0002103639770000094
Then cos t (p (f)) value (f).
And (3) proving that: let P (f) be { v }1,v2,…,vmObviously, scheme f is divided into multiple segments, as follows: f { (ST)1a,ST1d,Z1,t1a,t1d),(ST2a,ST2d,Z2,t2a,t2d),…,(ST(n-1)a,ST(n-1)d,Zn-1,t(n-1)a,t(n-1)d) Investigation of
Figure BDA0002103639770000095
Can find transiIt indicates whether the number of trains Z of the i-1 th section and the i-th section is the same. Assume that point u represents ride Zi-1Arrive atST(i-1)aPoint v represents ride ZiLeave STidThen there must be a subpath P' from u to v in P (f). If Z isi≠Zi-1Then it is apparent that P' has an edge to transfer from the arriving node to the transferring node if Zi=Zi-1Then such an edge would not exist. Therefore, under such weight setting, cos t (p (f)) value (f) is true.
The least transfer is translated to a shortest path problem. The Dijkstra algorithm can also be adopted for solving.
4. Obtaining optimal path by multi-target pareto optimal travel planning algorithm
A single target may have difficulty accurately describing the needs of the passenger and therefore a combination of transfer times and travel times may be required to compare the patterns.
And processing the pareto optimal problem by taking the transfer times and the travel time as judgment standards.
pareto optimal problem: two cities S are given1And S2And a departure time interval t1,t2]The goal is to find the solution with the smallest weight by combining transfer and travel.
This problem is equivalent to the following optimization problem:
Figure BDA0002103639770000101
let (u, v) E E, set
Figure BDA0002103639770000102
v is a transfer node, then cos t (P (f) ═ value (f))
This algorithm can also be implemented using the Dijkstra algorithm.
The railway journey route planning method based on the time extension model further comprises the step of obtaining the K-best path based on the constructed time extension model by using a backtracking algorithm.
The K-best path problem in trip planning is as follows:
the K optimal path problem: in all the scheme sets F, k schemes F are found which minimize value (F).
It is found that a set Fk satisfies:
1.
Figure BDA0002103639770000103
and if | F | ≦ k, then FkF, otherwise | Fk|=k;
2. For any f1∈Fk,f2∈F-FkValue (f)1)<Value(f2)。
With the difference of value (f) values, the K-optimal path problem can be divided into a K short-range problem, a K early arrival problem, a K few transfer problem, and a multi-target pareto K-optimal path problem.
The time expansion graph is actually a directed graph of nonnegative weight values, so that the time expansion model is used for solving the K optimal path problem, namely the point-to-point K optimal path problem of the directed graph of nonnegative weight values.
The point-to-point K optimal path problem of the non-negative weight directed graph is as follows: in (V, E), given two points s, t, K paths with the smallest weight are searched for among all paths from s to t.
Denote by P the set of all paths from s to t, the goal being to find a set PkSatisfies the following conditions:
1.
Figure BDA0002103639770000104
and if | P | ≦ k, then PkP, otherwise | Pk|=k;
2. For any p1∈Pk,p2∈P-PkHaving cos t (p)1)<cos t(p2)。
The point-to-point K-optimal path algorithm of the non-negative weight directed graph is introduced as follows:
the algorithm firstly solves the shortest path distance from a starting point to other points, then reversely searches from an end point, and searches the front K short paths in the marked points in a set manner.
Given a directed graph G ═ V, (u, V) ∈ V, the source point s and the end point t, the weight of the edge (u, V) is represented by cos t (u, V), where u, V ∈ V, (u, V) ∈ E. Distance (u) represents the shortest path distance from point s to point u for an arbitrary u e v. Q represents an open table, and T represents a close table. R represents a set of paths, each element in R consisting of a triplet (P (s, v)1T), key, postKey), wherein P (s, v)1T) is a line from s to t and through v1For the shortest path of (1), using { v1,…,vkT represents, key represents the total weight of this path, postKey represents from v1The total weight of the sub-paths to t, num, represents the number of paths found.
The algorithm is divided into two steps, one-to-all and backtracking. Wherein, one-to-all is used for solving the optimal path weight from the starting point to other points; the backtracking process is to determine the first K short paths by reverse lookup.
The shortest distance problem is used to introduce the specific operation of one-to-all and backtracking steps.
1.one-to-all
Determining the shortest distance (u) from the source point s to any other node u by using a Dijkstra algorithm, and realizing the Dijkstra algorithm by adopting an open table and a close table.
2. Backtracking
Initializing R as a set containing only one triplet ({ t }, distance (t), 0), and initializing variable num ═ 0. Suppose that point v has been traced back to1We use the set { v }1,…,vkT represents v1The path to t. Thus, the s to t path is composed of two segments, the first half of which is from s to v1The shortest path of (1), which is determined in one-to-all process, the second half path is { v }1,…,vk,t}。
The following steps are then repeated:
and deleting the element with the minimum key value in the R.
If v is1S, then the record finds the num short path, then num adds 1.
If v is1Not s, then, for all satisfied (v,v1) E, if v obtains a distance label Dis tan ce (v) in one-to-all process, b is ({ v, v) at point v of E1,…,vk,t},Dis tan ce(v)+postKey+cos t(v,v1),postKey+cos t(v,v1) Inserted into R. And if the number of the elements in the R exceeds K, deleting the elements with the maximum key value in the R until the number of the elements in the R is K.
When in use
Figure BDA0002103639770000111
(no more paths are available for searching at this point) or num K (when the previous K short paths have been found), the backtracking process ends.
And (3) proving the correctness of the algorithm:
leading to one: each triplet ({ v) in set R1,…,vnT, key, postKey) represents a path and the path weight is key.
And (3) proving that: from Dijkstra's algorithm, there is a line from s to v1Path { s, u }1,…,un,v1H, the total weight is Distance (v)1) Let v be1Path to t { v1,…,vnAnd the weight of t is postKey. Consider the following equation:
key=postKey+Distance(v1)
thus, there is a path { s, u ] from s to t1,…,un,v1,…,vnAnd t is key.
And 2, leading to a second principle: the key value of the triplet obtained by r.deletemin () is not reduced.
Order ({ v)1,…vnT }, key, postKey) ═ r.deletemin (), then the key value key for any triplet in R1And certainly is key or greater. Therefore, as long as it is proved that the next triplet of R is added, the key value is also greater than or equal to key. From the backtracking step, the newly added triad has the following form: ({ u, v)1,…vn,t},key1,postKey1) Wherein
postKey=COST{v1,…vn,t},key=DISTANCE(v1)+postKey
postKey1=COST{u,v1,…vn,t}=cos t(u,v1)+postKey,key1=DISTANCE(u)+postKey1Thus, key1-key=DISTANCE(u)+cos t(u,v1)-DISTANCE(v1);
Since DISTANCE (u) represents the shortest path length s to u, then DISTANCE (u) + co st (u, v)1) Denotes s to v1A length of one path. And also DISTANCE (v)1) Denotes s to v1Is shortest path length of, then has a key1-key=DISTANCE(u)+cos t(u,v1)-DISTANCE(v1) It is led to be proved if the ratio is more than or equal to 0.
The K paths found by the backtracking algorithm are the first K short paths.
And (3) proving that: it can be known from the step of backtracking that if the set of R is allowed to be infinite, i.e. the element with the largest key value in R is not deleted in the algorithm, then the backtracking is actually an enumeration of all feasible paths from s to t. In this case, it can be known from the theorem two that the path from s to t obtained by the first pass through r.deletemin () is the shortest path, the path from s to t obtained by the second pass is the second shortest path, and so on.
At most K paths are saved in R, and the path which is not saved in R is only proved to be definitely not the previous K short paths. It can be known from lemma that there must exist a path with a weight of key corresponding to the key of any one of the triples in R. When a certain path is deleted from R through r.deletemax (), there must be K elements in R, and the key values of these elements are all smaller than the weight of the deleted path. Thus, when a path is deleted by r.deletemax (), this path must not be one of the previous K short paths.
In summary, the path from s to t obtained through r.deletemin () each time belongs to the K short circuit, and the path length obtained at the next time is greater than or equal to the path length obtained at the previous time.
Description of the Algorithm example
For the example shown in fig. 6, assuming that the starting point is 0 and the end point is 7, our goal is to find the first two shortest paths from 0 to 7.
After one-to-all steps, the points are labeled as shown in FIG. 7.
The variation of the backtracking step R is shown in fig. 8.
It can be seen that the algorithm eventually finds the shortest path {1, 2, 3, 4, 7} and the second shortest path {1, 2, 3, 6, 4, 7 }.
Unlike the algorithm described previously, cities can be viewed as a collection of points, so this is effectively a top K-best path search problem between sets of points, and since arrival times are uncertain, only a set of departure points can be determined in practice, but not a set of arrival points.
The K short path trip planning algorithm includes the following:
k shortest path acquisition by K short-stroke planning algorithm
Selecting value (f) ═ t in the problem of short travel of riding time K(n-1)a-t1dThe solution is to set the weight of the edge cos t (u, v) ═ time (v) -time (u) in the time expansion graph, and set the initial weight of the starting point to 0.
By { s1,s2,…skDenotes a set of starting points, denoted by t1,t2,…tmDenotes a set of target points. One of the simplest ideas is to convert a set of points into points. Two new points S and T may be added as new source and target points, and edges (S, S) addedi)1 ≦ i ≦ k and (T, T)i) I is more than or equal to 1 and less than or equal to m, and the weights of the newly added edges are set to be zero. Thus a set of points s1,s2,…skTo a set of points t1,t2,…tmThe previous K short path search of } is converted to a previous K short path search of points S to T. For the resulting path P ═ (S, v)1,v2,…,vnT), only the points S and T at the head and tail sides need to be removed.
The determination of these two point sets follows. The city is composed of a structural bodyIt is shown that all departure nodes and arrival nodes in the city are recorded in the structure (these nodes may belong to different stations, but must be the possible departure stations). Therefore, the determination of the set of departure points is simple, as long as city S is traversed1Find out all the points u satisfying TIME (u) > t, and the set formed by them is the set of starting points. The set of arrival points needs to be dynamically determined for city S2Each point in the set of arriving nodes adds it to the set of arriving nodes if it gets a distance label in the one-to-all process.
The problems with the above algorithm are: changes need to be made to the graph, adding new edges, while the time-expanded graph is not modifiable as a global variable. The analysis algorithm can know that in the one-to-all process, the point S is deleted from the priority queue at the beginning, and then the starting point set { S }1,s2,…skAdding the priority queue; during backtracking, point T is initially deleted from R, and then the set of arriving points T is set1,t2,…tmAdd to R. Therefore, consider a slight improvement to the algorithm, skipping points S and T.
In one-to-all part, the behavior of adding S is simulated, S is not added into the priority queue any more, and the starting point set { S is directly added1,s2,…skAdd to the priority queue with a weight set to 0. In the backtracking part, the initial R is not added with T any more, and the arrival point set { T } is1,t2,…tmAll points in this are added to R and then backtracking is started. Since the source point S does not exist, the criterion for determining a path to be found during backtracking needs to be changed. When deleted point v ∈ { s ∈ { S }1,s2,…skWhen the path is found, the path is considered to be found.
Obtaining a K early arrival path by a K early arrival route planning algorithm
Selecting value (f) ═ t in the problem of short travel of riding time K(n-1)aThe solution is to set the weight of the edge cos t (u, v) ═ time (v) -time (u) in the time expansion graph, and set the initial weight of the starting point v as time (v).
The K early arrival problem and the K short trip problem are the same for setting the edge weight value, so the algorithms of the two are similar. But because the initial weight of the starting point is different, the two have a certain difference. For the problem of K arriving early, it is easy to prove that if a mark is available at any point v in one-to-all step, the mark must be time (v), and there is no problem of weight reduction.
Therefore, in one-to-all, the weights of all nodes do not need to be stored, and the close table only needs to record the states of all nodes, so that the space complexity of the algorithm is greatly reduced. Moreover, the time complexity of the algorithm can be improved to a certain extent due to the absence of the process of reducing the node weight. The backtracking part of the algorithm is consistent with the K short-stroke problem.
Obtaining K few transfer paths by K few transfer journey planning algorithm
Selecting among K few transfer problems
Figure BDA0002103639770000131
The solution is to set the weight of the edge in the time expansion diagram
Figure BDA0002103639770000132
And the initial weight of the starting point v is set to 0.
The algorithm is exactly the same as K early arrival, only the weights are different.
4. Obtaining a fare K low path by a fare K low-travel planning algorithm
For the inquiry requirement of K minimum fares proposed by passengers, a strategy based on the minimum fares under the minimum transfer condition is given. The more the transfer coefficient is, the more the price is more expensive than the direct vehicle of the same grade, and the advantages are no longer obvious in the aspects of ticket purchasing difficulty, transfer difficulty and scheme practicability, so that the minimum transfer-based ticket price minimum strategy is reasonable and practical. To obtain the strategy of the K lowest fares, firstly, the least transfer algorithm is adopted to calculate the first K 'least transfer strategies (K' is more than or equal to K and is an integer), then, a fare engine is called to obtain the fare weight of each route, and finally, calculation is carried out, and the strategy of the first K fares which are lower is screened out according to the fares.
The resulting fare minimization algorithm is as follows:
(a) running a K-less transfer algorithm to obtain the first K' shortest transfer paths;
(b) calculating the weight of the front K' paths searched out;
(c) the first K paths with smaller weights are obtained.
5. Obtaining multi-target pareto K optimal path by multi-target pareto K optimal path planning algorithm
The pareto optimization only considering the travel time and the transfer times aiming at the multi-target pareto K optimal path is selected from the multi-target pareto K optimal travel problem
Figure BDA0002103639770000141
Setting edge weight
Figure BDA0002103639770000142
v is a transfer node
The algorithm is completely consistent with the short stroke K, so that the method can be used for obtaining the lambda when the lambda is selected1=0,λ2When 1, it is the K short stroke problem, when λ is chosen1=1,λ2When 0, K is a minor transfer problem.
It should be noted that setting the K-less transfer weight introduces a new problem in the K-less transfer problem: dwell timeout problems and south beam rut problems.
The stop timeout problem is a problem in which a passenger stops in one station for more than one day. The schedule is assumed to be as follows:
TABLE 2A hypothetical schedule
Figure BDA0002103639770000143
Tianjin has two trips to Beijing, T1 and T2, and Beijing has only one trip to Shanghai, T3, but it will run on both days. Obviously, the two routes for a reasonable minimum transfer would be to make a T1 or T2 to beijing, and then take the day T3 from beijing to shanghai. In practice two such paths may be obtained: get to Beijing at T1, get to Shanghai at T3 of the day or get to Shanghai at Beijing and so on at T3 of the next day. Obviously, the second solution, although mathematically correct, is not reasonable and must be discarded.
The solution is as follows: when a station S is searched for the first time by using Dijkstra algorithm, the station is given a time label t (S) which indicates that a passenger can arrive at the earliest time t (S). In the following searching process, if a certain point u satisfies the condition (u) ═ S, time (u) — t (S) > 1440, the algorithm directly skips u without setting a distance label. This can effectively solve the dwell timeout problem. However, this method also results in the loss of the optimal solution.
The south thill rut problem means that passengers go away from a destination and then go to the destination. This is a reasonable solution, both in terms of travel time and fare overhead, but its transfer times may be relatively small, and thus this solution cannot be excluded in the algorithm. For example, assuming that no direct vehicle is available from beijing to shanghai, one transfer is the optimal result, and it is likely that a scheme is given for going from beijing to inner Mongolia first and then from inner Mongolia to shanghai. This solution, although mathematically correct, is of low quality for the passenger and should be excluded. The search range can be limited by using the longitude and latitude of each station, and the vehicle taken by the passenger is not allowed to be far away from the target city, but the loss of the optimal solution is also caused.
The problems of overlong stay time and southern beam northern rut can be well solved by adopting multi-target optimization.
Because of these two problems, it is the result of the trip planning system not taking into account the trip time. Aiming at the problems of too long stay time and south beam northern rut, although the transfer times of the scheme are the same, the scheme with poor quality often leads to very long travel time, so that the scheme with poor quality has larger weight in the pareto K excellent problem, thereby achieving the purpose of screening.
It should be noted that since the quality of the solution obtained by the pure shortest travel time and the least transfer is too low, the pure shortest travel time and the least transfer are not actually used, but rather a multi-objective optimization is used to simulate both problems.
For the K short stroke problem, selecting lambda1=10,λ2The simulation was performed as 1. So that λ is not selected20 because the results are sorted by the number of transfers. Considering that the travel time is much larger than the transfer times, the parameter selection has the result that the travel time is mainly influenced, and when the travel time is the same, a scheme with less transfer times is preferentially recommended.
For the problem of K-less transfer, selecting lambda1=1,λ27200. Passengers can arrive anywhere within five days, so the choice of this parameter will make the number of transfers a major factor, as the travel time will not exceed 7200. Among the routes having the same number of transfers, the route having a shorter travel time is prioritized.
6. Planning algorithm for appointed transfer city journey
Sometimes, a traveler may want to go to a city first to do something and then to go to a destination. In this case, the request of the traveler will become (S)1,S2,t1,t2,t3,t4,S3,t5,t6) Indicating that the passenger wishes to be at time (t)1,t2) From city S1Starting at (t)3,t4) To city S3Then at (t)5,t6) From city S3Departure to destination S2. The goal is still to find the first K shortest paths.
Consider that a passenger will typically be in city S3For things, the traveler is not on the way, so the traveler is in city S3The dwell time should not be accounted for in the time consumption of the protocol. Thus, the algorithm for specifying a transfer city can be split into two parts.
The first part is a common transfer K-less algorithm, and the first part is used for respectively calculating the secondary transfer K1To S3Front K short path and slave S3To S2The first K short paths. This part is equivalent to invoking the twice-transfer K-less algorithm.
The second part is a problem of path combination. The two previous K short paths may be combined to generate a total of K × K paths, and then K paths with the smallest weight are selected from the K × K paths as the final result. By F1kDenotes from S1To S3The first K schemes of (1), F2kDenotes from S3To S2The first K schemes of (1).
7. Planning algorithm for specified avoidance city journey
Occasionally, a passenger may not want to travel through a city. In this case, the request of the traveler will become (S)1,S2,t1,t2,S3) Indicating that the passenger wishes to be at time (t)1,t2) From city S1The starting city is S2And the passenger wants not to pass through the city S3. The goal is to find the front K short paths in this case.
In the previous planning algorithm, the city attribute of a point (which city the point belongs to) is not considered when performing one-to-all. As now need not pass through city S3Therefore, CITY (v) needs to be considered at the time of one-to-all. If CITY (v) is exactly S3Then point v is skipped directly.
Thus, all belong to S in one-to-all process3The nodes of (2) are not marked, so that all paths do not pass through the city S during backtracking3And the requirements are met.
8. Ticket-pass planning algorithm
The ticket program algorithm needs to call a route planning algorithm and a database for storing seats, return the remaining ticket information of the appointed date, train number and seat class, and return the remaining ticket information and the query result at the same time.
The ticket planning comprises two relatively independent parts, namely the ticket planning and the remaining ticket library query. The journey is as above, the remaining ticket library query process is as follows:
the surplus ticket database stores the surplus ticket information of each trip every day, including all seats owned by the trip and the corresponding surplus ticket number. The remaining ticket library adopts an ORACLE database to store the information, the algorithm uses a fixed interface to call a remaining ticket information query function, and the query function acquires real-time remaining ticket information by accessing the database and returns the real-time remaining ticket information to all the remaining ticket information. The inquiry of the train is divided into the inquiry of the surplus tickets of the whole-course multiplexing train and the inquiry of the surplus tickets of the non-whole-course multiplexing train, for the non-whole-course multiplexing train, the starting station order is strictly equal when the inquiry is needed, and the ending station order is between the closest station order and the farthest station order of the ticket selling; for a whole-course multiplexing train, the order of the stop station is unchanged between the order of the nearest station and the order of the farthest station for ticketing, the order of the start station and the stop station can be more than or equal to the order of the inquired start station, and after summing all the rest ticket information meeting the conditions according to seats, the result is returned. The format of the input parameters of the remaining ticket query function is as follows: the total number of vehicles | departure time | start station ahead | end station ahead | whole journey multiplex mark |. The returned result parameter is a JSON array, and the format of an object stored in the JSON array is as follows: seat classes and the corresponding number of remaining tickets.
After the journey is inquired, a surplus ticket inquiry interface is called, the inquiry function automatically inquires the database and then returns real-time information, and then the surplus ticket information and the journey planning are packaged and returned, so that the passenger can automatically plan a better journey according to the searched journey planning line and the corresponding surplus ticket information.
Taking the ticket planning algorithm under the condition of K early arrival as an example, the detailed algorithm flow is as follows:
(a) calling a K early arrival algorithm, and calculating the earliest arrival path from a given starting point to a given end point in a given starting time interval;
(b) calling a remaining ticket information inquiry interface for each riding scheme of each path, and returning the remaining ticket information;
(c) and returning the remaining ticket information and the corresponding path scheme as a result.
9. Train late algorithm
All previous algorithms assume that the schedule is perfectly correct, that is, in any case, if it is stated on the schedule that the vehicle will arrive at 18:00, then the trip must arrive at 18: 00. However, this assumption is difficult to guarantee, and the train late is a real problem that is difficult to avoid no matter how many methods are used, and in some cases, the late may even cause some solutions to be unfeasible. For example, the schedule shown in table 2, if no accident occurs, the passenger can take the D195 for the shanghai after arriving at tianjin by taking the D29. However, if for some reason the delay of D29 is one hour, the passenger cannot take D195 to Shanghai, and if after knowing the delay of D29, the plan for changing D29 to D195 is still recommended to the passenger, it is obviously incorrect. Since the train delay is objective, the train delay must be processed, and after a certain train delay is known, the delay must be considered in the following recommendation scheme.
To deal with the train delay issue, it is first necessary to estimate the impact after one train delay. The influence cannot be estimated because the delay of one car causes the change of the whole railway dispatching system, thereby affecting other cars, and the railway bureau may choose to accelerate the car, so that the car does not have the delay in the next station, and may choose to decelerate the car or avoid other cars, so as to ensure the normal operation of other cars. This presents great difficulty in dealing with the late train problem, making the following assumptions:
the assumption of the train late is as follows: if a car is at station S later than t minutes, then in all the following stations the car will be at later than t minutes.
Considering that the map is updated after the fact that the delay situations are known in practice, the delay situations of each train can be processed respectively, and therefore model updating method research can be carried out based on the assumption.
Next, the late problem should be handled in the time-extended model. It should be noted that each point in the time expansion graph represents the occurrence of a train arrival or departure event, and when the train is late, the corresponding nodes can no longer represent the arrival and departure events of the train, thus requiring changes to the nodes and their corresponding edges. Assuming that a train is at a station S for t minutes later, v represents an arrival node of the train in the station, u represents a transfer node of the train in the station, and a chain formed by all the transfer nodes in a city is called a transfer chain, the processing of the station S is as follows:
(a)TIME(v)=TIME(v)+t,TIME(u)=TIME(u)+t;
(b) for each edge (k, u) epsilon E, deleting the edge, and if k is an arrival node, adding k to a set T;
(c) deleting u from the transfer chain;
(d) finding two adjacent nodes s and t in the transfer chain, meeting the requirements that TIME(s) is less than TIME (u) is less than TIME (t), and inserting u in the middle of s and t;
(e) for each element k in T, find a point T in the transfer chain at which TIME (T) is minimal, satisfy TIME (k) + TRANSFER (S) < TIME (T), insert edge (k, T).
Considering the train late assumption, it is only necessary to perform the above steps for station S and all stations that the train will pass next.
The method for planning the railway journey route based on the time extension model provided by the third embodiment of the invention also comprises the step of constructing an air-railway combined transportation model based on the constructed time extension model suitable for the Chinese railway network.
The constructed air-iron combined transport model comprises the following steps: for time expansion graph G ═ V, E, where V represents the set of vertices and E' represents the set of edges, G has the following properties:
there are three nodes in V: an arrival node, a departure node and a transfer node; and V has these labels for any one point V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time; state (v) represents the station to which v belongs; train (v) represents the total number of cars or airplane shifts represented by v; CITY (v) represents the city to which v belongs; LEVEL (v) denotes the layer to which v belongs.
2. If (u, v) ∈ E, then there must be TIME (u). ltoreq.TIME (v). The edges in E are divided into five categories, as follows:
(a) the arrival node points to the edge of the transfer node. The edge represents the occurrence of a transfer event; if two nodes are in the same station, the transfer in the station is indicated, and the station is certainly transferable; otherwise, it represents a city transfer, and the two stations must be city transferable.
(b) The arriving node points to the edge of the departing node. The side represents that the passenger does not get off the bus at the station and directly sits in the same sliding bus to leave the station.
(c) The transfer node points to the edge of the transfer node. The edge represents the passenger waiting in the station for the next trip to arrive.
(d) The transfer node points to the edge of the departure node. This edge represents that the car is ready for departure and the passenger gets on the car and out of the station.
(e) The edge from the departure node to the arrival node. The edge represents the passenger riding to the next stop.
The air-iron intermodal model is shown in fig. 9.
The model is divided into two layers. The first layer is a railway model; the second layer is an aviation model. Inside the layers are all time-extended models. The communication between the layers is carried out in the form of city transfer. Namely: the train station transfers to the airport through the city, and the airport also transfers to the train station through the city. To make layer-to-layer communication possible, the assumption is added that: all airports are "big stations" that can act as arrival stations and make city transfers.
Therefore, the simple railway model and the simple aviation model are combined into an air-railway combined transportation model. When dealing with railway planning, searches are only made in the first layer; searching only in the second layer when processing the aviation programming; when dealing with air-rail intermodal, searches are made in both layers.
The method for planning the railway journey route based on the time extension model provided by the fourth embodiment of the invention further comprises the step of constructing an air-rail-ground combined transportation model based on the constructed time extension model suitable for the Chinese railway network.
Since the bus also serves passengers on a schedule basis, a three-level air-rail intermodal model is established, as shown in fig. 10.
As can be seen from the figure, in the three-layer time extension model, the bus is also modeled as a time extension model and is added as a new layer to the air-rail transport model, so that there are three layers in the air-rail transport model: railway, aircraft, and bus floors. Similarly to the air-rail transport model, in order to make the communication between the floors, the communication between the bus floor and the railway floor and between the bus floor and the airplane floor is also assumed to be carried out in a city transfer mode, and some long-distance stations are selected as stations which can be transferred with the city.
When constructing the bus model, it is assumed that the opening time, the opening period and the opening line of the bus are determined and whether the bus from station a to station B has a direct bus or not.
In the bus model, each node represents a station. When a bus passes between two stations, an edge is added between the nodes.
The bus model is: for the time expansion graph G ═ V, E, any node V ∈ V represents a station, and any edge (u, V) ∈ E represents a station u going to station V with one trip. There may be multiple edges between two nodes.
The pure bus model is shown in fig. 11.
The constructed air-rail-ground combined transport model is divided into three parts: a bus model, an air-iron combined transportation model and a connecting line of the models. The connecting lines of the model are some station-to-station edges, if S1Only bus, then (S)1,S2) Indicating that the passenger can arrive at station S by riding the bus from this station2,(S2,S1) Denotes from S2Departure from the bus can arrive at the station.
The air-rail ground intermodal time extension model is shown in fig. 12.
The red line indicates when the origin station has no trains or planes, the passenger is riding on the bus to a station with trains or planes. The black line indicates that passengers are traveling to the terminal while they are not having trains and planes.
The fifth embodiment of the present invention provides an algorithm optimization, which is specifically as follows:
5.1 compression of time expansion maps
In order to improve the efficiency of the algorithm, the time expansion model applicable to the chinese railway network, which is constructed in step S1 in embodiment 1, is optimized, and the specific optimization steps are as follows:
and deleting all the starting nodes in the time expansion graph, and then adding corresponding edges to ensure that the topological structure of the graph is unchanged. The model after the final refinement is shown in fig. 13.
In the figure, station A is a large station which can transfer, and station B is a station which does not allow transfer. All the departure nodes in the graph are deleted, and the corresponding transfer nodes are treated as the departure nodes. Then, for each departure node u, if (v, u) ∈ E, (u, k) ∈ E, delete the point u and all the edges related to it, and then add the edge (v, k) to ensure that the topology of the graph is unchanged.
For the time-extended model, the change in the scale of the graph after the above modifications is shown in the following table:
TABLE 3 Effect of model improvements on graph Scale
Figure BDA0002103639770000191
It can be seen that compressing the model (the model after improvement), the number of points in the graph is reduced by 33.3%, and the number of edges is reduced by 22.7%, which will greatly speed up the response time.
The above model was tested using the dimensions of the chinese railway network scale for 21 days as shown in the table below.
Table 4 model Chinese railway network size of 21 days
Figure BDA0002103639770000192
Selecting K15, testing on railway model, selecting lambda in K short stroke problem1=10,λ2The test results are shown in fig. 14, 1.
As can be seen from the figure, after compression, the points of the time expansion map are reduced by 33.3% and the edges are reduced by 22.7%. For the shortest travel time problem, 43.2% efficiency is improved.
5.2 search algorithm improvement on time expansion map
The acceleration algorithm mainly starts from the following three aspects:
acceleration of algorithm A
In the a-algorithm, the most important is the selection of a-table. In the standard a-algorithm, an estimate of the shortest distance between each pair of points is needed to form an a-table. However, when the scale of the graph is large, the a-table is large, and a large amount of extra space is needed. The graph is therefore divided into several sections and only the estimate of the shortest distance between these sections is stored in the a-table. Since the time expansion map contains information of stations, it is considered that the time expansion map is divided according to the stations to which the points belong.
With SiIndicating station, using Dis tan c e (S)i,Sj) Indicating station SiTo station SjEstimation of the lower bound of the time required. At the beginning, if there is a train slave station SiArrival station SjThe time taken for one pass in which the time is the least is selected as Dis tan c e (S)i,Sj). And if there is no train slave station SiTo station SjSetting Dis tan c e (S)i,Sj) Is infinite.
Next, the Floyd algorithm is performed on the obtained a-table for any three stations Si,Sj,SkThe following triangle inequality is satisfied:
Dis tan c e(Si,Sj)+Dis tan c e(Sj,Sk)≥Dis tan c e(Si,Sk)
obviously, the estimated value of the a table obtained in this way does not exceed the actual value, and thus it is ensured that the optimal solution is not lost. However, to solve city CiTo city CjThe k short path problem of (a) is not satisfactory considering that there are often multiple stations in a city. Slightly improved. With Dis tan c e (S)i,Cj) Presentation stationSiTo city CjLower bound of the shortest path of (1). Dis tan c e (S)i,Cj) Is determined by the following formula:
Figure BDA0002103639770000193
this generates the a table of the time required to stand to town, which is an estimate of the time required to solve the problem herein.
2. Narrowing down a set of target points
From the backtracking part of the algorithm, it can be found that as long as all points on the K short path have distance labels, the solution cannot be lost in the backtracking process. Therefore, when one-to-all is performed, as long as all points on the K short path are marked, the number K 'of paths that have been found can be estimated in the one-to-all process, and the one-to-all process can be ended when K' > K.
In Dijkstra's algorithm, the successor of each point can be recorded, and finally the shortest path can be directly obtained through such a successor table. If there is more than one shortest path, all shortest paths can be obtained by recording multiple identically labeled successors for each point in the algorithmic process. For the time-spreading model, the destination corresponds to multiple nodes (representing different arrival times). This may be done separately for these nodes to estimate label ranges. The method comprises the following steps:
whenever an arriving node v in a destination is searchediThen, traversing the forward table of this point, the number of shortest paths from the source point to this point can be obtained and is noted as NUM (v)i). Setting the nodes in the target station marked by Dijkstra algorithm as v in sequence1,v2,…vmIf, if
Figure BDA0002103639770000204
The marking algorithm stops.
After the label range estimation method is adopted, when K is searched for 15, the label process can be ended as long as 5 to 6 points in the target station reaching node set are found on average, and the algorithm efficiency is greatly improved.
3. Reduced time expansion map
Searching is carried out on the time expansion graph G ═ V, E inner subgraph G ═ V ', E'. Where V 'is the set of all points within five days of V and E' is the corresponding edge within five days of E. Setting the departure time as t, if the node v satisfies TIME (v) -t > 7200, the node v is not given a distance label.
Example of search algorithm improvement:
the data scale for the 21-day china railway network is shown in the following table:
TABLE 5A railway network Scale in Algorithm
Figure BDA0002103639770000201
The model sizes are as follows:
table 6A model size in algorithm
Figure BDA0002103639770000202
Accelerated by the above method, the efficiency of the algorithm is shown in fig. 15, and λ is selected for the shortest travel time problem1=10,λ 21 is ═ 1; for the least transfer problem, λ is chosen1=1,λ27200, K15 is selected.
As can be seen from the figure, the acceleration effect of the three steps is obvious, the acceleration efficiency is 54.7% for the problem of short stroke of K, and the acceleration efficiency is 28.3% for the problem of transfer of less K.
The sixth embodiment of the present invention compares the optimal path search efficiency, and specifically includes the following steps:
6.1 Experimental conditions test hardware and software environments are shown in the following table:
TABLE 7 test environment
Figure BDA0002103639770000203
Figure BDA0002103639770000211
The scale of the model is shown in the following table:
TABLE 8 time expander Scale
Figure BDA0002103639770000212
The search request format for the passenger is (departure city, arrival city, earliest departure time, latest departure time). The experiment totally adopts 440 groups of search request test data to search 15 schemes.
6.2K optimal path algorithm experimental analysis under four targets
The efficiency of the K early arrival, K short journey, K few transfers and the fare K low algorithm is tested under a time expansion model. Dijkstra algorithm in the algorithm adopts Dial barrel experiment, and two groups of tests are carried out: test 1 is a search in a time-extended model to simulate the results of a railway model; test 2 is a search for both the railroad level and the aircraft level in the air-rail intermodal model. The test data is the previously selected 440 sets of requests and the test results are shown in FIG. 16.
The average of the response of the algorithm for the four targets is shown in the following table:
TABLE 9 mean response of K-best algorithm under four targets
Figure BDA0002103639770000213
In a transverse comparison, it can be seen that the response efficiency of the fare K-low algorithm is the lowest, because in the fare K-low algorithm, the solutions far beyond K need to be solved, and then the solutions are sequenced, which seriously affects the efficiency of the algorithm. The efficiency of the K-less transfer algorithm is far lower than that of the K short stroke, because when the transfer times are selected as the optimization target, once a certain transfer node is searched and reached, all transfer nodes behind the transfer node are traversed certainly, because the edge weight value between the transfer nodes is 0, the search range is greatly expanded, and the response efficiency of the K-less transfer algorithm is low. The K short journey algorithm and the K early arrival algorithm have the highest efficiency, and the two algorithms only have different initial weights of the starting nodes, but the K early arrival algorithm has the efficiency far higher than that of the K short journey algorithm, because the value of any node v in the K early arrival algorithm in a close table is TIME (v), the weight of the node in the close table does not need to be recorded, and a large amount of time is saved.
Longitudinal contrast, two effects need to be considered: the influence of the scale-up makes the algorithm become less efficient because test 2 requires the simultaneous search of the railway and aircraft layers, which invisibly increases the search range; the effect of the reduced optimal solution value makes the algorithm efficient, because the speed of the airplane will be much higher than that of the train, which will result in the reduced optimal solution value, and therefore the algorithm will end earlier, thereby improving the algorithm efficiency. The effect of the degradation of the optimal solution value is more pronounced for short strokes of K and early arrival of K, so test 2 is more efficient than test 1. However, for the fare K low, since the fare K low is based on K-less transfer, in the K-less transfer algorithm, if a transfer node is searched, all nodes behind the transfer node are traversed, so in the fare K low algorithm, the influence of scale expansion is dominant, which makes the efficiency of test 2 lower than that of test 1. For the K-less transfer algorithm, the two effects are nearly balanced, so the efficiency of test 1 and test 2 are nearly identical.
6.3 Return-to-date Algorithm and MS Algorithm Experimental analysis
Comparing the efficiency of the backtracking algorithm and the efficiency of the MS algorithm under the K short-travel, K-less transfer and K-early arrival algorithms, the test is performed on the air-railway combined transportation model, but only the railway layer is searched, and the obtained experimental result is shown in FIG. 17:
the average response times of the backtracking algorithm and the MS algorithm are compared as shown in the following table:
TABLE 10 comparison of average response time of backtracking algorithm and MS algorithm
Figure BDA0002103639770000221
It can be seen from the above table that the backtracking algorithm is superior to the MS algorithm with respect to the problems of K short trip, K less transfer and K early arrival.
6.4 Return-to-date and YEN algorithm Experimental analysis
And comparing the efficiency of the backtracking algorithm and the YEN algorithm under the K short-stroke and K few-transfer algorithms, and performing the test under the air-railway combined transport model, but only searching for the railway layer. The test results obtained are shown in fig. 18:
the average time comparison of the response of the backtracking algorithm to the YEN algorithm is shown in the following table:
TABLE 11 comparison of average response times of the backtracking algorithm and YEN algorithm
Figure BDA0002103639770000222
It can be seen that the backtracking algorithm outperforms the YEN algorithm for K short runs and K few transfers.
The YEN algorithm is also accelerated to some extent, and the one-to-all process is also accelerated by using the a-x algorithm, the target point set is reduced, and the like, and the obtained test result is shown in fig. 19.
The average response times of the backtracking method and the YEN algorithm are compared as shown in the following table:
TABLE 12 comparison of average response time of backtracking algorithm and post-acceleration YEN algorithm
Figure BDA0002103639770000223
As can be seen from the above table, even if the same acceleration means in the backtracking method is adopted in the one-to-all process of the YEN algorithm, the efficiency of the backtracking method is still higher than that of the YEN algorithm.
6.5 train late algorithm test
Data of a train late point is assumed, pairAt each arriving node in the time-expanded graph, it is assumed that
Figure BDA0002103639770000224
The node is selected according to the probability, the train behind time represented by the node is considered to be 60 minutes later, finally 883 nodes are selected, the train behind time represented by the 883 nodes is considered to be 60 minutes later, the 883 nodes are processed by a train behind time algorithm, and a response graph of the algorithm is shown in fig. 20.
It can be seen that the average response time of the train late processing algorithm in each train is microsecond, and the actual application requirement of the ticket distance planning system can be met.
6.6 Ticket Range planning Algorithm test
After the remaining ticket information is added, since the remaining ticket information needs to be queried for all schemes, this may result in a reduction in efficiency of the search algorithm. The efficiency of the algorithm after the surplus ticket is added is tested. The test was performed on an air-rail intermodal model, but only the railway layer was searched. The test results are shown in fig. 21.
As can be seen from the figure, the effect of the remaining ticket query on the algorithm efficiency is obvious, and in order to analyze the effect more accurately, the data is arranged into the following table:
influence of remaining Ticket queries of Table 13 on the Algorithm
Figure BDA0002103639770000231
It can be seen from the difference value that the influence of the rest ticket inquiry on the ticket price K low and K few transfer algorithms is basically consistent, and the influence on the K short journey and K early arrival algorithms is basically consistent. The reason is that in the scheme of less transfer of K and low fare K, the obtained solution is mostly a scheme of only transferring twice, so that the number of times of remaining ticket query is less, and therefore, the influence of the remaining ticket query on the two algorithms is basically consistent. In the K early arrival and K short trip algorithm, the obtained solution is often converted into four times and five times, so that the number of times of remaining ticket query is increased, the influence of the remaining ticket query on the two algorithms is basically consistent, the efficiency of the two algorithms is reduced more obviously, and the number of times of remaining ticket query is increased. However, these effects are all on the order of 10ms, which is acceptable in practical internet applications and the like.

Claims (8)

1.A railway travel route planning method based on a time expansion model is characterized by comprising the following steps:
constructing a time extension model suitable for a railway network, and constructing a time extension graph G = (V, E) of the time extension model, wherein V represents a node set, E represents an edge set, and the node set comprises an arrival node, a departure node and a transfer node; and V has the following properties for any one node V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time t; station (v) indicates the station to which v belongs; train (v) represents the total number of cars represented by v; CITY (v) represents the city to which v belongs; if (u, v) belongs to E, then TIME (u) is less than or equal to TIME (v), the edge set comprises an edge of an arrival node pointing to a transfer node, an edge of an arrival node pointing to a departure node, an edge of a transfer node pointing to a transfer node, an edge of a transfer node pointing to a departure node and an edge of a departure node pointing to an arrival node;
searching a path with the minimum weight in paths formed by all edges pointing to an arrival node from a departure node on a time expansion graph to obtain an optimal path;
the method for constructing the time expansion model suitable for the railway network comprises the following steps of:
reading inbound and city information: establishing indexes of stations and cities, a relation table of the stations and the cities and a departure station table;
reading in the train running period: obtaining an extended schedule according to the train running period, and establishing a prototype of a time extended model according to the extended schedule;
adding in-station transfer edges: for each transfer-allowed station S, all transfer nodes belonging to the station S are sorted according to time, and the sorted nodes are v1,⋯,vkAdding a side (v)i,vi+1) I is more than or equal to 1 and less than or equal to k-1; traversing the arriving nodes in S, for eachArriving node u, which satisfies status (u) = S, finds the smallest i satisfying TIME (v)i) Time (u) ≧ TRANSFER (S), adding edge (u, v)i);
Adding a city transfer edge: station S1And station S2Allowing city transfer, traversing station S1For each arrival node satisfying status (u) = S1At station S2Of transfer node sequence v1,⋯,vkIn (v), find the smallest i satisfies TIME (v)i) Time (u) ≧ t, add edge (u, v)i) Where t is the minimum transfer time for the same city transfer.
2. The method for planning a route of a railway trip based on a time-expansion model according to claim 1, wherein the step of searching for a path with a minimum weight among paths formed by edges from a departure node to an arrival node on the time-expansion graph to obtain the optimal path specifically comprises:
setting a weight value for the edge;
and searching in the time expansion diagram by using a Dijkstra algorithm to obtain an optimal path.
3. The method for planning a route of a railway trip based on a time-expansion model according to claim 2, further comprising obtaining a K-best path by using a backtracking algorithm based on the obtained optimal path.
4. The method for time-based extension model of railroad trip route planning of claim 1, further comprising constructing an air-rail and/or air-ground intermodal model based on the time extension model applicable to the railroad network.
5. The time-extension-model-based railway trip-route planning method of claim 2, wherein the data structure adopted for running the Dijkstra algorithm comprises a Dial bucket, an N-tuple, a Radix heap, a Fib heap, or a binary heap.
6. The time-extension-model-based railway trip route planning method of claim 3, wherein obtaining the K-optimal path comprises the steps of:
one-to-all: the optimal path weight value from the starting point to other points is solved;
backtracking: and obtaining a front K-best path through reverse search.
7. The method for planning a route of railway trip based on time expansion model according to claim 6, wherein said obtaining the K-best path by using the backtracking algorithm further comprises optimizing the K-best path algorithm, including compressing the time expansion map or accelerating the one-to-all process in the backtracking algorithm by using the A-x algorithm.
8. A railway trip route planning apparatus based on a time expansion model, the apparatus comprising:
a model building component: the model construction component is configured to construct a time expansion model suitable for a railway network, and a time expansion graph G = (V, E) forming the time expansion model, wherein V represents a node set, E represents an edge set, and the node set comprises an arrival node, a departure node and a transfer node; and V has the following properties for any one node V ∈ V, V: ATTR (v) indicates which node v is; time (v) represents the number of minutes in which v represents the time of occurrence of the event relative to the earliest time t; station (v) indicates the station to which v belongs; train (v) represents the total number of cars represented by v; CITY (v) represents the city to which v belongs; if (u, v) belongs to E, then TIME (u) is less than or equal to TIME (v), the edge set comprises an edge of an arrival node pointing to a transfer node, an edge of an arrival node pointing to a departure node, an edge of a transfer node pointing to a transfer node, an edge of a transfer node pointing to a departure node and an edge of a departure node pointing to an arrival node;
a search component: the searching component is configured to search a path with the minimum weight in paths formed by all edges pointing to the arrival nodes from the departure node on the time expansion graph to obtain an optimal path;
the method for constructing the time expansion model suitable for the railway network comprises the following steps of:
reading inbound and city information: establishing indexes of stations and cities, a relation table of the stations and the cities and a departure station table;
reading in the train running period: obtaining an extended schedule according to the train running period, and establishing a prototype of a time extended model according to the extended schedule;
adding in-station transfer edges: for each transfer-allowed station S, all transfer nodes belonging to the station S are sorted according to time, and the sorted nodes are v1,⋯,vkAdding a side (v)i,vi+1) I is more than or equal to 1 and less than or equal to k-1; traversing the arriving nodes in S, for each arriving node u that satisfies State (u) = S, find the smallest i satisfies TIME (v)i) Time (u) ≧ TRANSFER (S), adding edge (u, v)i);
Adding a city transfer edge: station S1And station S2Allowing city transfer, traversing station S1For each arrival node satisfying status (u) = S1At station S2Of transfer node sequence v1,⋯,vkIn (v), find the smallest i satisfies TIME (v)i) Time (u) ≧ t, add edge (u, v)i) Where t is the minimum transfer time for the same city transfer.
CN201910544798.9A 2019-06-21 2019-06-21 Railway travel route planning method and device based on time expansion model Active CN110309962B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910544798.9A CN110309962B (en) 2019-06-21 2019-06-21 Railway travel route planning method and device based on time expansion model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910544798.9A CN110309962B (en) 2019-06-21 2019-06-21 Railway travel route planning method and device based on time expansion model

Publications (2)

Publication Number Publication Date
CN110309962A CN110309962A (en) 2019-10-08
CN110309962B true CN110309962B (en) 2021-11-23

Family

ID=68077661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910544798.9A Active CN110309962B (en) 2019-06-21 2019-06-21 Railway travel route planning method and device based on time expansion model

Country Status (1)

Country Link
CN (1) CN110309962B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889537B (en) * 2019-10-30 2021-04-02 东南大学 Air-rail link trip travel scheme generation method considering flight delay
CN110879866B (en) * 2019-11-05 2020-12-29 东南大学 Air-rail joint transit location determination method based on passenger travel multivariate data analysis
CN110956315A (en) * 2019-11-20 2020-04-03 深圳市活力天汇科技股份有限公司 Method for determining air-rail transport transfer scheme
CN111626502B (en) * 2020-05-26 2022-04-15 武汉大学深圳研究院 Dynamic commuting path planning method for urban traffic network
CN111797283B (en) * 2020-07-08 2024-03-05 深圳市活力天汇科技股份有限公司 Null iron transfer method based on undirected weighted graph
CN112418562A (en) * 2020-12-15 2021-02-26 同济大学 Urban rail transit network passenger trip scheme estimation method
CN112580204B (en) * 2020-12-16 2022-07-26 同济大学 Train delay time prediction method under abnormal events in railway section
CN116433308B (en) * 2023-06-13 2023-08-15 西南交通大学 Multi-system track traffic dynamic pricing method based on arrival and arrival time

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122434A (en) * 2011-01-24 2011-07-13 浙江工业大学 Urban public transport network optimization method capable of improving overall transfer performance
CN102880642A (en) * 2012-08-20 2013-01-16 浙江工业大学 Bus transfer method based on weighted directed network model
CN103164495A (en) * 2011-12-19 2013-06-19 中国人民解放军63928部队 Half-connection inquiry optimizing method based on periphery searching and system thereof
CN103376119A (en) * 2012-04-18 2013-10-30 哈曼贝克自动系统股份有限公司 Method of estimating cruising range and system for estimating a cruising range of a vehicle
CN106528720A (en) * 2016-11-02 2017-03-22 中铁程科技有限责任公司 Transfer station recommendation method and transfer station recommendation system
CN107545320A (en) * 2017-07-03 2018-01-05 北京交通大学 A kind of urban track traffic passenger paths planning method and system based on graph theory
CN108304542A (en) * 2018-01-31 2018-07-20 沈阳航空航天大学 A kind of Continuous k-nearest Neighbor in Time Dependent road network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122434A (en) * 2011-01-24 2011-07-13 浙江工业大学 Urban public transport network optimization method capable of improving overall transfer performance
CN103164495A (en) * 2011-12-19 2013-06-19 中国人民解放军63928部队 Half-connection inquiry optimizing method based on periphery searching and system thereof
CN103376119A (en) * 2012-04-18 2013-10-30 哈曼贝克自动系统股份有限公司 Method of estimating cruising range and system for estimating a cruising range of a vehicle
CN102880642A (en) * 2012-08-20 2013-01-16 浙江工业大学 Bus transfer method based on weighted directed network model
CN106528720A (en) * 2016-11-02 2017-03-22 中铁程科技有限责任公司 Transfer station recommendation method and transfer station recommendation system
CN107545320A (en) * 2017-07-03 2018-01-05 北京交通大学 A kind of urban track traffic passenger paths planning method and system based on graph theory
CN108304542A (en) * 2018-01-31 2018-07-20 沈阳航空航天大学 A kind of Continuous k-nearest Neighbor in Time Dependent road network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Building-evacuation-routeplanningviatime-expanded process-networksynthesis";J.C. García-Ojeda et al;《FireSafetyJournal》;20131010;338-347 *
"Route Planning Problem with Groups of Sightseeing Sites Classified by Tourist’s Sensitivity under Time-Expanded Network";Takashi Hasuike et al;《IEEE International Conference on Systems, Man, and Cybernetics》;20141008;188-193 *
"基于时间扩展网络的区域疏散公交路径规划";崔建勋 等;《华南理工大学学报(自然科学版)》;20100331;第38卷(第3期);64-69 *

Also Published As

Publication number Publication date
CN110309962A (en) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110309962B (en) Railway travel route planning method and device based on time expansion model
CN105788260B (en) A kind of bus passenger OD projectional techniques based on intelligent public transportation system data
CN110222912B (en) Railway travel route planning method and device based on time dependence model
Ma et al. T-share: A large-scale dynamic taxi ridesharing service
CN107545320B (en) Urban rail transit passenger path planning method and system based on graph theory
US8886453B2 (en) System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints
US8799038B2 (en) Dynamic taxi-sharing system and sharing method thereof
Chen et al. A fuel-saving and pollution-reducing dynamic taxi-sharing protocol in vanets
US10157242B2 (en) Charger arrangement planning supporting apparatus, charger arrangement planning supporting method, and program
CN106651728B (en) A kind of definite method of comprehensive system of transport passenger traffic mode advantage haul distance
Bast et al. Delay-robustness of transfer patterns in public transportation route planning
CN116128172A (en) Air-iron intermodal route generation method, system and equipment and storage medium
Varone et al. Multi-modal transportation with public transport and ride-sharing-multi-modal transportation using a path-based method
CN114358808A (en) Public transport OD estimation and distribution method based on multi-source data fusion
CN114912659A (en) Method, system, equipment and storage medium for calculating transfer scheme in railway passenger transport
CN113344268B (en) Urban traffic trip data analysis method
JP7121154B2 (en) Delivery plan creation method, device, system, and computer-readable storage medium
CN102445208B (en) Method for acquiring multiple vehicle navigation paths from map data
KR20140142804A (en) Integration Intermodal Traffic Assign Model
Callejas Cuervo et al. Simulation based on system dynamics for evaluating the quality of transport service in a complex social system
CN112288122B (en) Bus rapid commuting line design method based on passenger flow OD big data
Witt Determination of the Number of Required Charging Stations on a German Motorway Based on Real Traffic Data and Discrete Event-Based Simulation
CN110674990A (en) Instant delivery path selection method and system with sliding window updating mechanism
de Souza et al. Heuristic methods applied to the optimization school bus transportation routes: a real case
CN113469451B (en) Customized bus route generation method based on heuristic algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant