The disclosure relates to the field of path planning technologies, particularly to a multi-objective path planning method of an intelligent public transport system.
With the rapid development of vehicle intelligence and vehicle networking industry, demands of passengers for travel experience have been increasing in recent years, and it is more important to provide more comfortable and convenient intelligent transportation services. In order to achieve this goal, it is a key factor to efficiently and scientifically schedule a route that meets the demand. However, there are various restrictions in an actual traffic environment, which makes the vehicle route planning more complicated. A traditional route planning method is based on historical experience and follows a greedy rule to plan the route. However, for bus operators, it is very important to both reduce bus operating costs and improve passenger experience. Therefore, it is urgent to propose a multi-objective path planning method for an intelligent public transport system.
In order to solve the above technical problems, the disclosure provides a multi-objective path planning method for an intelligent public transport system, which can minimize waiting period of passengers while ensuring a higher load factor, thereby improving an overall efficiency of the public transport system and travel experience of passengers.
In order to achieve above purposes, an embodiment of the disclosure provides a multi-objective path planning method for an intelligent public transport system, which includes:
In an embodiment, the method further includes: for a route s, determining a total path length τ(s) of the route s by adding path lengths one by one according to orders in which bus stops of the route s are traversed; where the total path length τ(s) is expressed in a formula 1 with a constraint condition expressed by a formula 2:
In an embodiment, a total passenger number in a route s is expressed as P(s), which is obtained by adding a passenger number carried at each bus stop of the route s, and is expressed
In an embodiment, sa passenger number on a bus b is variable, and is determined by a passenger number carried at each bus stop of a route s; and the passenger number on the bus b is determined by a formula 4:
In an embodiment, the method further includes: obtaining a passenger average waiting period WTavg, including:
In an embodiment, the method further includes: obtaining a crowding degree Cd(s) expressed in a formula 9 subject to a formula (10):
In an embodiment, the dynamically and evenly allocate bus routes according to passenger waiting periods, road lengths, and the shortest path network topology, to thereby allocate different routes for different buses specifically includes:
In an embodiment, the determining an optimal bus route configuration specifically includes:
In an embodiment, the multi-objective path planning method further includes: sending the optimal bus route configuration to a passenger, thereby scheduling, by the passenger, a trip according to the optimal bus route configuration.
The disclosure has at least the following beneficial effects.
(1) A path planning algorithm BusNav suitable for multi-objective optimization is designed, which aims to applying to flexible bus scenarios. The algorithm can efficiently dispatch buses to meet the needs of different operating costs and passenger experience.
(2) A path extraction program and a route allocation program of the BusNav cooperate with each other, which can meet various conditions and dynamically allocate bus routes. This dynamic dispatching feature enables buses to adapt to real-time demand of passengers and road conditions more flexibly.
(3) By comparing with a traditional manual scheduling methods, such as a greedy method and a rapidly-exploring random tree (RRT) method, it is found that the BusNav is excellent in an average passenger travel (occupying) distance and passenger experience. This shows that the BusNav can reduce operating costs and significantly improve the experience of the passengers.
Accompanying drawings, which constitute a part of the disclosure, are used to provide a further understanding of the disclosure. Illustrative embodiments of the disclosure and their descriptions are used to explain the disclosure, and do not constitute an improper limitation of the disclosure.
It should be noted that the embodiments in the disclosure and the features in the embodiments can be combined with each other without conflict. The disclosure will be described in detail in combination with the accompanying drawings and the embodiments.
It should be noted that steps shown in flowcharts of the accompanying drawings may be executed in a computer system through a set of computer-executable instructions, and although a logical orders are shown in the flowcharts, in some cases, the steps shown or described may be executed in different orders.
An embodiment of the disclosure provides a multi-objective path planning method for an intelligent public transport system, which includes:
A definition 1 is given: for a route s, a total path length τ(s) of the route s can be determined by adding path lengths one by one according to orders in which bus stops of the route s are traversed, and the total path length τ(s) is expressed in a formula 1 with a constraint condition expressed by a formula 2:
A definition 2 is given: a total passenger number in the route s is expressed as P(s), which is obtained by adding a passenger number carried at each bus stop of the route s, which is expressed in a formula 3:
A definition 3 is given: a passenger number on the bus b is variable, and can be determined by the passenger number carried at each bus stop of the route s. The passenger number on the bus b can be determined by a formula 4:
A definition 4 is given: passenger average waiting period WTavg is expressed in a formula 8:
The calculation of the passenger average waiting period WTavg includes: dividing a waiting period into two periods, and calculating a weighted average waiting period of each of the two periods to obtain a first weighted average waiting period and a second weighted average waiting period. The first weighted average waiting period is obtained by: multiplying the waiting period WTr of the regular period and the corresponding weight ωr to obtain a first item, and summing the first item corresponding to each passenger i from 1 to k1. The second weighted average waiting period is obtained by: multiplying the waiting period WTs of the specific period and the corresponding weight ωs to obtain a second item, and summing the second item corresponding to each passenger j from 1 to k2. The first weighted average waiting period and the second weighted average waiting period are added, and then is divided by k1+k2 to obtain the passenger average waiting period WTavg.
A definition 5 is given: a crowding degree Cd(s) is defined according to a passenger number on a bus and a carrying capacity of the bus. Crowding will affect passenger experience. A less crowded route environment can provide a better passenger experience. In addition, the disclosure defines the crowding degree Cd(s) as the passenger number C(b)i,j(s) on the bus b when the bus b arrives the bus stop i divided by the total passenger number β(b) capable of being carried by the bus b, which is expressed in a formula 9 subject to a formula (10);
A first goal of the disclosure is to determine a bus route with the shortest path length in a route set S, where D(s) represents a route with the shortest distance in the route set S expressed in a formula 11 subject to a formula 12 for ensuring the optimization of passenger travel time, owing to a path length directly affecting the time taken by passengers to travel:
According to the formulas 11 and 12, while minimizing a driving distance, the disclosure tries to combine two target values into one target, which is called an average passenger travel (occupying) distance function, that is, an average route length of each passenger in the route s, which is recorded as τp(s), as expressed in a formula 13:
When τ(s) reaches a minimum value and P(s) reaches a maximum value, τp(s) reaches a minimum value, and this optimization standard achieves the goal of minimizing the operating cost.
Next, the disclosure defines a second goal of the disclosure, that is, a passenger experience function be(s), which is expressed in a formula 14:
Because the waiting period and the crowding degree will affect the passenger experience. In the disclosure, it is expected to make a proper trade-off between the passenger average waiting period WTavg and the crowding degree Cd(s). In order to comprehensively consider the influence of the passenger average waiting period and the crowding degree on the passenger experience, the passenger experience function be(s) is obtained.
A calculation method of a passenger waiting period is defined by formulas 15 and 16:
btv(s)−ptv(s)≤wt(s) (15);
s.t.∀s∈S,v∈V (16),
In a third goal of the disclosure, in order to reduce the operating cost, a passenger number per route should be maximized as much as possible, so as to reduce the number of routes and departures required, that is, to increase the passenger capacity of a bus on each route. The operating cost can be reduced by reducing the number of routes and departures required, as expressed in formulas 17 and 18:
At the same time, in order to reduce the operating cost, while meeting the travel needs of all passengers, a total bus number needed should be reduced as much as possible, as expressed in formulas 19 and 20:
min(nb), (19);
s.t. nb≥1,nb∈ (20)
From the route point of view, every route has its optimization objectives, namely τp(s) and be(s). Because all the routes have the same optimization goal, each route is independently optimized. That is to say, in each round, according to our optimization objectives τp(s) and be(s), a route is selected from candidate routes. Therefore, the optimization of each route is equivalent to the optimization of all routes. The multi-objective problem in the disclosure can be expressed in a formula 21:
min(τp(s),1/be(s),nb), (21).
A bus route map can be defined as a directed graph G(V, E), where V is represents a set of bus stops and transit points, and V={v1, . . . , vn}; E is a set of edges, E={e(u, v), where u, v∈VΛu #v}. A set of m bus routes can be expressed as ={s1, s2, . . . , sm}. A set of routes sk∈S can be expressed as r(s)={vi, . . . , vj}, where vi represents a starting bus stop and vj represents a terminal bus stop.
When a map (also referred to as a traffic network topology) and bus stop information (also referred to as bus drivable routes) are given, they are transformed in to an adjacency matrix M∈n+1×n+1 and the adjacency matrix not only records information of each bus
stop, but also records intersections of roads, and regards the intersections of roads as transit points. M is defined as an Euclidean distance pair between any two points, and a diagonal distance adjacency matrix M is 0, which is expressed in formulas 22 and 23. In addition, the adjacency matrix allows a road through which a bus cannot pass (for example, for regulation, maintenance, etc.) to be set to infinity in advance.
M=MT (22)
Diag(M)=0 (23)
The algorithm BusNav includes two clearly defined stages. In a first stage, a shortest route to each bus stop is calculated by using a path extraction program, and a shortest route connecting all bus stops is effectively established. In a second stage, considering a series of constraints, a route allocation program is adopted to determine a driving order between bus stops. The goal is to find a driving route that can meet a specified operating cost limit and ensure boarding experience of passengers.
In the first stage of path planning, paths must be extracted first. In this path extraction program, some unnecessary paths can be filtered or removed, aiming at reducing the calculation amount of data. In order to achieve this, Floyd algorithm is used in a path extraction process, and the Floyd algorithm is good at calculating a shortest distance between any two bus stops. The Floyd algorithm is based on the principle of dynamic programming skills and a greedy method. The Floyd algorithm regards dist_varw,v,k as a shortest path length from a node w to a node v, and only contains a set (1, . . . , k) astransit nodes. In the Floyd algorithm, a decision to update a path length can be divided into the following two situations.
In a formula 24, if a shortest path passes through a transit node k and produces a shorter path length, a path length and path information are updated:
dist_varw,v,k=dist_varw,k,k-1+dist_vark,v,k-1 (24).
Otherwise, the path is not updated, and the original path is maintained, as shown in a formula 25:
dist_varw,v,k=dist_varw,v,k-1 (25).
Therefore, with the above relationships, the formulas 24 and 25 can be rewritten as a formula 26:
dist_varw,v,k=min(dist_varw,v,k-1,dist_varw,k,k-1+dist_varw,k,k-1) (26).
In the process of finding the shortest path between any two stops by the Floyd algorithm, we can remove or filter out some unnecessary paths. There are multiple transit points between bus stops, if we can remove these unnecessary transit points in advance, it will be helpful to improve a calculation speed. The time complexity of the Floyd algorithm is O(n3), so the more the number of transit points, the higher its time complexity. Therefore, we should remove the inapplicable transit points in the first stage to reduce a calculation amount.
After determining the shortest path between any two bus stops, it is necessary to plan a driving path trajectory from the starting bus stop to the terminal bus stop. In order to reduce operating cost, minimizing the driving path length is our goal. A length of a driving route and the number of departures have an impact on the operating cost. The passenger experience will be affected by the waiting period and the crowding degree. In order to allocate optimal bus stops and an optical driving sequence for each bus, we define a stop evaluation index (X), which is a sum of a result of multiplying an average passenger travel (occupying) distance by a weight 1 and a result of multiplying a passenger experience value by a weight
2. The stop evaluation index is a key index of whether a stop is received in a route, and is expressed in a formula 27:
λ=τp(s)×1+be(s)×
2
s.t.1+
2=1 (27)
Steps of the route allocation program of the algorithm BusNav are as follows.
First of all, an initialization process is performed to make 1=0 and
2=1 (where
2=1−
1), where an increment of
1 is 0.02, a decrement of
2 is 0.02. i is an identifier (ID) of a bus, and each bus set Bi(1≤i≤nb) records its own path trajectory, and only a starting bus stop is recorded in an initial state, Bi={ui}. In order to make the operations of all buses be evenly distributed, each bus is set with a cost
i, which records a total distance of a route, where an initial state of
1 is 0.
In the step 1, a bus with the smallest cost i is selected, which has a highest priority when selecting a bus stop. Since a cost of each bus is 0 at first, if costs of at least two buses are the same, a bus with the smallest ID of the at least two buses will have priority to select a bus stop. For each bus, a node v with a minimum stop evaluation index λ is selected from unselected adjacent bus stops, and the node v is assigned to a bus set Bi. Here, α(s) represents a threshold, and the value of τp(s) affects an operating cost of the bus. Larger τp(s) leads to a higher operating cost for bus companies, while smaller τp(s) leads to a smaller operating cost. A formula 28 represents the calculation method of the operating cost:
In the stop evaluation index λ, there is another goal to consider, which is the passenger experience. A selected bus stop should have the passenger experience be(s), which is greater than or equal to an experience threshold γ(s). In other words, a smaller crowding degree or a shorter average waiting period corresponds to a better passenger experience. The passenger experience value be(s) is expressed in a formula 29:
A bus bp with the smallest cost i has the highest selection priority. If costs of at least buses are the same, a higher selection priority is given to a bus with the smallest ID, which is shown in a formula 30:
min(i), where 1≤p≤nb (30).
In the step 2, the bus bp with the highest selection priority selects the bus stop with the minimum stop evaluation index λ from adjacent bus stops and adds it to a set Bp, as expressed in a formula 31:
Bp={v|min(λ)} (31).
In the step 3, a cost p of the bus bp is updated, where len represents a total node number in the set Bp, and len=|Bp|. A total distance of a route is set as the cost
p of the bus bp, as expressed in a formula 32:
In the step 4, when all bus stops have been allocated, if there is a route still that has not yet reached a destination bus stop, the destination bus stop is directly added to this route, that is, a round of route allocation process is completed, and the step 5 is performed. When there is at least one bus stop is not allocated, the process returns to the step 1. The advantage of this design is to avoid the problem that the same bus bears all the workload, and ensure fairer work distribution, more efficient resource utilization and better overall balance.
In the step 5, The initial value of 1 is 0 and
1 is increased by 0.02 each time until it reaches 1. At the same time, the initial value of
2 is 1 and
2 is decreased by 0.02 each time until it reaches 0. Finally, an optimal route result is taken as a final path planning result, that is, the whole route allocation program is completed. If
1 has not reached 1 and
2 has not reached 0, a current optimal route result is recorded and the process returns to the step 1; otherwise, an optimal route is selected from all recorded results as an output.
In order to clearly explain the process of the route allocation program, an example of the route allocation program is described below. Take i=0. First, each bus bi finds a node with the minimum stop evaluation index λ from adjacent bus stops and adds it to the set Bi.
Since a cost i of each bus at the beginning of the program is 0, all buses have the right to select a bus stop. At present, the bus b1 selects a bus stop v4 with the minimum stop evaluation index λ1,4, the bus b2 selects a bus stop vs with the minimum stop evaluation index λ2,5, and the bus b3 selects a bus stop v6 with the minimum stop evaluation index λ3,6. It is assumed that their corresponding distances are 5, 4 and 6 respectively, costs of the buses in a first round are
1=5,
2=4 and
3=6 respectively. The result is shown in
In
In a second round, because the cost of the bus b2 is the smallest, the bus b2 has the priority to select a bus stop. The bus b2 selects a node with the minimum stop evaluation index λ among adjacent nodes to join a set B2, as shown in
In
In a third round, Because the cost (C1=5) of the bus b1 is the smallest, the bus b1 has the selection priority, as shown in
In
However, in the above process, the route allocation program is a one-time allocation process. In the disclosure, a map on which a route planning process is performed is taken as an input, 1 is increased from 0 to 1, and
2 is decreased from 1 to 0, and the optimal τp(s) and be(s) are found as the final results.
In an actual application, when a passenger suddenly makes a reservation or cancels a route, a BusNav system needs to monitor a reservation condition of the passenger in real time and make the arrangement of route planning in time. Through the communication between the passenger and a driver and the real-time update of a system database, the BusNav system obtains information of confirmed reservations, cancelled routes and new reservation requirements.
In order to deal with these emergencies, the BusNav system introduces a dynamic path planning strategy in the route allocation process. The route can be flexibly adjusted to meet the needs of passengers. When passengers cancel reservations, the BusNav system only needs to subtract the number of the passengers who cancel reservations from a total passenger number at a corresponding bus stop. This ensures that the passenger number at each bus stop is updated in time during the route allocation process. The dynamic path planning strategy includes steps 1-4.
In the step 1, when a bus stop suddenly receives a request Q of a passenger, the BusNav system will determine whether the bus stop has been traversed. If the bus stop has not been traversed, the dynamic path planning strategy exits and the route allocation program is performed. If the bus stop has been traversed, s=0 and Tag=0, where the variable s is a route, and the variable Tag indicates whether a request has been assigned to the route s, and if the request has been assigned to the route s, Tag=1; otherwise, Tag=0.
In the step 2, in a situation of considering all routes, whether the request Q is a bus reservation request is determined, if the request Q is a bus reservation request, the step 3 is performed, if the request Q is a bus reservation cancelation request, a bus stop corresponding to the request Q is deleted from the route s.
In the step 3, an average passenger travel (occupying) distance and passenger experience from a bus stop where a bus is located to a requesting bus stop are calculated, and whether the constraint conditions are met is determined. If the constraint conditions are met, the calculation results are recorded, and the Tag is set to 1, which means that the requesting bus stop corresponding to the requesting Q meets the conditions of being added to the route s; otherwise, the calculation results are not recorded, and the step 4 is performed.
In the step 4, it is determined whether all the routes have been considered, if not, the process returns to the step 2, if yes, continues to determine whether the Tag is 1, and if the Tag is 1, the request Q is finally assigned to the optimal route s; otherwise, the request Q is rejected, and an additional bus must be dispatched at this time to meet the demand of the passenger.
The above is merely exemplary embodiments of the disclosure, but the scope of protection of the disclosure is not limited thereto. Any change or replacement that can be easily thought of by a person familiar with this technical field within the technical scope disclosed in the disclosure should be included in the scope of protection of the disclosure. Therefore, the scope of protection of the disclosure should be based on the scope of protection of claims.
Number | Name | Date | Kind |
---|---|---|---|
8494771 | Delling | Jul 2013 | B2 |
20080027772 | Gernega | Jan 2008 | A1 |
20130158846 | Zhang | Jun 2013 | A1 |
20190068434 | Moreira da Mota | Feb 2019 | A1 |
20190265703 | Hicok | Aug 2019 | A1 |
20210108934 | Dasalukunte | Apr 2021 | A1 |
20210302181 | Civitella | Sep 2021 | A1 |
Number | Date | Country |
---|---|---|
109409599 | Feb 2022 | CN |
116029470 | Apr 2023 | CN |
116882605 | Oct 2023 | CN |