Method and apparatus for generating driving routes
The method addresses the complexity of demand-based transportation route generation by calculating and recording travel times in weight matrices, reducing computational demands and improving efficiency in generating routes.
Patent Information
- Application Number
- JP2023535578
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-11
- Filing Date
- 2021-12-08
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2041-12-08
AI Technical Summary
Demand-based transportation systems face an exponential increase in route generation complexity as the number of points to visit increases, necessitating an efficient method to generate routes.
A method involving the acquisition of first and second information about point groups, calculating expected travel times, recording these times in weight matrices, and generating routes based on these times using techniques like Nearest Insertion and Dynamic Programming to reduce computational power and time.
This approach reduces computing power and time required for route generation by maintaining first estimated travel times without updating and using multi-point and point-to-point route search methods, effectively managing complex route networks.
Smart Images

Figure 0007612865000001 
Figure 0007612865000002 
Figure 0007612865000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a method and apparatus for generating a driving route. [Background technology]
[0002] In general, a demand-responsive transport (DRT) system is a next-generation urban transport system that includes small trains, small automated rail vehicles, and unmanned rail taxis, and is a new transport system being developed to provide the convenience of automobiles while eliminating drawbacks such as air pollution and traffic congestion.
[0003] The demand-based transportation system is a concept of operating unmanned autonomous vehicles on a network-type route. It can accommodate 2 to 6 passengers and is characterized by the fact that it operates without stopping by selecting the optimal route from various routes on the network after dispatching vehicles based on passenger requests and deciding on a destination.
[0004] However, the more locations to be visited in a demand-based transportation system, the more routes that are generated will be exponentially more numerous. For example, to visit five locations, ideally 5! (120) possible cases must be checked to generate a route, whereas to visit ten locations, ideally 10! possible cases must be checked to generate a route.
[0005] Therefore, there is a need for research into methods for efficiently generating routes.
[0006] The above-mentioned background art is technical information possessed by the inventor for the purpose of deriving the present invention or acquired in the process of deriving the present invention, and is not necessarily publicly known art that was disclosed to the general public prior to the filing of the application of the present invention. Summary of the Invention [Problem to be solved by the invention]
[0007] The present invention provides a method and device for generating a driving route. The problem to be solved by the present invention is not limited to the problem described above, and other problems and advantages of the present invention not described will be understood from the following description and will be more clearly understood by the embodiments of the present invention. It will be understood that the problems and advantages to be solved by the present invention can be realized by the means and combinations thereof shown in the claims. [Means for solving the problem]
[0008] As a technical means for solving the above-mentioned technical problem, a first aspect of the present disclosure can provide a method for generating a travel route, the method including the steps of acquiring first information about a first group point, calculating a first expected travel time indicating an expected travel time when traveling between the first group points based on the first information, recording the first expected travel time in a first area of a weight matrix, acquiring second information about a second group point, calculating a second expected travel time indicating an expected travel time when traveling from the first group point to the second group point and an expected travel time when traveling from the second group point to the first group point based on the first information and the second information, recording the second expected travel time in a second area of the weight matrix, and generating a travel route based on the first expected travel time and the second expected travel time.
[0009] A second aspect of the present disclosure can provide a method for generating a driving route, the method including the steps of receiving first itinerary information including a starting point and a destination from a first user, generating a driving route based on the first itinerary information, receiving second itinerary information from a second user, and updating the driving route based on the first itinerary information and the second itinerary information.
[0010] A third aspect of the present disclosure can provide an apparatus for generating a travel route, the apparatus including: a memory having at least one program stored therein; and a processor that performs calculations by executing the at least one program, wherein the processor performs the steps of acquiring first information about a first group point; calculating a first expected travel time indicating an expected travel time for traveling between the first group points based on the first information; recording the first expected travel time in a first area of a weight matrix; acquiring second information about a second group point; calculating a second expected travel time indicating an expected travel time for traveling from the first group point to the second group point and an expected travel time for traveling from the second group point to the first group point based on the first information and the second information; recording the second expected travel time in a second area of the weight matrix; and generating a travel route based on the first expected travel time and the second expected travel time.
[0011] A fourth aspect of the present disclosure can provide a computer-readable recording medium having recorded thereon a program for causing a computer to execute the methods according to the first and second aspects.
[0012] In addition, other methods and systems for implementing the present invention, and computer-readable recording media having computer programs for executing the methods can also be provided.
[0013] Further aspects, features, and advantages will become apparent from the accompanying drawings, the claims, and the following detailed description of the invention. Effect of the Invention
[0014] According to the above-mentioned problem solving means of the present disclosure, when a first estimated travel time is recorded in a first area of a weight matrix and then a second estimated travel time is calculated, the first estimated travel time recorded in the first area of the weight matrix by a predetermined method is maintained without being updated, and the second estimated travel time is recorded in the second area of the weight matrix by an M2P (Multi-point To Point) route search method and a P2M (Point To Multi-Point) route search method, thereby reducing computing power and shortening the time required to record data in the weight matrix. [Brief description of the drawings]
[0015] [Figure 1] FIG. 2 is a system diagram including a user terminal and a driving route generation server according to one embodiment. [Figure 2A] FIG. 11 is a diagram for explaining an example of providing a driving route from a driving route generation server to a user terminal according to an embodiment. [Figure 2B] FIG. 11 is a diagram for explaining an example of providing a driving route from a driving route generation server to a user terminal according to an embodiment. [Diagram 3] FIG. 11 is a diagram illustrating an example in which a first expected required time is recorded in a weight matrix according to an embodiment. [Figure 4] FIG. 13 is a diagram illustrating an example in which a second expected required time is recorded in a weight matrix according to an embodiment. [Diagram 5] FIG. 13 is a diagram illustrating an example in which a second expected required time is recorded in a weight matrix according to an embodiment. [Figure 6] FIG. 13 is a diagram for explaining an example of updating a weight matrix according to an embodiment. [Figure 7] FIG. 13 is a diagram for explaining an example of updating a weight matrix according to an embodiment. [Figure 8] 4 is a flowchart of a method for generating a driving route according to one embodiment. [Figure 9] FIG. 2 is a block diagram of a driving route generation server according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The present invention relates to a method and an apparatus for generating a driving route. The method according to an embodiment of the present invention can obtain first information about a first group of points, calculate a first expected travel time indicating an expected travel time for traveling between the first group of points based on the first information, and record the first expected travel time in a first region of a weight matrix.
[0017] The method also includes acquiring second information regarding the second group point, calculating a second expected travel time indicating an expected travel time when traveling from the first group point to the second group point and an expected travel time when traveling from the second group point to the first group point based on the first information and the second information, and recording the second expected travel time in a second area of the weight matrix.
[0018] Additionally, the method may generate a driving route based on the first expected travel time and the second expected travel time.
[0019] The advantages and features of the present invention, as well as the methods for achieving them, will become apparent from the embodiments described in detail with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, and can be realized in various different forms, and should be understood to include all modifications, equivalents, and alternatives within the spirit and technical scope of the present invention. The embodiments presented below are provided to complete the disclosure of the present invention and to allow those skilled in the art to fully understand the scope of the invention. In describing the present invention, if a detailed description of related publicly known technology is deemed to obscure the gist of the present invention, the detailed description will be omitted.
[0020] The terms used in this application are merely used to describe certain embodiments and are not intended to limit the present invention. A singular expression includes a plural expression unless the context clearly indicates otherwise. In this application, the terms "include" and "have" are used to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and are not to be understood as precluding the presence or additional possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0021] Some embodiments of the present disclosure may be illustrated in terms of functional block configurations and various processing steps. Some or all of such functional blocks may be implemented in any number of hardware and / or software configurations for performing specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for a given function. Also, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented by algorithms executed by one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing, etc. Terms such as "mechanism," "element," "means," and "configuration" may be used broadly and are not limited to mechanical and physical configurations.
[0022] It should be noted that the connecting lines or connecting members between components shown in the drawings are merely exemplary of functional and / or physical connections or circuit connections, and that in an actual device, connections between components may be represented by various alternative or additional functional connections, physical connections or circuit connections.
[0023] The driving routes described below can be applied to various scenarios such as Bicycle Sharing, Car Sharing, Mobility-on-Demand, Demand Responsive Transport, Mobility Service, Mobility Management, Intermodal Passenger Transport, and Delivery.
[0024] The present disclosure will now be described in detail with reference to the accompanying drawings.
[0025] FIG. 1 is a system diagram including a user terminal and a driving route generation server according to an embodiment.
[0026] The system according to one embodiment may include a user terminal 1000 and a driving route generation server 2000.
[0027] The user terminal 1000 may be a smartphone, a tablet PC, a PC, a smart TV, a mobile phone, a PDA (personal digital assistant), a laptop, a media player, a microserver, a GPS (global positioning system) device, an e-book reader, a digital broadcasting terminal, a navigation system, a kiosk, an MP3 player, a digital camera, a home appliance, a camera-equipped device, and other mobile or non-mobile computing devices. The user terminal 1000 may also be a wearable device such as a watch, glasses, a headband, a ring, etc., with communication and data processing capabilities. However, the user terminal 1000 is not limited to these.
[0028] The driving route generation server 2000 may be realized by a computer device or multiple computer devices that communicate over a network to provide instructions, code, files, content, services, and the like.
[0029] The travel route generation server 2000 can calculate the expected travel time between the multiple locations based on the information about the multiple locations. The travel route generation server 2000 can generate a travel route by determining the order of travel between the multiple locations based on the expected travel time.
[0030] The user terminal 1000 and the driving route generation server 2000 can communicate with each other using a network 3000. In one embodiment, an application is installed in the user terminal 1000, and the driving route generation server 2000 may be a server that manages the application. The driving route generation server 2000 can exchange data with the user terminal 1000 via the application installed in the user terminal 1000.
[0031] The network 3000 includes a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, and a combination thereof, and is a data communication network in a comprehensive sense that enables the constituent entities of each network shown in Fig. 1 to smoothly communicate with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network. In addition, examples of wireless communication include, but are not limited to, wireless LAN (Wi-Fi), Bluetooth (registered trademark), Bluetooth (registered trademark) low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), and NFC (Near Field Communication).
[0032] On the other hand, while FIG. 1 shows the driving route generation server 2000 communicating with one user terminal 1000 via a network, this is merely an example, and the driving route generation server 2000 can also communicate with two or more user terminals 1000 via a network.
[0033] 2A and 2B are diagrams for explaining an example in which a driving route is provided from a driving route generation server to a user terminal according to an embodiment.
[0034] 2A and 2B, a first user terminal 1001 and a second user terminal 1002 are the same as the user terminal 1000 in FIG. 1, so detailed description thereof will be omitted.
[0035] 2A, the first user terminal 1001 can receive an input for inputting a starting point and a destination from the first user. For example, the first user can input "Point B" as the starting point and "Point C" as the destination through the input interface of the first user terminal 1001.
[0036] The first user terminal 1001 can transmit first itinerary information including a departure point and a destination to the driving route generation server 2000. The itinerary information may include, but is not limited to, the input time when the first user inputs the departure point and the destination, the name of the departure point, the latitude and longitude of the departure point, the name of the destination, the latitude and longitude of the destination, and the like.
[0037] The travel route generation server 2000 can generate a travel route based on the first itinerary information received from the first user terminal 1001. The travel route may be a route shown on a map along which a means of transportation (e.g., a bicycle, a kickboard, a car, etc.) travels.
[0038] For example, the driving route generation server 2000 can generate a driving route that travels from "point A" corresponding to the initial point to "point B" which is the starting point of the first user, and a driving route that travels from "point B" to "point C" which is the destination of the first user. Here, the initial point may be a point corresponding to the position of the transportation means at the time when the first user terminal 1001 receives an input inputting the starting point and the destination. Alternatively, the initial point may be a point corresponding to the position of the transportation means at the time when the driving route generation server 2000 receives the first itinerary information from the first user terminal 1001.
[0039] In FIG. 2A, the driving route from "Point A" to "Point B" and from "Point B" to "Point C" is shown as a straight line, but this is for ease of explanation, and the driving route between each point may be generated along a navigable road on an actual map.
[0040] The driving route generation server 2000 can calculate the estimated departure time and the estimated arrival time based on the generated driving route. The driving route generation server 2000 can calculate the estimated departure time and the estimated arrival time using the length of the generated driving route, traffic conditions (e.g., traffic congestion), selected options (e.g., shortest distance, shortest time, etc.), etc. The estimated departure time may mean the time from when the transportation means departs from "point A" to when it arrives at "point B," and the estimated arrival time may mean the time from when the transportation means departs from "point B" to when it arrives at "point C."
[0041] 2B, the second user terminal 1002 can receive an input for inputting a starting point and a destination from the second user. For example, the second user can input "Point C" as the starting point and "Point D" as the destination through the input interface of the second user terminal 1002.
[0042] The second user terminal 1002 can transmit second itinerary information including a departure point and a destination to the driving route generation server 2000. In the following, it is assumed that the driving route generation server 2000 generates a driving route based on the first itinerary information received from the first user terminal 1001, and then receives the second itinerary information from the second user terminal 1002.
[0043] The driving route generation server 2000 can update the driving route based on the second itinerary information received from the second user terminal 1002.
[0044] For example, after the driving route generation server 2000 receives the second itinerary information, the driving route can be updated by further generating, in addition to the existing driving route, a driving route that travels from "Point B" to "Point C", which is the starting point of the second user, and a driving route that travels from "Point C" to "Point D", which is the destination of the second user.
[0045] In FIG. 2B, the driving route from "Point C" to "Point D" and from "Point D" to "Point E" is shown as a straight line, but this is for ease of explanation, and the driving route between each point may be generated along a navigable road on an actual map.
[0046] The driving route generation server 2000 can calculate the estimated departure time and the estimated arrival time based on the generated driving route. The estimated departure time means the time from when the transportation means departs from "point B" to when it arrives at "point C", and the estimated arrival time can mean the time from when the transportation means departs from "point C" to when it arrives at "point D".
[0047] 2B shows that a travel route is generated so that the means of transportation travels in the order of "point A", "point B", "point C", "point D" and "point E", but this is merely an example and is not limited thereto. For example, the travel route generation server 2000 can generate a travel route by determining the order of travel between points using NI (Nearest Insertion), CI (Cheapest Insertion), FI (Farthest Insertion), RI (Random Insertion), Evolutionary Algorithm, etc.
[0048] The terms "first group point" and "second group point" used below may each include one or more points. The "first group point" and the "second group point" may be divided based on a specific time point. A point acquired by the driving route generation server 2000 before the specific time point may be called a "first group point", and a point acquired after the specific time point may be called a "second group point". The specific time point may be a time point after the expected travel time related to the "first group point" is recorded in the weight matrix, and a time point before the expected travel time related to the "second group point" is recorded in the weight matrix.
[0049] FIG. 3 is a diagram for explaining an example in which a first expected required time is recorded in a weight matrix according to an embodiment.
[0050] The driving route generation server 2000 can acquire first information regarding the first group point 310. The first information may include, but is not limited to, the latitude and longitude of each first group point, traffic conditions around the first group point, and the like. The first information may be information received from the user terminal 1000. The first information may be included in the first itinerary information described above in FIG. 2A, the first itinerary information may be included in the first information, or the first information and the first itinerary information may include some of the same information.
[0051] The driving route generation server 2000 can calculate a first expected travel time indicating an expected travel time when traveling between the first group points 310 based on the first information. For example, the expected travel time when traveling from "point A" to "point B" may be 7 minutes, and the expected travel time when traveling from "point A" to "point C" may be 28 minutes. On the other hand, when the departure point and the destination are changed, the expected travel time may change due to factors such as traffic conditions. The expected travel time when traveling from "point A" to "point B" may be 7 minutes, whereas the expected travel time when traveling from "point B" to "point A" may be 10 minutes.
[0052] The driving route generation server 2000 can record the first expected travel time in the first area 311 of the weight matrix 300. The driving route generation server 2000 can generate a driving route based on the first expected travel time recorded in the first area 311 of the weight matrix 300. Specifically, the driving route generation server 2000 can generate a driving route by determining the order of movement of points using NI (Nearest Insertion), CI (Cheapest Insertion), FI (Farthest Insertion), RI (Random Insertion), Evolutionary Algorithm, or the like. That is, the driving route generation server 2000 can generate a driving route indicating the order of movement between "Point A", "Point B", and "Point C".
[0053] FIG. 4 is a diagram for explaining an example in which the second expected required time is recorded in the weight matrix according to an embodiment.
[0054] The driving route generation server 2000 can acquire second information regarding the second group point 410. The second information may include, but is not limited to, the latitude and longitude of the second group point, traffic conditions around the second group point, and the like. The second information may be information received from the user terminal 1000. The second information may be included in the second itinerary information described above in FIG. 2B, the second itinerary information may be included in the second information, or the second information and the second itinerary information may include some of the same information.
[0055] Hereinafter, it is assumed that after the first expected travel time is recorded in the first area 311 of the weight matrix 300, the second information regarding the second group point 410 is acquired.
[0056] Based on the first information and the second information, the driving route generation server 2000 can calculate a second estimated travel time indicating the estimated travel time when traveling from the first group point 310 to the second group point 410, and the estimated travel time when traveling from the second group point 410 to the first group point 310.
[0057] The driving route generation server 2000 can record the second expected travel time in the second area 411 of the weight matrix 300.
[0058] In one embodiment, the driving route generation server 2000 can use an M2P (Multi-point To Point) route search method to calculate the estimated time required for moving from the first group point 310 to the second group point 410 and record it in the second area 411. The driving route generation server 2000 can also use a P2M (Point To Multi-Point) route search method to calculate the estimated time required for moving from the second group point 410 to the first group point 310 and record it in the second area 411. Here, the driving route generation server 2000 can maintain the first estimated time recorded in the first area 311 without updating it by a predetermined method. As the predetermined method, a DP (Dynamic Programming) method may be used. Hereinafter, the DP method is assumed, but the predetermined method is not limited thereto.
[0059] The driving route generation server 2000 can generate a driving route based on the first expected travel time recorded in the first area 311 of the weight matrix 300 and the second expected travel time recorded in the second area 411. That is, the driving route generation server 2000 can generate a driving route indicating the order of travel between "Point A", "Point B", "Point C", and "Point D".
[0060] In the present invention, when a second expected duration is calculated after a first expected duration is recorded in the first area 311 of the weight matrix 300, the first expected duration recorded in the first area 311 of the weight matrix 300 by a predetermined method is maintained without being updated, and the second expected duration is recorded in the second area 411 of the weight matrix 300 by an M2P (Multi-point To Point) route search method and a P2M (Point To Multi-Point) route search method, thereby reducing computing power and shortening the time required to record data in the weight matrix 300.
[0061] FIG. 5 is a diagram for explaining an example in which the second expected required time is recorded in the weight matrix according to an embodiment.
[0062] 3 and 4, Fig. 5 is characterized in that two locations are provided as one pair to the driving route generation server 2000. For example, a customer who uses a demand-based transportation service inputs both a starting point and a destination, so that the information received by the driving route generation server 2000 from the user terminal 1000 may include information on two locations.
[0063] 5, As and Ad denote the starting point and destination of user A, Bs and Bd denote the starting point and destination of user B, and Cs and Cd denote the starting point and destination of user C.
[0064] The driving route generation server 2000 can acquire first information regarding the first group points 510. The driving route generation server 2000 can calculate a first expected travel time indicating an expected travel time for traveling between the first group points 510 based on the first information. The driving route generation server 2000 can record the first expected travel time in a first area 511 of the weight matrix 300.
[0065] After the first expected travel time is recorded in the first area 511 of the weight matrix 300, the driving route generation server 2000 can acquire second information regarding the second group point 520. The driving route generation server 2000 can calculate a second expected travel time indicating the expected travel time when moving from the first group point 510 to the second group point 520 and the expected travel time when moving from the second group point 520 to the first group point 510, based on the first information and the second information.
[0066] The driving route generation server 2000 can record the second expected travel time in the second area 521 of the weight matrix 300.
[0067] In one embodiment, the driving route generation server 2000 can use an M2P (Multi-point To Point) route search method and a P2M (Point To Multi-Point) route search method to record the second estimated travel time in the second area 521.
[0068] FIG. 6 is a diagram for explaining an example of updating the weight matrix according to an embodiment.
[0069] Referring to FIG. 6, a first expected travel time indicating an expected travel time required for travel between first group points 610 is recorded in the weight matrix 300 .
[0070] After the first expected travel time is recorded in the weight matrix 300, the driving route generation server 2000 can obtain second information regarding the second group point 620.
[0071] When acquiring the second information, the driving route generation server 2000 may determine whether the validity of the first estimated travel time recorded in the weight matrix 300 has been lost. In one embodiment, the driving route generation server 2000 may acquire a TTL (Time To Live) value of each of the first estimated travel times. If the TTL value of a predetermined first estimated travel time is equal to or greater than a threshold, the driving route generation server 2000 may determine that the validity of the predetermined first estimated travel time has been lost. The threshold may be, but is not limited to, 3 minutes, 4 minutes, 5 minutes, 6 minutes, 7 minutes, etc.
[0072] The driving route generation server 2000 may update the first expected travel time determined to have lost validity. Referring to Fig. 6, the driving route generation server 2000 may update the expected travel time between "point A" and "point C" after determining that the TTL value of the expected travel time between "point A" and "point C" among the first expected travel times recorded in the weight matrix 300 is equal to or greater than a threshold value (e.g., 5 minutes). That is, the expected travel time from "point A" to "point C" may be updated from 8 minutes to 9 minutes, and the expected travel time from "point C" to "point A" may be updated from 28 minutes to 17 minutes.
[0073] The travel route generation server 2000 can generate a travel route based on the updated first expected travel time.
[0074] FIG. 7 is a diagram for explaining an example of updating the weight matrix according to an embodiment.
[0075] Referring to FIG. 7, a first expected travel time indicating an expected travel time required for travel between first group points 710 is recorded in the weight matrix 300 .
[0076] The driving route generation server 2000 may determine a driving completion point 711 where driving is completed among the first group points 710. In one embodiment, the driving route generation server 2000 may obtain position information of a transportation means from an external source and determine the driving completion point 711 based on the position information of the transportation means. Referring to FIG. 7, the driving route generation server 2000 may determine "point A" as the driving completion point 711.
[0077] The driving route generation server 2000 can delete the first expected required time for the driving completion point 711 from the weight matrix 300.
[0078] After determining "point A" as the driving completion point 711, the driving route generation server 2000 can delete the first estimated travel time when "point A" is the starting point and when "point A" is the destination.
[0079] The driving route generation server 2000 can delete the estimated required time for the driving completion point 711 from the weight matrix 300, and thereafter prevent the estimated required time for the driving completion point 711 from being updated.
[0080] FIG. 8 is a flow chart of a method for generating a driving route according to one embodiment.
[0081] The method for generating a driving route shown in Figure 8 relates to the embodiment described in the above figure, so even if the content is omitted below, the content described in the above figure can also be applied to the method of Figure 8.
[0082] Referring to FIG. 8, in step 810, the processor may obtain first information regarding a first group of points.
[0083] The first information may include the latitude and longitude of each of the first group of points, traffic conditions around the first group of points, and the like, but is not limited to this.
[0084] In step 820, the processor may calculate a first expected travel time indicating an expected travel time for traveling between the first group of points based on the first information.
[0085] The processor can calculate the first expected travel time based on the latitude and longitude of each of the first group points, traffic conditions around the first group points, and the like.
[0086] In step 830, the processor may record the first expected duration in a first region of the weight matrix.
[0087] In step 840, the processor may obtain second information regarding a second group of points.
[0088] The second information may include, but is not limited to, the latitude and longitude of the second group of points, traffic conditions around the second group of points, and the like.
[0089] In step 850, the processor may calculate a second expected travel time indicating an expected travel time for traveling from the first group location to the second group location and an expected travel time for traveling from the second group location to the first group location based on the first information and the second information.
[0090] The processor can calculate the second expected travel time based on the latitude and longitude of each first group point, traffic conditions around the first group points, the latitude and longitude of the second group point, traffic conditions around the second group points, etc.
[0091] In step 860, the processor may record the second expected duration in a second region of the weight matrix.
[0092] In one embodiment, the processor can use a multi-point to point (M2P) route search method to calculate an estimated travel time from the first group point to the second group point and record the calculated estimated travel time in the second area. The processor can also use a point to multi-point (P2M) route search method to calculate an estimated travel time from the second group point to the first group point and record the calculated estimated travel time in the second area. Here, the processor can maintain the first estimated travel time recorded in the first area without updating it by a predetermined method. The predetermined method may be, but is not limited to, a dynamic programming (DP) method.
[0093] In step 870, the processor may generate a driving route based on the first expected travel time and the second expected travel time.
[0094] The processor can generate a travel route based on the first expected travel time recorded in the first area of the weight matrix and the second expected travel time recorded in the second area. Specifically, the processor can generate the travel route by determining the order of travel between points using Nearest Insertion (NI), Cheapest Insertion (CI), Farthest Insertion (FI), Random Insertion (RI), Evolutionary Algorithm, or the like.
[0095] FIG. 9 is a block diagram of a driving route generation server according to one embodiment.
[0096] 9, a driving route generation server 900 may include a communication unit 910, a processor 920, and a DB 930. Only components related to the embodiment are shown in the driving route generation server 900 in FIG. 9. Therefore, a person having ordinary skill in the art would understand that the driving route generation server 900 may further include other general-purpose components in addition to the components shown in FIG.
[0097] The communication unit 910 may include one or more components that enable wired / wireless communication with a user terminal and an external server. For example, the communication unit 910 may include at least one of a short-range communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiving unit (not shown).
[0098] The DB 930 is hardware that stores various data processed in the driving route generation server 900, and may store programs for processing and controlling the processor 920. The DB 930 may store driving-related information, user information, and the like.
[0099] DB930 may include dynamic random access memory (DRAM), random access memory (RAM), such as static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM, Blu-ray or other optical disc storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.
[0100] The processor 920 controls the overall operation of the driving route generation server 900. For example, the processor 920 may generally control an input unit (not shown), a display (not shown), a communication unit 910, a DB 930, etc. by executing a program stored in a DB 930. The processor 920 may generally control the operation of the driving route generation server 900 by executing a program stored in a DB 930.
[0101] The processor 920 can control at least a part of the operation of the driving route generation server 900 described above in FIGS.
[0102] The processor 920 may be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, and other electrical units for performing functions.
[0103] The embodiments according to the present invention may be realized in the form of a computer program executable by various components on a computer, and such a computer program may be recorded on a computer readable medium, including magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like.
[0104] On the other hand, the computer program may be one specially designed and constructed for the present invention, or it may be one that is well known and available to those skilled in the art of computer software. Examples of computer programs include not only machine code, such as that produced by a compiler, but also high-level language code that is executed by a computer using an interpreter or the like.
[0105] According to one embodiment, the methods according to various embodiments of the present disclosure can be provided in a computer program product. The computer program product can be traded between sellers and buyers as a commodity. The computer program product can be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)) or can be distributed in the form of an application store (e.g., the Play Store). TM ) or directly between two user devices. In the case of online distribution, at least a part of the computer program product may be at least temporarily stored or temporarily generated on a machine-readable storage medium, such as a memory of a manufacturer's server, an application store's server, or an intermediary server.
[0106] Unless there is an explicit order description or a contrary description regarding the steps constituting the method according to the present invention, the steps can be performed in any suitable order. The present invention is not necessarily limited to the order of the steps described above. The use of all examples or exemplary terms (such as, for example, etc.) in the present invention is merely for the purpose of explaining the present invention in detail, and the scope of the present invention is not limited by the examples or exemplary terms unless limited by the claims. In addition, those skilled in the art will understand that various modifications, combinations and changes can be made within the scope of the claims or their equivalents according to design conditions and factors.
[0107] Therefore, the concept of the present invention should not be limited to the above-described embodiments, and all scopes equivalent to or modified equivalently to the scope of the attached claims, as well as the scope of the present invention, fall within the scope of the concept of the present invention.
Claims
1. A method for generating a driving route, comprising: obtaining first information about a first group of points; calculating a first expected travel time indicating an expected travel time for travel between the first group points based on the first information; recording the first expected duration in a first region of a weight matrix; obtaining second information about a second group of points; calculating a second estimated travel time indicating an estimated travel time when moving from the first group point to the second group point and an estimated travel time when moving from the second group point to the first group point based on the first information and the second information; recording the second expected duration in a second region of the weight matrix; and generating a driving route based on the first expected travel time and the second expected travel time such that at least one point included in the first group of points and at least one point included in the second group of points are at least one of a starting point and a destination, respectively.
2. A multi-point to point (M2P) route search method is used to calculate an expected travel time from the first group point to the second group point and record the calculated time in the second area; 2. The method of claim 1, wherein a P2M (Point To Multi-Point) route search method is used to calculate an expected travel time from the second group point to the first group point and record the calculated estimated travel time in the second area.
3. The method comprises: Upon obtaining the second information, determining whether the first estimated duration time has become invalid; and updating the first expected duration of the loss of validity from the weight matrix.
4. The method comprises: determining a travel completion point where travel has been completed among the first group of points; and removing the expected duration for the trip completion point from the weight matrix.
5. 1. An apparatus for generating a travel route, comprising: a memory having at least one program stored therein; a processor for performing operations by executing the at least one program; The processor, obtaining first information about a first group of points; calculating a first expected travel time indicating an expected travel time for travel between the first group points based on the first information; recording the first expected duration in a first region of a weight matrix; obtaining second information about a second group of points; calculating a second estimated travel time indicating an estimated travel time when moving from the first group point to the second group point and an estimated travel time when moving from the second group point to the first group point based on the first information and the second information; recording the second expected duration in a second region of the weight matrix; and generating a driving route based on the first expected travel time and the second expected travel time such that at least one point included in the first group of points and at least one point included in the second group of points are at least one of a starting point and a destination, respectively.
6. A multi-point to point (M2P) route search method is used to calculate an expected travel time from the first group point to the second group point and record the calculated time in the second area; 6. The device according to claim 5, wherein a P2M (Point To Multi-Point) route search method is used to calculate an expected travel time from the second group point to the first group point and record the calculated estimated travel time in the second area.
7. The processor, Upon obtaining the second information, determining whether the first estimated duration time has become invalid; and updating the first expected duration time at which the validity is lost from the weight matrix.
8. The processor, determining a travel completion point where travel has been completed among the first group of points; and removing from said weight matrix an expected time required for said trip completion point.
9. A computer-readable recording medium having recorded thereon a program for executing the method according to claim 1 on a computer.
Citation Information
Patent Citations
Demand vehicle management device
JP2003006784A
On-demand vehicle operation management device, on-demand vehicle operation management method, and on-demand vehicle operation management system
WO2014045359A1