Route search method and route search device

The pathfinding method for traffic simulations, which involves pre-searching hubs and considering node-specific costs, addresses inefficiencies in existing route search methods by enhancing accuracy and reducing computation time in high-traffic scenarios.

JP2026104160APending Publication Date: 2026-06-25HITACHI LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HITACHI LTD
Filing Date
2024-12-13
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing route search methods for traffic simulations, particularly in high-traffic urban areas, are inefficient due to the need to perform multiple route searches for a large number of vehicles, leading to prolonged computation times and inaccuracies in simulating real-world traffic conditions.

Method used

A pathfinding method that includes pre-searching for hubs in a road network, generating label data based on link and node costs, and determining paths by considering the costs of paths to and from these hubs, allowing for efficient route planning that accounts for node-specific costs such as straight, right, and left turns.

Benefits of technology

This approach enables highly accurate route searches that reduce computation time while incorporating node-specific costs, resulting in more realistic traffic simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026104160000001_ABST
    Figure 2026104160000001_ABST
Patent Text Reader

Abstract

The system aims to reduce the time required for route planning after the origin and destination have been identified, while also performing highly accurate route planning that includes the cost of each node. [Solution] A route search method performed by a computer system, the route search method includes a pre-search step that generates label data based on link cost data and node cost data of a road network, and a route determination step that determines a route between points based on the label data, wherein the pre-search step includes a step that generates information about a hub consisting of one or more nodes of a road network based on link cost data and node cost data, and a step that includes in the label data the cost of a route connecting each node to the hub to connect to the hub, based on link cost data and node cost data, and the route determination step includes a step that determines a route between points by referring to the cost on the hub, the cost of a route connecting to the hub, and the cost of a route connecting to the hub.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to route search technology.

Background Art

[0002] Traffic on roads is simulated for various purposes. For example, in order to predict the power consumption of an electric bus passing through a predetermined route, traffic simulation on the roads in the area including that route may be performed. At that time, route search is performed to create the passing routes of each vehicle passing around the bus.

[0003] Regarding traffic simulation and route search, for example, the technologies disclosed in Japanese Patent Application Laid-Open No. 2024-006151 (Patent Document 1) and US2015 / 0347629 (Patent Document 2) are known.

[0004] Patent Document 1 describes that "the computer executes multiple times the simulation of traffic dynamics by a moving object by changing the values of parameters. At that time, the computer executes each simulation for a fixed number of steps or a fixed time. The computer calculates the predicted time required for the completion of each simulation based on the information indicating the traffic dynamics obtained by the executed simulation. The computer preferentially executes the execution after a fixed number of steps or a fixed time for the simulation with the calculated predicted time being short among each simulation."

[0005] Patent Document 2 describes the technology of hub labeling in which the route between an arbitrary node and a hub is searched in advance, and when the departure node and the destination node are determined, a hub whose route with each node has already been searched is found.

Prior Art Documents

Patent Documents

[0006]

Patent Document 1

[0007] In traffic simulations, especially in urban areas with high traffic volume, it is sometimes necessary to handle tens of thousands of vehicles as surrounding vehicles. Furthermore, simply creating the routes for each vehicle once using a shortest path search algorithm will result in traffic conditions far removed from reality, as many vehicles will concentrate on a few roads such as national highways. Therefore, in general simulations, it is necessary to create traffic conditions close to reality by repeating the process of running a simulation using the routes created by the shortest path search algorithm, updating the costs of each road based on the results, running another route search using the updated costs, and running another simulation using those routes multiple times. In other words, it may be necessary to run route searches for tens of thousands of vehicles multiple times, which takes a lot of time, making speeding up the route search a challenge.

[0008] Patent Document 1 describes a method for quickly understanding the effects of each parameter by prioritizing evaluation with parameters that are expected to result in shorter simulation times, using the size and amount of the billing area as parameters. This is expected to shorten the simulation time. On the other hand, as mentioned above, the pathfinding required for the simulation also takes a lot of time, but there is no description of how to shorten that time.

[0009] According to the hub burrowing technique described in Patent Document 2, instead of pre-searching all combinations between arbitrary nodes, paths from any node to a hub and paths from a hub to any node are pre-searched. Then, once the origin node and destination node are determined, a hub is searched for where both the path from the determined origin node and the path back to the determined origin node have been pre-searched, and the path passing through the hub with the minimum cost becomes the shortest path. This reduces the computation time after the origin node and destination node have been determined.

[0010] On the other hand, route planning also needs to consider the cost of nodes (i.e., the time spent going straight at intersections, turning left or right, etc.). In contrast, hub-raveling, as described above, is a method that pre-searches both before and after a hub, and therefore cannot perform route planning that takes into account the cost of the hub itself.

[0011] For example, if there is a starting node, a destination node, and multiple hubs (nodes different from both the starting and destination nodes), the cost of the route from the starting node to each hub, and the cost of the route from each hub to the destination node are calculated in advance and stored as the starting label and destination label, respectively, as described later. Then, the combination of starting label and destination label that connects to the same hub and has the minimum cost is generated as the route. In this case, the cost of passing through the hub itself may differ depending on, for example, whether the route entering the hub and the route exiting the hub are straight, right turns, or left turns. However, since whether passing through a hub is straight, right turns, or left turns is determined by the combination of the starting label and destination label, it is not possible to pre-include the cost of passing through that hub in the starting label and destination label.

[0012] While the above challenges use route planning for traffic simulations as an example, similar challenges can arise in other situations where a large number of route searches need to be performed in a short amount of time, such as when a logistics company needs to determine the routes for its many vehicles. [Means for solving the problem]

[0013] To solve at least one of the above problems, the present invention provides a pathfinding method to be executed by a computer system having a processor and a storage device, wherein the storage device holds link cost data including the costs of links included in a road network and node cost data including the costs of nodes included in the road network, the pathfinding method includes a pre-search step in which the processor generates label data based on the link cost data and the node cost data, and a path determination step in which the processor determines a path between points based on the label data, wherein the pre-search step includes a first step in which the processor generates information of a hub consisting of one or more nodes in the road network based on the link cost data and the node cost data, and a second step in which the processor, based on the link cost data and the node cost data, includes in the label data the cost of a path connecting each node to the hub to connect to the hub for each node included in the road network, and the path determination step includes a third step in which the processor determines a path between points by referring to the cost on the hub, the cost of a path connecting to the hub, and the cost of the path connecting to the hub. [Effects of the Invention]

[0014] According to one aspect of the present invention, it is possible to perform a highly accurate route search, including the cost of each node, while shortening the time required for route searching after the origin and destination have been identified.

[0015] Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]

[0016] [Figure 1] A functional block diagram showing an example of the configuration of a traffic simulation device in an embodiment of the present invention. [Figure 2] It is a block diagram showing an example of a hardware configuration for realizing a traffic simulation device in an embodiment of the present invention. [Figure 3] It is an explanatory diagram showing an example of link cost data held by the traffic simulation device in an embodiment of the present invention. [Figure 4] It is an explanatory diagram showing an example of the data structure of link cost data held by the traffic simulation device in an embodiment of the present invention. [Figure 5] It is an explanatory diagram showing an example of node cost data held by the traffic simulation device in an embodiment of the present invention. [Figure 6] It is an explanatory diagram showing an example of the data structure of node cost data held by the traffic simulation device in an embodiment of the present invention. [Figure 7] It is an explanatory diagram showing an example of a hub set by the traffic simulation device on a road network in an embodiment of the present invention. [Figure 8] It is an explanatory diagram showing an example of the data structure of hub data held by the traffic simulation device in an embodiment of the present invention. [Figure 9] It is an explanatory diagram showing an example of the data structure of departure-side label data held by the traffic simulation device in an embodiment of the present invention. [Figure 10] It is an explanatory diagram showing an example of the data structure of destination-side label data held by the traffic simulation device in an embodiment of the present invention. [Figure 11A] It is a flowchart showing an example of the process executed by the pre-search section of the traffic simulation device in an embodiment of the present invention. [Figure 11B] It is a flowchart showing an example of the process executed by the pre-search section of the traffic simulation device in an embodiment of the present invention. [Figure 12A] It is an explanatory diagram showing a specific example of the generation of departure-side label data by the pre-search section of the traffic simulation device in an embodiment of the present invention. [Figure 12B]It is an explanatory diagram showing a specific example of generation of departure - side label data by a pre - search unit of a traffic simulation device in an embodiment of the present invention. [Figure 13A] It is an explanatory diagram showing a specific example of generation of destination - side label data by a pre - search unit of a traffic simulation device in an embodiment of the present invention. [Figure 13B] It is an explanatory diagram showing a specific example of generation of destination - side label data by a pre - search unit of a traffic simulation device in an embodiment of the present invention. [Figure 14] It is an explanatory diagram showing a method for calculating the forward connection cost on the departure - side by a pre - search unit of a traffic simulation device in an embodiment of the present invention. [Figure 15] It is a flowchart showing an example of a process executed by a route determination unit of a traffic simulation device in an embodiment of the present invention. [Figure 16] It is a flowchart showing an example of a cost comparison process executed by a route determination unit of a traffic simulation device in an embodiment of the present invention. [Figure 17] It is an explanatory diagram showing an example of a result of a cost comparison process executed by a route determination unit of a traffic simulation device in an embodiment of the present invention. [Figure 18] It is a flowchart showing an example of a connection cost confirmation process executed by a route determination unit of a traffic simulation device in an embodiment of the present invention. [Figure 19] It is an explanatory diagram showing an example of a route generated by a route determination unit of a traffic simulation device in an embodiment of the present invention.

Modes for Carrying Out the Invention

[0017] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0018] FIG. 1 is a functional block diagram showing an example of the configuration of a traffic simulation device in an embodiment of the present invention.

[0019] The traffic simulation device 100 of this embodiment includes an input unit 101, a trip generation unit 102, a route determination unit 103, a simplified simulation unit 104, a full-scale simulation unit 105, an output unit 106, a pre-search unit 107, and a storage unit 108. The storage unit 108 holds label data 111, link cost data 112, and node cost data 113.

[0020] The input unit 101 receives setting information 121 from the user and passes it to the trip generation unit 102. The setting information 121 includes information such as the number of vehicles traveling on the road in the simulation. Based on the setting information 121, the trip generation unit 102 generates origin and destination pairs (OD pairs) 122 for each vehicle and passes them to the route determination unit 103. For example, if the number of vehicles is set to N in the setting information 121, N OD pairs 122 will be generated.

[0021] The route determination unit 103 generates route information 123 based on the OD pairs 122 and label data 111 and passes it to the simplified simulation unit 104 or the production simulation unit 105. For example, route information 123 is generated that includes N routes corresponding to N OD pairs 122. The label data 111 is generated by the pre-search unit 107, as will be described later.

[0022] The simplified simulation unit 104 performs a traffic simulation based on route information 123, link cost data 112, and node cost data 113. Based on the results, it calculates the cost 124 of each link and node in the road network and updates the link cost data 112 and node cost data 113 accordingly.

[0023] For example, the travel time for each link and node when traveling at the legal speed limit is set as the initial values ​​for link cost data 112 and node cost data 113. Based on these, the simplified simulation unit 104 performs a traffic simulation, and updates the link cost data 112 and node cost data 113 with the travel time for each link and node (i.e., cost 124) obtained as a result of the simulation. Each time the link cost data 112 and node cost data 113 are updated, the pre-search unit 107 updates the label data 111 based on them, and the route determination unit 103 updates the route information 123 based on the updated label data 111.

[0024] The simplified simulation unit 104 repeatedly performs the above traffic simulation and updates the link cost data 112 and node cost data 113 based on the results until predetermined conditions are met. For example, it may be repeated a predetermined number of times, or it may be repeated until the cost values ​​converge.

[0025] The production simulation unit 105 executes a traffic simulation based on the link cost data 112 and node cost data 113 updated by the simplified simulation unit 104, and passes the simulation results 125 to the output unit 106. Specifically, based on the link cost data 112 and node cost data 113 updated by the simplified simulation unit 104, the pre-search unit 107 generates label data 111, the route determination unit 103 generates route information 123 corresponding to N OD pairs 122 based on that label data, and the production simulation unit 105 executes a traffic simulation based on that route information 123.

[0026] The output unit 106 outputs the simulation results 125 to the user.

[0027] The pre-search unit 107 performs a pre-search for hub labeling based on the link cost data 112 and node cost data 113, and stores the generated labels as label data 111 in the storage unit 108. Details of the link cost data 112, node cost data 113, and label data 111, as well as details of the processing of the pre-search unit 107, will be described later.

[0028] In this embodiment, route search for the purpose of traffic simulation is described, but the present invention can be applied to route search for any purpose. For example, a logistics company may perform route search using the same method as in this embodiment to determine the delivery routes for its many trucks. In this way, when considering route search for any purpose other than traffic simulation, the traffic simulation device 100 may be read as the route search device 100.

[0029] Figure 2 is a block diagram showing an example of a hardware configuration for realizing the traffic simulation device 100 in an embodiment of the present invention.

[0030] The traffic simulation device 100 of this embodiment shown in Figure 1 can be implemented using a computer system. Figure 2 shows an example of such a computer system 200.

[0031] The computer system 200 includes a processor 201, memory (main memory) 202, auxiliary storage device 203, output device 204, input device 205, and communication interface (I / F) 206. These components are connected to each other by a bus. Memory 202 and auxiliary storage device 203 are storage devices that store programs and data used by the processor 201. Memory 202 and auxiliary storage device 203 correspond to the storage unit 108 in Figure 1.

[0032] Memory 202 is composed of, for example, semiconductor memory and is mainly used to hold the currently running program and data. For example, programs and data stored in auxiliary storage device 203 are loaded into memory 202 at startup or when needed. The processor 201 performs various processes according to the program stored in memory 202. As the processor 201 operates according to the program, various functional units (for example, the input unit 101, trip generation unit 102, path determination unit 103, simplified simulation unit 104, actual simulation unit 105, output unit 106, and pre-search unit 107 shown in Figure 1) are realized.

[0033] The auxiliary storage device 203 is comprised of a large-capacity storage device, such as a hard disk drive or a solid-state drive, and is used to retain programs and data for a long period of time. For example, label data 111, link cost data 112, node cost data 113, configuration information 121, OD pairs 122, and route information 123 may be stored in the auxiliary storage device 203.

[0034] The processor 201 can consist of a single processing unit or multiple processing units, and may include one or more arithmetic units or multiple processing cores. The processor 201 can be implemented as one or more central processing units, microprocessors, microcomputers, microcontrollers, digital signal processors, state machines, logic circuits, graphics processing units, chip-on systems, and / or any device that manipulates signals based on control instructions.

[0035] The input device 205 is a hardware device for the user to input instructions and information. The output device 204 is a hardware device that presents various images for input and output, such as a display device or a printing device. For example, the functions of the input unit 101 and the output unit 106 are realized by the processor controlling the input device 205 and the output device 204 according to a program. The communication interface 206 is an interface for connection to a communication network (not shown).

[0036] The computer system 200 may include two or more processors 201. Furthermore, the functions of the traffic simulation device 100 can be implemented across multiple computer systems 200. In this case, the multiple computer systems 200 communicate via a communication network. For example, some of the functions of the system in this embodiment may be implemented in one computer system 200, while other functions may be implemented in other computer systems 200.

[0037] For example, the computer system 200 may be a PC (Personal Computer) owned by a user of the traffic simulation device 100 in this embodiment (e.g., a public transport operator), or it may be a server accessed by the user via a communication network. In the latter case, the computer system 200 may be a virtual server on the cloud. In that case, the computer system 200 shown in Figure 1 is realized using computing resources on the cloud.

[0038] Next, the link cost data 112 and node cost data 113 will be explained with reference to Figures 3 to 6.

[0039] Figure 3 is an explanatory diagram showing an example of link cost data 112 held by the traffic simulation device 100 in an embodiment of the present invention.

[0040] Figure 3 shows a road network 300 illustrated to illustrate this embodiment. In Figure 3, circular shapes represent nodes, and arrows connecting nodes represent links. For example, nodes correspond to intersections, and links correspond to sections of road connecting intersections. The numbers written on the nodes are the node identification numbers (node ​​IDs). In the following description, for example, a node identified by node ID "1" will be referred to as "Node 1".

[0041] In the example in Figure 3, two arrows pointing in opposite directions are shown between two nodes. This represents a single link that can be traversed bidirectionally between the two nodes (i.e., the starting node and the ending node). The numbers displayed near each arrow represent the cost of traversing each link in each direction. The cost may also represent, for example, the length of time required to traverse between the starting and ending nodes of each link in the direction of the arrow.

[0042] Figure 4 is an explanatory diagram showing an example of the data structure of the link cost data 112 held by the traffic simulation device 100 in an embodiment of the present invention.

[0043] The link cost data 112 includes, for example, multiple records, each corresponding to a link. Each record includes a starting node ID 401, an ending node ID 402, a forward cost 403, and a reverse cost 404. The starting node ID 401 and ending node ID 402 indicate the identification numbers of the starting and ending nodes of each link, respectively. The forward cost 403 indicates the cost of traveling through each link in the forward direction. The reverse cost 404 indicates the cost of traveling through each link in the reverse direction. In this embodiment, the direction from the starting node to the ending node is defined as the "forward direction," and the opposite direction is defined as the "reverse direction."

[0044] The first record in Figure 4 shows that the cost of traveling in the forward direction on a link starting at node 1 and ending at node 2 is 14, and the cost of traveling in the reverse direction is 12. Similarly, the second record shows that the cost of traveling in the forward direction on a link starting at node 1 and ending at node 4 is 10, and the cost of traveling in the reverse direction is 12. These correspond to the example shown in Figure 3. Although not shown in Figure 4, the costs of other links are also recorded in the link cost data 112.

[0045] Figure 5 is an explanatory diagram showing an example of node cost data 113 held by the traffic simulation device 100 in an embodiment of the present invention.

[0046] The cost of a node is set for each combination of the direction of entry into that node and the direction of exit from that node. Figure 5 shows the cost of node 5, as shown in Figure 3, as an example. In this example, the cost of entering from node 4, going straight through node 5, and exiting to node 6 is "1". The cost of entering from node 6, going straight through node 5, and exiting to node 4 is "1". The cost of entering from node 8, turning right at node 5, and exiting to node 6 is "50". The cost of entering from node 6, turning left at node 5, and exiting to node 8 is "10". Similarly, costs are set for all combinations of the direction of entry into node 5 and the direction of exit from node 5.

[0047] In reality, all nodes have costs, but in this embodiment, for the sake of simplicity, the costs of all nodes except node 5 are set to "0".

[0048] Figure 6 is an explanatory diagram showing an example of the data structure of node cost data 113 held by the traffic simulation device 100 in an embodiment of the present invention.

[0049] The node cost data 113 includes, for example, multiple records, each corresponding to a combination of entry and exit directions for each node. Each record includes node ID 601, entry node ID 602, exit node ID 603, and cost 604. This shows the cost 604 when entering the node indicated by node ID 601 from the node indicated by entry node ID 602 ​​and exiting to the node indicated by exit node ID 603.

[0050] Figure 6 illustrates some of the costs associated with node 5 shown in Figure 5. For example, the first record in the example in Figure 6 shows that the cost is "1" when entering from node 4, proceeding straight through node 5, and exiting to node 6. Similarly, for each node, the cost for each combination of entry and exit directions is recorded in node cost data 113.

[0051] Next, the label data 111 will be described with reference to Figures 7 to 10. The label data 111 includes the hub data 800 shown in Figure 8, the origin side label data 900 shown in Figure 9, and the destination side label data 1000 shown in Figure 10.

[0052] Figure 7 is an explanatory diagram showing an example of a hub that the traffic simulation device 100 sets up on a road network in an embodiment of the present invention.

[0053] Figure 7 shows an example of hubs to be set up on the road network 300 shown in Figure 3. In this example, three hubs (hereinafter referred to as "Hub 1" to "Hub 3") are set up, each identified by hub IDs "1" to "3". Hub 1 consists of nodes 1, 2, and 3 and two links connecting them. Hub 2 consists of nodes 4, 5, and 6 and two links connecting them. Hub 3 consists of nodes 7, 8, and 9 and two links connecting them. In Figure 7, each hub is shown enclosed by a dashed line.

[0054] Each hub has a predetermined start and end point. For example, in Hub 1, Node 1 is the start point and Node 3 is the end point. In this case, the direction of travel within Hub 1 from Node 1 (the start point) to Node 3 (the end point) is the forward direction, and the reverse direction is the reverse direction. Similarly, in Hub 2, Node 4 is the start point and Node 6 is the end point, and in Hub 3, Node 7 is the start point and Node 9 is the end point.

[0055] Figure 8 is an explanatory diagram showing an example of the data structure of hub data 800 held by the traffic simulation device 100 in an embodiment of the present invention.

[0056] Hub data 800 includes hub ID 801 and node ID 802. Hub ID 801 is the identification number of the configured hub. Node ID 802 is the identification number of the node belonging to the configured hub. Figure 8 shows the information defining hubs 1 to hubs 3 shown in Figure 7.

[0057] Figure 9 is an explanatory diagram showing an example of the data structure of the origin-side label data 900 held by the traffic simulation device 100 in an embodiment of the present invention.

[0058] The origin-side label data 900 holds labels for each combination of multiple origin nodes and multiple hubs, indicating the results of a pre-search for the path from the origin node to the hub. Each label includes node ID 901, hub ID 902, forward position 903, reverse position 904, cost to connection point 905, forward connection cost 906, and reverse connection cost 907.

[0059] Node ID 901 and Hub ID 902 are the identification numbers of the origin node and hub targeted for route searching. Forward position 903 and reverse position 904 indicate the forward and reverse positions, respectively, of the nodes included in the hub targeted for route searching, to which the searched route connects (hereinafter also referred to as connection points), within that hub. Here, the forward position is the sum of the cost of links and nodes on the route from the starting point of the hub to the connection point (excluding the cost of the connection point node). On the other hand, the reverse position is the sum of the cost of links and nodes on the route from the ending point of the hub to the connection point (excluding the cost of the connection point node).

[0060] The cost of 905 to the connection point represents the cost from the starting node of the explored path to the connection point. For example, the sum of the costs of the links and nodes along the path from the starting node to the connection point (excluding the cost of the connection point node) is stored as the cost of 905 to the connection point.

[0061] The forward connection cost 906 represents the cost of the connection point node when entering the hub from the connection point and traversing the hub in the forward direction. The reverse connection cost 907 represents the cost of the connection point node when entering the hub from the connection point and traversing the hub in the reverse direction.

[0062] In this embodiment, the forward connection cost 906 is the cost of the connection point node when traveling in the forward direction within the hub, minus the cost of the connection point node when traveling in the forward direction within the hub, from the cost of the connection point node when entering the hub from the connection point and traveling in the forward direction through the hub. For example, if the connection point is node 5, the forward connection cost 906 is 49, which is obtained by subtracting the cost of node 5 when traveling from node 4 to node 6 via node 5, from the cost of node 5, 50, when traveling from node 8 to node 6 via node 5.

[0063] Similarly, the reverse connection cost 907 is the cost of the connection point node when entering the hub from the connection point and traveling through the hub in the reverse direction, minus the cost of the connection point node when traveling through the hub in the reverse direction. The necessity of such a subtraction will be explained later with reference to Figure 14. This subtraction may be applied to the forward connection cost 1006 and reverse connection cost 1007 on the destination side, as will be explained later, rather than to the forward connection cost 906 and reverse connection cost 907 on the departure side.

[0064] Figure 10 is an explanatory diagram showing an example of the data structure of destination-side label data 1000 held by the traffic simulation device 100 in an embodiment of the present invention.

[0065] The destination-side label data 1000 holds labels for each combination of multiple destination nodes and multiple hubs, indicating the results of a pre-search for the path from the hub to the destination node. Each label includes node ID 1001, hub ID 1002, forward position 1003, reverse position 1004, cost to connection point 1005, forward connection cost 1006, and reverse connection cost 1007.

[0066] Node ID 1001 and Hub ID 1002 are the identification numbers of the destination node and hub targeted for route searching. Forward position 1003 and reverse position 1004 indicate the forward and reverse positions within the hub of the node to which the searched route connects (connection point), respectively, among the nodes included in the hub targeted for route searching.

[0067] The cost to the connection point, 1005, represents the cost from the connection point to the destination node along the explored path. For example, the sum of the costs of the links and nodes along the path from the connection point to the destination node (excluding the cost of the connection point node) is stored as the cost to the connection point, 1005.

[0068] The forward connection cost 1006 represents the cost of the connection point node when traversing the hub in the forward direction to the connection point and then exiting the hub from that connection point. The reverse connection cost 1007 represents the cost of the connection point node when traversing the hub in the reverse direction to the connection point and then exiting the hub from that connection point.

[0069] Note that the A-F displayed to the right of each record in the departure label data 900 in Figure 9 and the destination label data 1000 in Figure 10 are not parts of the respective data, but rather identifiers assigned to each record for reference in later explanations. Specific numerical examples for each record will be described later.

[0070] Figures 11A and 11B are flowcharts showing an example of the processing performed by the pre-search unit 107 of the traffic simulation device 100 in an embodiment of the present invention.

[0071] First, the pre-search unit 107 divides the road network into multiple hubs and adds the resulting hub data 800 to the label data 111 (step 1101). At this time, the pre-search unit 107 divides the network so that each hub contains at least two nodes connected via links. If a hub contains three or more nodes, those nodes must be connected in series via links. For example, a hub is a continuous road section represented by multiple nodes connected by links.

[0072] There are no restrictions on how a hub is created. The connections between the nodes that make up the hub must form the shortest path. For example, a hub could be created by starting with node 1, setting the maximum number of nodes to 3, and generating the shortest path.

[0073] In the examples shown in Figures 7 and 8, the road network 300 is divided into Hub 1, consisting of nodes 1, 2, and 3; Hub 2, consisting of nodes 4, 5, and 6; and Hub 3, consisting of nodes 7, 8, and 9.

[0074] Next, the pre-search unit 107 selects one hub (step 1102) and generates labels for the selected hub (step 1103). Specifically, the pre-search unit 107 creates a shortest path tree on the departure side from the departure node to the selected hub and adds the resulting departure-side label data 900 to the label data 111 (step 1111). Furthermore, the pre-search unit 107 creates a shortest path tree on the destination side from the selected hub to the destination node and adds the resulting destination-side label data 1000 to the label data 111 (step 1112).

[0075] Next, the pre-search unit 107 determines whether it has processed all nodes of the selected hub (step 1104). If there are any unprocessed nodes (step 1104: No), it executes step 1103 on those nodes. If all nodes of the selected hub have been processed (step 1104: Yes), the pre-search unit 107 determines whether it has processed all hubs (step 1105). If there are any unprocessed hubs (step 1105: No), the pre-search unit 107 executes steps 1102 and 1103 on those hubs. If all hubs have been processed (step 1105: Yes), the pre-search unit 107 finishes processing.

[0076] Figures 12A and 12B are explanatory diagrams illustrating specific examples of the generation of origin-side label data 900 by the pre-search unit 107 of the traffic simulation device 100 in an embodiment of the present invention.

[0077] Figures 12A and 12B show some examples of the processes that are performed in step 1111 when hub 2 is selected from the hubs configured in the road network 300 in step 1102.

[0078] First, with reference to Figure 12A, let us explain the paths where the connection point is node 4. In this case, in step 1111, the shortest path trees to node 4, which is the connection point (i.e., the set of the shortest paths from node 4 to hub 2, with each node on the road network 300 as the starting node), are obtained as follows: a path from node 3 to node 4 via node 2 and node 1 in sequence, and a path from node 9 to node 4 via node 8 and node 7 in sequence.

[0079] In this example, since any of nodes 1, 2, 3, 7, 8, and 9 can be the starting node, the pre-search unit 107 generates label data for each of them as the starting node and stores it in the starting node label data 900. Figure 12A illustrates the label data generated when node 7 is the starting node.

[0080] In this example, since node 4, the connection point, is the starting point of hub 2, the forward position 903 of the connection point is "0". On the other hand, the reverse position 904 is "26", which is the sum of the cost of the link and nodes from node 6, the endpoint of hub 2, to node 4. This is the sum of the cost of the link from node 6 to node 5 ("13"), the cost of node 5 when entering from node 6 to node 5 and exiting to node 4 ("1") (see Figure 5), and the cost of the link from node 5 to node 4 ("12").

[0081] The cost 905 to the connection point is equal to the cost of the link from node 7 to node 4, which is "12". As mentioned above, the cost of node 4 itself is "0", so both the forward connection cost 906 and the reverse connection cost 907 are "0". The label data A generated in this way (see Figure 9) is recorded in the origin side label data 900.

[0082] Next, referring to Figure 12B, we will describe the paths where the connection point is node 5. In this case, in step 1111, the shortest path trees leading to node 5, which is the connection point, are obtained as follows: a path from node 1 to node 5 via node 2, a path from node 3 to node 5 via node 2, a path from node 7 to node 5 via node 8, and a path from node 9 to node 5 via node 8.

[0083] In this example, since any of nodes 1, 2, 3, 7, 8, and 9 can be the starting node, the pre-search unit 107 generates label data for each of them as the starting node and stores it in the starting node label data 900. Figure 12B illustrates the label data generated when node 7 is the starting node.

[0084] In this example, the forward position 903 of node 5, which is the connection point, corresponds to a link cost of "10" from node 4, the starting point of hub 2, to node 5. On the other hand, the reverse position 904 corresponds to a link cost of "13" from node 6, the ending point of hub 2, to node 5.

[0085] The cost to the connection point, 905, is the sum of the cost of the link from node 7 to node 5 and the cost of the node itself, which is "22". This is the sum of the cost of the link from node 7 to node 8 ("10"), the cost of node 8 ("0"), and the cost of the link from node 8 to node 5 ("12").

[0086] The forward connection cost 906 is calculated by subtracting the cost of node 5 when entering node 5 from node 4 and traveling in the forward direction (i.e., towards node 6) within hub 2 from the cost of node 5 ("50," see Figure 5) when entering node 5 from node 8 and traveling in the forward direction (i.e., towards node 6), resulting in a value of "49." The reverse connection cost 907 is calculated by subtracting the cost of node 5 when entering node 5 from node 6 and traveling in the forward direction (i.e., towards node 4) within hub 2 from the cost of node 5 ("10," see Figure 5) when entering node 5 from node 8 and traveling in the reverse direction (i.e., towards node 4), resulting in a value of "9." The reason why this subtraction is necessary will be explained later (see Figure 14). The label data B generated in this way (see Figure 9) is recorded in the origin-side label data 900.

[0087] Although a detailed explanation is omitted, the label data C shown in Figure 9 is also generated by the same process as described above. Label data C is the label data when the starting point is node 7 and the connection point is node 6, where the forward position 903 is "21", the reverse position 904 is "0", the cost to the connection point 905 is "35", the forward connection cost 906 is "0", and the reverse connection cost 907 is "0".

[0088] Figures 13A and 13B are explanatory diagrams illustrating specific examples of the generation of destination-side label data 1000 by the pre-search unit 107 of the traffic simulation device 100 in an embodiment of the present invention.

[0089] Figures 13A and 13B show some examples of the processes that are executed in step 1112 when hub 2 is selected from the hubs configured in the road network 300 in step 1102.

[0090] First, with reference to Figure 13A, let us explain the paths where the connection point is node 4. In this case, in step 1112, the shortest path trees from node 4, the connection point (i.e., the set of the shortest paths from node 4 to hub 2, with each node on the road network 300 as a destination node) are obtained as follows: a path from node 4 to node 3 via nodes 1 and 2 in order, and a path from node 4 to node 9 via nodes 7 and 8 in order.

[0091] In this example, since any of nodes 1, 2, 3, 7, 8, and 9 can be destination nodes, the pre-search unit 107 generates label data for each of them as a destination node and stores it in the destination-side label data 1000. Figure 13A illustrates the label data generated when node 3 is the destination node.

[0092] In this example, since node 4, which is the connection point, is the starting point of hub 2, the forward position 1003 of the connection point is "0". On the other hand, the reverse position 1004 is "26", which is the sum of the cost of the links and nodes from node 6, which is the endpoint of hub 2, to node 4.

[0093] The cost to the connection point, 1005, is the sum of the cost of the link from node 4 to node 3 and the cost of the nodes, which is "36". This is the sum of the cost of the link from node 4 to node 1 ("12"), the cost of node 1 ("0"), the cost of the link from node 1 to node 2 ("14"), the cost of node 2 ("0"), and the cost of the link from node 2 to node 3 ("10").

[0094] Furthermore, since the cost of node 4 itself is "0", both the forward connection cost 1006 and the reverse connection cost 1007 are "0". The label data D generated in this way (see Figure 10) is recorded in the destination side label data 1000.

[0095] Next, referring to Figure 13B, we will explain the paths where the connection point is node 5. In this case, in step 1112, the shortest path trees from node 5, the connection point, are obtained as follows: a path from node 5 to node 1 via node 2, a path from node 5 to node 3 via node 2, a path from node 5 to node 7 via node 8, and a path from node 5 to node 9 via node 8.

[0096] In this example, since any of nodes 1, 2, 3, 7, 8, and 9 can be destination nodes, the pre-search unit 107 generates label data for each of them as a destination node and stores it in the destination-side label data 1000. Figure 13B illustrates the label data generated when node 3 is the destination node.

[0097] In this example, the forward position 1003 of node 5, which is the connection point, corresponds to a link cost of "10" from node 4, the starting point of hub 2, to node 5. On the other hand, the reverse position 1004 corresponds to a link cost of "13" from node 6, the ending point of hub 2, to node 5.

[0098] The cost 1005 to the connection point is the sum of the cost of the link from node 5 to node 3 and the cost of the node, which is "22". This is the sum of the cost of the link from node 5 to node 2 ("12"), the cost of node 2 ("0"), and the cost of the link from node 2 to node 1 ("10"). The label data E generated in this way (see Figure 10) is recorded in the destination label data 1000.

[0099] Although a detailed explanation is omitted, the label data F shown in Figure 10 is also generated by the same process as described above. Label data F is the label data when the destination is node 3 and the connection point is node 6, where the forward position 1003 is "21", the reverse position 1004 is "0", the cost to the connection point 1005 is "12", the forward connection cost 1006 is "0", and the reverse connection cost 1007 is "0".

[0100] Figure 14 is an explanatory diagram illustrating the method for calculating the forward connection cost 906 on the departure point side by the pre-search unit 107 of the traffic simulation device 100 in an embodiment of the present invention.

[0101] As explained with reference to Figure 9, in this embodiment, the cost of traveling in a straight line through the nodes is subtracted in order to calculate the forward connection cost 906 and the reverse connection cost 907. The reason why this subtraction is necessary will be explained with reference to Figure 14.

[0102] Figure 9 shows an example of calculating the cost of a route from origin node 7 to destination node 3 via hub 2 on the road network 300. In this example, the connection point on the origin side is node 5, and the connection point on the destination side is node 6. This route corresponds to the combination of label data B shown in Figure 9 and label data F shown in Figure 10.

[0103] In this case, the cost of the route from node 7 to node 3 via nodes 8, 5, and 6 in sequence can be calculated as follows: (a) cost to the origin label connection point + (b) forward connection cost to the origin label + (c) cost on the hub + (d) forward connection cost to the destination label + (e) cost to the destination label connection point.

[0104] When these are calculated from label data B and F, (a) the cost to the origin side label connection point is obtained from the cost to the connection point of label data B shown in Figure 9, which is 905, and is "22". (d) The forward connection cost of the destination side label and (e) the cost to the destination side label connection point are obtained from the forward connection cost of label data F shown in Figure 10, which is 1006, and the cost to the connection point is 1005, respectively, and are "0" and "12".

[0105] (c) The cost on the hub is calculated by (g) the forward position of the destination label minus (f) the forward position of the origin label. This is "11", obtained by subtracting "10", the forward position of label data B, which is 903, from "21", which is the forward position of label data F, which is 1003. However, as shown in Figure 14, (g)-(f)="11" includes (h) the cost of passing through the hub, i.e., the cost of entering node 5 from note 4 and exiting to node 6, which is "1". In contrast, the above route enters node 5 from note 8 and exits to node 6, so its cost is "50" (see Figure 5).

[0106] Therefore, if we were to adopt (b) "50" as the forward connection cost for the origin label and (c) "11" as the cost on the hub, the total cost from (a) to (e) would include an unnecessary cost of "1" for passing through the hub, which should not be added.

[0107] In this embodiment, (b) the value of the forward connection cost of the origin label is set to 49, which is obtained by subtracting the cost of 1 for entering node 5 from node 4 and exiting node 6 from the cost of node 5, which is 50, when entering node 5 from node 8 and exiting node 6. This makes it possible to remove unnecessary costs and perform route searching based on accurate costs.

[0108] In the example above, the connection cost on the departure side is adjusted to eliminate unnecessary costs. However, since the goal is to ultimately calculate an accurate cost value, it is also possible to adjust the connection cost on the destination side instead of the departure side, or to adjust it in other ways.

[0109] Next, the process performed by the route determination unit 103 of the traffic simulation device 100 will be described. The process of the route determination unit 103 is performed by referring to the previously generated label data 111 after the trip generation unit 102 has generated OD pairs 122 (i.e., sets of origin and destination).

[0110] Figure 15 is a flowchart showing an example of the process performed by the route determination unit 103 of the traffic simulation device 100 in an embodiment of the present invention.

[0111] First, the route determination unit 103 selects one hub by referring to the hub data 800 of the label data 111 (step 1501).

[0112] Next, the route determination unit 103 selects one originating label and one destination label to connect to the selected hub (step 1502). Specifically, from the originating label data 900, it selects one label whose hub ID 902 is the identification number of the hub selected in step 1501, and similarly, from the destination label data 1000, it selects one label whose hub ID 1002 is the identification number of the hub selected in step 1501. Hereinafter, the originating label and destination label selected in step 1502 will be referred to as label L1 and label L2, respectively.

[0113] Next, the route determination unit 103 compares the costs of the routes identified by labels L1 and L2 (step 1503). This process will be explained with reference to Figures 16 and 17.

[0114] Figure 16 is a flowchart showing an example of the cost comparison process performed by the route determination unit 103 of the traffic simulation device 100 in an embodiment of the present invention.

[0115] The parameters referenced in the process shown in Figure 16 are defined as follows:

[0116] p1: Value of label L1 at forward position 903 n1: Value of 904 in the reverse direction of label L1 c1: Value of cost 905 to the connection point of label L1 d1: Value of the forward connection cost of label L1, 906 e1: Value of the reverse connection cost of label L1, 907 p2: Value of label L2 at forward position 1003 n2: Value of 1004 in the reverse direction of label L2 c2: Value of 1005, the cost to the connection point of label L2. d2: The value of the forward connection cost of label L2, which is 1006. e2: Value of the reverse connection cost of label L2, which is 1007.

[0117] Furthermore, the minimum cost is defined as follows:

[0118] min1: Minimum confirmed cost min2: Minimum undetermined cost

[0119] Both min1 and min2 are assumed to have sufficiently large initial values.

[0120] First, the route determination unit 103 determines whether p2 is greater than p1 (step 1601). If p2 is greater than p1, it means that the connection point on the destination side is downstream from the connection point on the departure side, or in other words, the direction of travel within the hub for vehicles entering the hub from the connection point on the departure side and exiting the hub from the connection point on the destination side is forward.

[0121] If p2 is greater than p1 (Step 1601: Yes), the route determination unit 103 calculates the cost using the following formula (Step 1602).

[0122] cost = c1 + d1 + p2 - p1 + d2 + c2

[0123] Furthermore, each term in the above formula corresponds to (a) through (g) shown in Figure 14 as follows.

[0124] c1:(a) d1:(b) p2-p1:(g)-(f) d2:(d) c2:(e)

[0125] Next, the route determination unit 103 determines whether the cost value calculated in step 1602 is less than min1 (step 1603). If the cost value is less than min1 (step 1603: Yes), since that cost value is the minimum value at the moment, the route determination unit 103 updates min1 to the cost value and retains "forward direction" as the direction (step 1604).

[0126] If p2 is not greater than p1 (Step 1601: No), the route determination unit 103 determines whether p1 is greater than p2 (Step 1605). If p1 is greater than p2, it means that the connection point on the destination side is upstream from the connection point on the departure side, or in other words, the direction of travel within the hub for vehicles entering the hub from the connection point on the departure side and exiting the hub from the connection point on the destination side is in opposite directions.

[0127] If p1 is greater than p2 (Step 1605: Yes), the route determination unit 103 calculates the cost using the following formula (Step 1606).

[0128] learn = c1 + e1 + n2 - n1 + e2 + c2

[0129] Next, the route determination unit 103 determines whether the cost value calculated in step 1606 is less than min1 (step 1607). If the cost value is less than min1 (step 1607: Yes), since that cost value is the minimum value at the moment, the route determination unit 103 updates min1 to the cost value and retains "reverse direction" as the direction (step 1608).

[0130] If it is determined in step 1601 that p2 is not greater than p1 (step 1601: No), and it is determined in step 1605 that p1 is not greater than p2 (step 1605: No), then p1 = p2. This means that the connection point on the departure side and the connection point on the destination side are the same node, or in other words, a vehicle that enters the hub from the connection point on the departure side will exit the hub from that connection point without passing through any links within the hub.

[0131] In this case, the route determination unit 103 calculates the cost using the following formula (step 1609).

[0132] cost = c1 + c2

[0133] Next, the route determination unit 103 determines whether the cost value calculated in step 1609 is less than min2 (step 1610). The cost calculated in step 1609 is an undetermined value that does not include the cost of the hub connection point nodes, and the actual route cost may be even higher. For this reason, in step 1610, the cost value is compared with min2 instead of min1. If the cost value is less than min2 (step 1607: Yes), the cost value is the minimum value among the currently undetermined costs, so the route determination unit 103 updates min2 to the cost value and retains "no direction" as the direction (step 1611).

[0134] This completes the process of comparing the costs of the routes identified by labels L1 and L2 (step 1503 in Figure 15).

[0135] Next, the routing unit 103 determines whether it has finished checking all labels connected to the selected hub (step 1504). If there are still labels that have not been checked (step 1504: No), the routing unit 103 returns to step 1502, selects the labels that have not yet been checked, and executes the processing from step 1503 onwards.

[0136] If the routing unit 103 has finished checking all labels connected to the selected hub (step 1504: Yes), it determines whether it has finished checking all hubs (step 1505). If there are still hubs that have not been checked (step 1505: No), the routing unit 103 returns to step 1501, selects the hubs that have not yet been checked, and executes the processes from step 1502 onwards.

[0137] Here, an example of the result of the processing up to step 1505 will be described with reference to FIG. 17.

[0138] FIG. 17 is an explanatory diagram showing an example of the result of the cost comparison processing executed by the route determination unit 103 of the traffic simulation apparatus 100 in an embodiment of the present invention.

[0139] In FIG. 17, as an example, the calculation result 1700 of the cost comparison when the node 7 is the departure point and the node 3 is the destination in the road network 300 shown in FIG. 7 is shown. Here, only the calculation result when the hub 2 is selected is shown for simplicity of explanation.

[0140] The calculation result 1700 includes a departure side label (L1) 1701, a destination side label (L2) 1702, a direction 1703, and a cost 1704. In the departure side label 1701 and the destination side label 1702, all combinations of the label data A to C shown in FIG. 9 and the label data D to F shown in FIG. 10 are recorded. The direction 1703 is "forward" if p1 < p2, "reverse" if p1 > p2, and "no direction" if p1 = p2 in each combination of the label data. The cost 1704 records the value of the cost calculated in step 1602, 1606, or 1609.

[0141] In the example of FIG. 17, the cost of the combination of label data A and F is min1, and the cost of the combination of label data B and E is min2. The former is the minimum among the costs 1704 of the combinations of label data where the direction 1703 is not "no direction", and the latter is the minimum among the costs 1704 of the combinations of label data where the direction 1703 is "no direction".

[0142] In this example, min1=45 and min2=44, so at this point min2 is smaller. However, as mentioned earlier, min2 does not include the cost of the connection point nodes. Therefore, depending on the size of the connection point node costs, the actual path cost for the combination of label data B and E may remain smaller than min1, or it may become larger.

[0143] Refer to Figure 15 again. If it is determined in step 1505 that the checks for all hubs have been completed (step 1505: Yes), the route determination unit 103 determines whether the direction is "no direction" (step 1506). Specifically, for example as shown in Figure 17, if min2 is less than min1, it is determined to be "no direction", and in all other cases, it is determined not to be "no direction".

[0144] If, in step 1506, it is determined that the direction is not "no direction," that is, min2 is greater than or equal to min1 (step 1506: No), then even if the exact cost of the route is calculated including the cost of the connection point nodes in min2, there is no possibility that the value will be less than min1. In other words, in this case, even if min2 is an undetermined value that does not include the cost of the connection point nodes, min1 can be determined to be the minimum cost of all routes without calculating an exact value that includes the cost of the connection point nodes. For this reason, the route determination unit 103 proceeds to step 1512 without executing steps 1507 to 1511 described later. In step 1512, a route is generated by the combination of the origin side label and the destination side label corresponding to min1.

[0145] If in step 1506 the direction is determined to be "no direction," that is, min2 is less than min1 (step 1506: Yes), the route determination unit 103 selects one hub (step 1507) and selects one origin-side label (L1) and one destination-side label (L2) to connect to the selected hub (step 1508). These steps are performed in the same manner as steps 1501 and 1502.

[0146] Next, the route determination unit 103 checks the connection cost of the route specified by label L1 and label L2 (step 1509). This process will be described with reference to FIG. 18.

[0147] FIG. 18 is a flowchart showing an example of the connection cost check process executed by the route determination unit 103 of the traffic simulation device 100 in an embodiment of the present invention.

[0148] In FIG. 18, p1, p2, c1, and c2 are as shown in FIG. 16. First, the route determination unit 103 determines whether p1 = p2 (step 1801). As described above, p1 = p2 means that the connection point on the departure side and the connection point on the destination side are the same node. In other words, it means that a vehicle entering the hub from the connection point on the departure side exits the hub from that connection point without passing through the links within the hub.

[0149] If it is determined in step 1801 that p1 = p2 (step 1801: Yes), the route determination unit 103 calculates cost = c1 + c2 in the same manner as step 1609 in FIG. 16 (step 1802).

[0150] Next, the route determination unit 103 determines whether the cost calculated in step 1802 is less than min3 (cost < min3) (step 1803). Here, min3 is the minimum value of the cost, and its initial value is the smaller value between min1 and min2 + margin. Margin is, for example, the maximum value of the costs of the nodes on the road network 300 (in the example of FIG. 5, it is "50").

[0151] As described above, when a combination of a departure-side label and a destination-side label where p1 = p2 is selected, the cost of the nodes on the hub cannot be specified from the label data. If cost < min3, since the cost of that combination may be the minimum, a combination of labels that minimizes the cost is determined after adding the cost of the nodes.

[0152] Specifically, when cost < min3 in step 1803 (step 1803: Yes), the route determination unit 103 restores the route based on the selected label combination, obtains the node cost on the hub through which the route passes, and calculates cost2 using the following formula based on the node cost (step 1804). This is the determined cost calculated including the cost of the nodes on the hub.

[0153] cost2 = cost + node cost

[0154] Next, the route determination unit 103 determines whether cost2 calculated in step 1804 is less than min3 (cost2 < min3) (step 1805). If cost2 < min3 (step 1805: Yes), the route determination unit 103 updates min3 to the value of cost2.

[0155] If it is determined in step 1801 that p1 ≠ p2 (step 1801: No), since there is no need to check the connection cost, the processes after step 1802 above are not executed.

[0156] Thus, the process of checking the connection cost (step 1509 in FIG. 15) ends.

[0157] Next, the route determination unit 103 determines whether the confirmation of the connection cost for all the labels connected to the selected hub has ended (step 1510). If there is still a label that has not been confirmed (step 1510: No), the route determination unit 103 returns to step 1508, selects a label that has not been confirmed yet, and executes the processes after step 1509.

[0158] When the route determination unit 103 has finished checking the connection costs for all the labels connected to the selected hub (step 1510: Yes), it determines whether the connection cost check for all the hubs has been completed (step 1511). If there is still a hub for which the check has not been performed (step 1511: No), the route determination unit 103 returns to step 1507, selects a hub for which the check has not been performed, and executes the processes from step 1508 onward.

[0159] When the connection cost check for all the hubs has been completed (step 1511: Yes), the route determination unit 103 generates a route based on the combination of the origin-side label and the destination-side label that results in the minimum cost (step 1512).

[0160] FIG. 19 is an explanatory diagram showing an example of a route generated by the route determination unit 103 of the traffic simulation device 100 in an embodiment of the present invention.

[0161] In FIG. 19, as an example, as shown in FIG. 17, when the cost of the combination of the origin-side label A and the destination-side label F is calculated as the confirmed cost minimum value (min1) of "45", and the cost of the combination of the origin-side label B and the destination-side label E is calculated as the unconfirmed cost minimum value (min2) of "44", the connection cost check result and the shortest route based thereon are shown.

[0162] When hub 2 is selected in step 1507 of FIG. 15 and the origin-side label B and the destination-side label E are selected in step 1508, in the process of FIG. 18, p1 = p2 (step 1801: Yes), and cost = c1 + c2 = 44 is calculated (step 1802). Here, assuming that margin is "50", the initial value of min3 is the smaller of "45" and "44 + 50", that is, "45", and cost < min3 holds (step 1803: Yes).

[0163] The route determination unit 103 restores the route corresponding to the combination of the origin - side label B and the destination - side label E, and obtains the cost of the node on the hub through which the route passes (step 1804). In this example, the route from the origin node 7 to the destination node 3 via nodes 8, 5, and 2 in sequence is restored. Since this route enters the node 5 on the hub from node 8 and exits to node 2, its cost is "2". Therefore, the confirmed cost (cost2) is "46", which is obtained by adding the cost "2" of node 5 to the unconfirmed cost (cost) of "44".

[0164] Since the value "46" of this cost2 is greater than the current min3 of "45" (step 1805: No), min3 is not updated. The route determination unit 103 generates a route corresponding to the combination of the origin - side label A and the destination - side label F with the minimum cost of "45" (step 1512). As shown in FIG. 19, this route is a route from the origin node 7 to the destination node 3 via nodes 4, 5, and 6 in sequence.

[0165] The above - mentioned processing in FIG. 18 is required only when min2 < min1 (step 1506: Yes), and among them, the processing in step 1804 of FIG. 18 is required only when cost < min3. The frequency of these conditions being met in actual route search is low. In most cases, route search can be performed by simply summing the costs registered in the label data in advance. Even if the processing in FIG. 18 is rarely required, it is expected that the time required for that processing has a small impact on the overall processing time. Therefore, according to this embodiment, high - speed route search by hub labeling can be performed with high accuracy considering the costs of the nodes.

[0166] Also, the system of the embodiment of the present invention may be configured as follows.

[0167] (1) A route search method executed by a computer system (e.g., a computer system 200 for realizing a traffic simulation device) having a processor (e.g., processor 201) and a storage device (e.g., memory 202 and auxiliary storage device 203), wherein the storage device holds link cost data (e.g., link cost data 112) including the costs of links included in a road network, and node cost data (e.g., node cost data 113) including the costs of nodes included in the road network, and the route search method comprises a pre-search procedure (e.g., the process in Figure 11A) in which the processor generates label data (e.g., label data 111, i.e., hub data 800, origin side label data 900 and destination side label data 1000) based on the link cost data and the node cost data, and the processor based The pre-search procedure includes a route determination procedure (e.g., the process in Figure 15) for determining a route between points, and the pre-search procedure includes a first step (e.g., step 1101) in which the processor generates information about a hub consisting of one or more nodes in the road network (e.g., hub data 800) based on the link cost data and node cost data, and a second step (e.g., step 1103) in which the processor, based on the link cost data and node cost data, stores in the label data the cost of a route connecting each node to the hub to connect to the hub, for each node included in the road network, and the route determination procedure includes a third step (e.g., the process in Figure 15) in which the processor determines a route between points by referring to the cost on the hub, the cost of a route connecting to the hub, and the cost of the route connecting to the hub.

[0168] This allows for a more accurate route search, including the cost of each node, while reducing the time required for route planning after the origin and destination have been identified.

[0169] (2) The route search method described in (1) above, wherein in the hub information, the direction of travel within each hub is defined as the forward direction if it is away from the starting point of each hub, and the direction of travel toward the starting point if it is reversed, and the second step is a step (for example, step 1111) in which the processor generates a departure side label (for example, departure side label data 900) for each combination of a departure node and the hub as label data, and a step (for example, step 1111) in which the processor generates a destination side label (for example, departure side label data 1000) for each combination of a destination node and the hub The procedure for generating the origin-side label includes, for each combination of the origin node and the hub, the processor obtains the cost to the origin-side connection point (e.g., cost to the connection point 905), the origin-side forward connection cost (e.g., forward connection cost 906), and the origin-side reverse connection cost (e.g., reverse connection cost 907), and the procedure for generating the destination-side label includes, for each combination of the destination node and the hub, the processor obtains the cost to the destination-side connection point (e.g., cost to the connection point The procedure includes obtaining the cost to the connection point on the origin side (e.g., forward connection cost 1006) and the reverse connection cost on the destination side (e.g., reverse connection cost 1007), wherein the cost to the connection point on the origin side includes the cost of the route from the origin node to the hub, the forward connection cost on the origin side includes the cost of the node at the connection point when the route from the origin node to the hub is a node that connects to the hub, and the reverse connection cost on the origin side The cost includes the cost of the node at the connection point when the route from the origin node to the hub travels in the reverse direction within the hub from the connection point on the origin side, the cost to the connection point on the destination side includes the cost of the route from the hub to the destination node, the forward connection cost on the destination side includes the cost of the node at the connection point when the route from the hub to the destination node travels in the forward direction within the hub toward the connection point on the destination side which is a node connected to the hub, and the reverse connection cost on the destination side isThe third step includes the cost of the node at the connection point when the path from the hub to the destination node travels in the reverse direction within the hub toward the destination connection point, and the third step includes the step (e.g., step 1502) in which the processor selects a combination (e.g., step 1502) of the origin-side label for the path from the origin node to the hub and the destination-side label for the path from the hub to the destination node based on the label data, and the step (e.g., step 1503-1512) in which the processor determines the cost of connecting to the hub by referring to the forward connection cost on the origin side and the forward connection cost on the destination side when the location of the destination connection point is farther from the starting point of the hub than the location of the origin-side connection point in the selected combination, and by referring to the reverse connection cost on the origin side and the reverse connection cost on the destination side when the location of the destination connection point is closer to the starting point of the hub than the location of the origin-side connection point.

[0170] This allows for accurate cost-based pathfinding by including node costs in calculations when necessary, and reduces the time required for pathfinding by omitting calculations when unnecessary.

[0171] (3) A route search method as described in (2) above, wherein the third step includes a step in which the processor determines the cost of the route corresponding to the combination based on the values ​​included in the selected origin label and destination label when the location of the origin connection point and the location of the destination connection point are not the same in the selected combination (for example, step 1601: Yes, or step 1601: No and step 1605: Yes) (for example, step 1602 or step 1606), and a step in which the processor searches for the node cost of the connection point from the node cost data and determines the cost of the route corresponding to the combination based on the searched node cost and the values ​​included in the selected origin label and destination label (for example, the process in Figure 18) when the location of the origin connection point and the location of the destination connection point are the same in the selected combination (for example, step 1601: No and step 1605: No).

[0172] This allows for accurate cost-based pathfinding by including node costs in calculations when necessary, and reduces the time required for pathfinding by omitting calculations when unnecessary.

[0173] (4) The route search method described in (3) above, wherein the third step is that, in the selected combination, if the location of the destination connection point is farther from the starting point of the hub than the location of the origin connection point (for example, step 1601: Yes), the processor determines the sum of the cost to the origin connection point, the forward connection cost on the origin side, the cost from the origin connection point to the destination connection point, the forward connection cost on the destination side, and the cost to the destination connection point as the final cost of the route corresponding to that combination. The procedure (for example, step 1602) and the processor, in the selected combination, if the location of the destination connection point is closer to the starting point of the hub than the location of the origin connection point (for example, step 1601: No and step 1605: Yes), determines the sum of the cost to the origin connection point, the reverse connection cost on the origin side, the cost from the origin connection point to the destination connection point, the reverse connection cost on the destination side, and the cost to the destination connection point as the final cost of the route corresponding to that combination. A procedure (for example, step 1606) in which the processor determines, in the selected combination, the sum of the cost to the connection point on the departure side and the cost to the connection point on the destination side as the undetermined cost of the route corresponding to that combination (for example, step 1609) if the location of the connection point on the departure side and the location of the connection point on the destination side are the same (for example, step 1601: No and step 1605: No), and the processor determines, in the case where the minimum value of the determined cost is less than or equal to the minimum value of the undetermined cost (for example, step 1506) If (No), the procedure (e.g., step 1512) determines the route corresponding to the minimum value of the confirmed cost as the route from the origin node to the destination node, and the processor, if the minimum value of the confirmed cost is greater than the minimum value of the unconfirmed cost (e.g., step 1506: Yes), compares the unconfirmed cost with the smaller of the minimum value of the confirmed cost and the minimum value of the unconfirmed cost plus a predetermined margin, and if the unconfirmed cost is smaller (e.g., step 1803: Yes), restores the route corresponding to the unconfirmed cost.The procedure includes obtaining the node costs on the hub through which the route passes, determining the confirmed cost by adding the obtained node costs to the unconfirmed cost (for example, step 1804), and determining the route corresponding to the minimum confirmed cost as the route from the origin node to the destination node (for example, step 1512).

[0174] This allows for accurate cost-based pathfinding by including node costs in calculations when necessary, and reduces the time required for pathfinding by omitting calculations when unnecessary.

[0175] (5) A pathfinding method as described in (4) above, wherein the second step includes the processor determining the values ​​of the forward connection cost and the reverse connection cost at either the origin side label or the destination side label to be the value obtained by subtracting the cost of the connection point node when passing through the hub in the forward and reverse directions, respectively (for example, setting the value of (b) in Figure 14 to 50-1=49), and the third step includes the processor calculating the difference between the cost from the starting point of the hub to the connection point on the origin side and the connection cost from the starting point of the hub to the connection point on the destination side (for example, (g)-(f) in Figure 14) as the cost from the connection point on the origin side to the connection point on the destination side.

[0176] This allows label values ​​to be set in a way that cancels out duplicate node costs in the calculation of path costs based on label data, enabling accurate cost calculation with a simpler method.

[0177] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. For example, the embodiments described above are explained in detail for a better understanding of the present invention, and are not necessarily limited to those having all of the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is possible to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.

[0178] Furthermore, each of the above configurations, functions, processing units, and processing means may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. Alternatively, each of the above configurations and functions may be implemented in software by a processor interpreting and executing programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in storage devices such as non-volatile semiconductor memory, hard disk drives, and SSDs (Solid State Drives), or in computer-readable non-temporary data storage media such as IC cards, SD cards, and DVDs.

[0179] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes, and do not necessarily represent all control lines and information lines in the actual product. In practice, it can be assumed that almost all components are interconnected. [Explanation of Symbols]

[0180] 100 Traffic Simulation Device 101 Input Section 102 Trip generation unit 103 Route determination unit 104 Simple Simulation Section 105 Production Simulation Department 106 Output section 107 Pre-search section 108 Storage section 111 Label data 112 Link Cost Data 113 Node cost data 121 Configuration Information 122 OD pair 123 Route Information 124 cost 125 Simulation Results 200 Computer Systems 201 Processor 202 memory 203 Auxiliary storage device 204 Output device 205 Input device 206 Communication Interfaces

Claims

1. A pathfinding method to be performed by a computer system having a processor and a memory device, The storage device holds link cost data including the costs of links included in the road network, and node cost data including the costs of nodes included in the road network. The aforementioned pathfinding method is: The processor performs a pre-search procedure to generate label data based on the link cost data and the node cost data, The processor includes a route determination procedure that determines a route between points based on the label data, The aforementioned pre-search procedure is: The first step involves the processor generating information about a hub consisting of one or more nodes in the road network based on the link cost data and node cost data. The processor includes a second step of including in the label data the cost of a route connecting each node to the hub to connect to the hub, based on the link cost data and the node cost data, for each node included in the road network, The aforementioned route determination procedure is: A pathfinding method characterized in that the processor determines a path between the points by referring to the cost on the hub, the cost of the path connecting to the hub, and the cost of the path connecting to the hub.

2. A pathfinding method according to claim 1, In the hub information, the direction of travel within each hub is defined as the forward direction if it is moving away from the starting point of each hub, and the direction of travel toward the starting point if it is moving toward the starting point. The second procedure described above is, The processor includes a procedure for generating a departure-side label for each combination of a departure node and the hub, and a procedure for generating a destination-side label for each combination of a destination node and the hub, The procedure for generating the origin-side label includes the process by which the processor obtains, for each combination of the origin node and the hub, the cost to the origin-side connection point, the origin-side forward connection cost, and the origin-side reverse connection cost. The procedure for generating the destination label includes the process by which the processor obtains, for each combination of the destination node and the hub, the cost to the destination connection point, the forward connection cost on the destination side, and the reverse connection cost on the destination side. The cost to the connection point on the departure side includes the cost of the route from the departure node to the hub. The forward connection cost on the origin side includes the cost of the node at the connection point when the path from the origin node to the hub travels forward through the hub, starting from the connection point on the origin side which is a node connected to the hub. The aforementioned reverse connection cost on the origin side includes the cost of the node at the connection point when the path from the origin node to the hub travels in the reverse direction from the connection point on the origin side through the hub, The cost to the destination connection point includes the cost of the route from the hub to the destination node. The forward connection cost on the destination side includes the cost of the node at the connection point when the path from the hub to the destination node travels forward through the hub toward the connection point on the destination side, which is a node connected to the hub. The reverse connection cost on the destination side includes the cost of the node at the connection point when the path from the hub to the destination node travels in the reverse direction through the hub toward the connection point on the destination side. The third step described above is: The processor selects a combination of the origin-side label for the route from the origin node to the hub and the destination-side label for the route from the hub to the destination node, based on the label data. A route search method characterized in that the processor determines the cost of connecting to the hub by referring to the forward connection cost on the origin side and the forward connection cost on the destination side when the location of the destination connection point is farther from the starting point of the hub than the location of the origin connection point in the selected combination, and by referring to the reverse connection cost on the origin side and the reverse connection cost on the destination side when the location of the destination connection point is closer to the starting point of the hub than the location of the origin connection point.

3. A pathfinding method according to claim 2, The third step described above is: The processor, in the selected combination, determines the cost of the route corresponding to the combination based on the values ​​included in the selected origin label and destination label, if the location of the origin connection point and the location of the destination connection point are not the same. A route search method characterized in that the processor, in the selected combination, searches for the node cost of the connection point from the node cost data when the location of the connection point on the departure side and the location of the connection point on the destination side are the same, and determines the cost of the route corresponding to the combination based on the searched node cost and the values ​​included in the selected departure side label and destination side label.

4. A pathfinding method according to claim 3, The third step described above is: The processor, in the selected combination, determines the sum of the cost to the originating connection point, the forward connection cost on the originating side, the cost from the originating connection point to the destination connection point, the forward connection cost on the destination side, and the cost to the destination connection point as the final cost of the route corresponding to that combination. The processor, in the selected combination, determines the sum of the cost to the originating connection point, the reverse connection cost on the originating side, the cost from the originating connection point to the destination connection point, the reverse connection cost on the destination side, and the cost to the destination connection point as the final cost of the route corresponding to that combination. The processor, in the selected combination, determines the sum of the cost to the connection point on the departure side and the cost to the connection point on the destination side as the undetermined cost of the route corresponding to that combination, when the location of the connection point on the departure side and the location of the connection point on the destination side are the same. The processor, when the minimum value of the confirmed cost is less than or equal to the minimum value of the unconfirmed cost, determines a route corresponding to the minimum value of the confirmed cost as the route from the origin node to the destination node; A pathfinding method characterized by the processor comprising the steps of: if the minimum value of the confirmed cost is greater than the minimum value of the unconfirmed cost, comparing the unconfirmed cost with the smaller of the minimum value of the confirmed cost and the minimum value of the unconfirmed cost plus a predetermined margin; if the unconfirmed cost is smaller, restoring the path corresponding to the unconfirmed cost, obtaining the node costs on the hub through which the path passes, determining the value obtained by adding the obtained node costs to the unconfirmed cost as the confirmed cost, and determining the path corresponding to the minimum value of the confirmed cost as the path from the origin node to the destination node.

5. A pathfinding method according to claim 4, The second step includes the processor determining, at either the origin-side label or the destination-side label, the values ​​of the forward connection cost and the reverse connection cost to be the values ​​obtained by subtracting the cost of the connection point node when passing through the hub in the forward and reverse directions, respectively. The third step is a route search method characterized in that the processor calculates the difference between the cost from the starting point of the hub to the connection point on the departure side and the cost from the starting point of the hub to the connection point on the destination side as the cost from the connection point on the departure side to the connection point on the destination side.

6. A pathfinding device, It has a processor and a memory device, The storage device holds link cost data including the costs of links included in the road network, and node cost data including the costs of nodes included in the road network. The aforementioned processor, A pre-search procedure for generating label data based on the link cost data and the node cost data, The processor performs a route determination procedure that determines a route between points based on the label data, In the aforementioned pre-search procedure, the processor: The first step involves the processor generating information about a hub consisting of one or more nodes in the road network based on the link cost data and node cost data. The processor performs a second step of including in the label data the cost of a route connecting each node to the hub to connect to the hub, for each node included in the road network, based on the link cost data and the node cost data, In the aforementioned path determination procedure, the processor: A pathfinding device characterized in that the processor performs a third step of determining a path between the points by referring to the cost on the hub, the cost of the path connecting to the hub, and the cost of the path connecting to the hub.

7. A pathfinding device according to claim 6, In the hub information, the direction of travel within each hub is defined as the forward direction if it is moving away from the starting point of each hub, and the direction of travel toward the starting point if it is moving toward the starting point. In the second step described above, the processor, As the label data, the following steps are performed: a procedure to generate a departure-side label for each combination of a departure node and the hub, and a procedure to generate a destination-side label for each combination of a destination node and the hub. In the procedure for generating the origin-side label, the processor performs a procedure to obtain, for each combination of the origin node and the hub, the cost to the connection point on the origin side, the forward connection cost on the origin side, and the reverse connection cost on the origin side. In the procedure for generating the destination label, the processor performs a procedure to obtain, for each combination of the destination node and the hub, the cost to the destination connection point, the forward connection cost on the destination side, and the reverse connection cost on the destination side. The cost to the connection point on the departure side includes the cost of the route from the departure node to the hub. The forward connection cost on the origin side includes the cost of the node at the connection point when the path from the origin node to the hub travels forward through the hub, starting from the connection point on the origin side which is a node connected to the hub. The aforementioned reverse connection cost on the origin side includes the cost of the node at the connection point when the path from the origin node to the hub travels in the reverse direction from the connection point on the origin side through the hub, The cost to the destination connection point includes the cost of the route from the hub to the destination node. The forward connection cost on the destination side includes the cost of the node at the connection point when the path from the hub to the destination node travels forward through the hub toward the connection point on the destination side, which is a node connected to the hub. The reverse connection cost on the destination side includes the cost of the node at the connection point when the path from the hub to the destination node travels in the reverse direction through the hub toward the connection point on the destination side. In the third step described above, the processor, A procedure for selecting a combination of the origin-side label for the route from the origin node to the hub and the destination-side label for the route from the hub to the destination node, based on the label data, A route search device characterized by performing the following steps: determining the cost of connecting to the hub by referring to the forward connection cost on the departure side and the forward connection cost on the destination side when the location of the connection point on the departure side is farther from the starting point of the hub than the location of the connection point on the departure side in the selected combination, and by referring to the reverse connection cost on the departure side and the reverse connection cost on the destination side when the location of the connection point on the destination side is closer to the starting point of the hub than the location of the connection point on the departure side.

8. A pathfinding device according to claim 7, In the third step described above, the processor, In the selected combination, if the location of the connection point on the departure side and the location of the connection point on the destination side are not the same, a procedure for determining the cost of the route corresponding to the combination based on the values ​​included in the selected departure side label and destination side label, A route search device characterized by performing the following steps: if, in the selected combination, the location of the connection point on the departure side and the location of the connection point on the destination side are the same, retrieve the node cost of the connection point from the node cost data, and determine the cost of the route corresponding to the combination based on the retrieved node cost and the values ​​included in the selected departure side label and destination side label.

9. A pathfinding device according to claim 8, In the third step described above, the processor, In the selected combination, if the location of the destination connection point is farther from the starting point of the hub than the location of the origin connection point, the procedure for determining the final cost of the route corresponding to that combination is the sum of the cost to the origin connection point, the forward connection cost on the origin side, the cost from the origin connection point to the destination connection point, the forward connection cost on the destination side, and the cost to the destination connection point. In the selected combination, if the location of the destination connection point is closer to the starting point of the hub than the location of the origin connection point, the procedure for determining the final cost of the route corresponding to that combination is the sum of the cost to the origin connection point, the reverse connection cost on the origin side, the cost from the origin connection point to the destination connection point, the reverse connection cost on the destination side, and the cost to the destination connection point. In the selected combination, if the location of the connection point on the departure side and the location of the connection point on the destination side are the same, the procedure for determining the sum of the cost to the connection point on the departure side and the cost to the connection point on the destination side as the undetermined cost of the route corresponding to that combination, A procedure for determining the route corresponding to the minimum confirmed cost as the route from the origin node to the destination node when the minimum confirmed cost is less than or equal to the minimum unconfirmed cost, A route search device characterized by performing the following steps: if the minimum value of the confirmed cost is greater than the minimum value of the unconfirmed cost, compare the unconfirmed cost with the smaller of the minimum value of the confirmed cost and the minimum value of the unconfirmed cost plus a predetermined margin, if the unconfirmed cost is smaller, restore the route corresponding to the unconfirmed cost, obtain the node costs on the hub through which the route passes, determine the value obtained by adding the obtained node costs to the unconfirmed cost as the confirmed cost, and determine the route corresponding to the minimum value of the confirmed cost as the route from the origin node to the destination node.

10. A pathfinding device according to claim 9, In the second step, the processor performs a procedure to determine the values ​​of the forward connection cost and the reverse connection cost at either the origin-side label or the destination-side label by subtracting the cost of the connection point node when passing through the hub in the forward and reverse directions, respectively. The route search device is characterized in that, in the third step, the processor performs a procedure to calculate the difference between the cost from the starting point of the hub to the connection point on the departure side and the cost from the starting point of the hub to the connection point on the destination side as the cost from the connection point on the departure side to the connection point on the destination side.