This application claims the benefit of priority to Chinese Patent Application No. 201410229206.1, filed May 28, 2014, the contents of which are incorporated herein by reference.
The present invention is related to a method and a system for predicting a waiting passenger count for bus dispatching, and an evaluation method and system for a dispatching scheme of buses.
Online dispatching plays an important role in bus operation system, since offline scheduling (static scheduling) based on predefined demand cannot meet various dynamic variations. Online dispatching includes, for example, bus departure timetable scheduling, bus speed controlling, or stop skip instruction. In general, dispatching is only based on bus status or predicted bus status. Passenger flow information is not considered when dispatching buses. Because the boarding/alighting time is unknown, the bus status can not be predicted accurately. For example, when the passenger count at a previous stop is much larger than usual such that boarding time is longer than usual, the actual arrival time when the bus arrives at the next stop can be later than the predicted arrival time. A case where at least two buses along the same bus line run together is referred to as “bus bunching”. Bus bunching causes the service to be unreliable, for example, some passengers will wait a longer time, and some buses will become overcrowded. One of the key reasons of bus bunching is an abnormal passenger load, because a large boarding count will increase the bus dwell time and cause delays. Bus bunching is helpful to meet passenger flow burst. For example, when a large-scale exhibition or sport match ends, there will be an abnormal increase in the passenger count at near stops. Therefore, the bus system, which serves the passengers, should be dispatched based on not only the bus status, but also the passenger flow information. This involves prediction of the passenger flow.
In the prior arts that perform the passenger flow prediction, there are nonparametric statistical methods, parametric methods and a real-time simulation method.
Nonparametric statistical methods include, e.g., neural network, SVM (Support Vector Machine), etc. Nonparametric statistical methods require environmental variables, such as date, time and weather as their input variables and find the relationship between the passenger flow and environmental conditions. However, a Waiting Passenger Count (“WPC”) strongly relates to the bus location, which is difficult to be modeled as an environmental condition.
Parametric methods include, e.g., linear regression, time series models, Kalman filtering techniques, etc. Some of these techniques predict the passenger flow in a year or in a N-day interval. Such prediction is too coarse for a bus dispatcher to make a timely decision. In the Kalman Filter, WPC(t+1)=WPC(t)+w(t), where WPC( ) denotes WPC, w( ) denotes Gaussian noise. It can be seen that this passenger flow prediction does not take into account the passenger demand and the bus location.
The real-time simulation method is based on real-time OD (“Origin-Destination”) estimation. The real-time simulation method requires solid data (e.g., historical OD matrix) and high-efficient computers to support real-time simulation. This results in a high cost for bus dispatching.
In view of the above, the present invention provides a method and a system for combining bus location prediction with passenger flow prediction, as well as an evaluation method and an evaluation system for a dispatching scheme of buses.
According to an aspect of the present invention, a method for predicting a WPC is provided. Bus stop arrival time is predicted based on historical travel data of buses and current bus travel data. Where the prediction of the next bus stop arrival time is considered, the WPC at the stop in the next time period is predicted based on historical passenger flow data and a current WPC.
According to another aspect of the present invention, an evaluation method for a dispatching scheme of buses is provided. Where the prediction of the next bus stop arrival time is considered, the WPC at the stop in the next time period is predicted based on historical passenger flow data and a current WPC. To determine whether the Key Performance Index (“KPI”) is smaller than a predetermined value to evaluate the dispatching scheme of buses, an integral of the product of the predicted WPC and their waiting time as KPI are used.
According to another aspect of the present invention, there is a system for predicting a WPC. Arrival time is predicted based on historical travel data of buses and current bus travel data. When buses arrive at a bus stop, a WPC is predicted based on historical passenger flow data and a current WPC. A WPC at the stop in the next time period is predicted, where the prediction result of the arrival time is considered.
According to another aspect of the present invention, there is provided an evaluation system for a dispatching scheme of buses. Arrival time is predicted based on historical travel data of buses and current bus travel data. When buses arrive at a bus stop, a WPC is predicted based on historical passenger flow data and a current WPC. A WPC at the stop in the next time period is predicted, where the prediction result of the arrival time is considered. A KPI setting device is configured to use an integral of the product of the predicted WPC and their waiting time as the KPI. To determine whether the KPI is smaller than a predetermined value, an evaluator is configured to evaluate a dispatching scheme of buses.
The WPC predicted according to the method and the system of the present invention is closer to the actual WPC and coincides with it. In addition, by setting a passenger oriented KPI with the WPC predicted according to the method and the system of the present invention, it is possible to reflect passengers' overall experience of the service of the bus system in a more real way. It is possible to improve the degree of passengers' satisfaction with the service of the bus system by using the KPI to make an evaluation on dispatching schemes and finding a dispatching scheme meeting the KPI based on the evaluation.
Features and advantages of the present invention will become apparent, through description of embodiments of the present invention.
Preferred embodiments will be described in detail with reference to the accompanying drawings, in which the embodiments of the present invention have been illustrated. The present invention can be implemented in various manners, and thus should not be construed to be limited to the embodiments illustrated herein.
Referring to
Bus 18 represents one or more types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 12 typically includes a variety of computer system readable media, which are accessible by computer system/server 12, and includes both volatile and non-volatile media, removable and non-removable media.
System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32. Computer system/server 12 includes other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 18 by one or more data media interfaces. As will be further described below, memory 28 can include at least one program product having a set of program modules that are configured to carry out the functions of embodiments of the invention.
Program/utility 40, having a set of program modules 42, can be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, can include an implementation of a networking environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
Computer system/server 12 can also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24; one or more devices that enable a user to interact with computer system/server 12; and/or any devices (e.g., network card, modem) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Further, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 12 via bus 18. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 12. Examples, include, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems.
In the arrival time prediction step 410, arrival time when buses arrive at a bus stop is predicted based on historical travel data of buses and current bus travel data. Here, historical travel data includes at least one of speed, location of a bus corresponding to different time of a day in history. Current bus travel data includes at least one of current speed, location of a bus. In addition, the buses refer to buses along the same bus line. Current bus travel data can be obtained, for example, through Global Positioning System (GPS) or through other sensors (such as gyro or RFID) installed on the bus.
In an embodiment of the present invention, in step 410, historical travel data, such as speed, of buses is used to train a bus speed model through a statistical method or data mining. The error of the predicted bus speed is reduced based on current bus travel data, through a filtering method (e.g., Kalman Filtering).
The predicted travel time of a journey is based on the predicted bus speed in a future time period (e.g., 15 minutes, half an hour, etc).
Arrival time of the bus can be predicted with the predicted travel time and current location of the bus. For example, knowing current location of the bus and predicted travel time of traveling from current location to the next bus stop, the predicted arrival time can be obtained.
In “Bus Arrival Time Prediction Model Based On SVM And Kalman Filter” by Yu Bin, Yang Zhongzhen, Zeng Qingcheng, (China Journal of Highway and Transport, Vol. 2: pp. 89-92 (2008)), a bus arrival time prediction model is described in detail.
In step 420, where the prediction result of the arrival time is considered, the WPC at the stop in the next time period is predicted based on historical passenger flow data and the WPC.
Historical passenger flow data includes at least one of the boarding count and the ESC of a bus corresponding to different time of a day in history at respective stops. The current WPC is obtained through photographing and recognizing by a video camera at the stop. In an embodiment of the present invention, with a camera or video camera installed at the stop, through the pattern recognition technique, all the human objects within the stop or a demarcated area of the stop are counted so that the current WPC at the stop can be obtained. In an embodiment of the present invention, for a country where passengers are not allowed to stand on the bus, the ESC is the number of actual empty seats on the bus. In another embodiment of the present invention, for a country where passengers are allowed to stand on the bus, the ESC can be the number of passengers whom the bus can further accommodate estimated according to the photographed situation in the bus. In an embodiment of the present invention, the boarding count included in historical passenger flow data can be obtained by an automatic passenger counter installed on the bus, or obtained through photographing and recognizing by a video camera installed on the bus.
Although steps 610 and 620 in
In step 610, for a bus stop (e.g., bus stop X), with respect to every time period (e.g., 5-15 minutes), the APC is obtained from the boarding count included in historical passenger flow data. In an embodiment of the present invention, in prediction of the APC, passengers who board the same bus at the same bus stop are assumed to arrive at the bus stop according to a particular distribution, and arrival of each bus corresponds to a distribution, and the APC in a time period is equal to the sum of integrals of respective the distributions within the time period.
For the time period of interest (t−1, t) in
where APC(t) denotes the number of passengers arriving at the stop in the (t−1, t) time period, Bhis(τi) denotes the boarding count of the i-th bus, τi denotes arrival time of the i-th bus, f(x) denotes the probability density function of the APC, Bhis(τi)×∫t-1tf(x)dx denotes the number of passengers who board the i-th bus and arrive at the bus stop in the (t−1, t) time period. By calculating the APC in a way according to the above mentioned embodiment, the APC can be made to be closer to the actual APC.
In another embodiment, another method can be employed to obtain APC(t) from Bhis(τi). For example, for every two adjacent buses i−1 and i that arrive at the bus stop, it is assumed that arrival time of the bus i−1 is τi-1, arrival time of the bus i is τi, and the boarding count is Bhis(τi). Then, the APC in unit time in the time period (τi-1,τi) can be calculated as
In this case, if one wants to calculate the APC in a time period of length T, one first checks that the time period falls between arrival time of which two buses. If the time period falls between arrival time ui-1 and ui of two successive buses, the APC in the time period is APC(t)=T·A(ui-1,ui). In addition to above embodiments, those skilled in the art can think of other methods of obtaining APC(t) from Bhis(τi).
After the APC is obtained, a seasonal time sequence (ARIMA) model is used to model historical APC to predict the APC of the current day. The seasonal ARIMA model is a modeling method proposed with respect to a time sequence with seasonal variations. It analyzes sequence values of the same time points in every season period, extracts the seasonal trend, and extracts non-seasonal components with respect to changes of sequence values within every season period, so as to establish an optimal model. In “Time Sequence Analysis Prediction And Control” by Geoge E. P. Box, translated by Gu Lan et al. (China Statistics Press, pp. 101-135 (1997)), the seasonal ARIMA model is introduced. In the application of the seasonal ARIMA model to the present invention, by analyzing historical data (i.e., the APC obtained as above), forming passenger flow data of the same time period of several days in history into time sequence points, extracting the seasonal trend, using the seasonal ARIMA model to complete analysis of the APC data pattern, and predicting the APC of the same time period of a certain future day.
In step 620, prediction of an ESC of the bus is performed with respect to a bus stop (e.g., bus stop X) based on historical passenger flow data. Since historical passenger flow data directly includes the ESC of the bus at respective bus stops corresponding to different time of a day in history (that data can be acquired through a video camera installed on the bus), it is unlike the APC which needs to be derived from historical passenger flow data. Similar to the APC, the seasonal ARIMA model can be used to model historical ESC to predict ESC of the current day. Through prediction of the ESC of the bus, ESC of the current day (not shown) predicted with the seasonal ARIMA model can be obtained, which is similar to that shown in the lower part of
In above examples, although prediction of the APC and prediction of the ESC of the bus is performed with the seasonal time sequence model, those skilled in the art can think of using other statistical methods or data mining methods to build a mathematic model so as to perform the prediction.
In step 630, prediction of the DPC is performed based on the prediction result of the arrival time, APC, and ESC.
In step 910, a BAE list is generated based on arrival time predicted in the above mentioned step 410. In the BAE list, each BAE is a (b, s) pair where b denotes the ID of a bus, and s denotes predicted arrival time of the bus. Each BAE in the BAE list meets: time (t−1)<time s<time t.
In step 920, one BAE is extracted from the BAE list in order, and processes of steps 930 through 970 are performed with respect to the extracted BAE. It is assumed that the BAE extracted in this step is (BUS3, s).
In step 930, the number of passengers who arrive at the bus stop X within the time period (t−1, t) and before arrival time s of BUS3 is calculated as A=(time s-time (t−1))/(time t-time (t−1))×APC(t). Here, (time s-time (t−1)) denotes the time length from time t−1 to time s, (time t-time (t−1)) denotes length of the time period (t−1, t), and APC(t) denotes the APC at the bus stop X during the whole time period (t−1, t) predicted in step 610.
In step 940, the WPC before passengers board the bus BUS3 is calculated as W=W+A. Here, W is a variable, and “=” denotes assignment. In an embodiment of the present invention, before W is added to A, the value of W can be 0, which corresponds to a case where the (t−1, t) time period is the starting time period; or it can be predicted WPC at the end of the previous time period (t−2, t−1), which corresponds to a case where the (t−1, t) time period is not the starting time period. In another embodiment, before W is added to A, the value of W can be the WPC at the bus stop X at time t−1 photographed by the video camera at the bus stop.
In step 950, the number of passengers who board the bus BUS3 is calculated as B=min(W, ESC(t)). Here, min( ) means that the smaller value of the two is acquired, ESC(t) denotes the bus ESC corresponding to the stop X during the time period (t−1, t) predicted in the step 620. That is, when the current WPC is larger than the ESC (W>ESC(t)), only a part of waiting passengers can board the bus.
In step 960, the WPC is updated as W=W−B. The value of updated variable W denotes the remaining WPC after the bus BUS3 leaves. Here, “=” denotes assignment. The updated variable W can be used to calculate the WPC before passengers board the bus in step 940 with respect to the next BAE.
In step 970, it is judged whether the current BAE is the final BAE in the BAE list. If it is not the final BAE, the process returns to step 920 to extract the next BAE and perform operations of step 930 to step 970 with respect to the BAE. If it is the final BAE, the process proceeds to step 980.
In step 980, the boarding counts Bs calculated in step 950 in respective loops (one loop for each BAE) are added up so as to obtain predicted DPC. That is, DPC(t) is equal to the sum of the number of passengers who board respective buses at the stop X during the time period (t−1, t). Therefore, prediction of the DPC is completed.
Those skilled in the art can see that prediction of DPC is based on the BAE. In the present invention, prediction of arrival time is considered in the passenger flow prediction, i.e., prediction of arrival time is combined with the bus location prediction.
In another embodiment according to the present invention, step 620 can be omitted from the WPC prediction process shown in
In an embodiment of the present invention, the process 600 as shown in
With reference back to
In an embodiment of the present invention, Kalman filter is used to predict the WPC at the stop in the next time period. In “A New Approach to Linear Filtering and Prediction Problems” by Kalman, R. E. (Transactions of the ASME—Journal of Basic Engineering Vol. 82: pp. 35-45 (1960)), details of Kalman filter are introduced. Kalman filter is a highly efficient recursive filter (autoregression filter). It can estimate the state of the dynamic system from a series of incomplete and noise-containing measurements. Operations of Kalman filter include two phases: a prediction phase and an update phase. In the prediction phase, the filter uses the estimation of the previous state to estimate the current state. In the update phase, the filter uses an observed value of the current state to optimize the predicted value obtained in the prediction phase to obtain a more accurate new estimation value, and also update the error gain term within the system at the same time.
In step 640, the evolution equation in the Kalman filter is set as: WPC(t)=WPC(t−1)+u(t)+ω(t−1), where u(t)=APC(t)−DPC(t) is the state change equation of the WPC, ω(t−1) is the system error of the state change equation, and symbols t−1 and t denote terms corresponding to the previous time period and the current time period respectively. The observation equation in the Kalman filter is set as: y(t)=WPC (t)+υ(t−1), where y(t) is the observed value of WPC, and υ(t−1) is the error of the observed WPC.
In the prediction phase, the WPC of the previous time period (i.e., WPC(t−1)) and the state change equation u(t)=APC(t)−DPC(t) are used to estimate the WPC of the current time period (i.e., WPC(t)). In the update phase, the WPC observation value of the current time period (photographed and recognized by the video camera of the stop, i.e., y(t)) is used to optimize the WPC estimation value obtained in the prediction phase to obtain a more accurate estimation value and update the error gain. Prediction of the WPC at the stop in the next time period is iteratively performed, and the WPC in a future time period is predicted repeatedly. Thus, the WPC at a stop in the next time period is obtained.
In the above examples, the Kalman filter is used to predict the WPC at the stop in the next time period. In another embodiment according to the present invention, the Bayes filter can also be used to perform the prediction. The Bayes filter is a recursive filter based on probability density, which uses all known information to configure a posteriori probability density of the system state variable. In addition to the above filtering methods, those skilled in the art can also think of using other similar algorithms to perform such prediction.
In step 1130, an integral of the product of the predicted WPC and their waiting time is used as the KPI.
In step 1140, a dispatching scheme of buses is evaluated to determine whether the KPI is smaller than a predetermined value. For example, the dispatching scheme can include, but not limited to, the following means: notifying the driver of the bus to accelerate or decelerate, notifying the driver of the bus to skip a stop, increasing or decreasing the departure interval, or publishing passenger guide information at the stop. The bus dispatching performed after the KPI is set can employ various well known methods, which is not described in detail. For example, it is assumed that KPI=“weighted passenger waiting time is less than 45”. At this time, prediction is made based on the current dispatching scheme, and evaluation is made according to the predicted value. Based on the evaluation, if the obtained KPI≧45, the current dispatching scheme can be modified to generate a new dispatching scheme, and prediction and evaluation are made again based on the new dispatching scheme, until a dispatching scheme that meets KPI<45 is found.
The present invention can be a system, a method, and/or a computer program product. The computer program product can include a computer readable storage medium or media having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scheme, the remote computer can connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block can occur out of the order noted in the figures. For example, two blocks shown in succession can, in fact, be executed concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments illustrated herein. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments illustrated herein.
Number | Date | Country | Kind |
---|---|---|---|
201410229206.1 | May 2014 | CN | national |