Route search device, control method and program

The route search device uses a metaheuristic algorithm to efficiently determine conflict-free vehicle routes optimizing multiple objectives, addressing the computational inefficiencies of CBS and MO-CBS by providing a practical solution with reduced computational cost.

JP7776007B2Active Publication Date: 2025-11-26NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024532517
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-12-08
Filing Date
2022-12-07
Publication Date
2025-11-26
Estimated Expiration
2042-12-07

AI Technical Summary

Technical Problem

The existing Conflict-Based Search (CBS) and Multi-Objective Conflict-Based Search (MO-CBS) algorithms for multi-agent pathfinding are computationally expensive due to the need to calculate multiple Pareto-optimal solutions, making them impractical for efficiently handling multiple objectives in vehicle path planning.

Method used

A route search device and method that utilizes a metaheuristic algorithm, such as an evolutionary algorithm, to determine a single set of conflict-free vehicle routes by evaluating utility scores based on multiple objectives, reducing computational cost and providing a practical solution without calculating the entire set of Pareto-optimal solutions.

Benefits of technology

The method provides a computationally less expensive and practical solution for generating conflict-free vehicle routes that optimize multiple objectives, such as efficiency, safety, and smoothness, without the need to evaluate the entire set of Pareto-optimal solutions, thus reducing execution time and operator effort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007776007000008
    Figure 0007776007000008
  • Figure 0007776007000009
    Figure 0007776007000009
  • Figure 0007776007000010
    Figure 0007776007000010
Patent Text Reader

Abstract

The route search device (2000) acquires vehicle information (60) and map information (70) and determines a route set (40) including a route (50) for each of the vehicles (20) in the vehicle set (10). The route set (40) is determined using the vehicle information (60) and map information (70). The route sets in the route set (40) do not compete with each other. To determine the route set, the route search device (2000) executes a route planning algorithm to generate a route for each vehicle. The route planning algorithm evaluates the routes based on a route utility score, which is a scalar value that represents how well the route achieves multiple objectives.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to multi-agent pathfinding problems. [Background technology]

[0002] The multi-agent path finding (MAPF) problem involves finding a path for each of multiple vehicles while optimizing a single objective, such as the total travel distance, so that the vehicles do not collide with each other or any static obstacles when traveling along a path. Non-Patent Document 1 discloses an algorithm called the Conflict-Based Search (CBS) algorithm for solving the MAPF problem. CBS is a two-level search algorithm divided into a high-level search and a low-level search. In the high-level search, CBS uses a constraint tree (CT) called a binary tree to find appropriate constraints on the time and position of vehicles to avoid collisions between them. In the low-level search, CBS finds a path for each vehicle under the constraints found in the high-level search.

[0003] The CBS algorithm disclosed in Non-Patent Document 1 evaluates paths based on a single objective, namely, path length, and therefore cannot handle multiple objectives. Non-Patent Document 2 discloses an algorithm called multi-objective conflict-based search (MO-CBS), which extends CBS to handle multiple objectives. Note that a generalization of the MAPF problem that handles multiple objectives is called "multi-objective MAPF (MOMAPF)." MO-CBS generates multiple CTs, each with a root node containing an initial Pareto-optimal solution. The root node does not consider collisions between vehicles. It then generates child nodes to resolve detected collisions. This method also considers graphs with a predetermined cost. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Guni Sharon, Roni Stern, Ariel Felner, and Nathan R. Sturtevant, "Conflict-Based Search for Optimal Multi-Agent Pathfinding," Elsevier, Artificial Intelligence, Volume 219, pages 40-66, February 2015. [Non-patent document 2] Zhongqiang Ren, Sivakumar Rathinam, and Howie Choset, "Multi-objective conflict-based search for multi-agent pathfinding," [online], January 11, 2021, [Retrieved December 7, 2021],<arXiv, https: / / arxiv.org / pdf / 2101.03805v2.pdf> Retrieved from [Non-patent document 3] Wei Chu and Zoubin Ghahramani, "Priority Learning with Gaussian Processes," ACM, the 22nd International Conference on Machine Learning, August 7, 2005 [Non-patent document 4] Eric Brochu, Vlad M. Cora, and Nando de Freitas, "A Tutorial on Bayesian Optimization of Expensive Cost Functions with Applications to Active User Modeling and Hierarchical Reinforcement Learning," [online], December 12, 2010, [Retrieved October 6, 2021],<arXiv, https: / / arxiv.org / pdf / 1012.2599.pdf> Retrieved from Summary of the Invention [Problem to be solved by the invention]

[0005] MO-CBS is computationally expensive because it must calculate multiple Pareto-optimal solutions. The objective of the present disclosure is to provide a computationally less expensive method for providing a set of routes for multiple vehicles while taking multiple objectives into account. [Means for solving the problem]

[0006] A route search device according to the present disclosure includes at least one processor and a memory that stores instructions. The at least one processor executes the instructions to acquire vehicle information and map information, the vehicle information indicating a pair of a start position and a destination position for each of a plurality of vehicles, and the map information indicating a map of a space in which the vehicles travel. The at least one processor determines a route set including routes for each of the vehicles using the vehicle information and the map information, the routes in the route set being configured so as not to conflict with each other, the determination of the route set includes executing a route planning algorithm to generate the routes for each of the vehicles, and the route planning algorithm evaluates the routes based on utility scores for the routes, the utility scores being scalar values ​​representing the degrees to which multiple objectives are optimized by the routes.

[0007] A control method according to the present disclosure is implemented by a computer and includes: acquiring vehicle information and map information, the vehicle information indicating a pair of a start position and a destination position for each of a plurality of vehicles, the map information indicating a map of a space in which the vehicles will travel; determining a route set including routes for each of the vehicles using the vehicle information and the map information, the routes in the route set being non-conflicting with each other; determining the route set includes running a route planning algorithm to generate the routes for each of the vehicles; and evaluating the routes based on utility scores for the routes, the utility scores being scalar values ​​representing the degree to which multiple objectives are optimized by the routes.

[0008] The non-transitory computer-readable storage medium of the present disclosure stores a program that causes a computer to execute the control method of the present disclosure described above. [Effects of the Invention]

[0009] The present disclosure provides a computationally less expensive method for providing a set of routes for multiple vehicles while taking multiple objectives into consideration. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a diagram illustrating an overview of a route search device according to a first embodiment. [Figure 2] FIG. 2 is a block diagram showing an example of a functional configuration of the route search device. [Figure 3] FIG. 2 is a block diagram showing an example of a hardware configuration of a computer that realizes the route search device. [Figure 4] 4 is a flowchart showing an example of processing executed by the route search device of the first embodiment. [Figure 5] FIG. 2 is a diagram illustrating an example of a structure of vehicle information in a table format. [Figure 6] 1 is a flowchart showing the overall flow of CBS. [Figure 7]10 is a flowchart showing an example of the flow of the GA path planner executed by the MAPF solution unit. [Figure 8] FIG. 10 is a diagram illustrating an example of an intersection step. [Figure 9] FIG. 10 illustrates the removal of waypoints from candidate paths for mutations. [Figure 10] FIG. 1 illustrates the addition of one or more waypoints to a candidate pathway for a mutation. [Figure 11] FIG. 1 illustrates the addition of one or more waypoints to a candidate pathway for a mutation. [Figure 12] FIG. 10 is a diagram illustrating an overview of a route search device according to a second embodiment. [Figure 13] FIG. 10 is a block diagram showing an example of the functional configuration of a route search device according to a second embodiment. [Figure 14] 10 is a flowchart showing an example of processing executed by the route search device of the second embodiment. [Figure 15] FIG. 10 is a diagram visually presenting multiple candidates for a set of routes. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings. In each drawing, the same elements are designated by the same reference numerals, and redundant explanations will be omitted as necessary. Furthermore, the storage unit is formed of one or more storage devices.

[0012] Embodiment 1 <Summary> Fig. 1 is a diagram illustrating an overview of a route search device 2000 according to embodiment 1. Note that the overview illustrated in Fig. 1 shows an example of the operation of the route search device 2000 to make the route search device 2000 easier to understand, and is not intended to limit or narrow the range of operations that the route search device 2000 can perform.

[0013] The route search device 2000 operates to generate a route set 40 for the vehicle set 10. The route set 40 is a collection of routes 50 and includes a route 50 for each of the multiple vehicles 20 included in the vehicle set 10. Each vehicle 20 is configured to move from its start position to its destination position along its corresponding route 50.

[0014] The vehicle set 10 is assumed to include N vehicles {v1,...,vN}. The route search device 2000 needs to generate a set of routes {p1,...,pN} for the vehicle set 10, where a route pi corresponds to each vehicle vi of i from 1 to N.

[0015] A vehicle set 10 is a collection of vehicles 20 and may be associated with an entity 30. The entity 30 may be any entity responsible for the vehicle set 10. For example, the entity 30 may be the operator of the vehicles 20 in the vehicle set 10 or a company that owns or manages the vehicle set 10.

[0016] Vehicle 20 may be any moving object that can be controlled to move along its corresponding path 50. In some implementations, vehicle 20 may be any type of autonomous vehicle, such as an automatic guided vehicle (AGV), a drone, etc. In other implementations, vehicle 20 may be any type of manually operated moving object.

[0017] The start position and the target position are defined in advance for each vehicle 20. To know the start position and the target position of the vehicle 20, the route search device 2000 can acquire vehicle information 60 indicating the start position and the target position of each vehicle 20 in the vehicle set 10.

[0018] There are at least two requirements for generating the path set 40. First, the path set 40 must be conflict-free, i.e., each path 50 must not conflict with any of the other paths in the path set 40. Second, the path set 40 must be generated such that a number of predefined objectives are substantially optimized. There are various objectives that may be considered. Some example objectives include efficiency, safety, and smoothness of the paths 50 in the path set 40. These objectives are described in more detail below.

[0019] In order to find a path set 40 that satisfies at least the two requirements described above, the path search device 2000 generates the path set 40 by solving a multi-objective multi-agent path finding (MOMAPF) problem. Hereinafter, the algorithm executed by the path search device 2000 to solve the MOMAPF problem will be referred to as a "MOMAPF solver." The MOMAPF solver repeatedly generates path sets 40 until it finds a path set 40 that satisfies the two requirements described above, i.e., no conflicts and substantially optimizing multiple objectives.

[0020] In order to define the MOMAPF problem to be solved, at least (1) a map of the space in which the vehicles 20 can move, and (2) the start position and the destination position of each vehicle 20 are required. Regarding (1), the route search device 2000 acquires map information 70 indicating the map of the space in which the vehicles 20 can move. Regarding (2), as described above, the vehicle information 60 indicates the start position and the destination position of each vehicle 20.

[0021] To satisfy the second requirement, the route search device 2000 considers the utility of each route 50. The utility of a route 50 is defined such that the better the route 50 is from the perspective of multiple objectives, the higher the utility of the route 50. The route search device 2000 measures the utility of a route 50 using a utility function defined to calculate a utility score of the route 50 that represents the degree to which the multiple objectives are optimized by the route 50. As will be described in detail later, the utility function may be defined as a weighted sum of multiple objective terms, each of which represents the degree to which the corresponding objective is optimized.

[0022] To enable the MOMAPF solver to evaluate the utility of each path 50, the MOMAPF solver generates each path 50 using a path planning algorithm, such as a metaheuristic algorithm (e.g., an evolutionary algorithm (EA)), a heuristic search algorithm, or an exhaustive search algorithm. Hereinafter, for purposes of example, we will assume that the path planning algorithm is implemented as a metaheuristic algorithm, and the metaheuristic algorithm used by the MOMAPF solver to generate each path 50 will be referred to as the "EA path planner." The EA path planner uses a utility function to calculate a utility score for each candidate path 50 generated by it.

[0023] <Examples of effects> According to the route search device 2000 of the first embodiment, a route set 40 including conflict-free routes for the multiple vehicles 20 in the vehicle set 10 is generated. The route search device 2000 uses a utility function that scalarizes the degree to which multiple objectives are optimized, and therefore can find a set of routes that are best from the perspective of multiple objectives. Therefore, unlike the MO-CBS disclosed by Non-Patent Document 2, which provides an entire set of Pareto solutions, the route search device 2000 can provide a single set of conflict-free routes with the highest utility instead of providing multiple Pareto-optimal conflict-free routes.

[0024] The route search device 2000 is more advantageous than MO-CBS in terms of practicality and efficiency. Specifically, the route search device 2000 can provide a solution that is one of the entire set of Pareto-optimal solutions or a solution close to it without calculating the entire set of Pareto-optimal solutions. This allows the route search device 2000 to provide a practical solution to an operator or the like in much less execution time than MO-CBS. In other words, the route search device 2000 can provide a solution with a lower computational cost than the method disclosed in Non-Patent Document 2. In addition, the route search device 2000 does not require the operator to select an optimal solution from the entire set of Pareto-optimal solutions, thereby reducing the time and effort required for the operator to obtain a solution. Furthermore, it may be sufficient for the operator to know a single optimal solution, and it may not be practical for the operator to know the entire set of Pareto-optimal solutions.

[0025] The route search device 2000 will be described in more detail below.

[0026] <Example of functional configuration> FIG. 2 shows an example of the functional configuration of the route search device 2000. The route search device 2000 includes an acquisition unit 2020 and a MOMAPF solution unit 2040. The acquisition unit 2020 acquires vehicle information 60 and map information 70. The MOMAPF solution unit 2040 solves the MOMAPF problem, in which a map is defined by the map information 70 and the start position and destination position of each vehicle 20 are defined by the vehicle information 60, to generate a route set 40 for the vehicle set 10. The MOMAPF problem is solved by executing a MOMAPF solver. The MOMAPF solver invokes an EA route planner for each vehicle 20 to generate a route 50 for the vehicle 20. The EA route planner uses a utility function to evaluate the route 50 from the perspective of multiple objectives.

[0027] <Example of hardware configuration> The route search device 2000 may be realized by one or more computers. Each of the one or more computers may be a dedicated computer created for realizing the route search device 2000, or may be a general-purpose computer such as a personal computer (PC), a server machine, or a mobile device.

[0028] The route search device 2000 can be realized by installing an application on a computer. The application is realized as a program that causes the computer to function as the route search device 2000. In other words, the program implements the functional components of the route search device 2000.

[0029] 3 is a block diagram showing an example of the hardware configuration of a computer 1000 that realizes a route search device 2000. In FIG. 3, the computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.

[0030] The bus 1020 is a data communication path through which the processor 1040, memory 1060, storage device 1080, input / output interface 1100, and network interface 1120 transmit and receive data to and from each other. The processor 1040 is a processor such as a central processing unit (CPU), a graphics processing unit (GPU), or a field-programmable gate array (FPGA). The memory 1060 is a main memory element such as a random access memory (RAM) or a read-only memory (ROM). The storage device 1080 is an auxiliary memory element such as a hard disk, a solid state drive (SSD), or a memory card. The input / output interface 1100 is an interface between the computer 1000 and peripheral devices (such as a keyboard, a mouse, or a display device). The network interface 1120 is an interface between the computer 1000 and a network. The network may be a local area network (LAN) or a wide area network (WAN).

[0031] The storage device 1080 may store the above-mentioned programs. The processor 1040 executes the programs to realize the respective functional components of the route search device 2000.

[0032] The hardware configuration of the computer 1000 is not limited to the configuration shown in FIG. For example, as described above, the route search device 2000 can be realized by a plurality of computers. In this case, these computers can be connected to each other via a network.

[0033] <Processing flow> 4 is a flowchart showing an example of processing executed by the route search device 2000. The acquisition unit 2020 acquires the vehicle information 60 and the map information 70 (S102). The MOMAPF solution unit 2040 executes a MOMAPF solver to solve a MOMAPF problem defined by the map indicated by the map information 70 and the start position and destination position of the vehicle 20 indicated by the vehicle information 60 (S104).

[0034] <Acquisition of vehicle information 60: S102> The acquisition unit 2020 acquires vehicle information 60 (S102). The vehicle information 60 indicates the start position and the target position of each vehicle. FIG. 5 shows an example of the configuration of the vehicle information 60 in table format. The vehicle information 60 in FIG. 5 includes tuples of a vehicle identifier 22, a start position 24, and a target position 26. Each tuple indicates a pair of the start position and the target position of the corresponding vehicle.

[0035] There are various methods for acquiring the vehicle information 60. For example, the vehicle information 60 is stored in advance in association with the identifier of the corresponding entity in a storage unit accessible by the route search device 2000. In this case, the acquisition unit 2020 acquires the vehicle information 60 associated with the identifier of the entity 30 from the storage unit. Note that the acquisition unit 2020 acquires the identifier of the entity 30 by any means, such as by receiving a user input specifying the identifier of the entity 30.

[0036] In another embodiment, the acquisition unit 2020 may acquire the vehicle information 60 by receiving the vehicle information 60 transmitted from a mobile device or another computer, such as a PC, operated by the entity 30 .

[0037] <Getting map information 70: S102> The acquisition unit 2020 acquires map information 70 (S102). The map information 70 represents a map of the space in which the vehicle 20 moves. Theoretically, the map can be expressed as a graph G=(V, E), where V is a set of vertices and E is a set of edges. A vertex represents a position, and an edge represents a connection between positions.

[0038] There are various ways to implement a spatial map for the MOMAPF problem. In some implementations, the map is implemented as a two-dimensional (2D) or three-dimensional (3D) grid map. In this case, each position is represented by a cell within the grid map. Further, each connection between positions is represented by a connection between cells within the grid map.

[0039] The map information 70 can also indicate the positions of each static obstacle such as a wall, shelf, etc. Each obstacle is defined by one or more positions (e.g., cells of the grid map) that are permanently occupied at least during the movement of the vehicle 20.

[0040] There can be various ways to obtain the map information 70. For example, the map information 70 is pre-stored in a storage unit accessible by the path search device 2000. In this case, the acquisition unit 2020 acquires the map information 70 from the storage unit. In another embodiment, the acquisition unit 2020 may acquire it by receiving the map information 70 sent from another computer.

[0041] <Solving the MOMAPF problem: S104> The MOMAPF solving unit 2040 executes a MOMAPF solver to solve the MOMAPF problem defined based on the map information 70 and the vehicle information 60, and generates a set of paths 40 for the set of vehicles 10. In some implementations, the MOMAPF solver is implemented by a modified version of the conflict-based search (CBS) algorithm. Note that the original version of CBS is disclosed in Non-Patent Document 1. Hereinafter, the modified version of CBS adopted by the path search device 2000 is referred to as "modified CBS".

[0042] CBS is a two-level search algorithm divided into a high-level search and a low-level search. The high-level search is performed using a binary tree called a constraint tree (CT). Each node of the CT contains (1) the time and location constraints associated with the conflicts detected by the low-level search performed at its parent node, (2) a single candidate solution (i.e., the set of candidates for all vehicle paths) that satisfies all constraints implied by that node and its ancestors, and (3) a solution evaluation that is the sum of the total path durations of all vehicles in the original CBS. The root node of the CT contains an empty set called constraints.

[0043] The constraints included in the nodes indicate which vehicles 20 are prohibited from occupying which positions at which times. For example, it is detected that at time T1, vehicles A1 and A2 collide with each other at position L1. In this case, the collision can be avoided by adopting the constraints "vehicle A1 must not occupy position L1 at time T1" and "vehicle A2 must not occupy position L1 at time T1."

[0044] For each node in CT, a low-level search is invoked for the vehicle 20 whose path 50 must be re-planned. In the low-level search, the original CBS uses A as the path planning algorithm. * A search algorithm is used to find a new path for the vehicle while satisfying the constraints implied by the current node and its ancestors. On the other hand, the modified CBS uses an EA path planner (i.e., a metaheuristic algorithm) as the path planning algorithm in the low-level search.

[0045] The overall flow of the CBS will be described below with reference to FIG. 6. FIG. 6 is a flowchart showing the overall flow of the CBS. Note that the overall flow shown in FIG. 6 is common between the original CBS and the modified CBS. First, the CT is initialized by generating a root node and adding it to the open list (S202). The step of generating a node of the CT includes the steps of (1) generating a candidate solution for the node under the constraints indicated by the node and its ancestors, and (2) evaluating the solution. The solution and its evaluation are set to the node. The open list includes one or more nodes whose candidate solutions should be checked to see if they are conflict-free.

[0046] Note that when generating the root node, candidate solutions are generated by individually invoking the path planning algorithm for each vehicle to generate a path for each vehicle. On the other hand, when generating nodes other than the root node, candidate solutions are generated by applying the path planning algorithm to a single vehicle that needs to re-plan its path due to a conflict with another path, and replacing the vehicle's old path with the new path. Except for this new path, the candidate solution for this node is the same as the candidate solution for the parent node.

[0047] Steps S204 to S208 are repeated until a conflict-free solution is found. In step S204, the best node is searched for in the open list. The best node is the node with the highest rating. In the original CBS, the node with the lowest cost is searched for as the best node. On the other hand, as will be described in more detail later, the modified CBS searches for the node with the highest utility as the best node.

[0048] The searched node is checked to see if its corresponding candidate solution is conflict-free (S206). If the candidate solution corresponding to the searched node is conflict-free (S206: YES), the CBS outputs this candidate solution as the solution to the MOMAPF problem to be solved, and then terminates (S210).

[0049] On the other hand, if the candidate solution corresponding to the found node is not conflict-free (S206: NO), a child node of the found node is generated and added to the open list (S208).

[0050] The modified CBS differs from the original CBS in at least two ways. First, the modified CBS is A * Instead of a search algorithm, the EA path planner is used as a path planning algorithm in the low-level search. Second, the modified CBS evaluates candidate solutions from the perspective of multiple objectives. * Due to the nature of the algorithm, the original CBS cannot handle multiple objectives and only handles a single objective (path length). On the other hand, evolutionary algorithms do not have this limitation, so the EA path planner can handle multiple objectives.

[0051] These two points will be explained in more detail below.

[0052] <<Evolutionary Algorithms for Low-Level Search>> As mentioned above, in the modified CBS, the path planning algorithm for low-level search is implemented by an EA path planner. In some implementations, the EA path planner is implemented by a genetic algorithm, which belongs to the evolutionary algorithm. Hereinafter, the EA path planner implemented by a genetic algorithm and adopted for low-level search in the modified CBS will be referred to as the "GA path planner."

[0053] 7 is a flowchart showing an example of the flow of the GA path planner executed by the MOMAPF solver 2040. Note that, as mentioned above, a low-level search is performed for a vehicle 20 at a node of CT under the constraints indicated by that node and its ancestors. Hereinafter, the vehicle 20 for which the GA path planner is called is referred to as the "target vehicle."

[0054] First, the GA path planner generates an initial population of candidate paths for the target vehicle under constraints corresponding to the current node of CT and its ancestors (S302). In a general GA algorithm, the term "population" refers to a set of candidate solutions. In the case of the GA path planner, the population represents a set of candidate paths for the target vehicle (i.e., candidate paths 50). The population is initialized by randomly generating multiple candidate paths, which are paths from the target vehicle's starting position to its goal position.

[0055] Steps S304 to S312 are repeatedly executed until it is determined in step S306 that a predefined termination condition is satisfied. The termination condition will be described later.

[0056] In S304, the GA route planner uses a utility function to evaluate each candidate route in the population. Then, the GA route planner checks whether a termination condition is met (S306). If the termination condition is met (S306: YES), the GA route planner outputs the candidate route with the highest utility in the current population (S314) and then terminates.

[0057] If the termination condition is not met (S306: NO), the GA path planner applies genetic operators (selection, crossover, and mutation) to the population to transform it into the next generation. In step S308, the GA path planner selects a survivor from the population. The survivor is a candidate path that is retained in the population. In other words, the remainder of the population (i.e., candidate paths other than the survivor) is removed from the population. There are various well-known methods for selecting a survivor in a GA algorithm, for example, random selection, and any one of them can be used.

[0058] Next, the GA path planner modifies one or more candidate paths in the population by crossover to generate new candidate paths, and adds the generated candidate paths to the population (S310).The GA path planner then modifies one or more candidate paths in the population with mutations to generate new candidate paths, and adds the generated candidate paths to the population (S312).The details of these recombinations will be described later. Note that recombination by mutation may be performed before recombination by crossover.

[0059] After applying the genetic operators to the population, the GA path planner returns to step S304: Evaluate the population, and the transformation of the population to the next generation and the evaluation of the population are repeated until the termination condition is met.

[0060] The GA path planner can employ various termination conditions. For example, the termination condition may include a condition that the number of iterations reaches a predefined threshold. In this case, the GA path planner terminates when it executes step S306 more than the predefined number of times.

[0061] Alternatively or additionally, the termination condition may include a condition that "the change in fitness level is less than a predefined threshold for a given number of iterations." This means that the GA path planner runs until convergence. In a GA algorithm, the fitness level represents how close the current solution is to the optimal solution for the given problem. In each iteration, the GA path planner can use the highest utility score calculated for the candidate paths in the population as the value of the fitness level.

[0062] Crossover and mutational recombination are described in more detail below.

[0063] <<<Recombination by crossover>>> The crossover step mainly serves to refine generations to obtain better candidate paths. This refinement is achieved by recombining two or more individuals (pathway candidates in the population), called parents, to generate better solutions, called offspring.

[0064] Behind the scenes of the GA pathway planner, the crossover step involves combining two parent candidate pathways, i.e., survivors after the selection step, into a new offspring pathway. Figure 8 shows an example of the crossover step. Candidate pathways 80-1 and 80-2 have two common positions 90-1 and 90-2. Crossover recombination is applied to candidate pathways 80-1 and 80-2, thereby generating candidate pathways 80-3 and 80-4. Specifically, candidate pathways 80-3 and 80-4 are generated by exchanging the portion of candidate pathway 80-1 between positions 90-1 and 90-2 with the portion of candidate pathway 80-2 between positions 90-1 and 90-2.

[0065] The candidate paths to which the crossover step is applied must have at least one common location among them. Thus, a GA path planner can search the universe for one or more pairs of two candidate paths that have at least one common location, and apply the crossover step to one or more pairs found.

[0066] <<<Mutation-Induced Recombination>>> The mutation step is intended to provide the necessary diversity, explore the solution space, and prevent the population from becoming trapped in a local optimum. GA path planners use one or more types of mutational moves to explore potentially better solutions. For example, GA path planners modify portions of candidate paths by performing random moves or informed moves. In the case of random moves, the GA path planner randomly selects one or more portions of the candidate path and modifies the selected portions by random means.

[0067] More specifically, the GA path planner randomly selects a waypoint that is located before the earliest conflict. Note that a waypoint is a set of locations and times that describe a single point in a path. Next, a set of possible recombinations in the neighborhood of the randomly selected waypoint is determined, and one move is randomly selected from them. There are two types of possible recombinations: detours and waiting moves. A detour is a recombination that spatially modifies part of the path. A waiting move is a recombination that adds a new waypoint whose location is the same as the location of the randomly selected waypoint but whose time is different from the time of the randomly selected waypoint, thereby adding one more time step to the path. Note that the GA path planner can randomly select more than one waypoint and perform one move for each of the randomly selected waypoints.

[0068] If the recombined path is infeasible, the selection is repeated until a feasible solution is found. If the set of possible recombinations does not contain a feasible move, the set is incremented in the sense that nearby detours and waiting time steps around the selected waypoint are increased.

[0069] For the notified movement, the GA route planner detects one or more portions of the candidate route that meet predefined conditions and modifies the detected portions in a predefined manner. In some implementations, the notified movement can include the deletion of one or more waypoints. When performing waypoint deletion, the GA route planner detects waypoints that form detours and deletes those waypoints to remove the detours from the candidate route. Figure 9 illustrates the deletion of waypoints from a variant candidate route. For simplicity, Figure 9 shows only waypoints where the vehicle changes direction. In the upper diagram of Figure 9, candidate route 80-5 includes waypoints 100-1, 100-2, 100-3, and 100-4 that form detours. In this example, a new candidate route 80-6 is generated by deleting waypoints 100-1 through 100-4. Deleting waypoints where the vehicle changes direction reduces the number of turns in the candidate route, thus increasing the smoothness of the candidate route.

[0070] 9, the candidate route 80-7 includes waypoints 100-5, 100-6, and 100-7 that form a detour. In this example, a new candidate route 80-8 is generated by deleting waypoints 100-1 to 100-3.

[0071] In another implementation, the notified movement may include adding waypoints. The adding waypoints may be performed to resolve conflicts with paths of vehicles other than the target vehicle. Specifically, the GA route planner detects one or more portions of a candidate path that conflict with paths of vehicles other than the target vehicle. The GA route planner then adds waypoints to the candidate path to avoid the collision.

[0072] There are at least two ways to add waypoints to a route: adding waypoints in space and adding waypoints in time. Figures 10 and 11 illustrate adding one or more waypoints to a candidate route for mutation. In Figure 10, candidate route 80-9 has an edge that conflicts with route 130-1, whose direction is opposite to that of candidate route 80-9. An edge conflict is a type of conflict in which two vehicles travel through the same edge from opposite directions.

[0073] The GA path planner can randomly add waypoints around the location of the edge conflict, thereby adding detours to candidate path 80-9 to resolve the edge conflict with path 130-1. Specifically, four waypoints, 100-8, 100-9, 100-10, and 100-11, are added to candidate path 80-9, thereby generating candidate path 80-10.

[0074] 11, candidate path 80-11 has a vertex that conflicts with path 130-2 at location L1 at time T1. A vertex conflict is a type of conflict in which two vehicles simultaneously occupy the same location. A vertex conflict can be resolved if one vehicle waits until the other vehicle has passed the location where the collision occurs.

[0075] Therefore, in the case of FIG. 11, the GA path planner can randomly add waypoints to several random positions that are located before the position of the vertex conflict and do not conflict with another existing vehicle. In FIG. 11, the GA path planner can add two waypoints 100-12 and waypoint 100-13 to the candidate path 80-11, thereby generating a candidate path 80-12. The waypoint 100-12 indicates (position L2, time T2), while the waypoint 100-13 indicates (position L2, time T3), where T2 < T1 < T3. By adding two waypoints that indicate the same position but different times, a waiting operation is added to the candidate path. In the case of FIG. 11, the target vehicle is scheduled to stay at position L2 from time T2 to time T3. Therefore, the vehicle moving along the path 130-2 passes through position L1 while the target vehicle stays at position L2. As a result, the vertex conflict is resolved. <00,00299><00,00300><00,00301><<Evaluation of Candidate Path>> <00,00302>During the execution of the GA path planner, each candidate path in the population is evaluated from multiple objective perspectives. Specifically, the candidate path is evaluated using a utility function that calculates the utility score of the candidate path. The utility score is a scalar value that represents the degree to which multiple objectives are optimized. In this way, from the perspective of multiple objectives, the utility of the candidate path is scalarized as a utility score by the utility function. <00,00303><00,00304><00,00305>There are various possible objectives. Some examples of objectives are (1) efficiency, (2) safety, and (3) smoothness. The efficiency of a candidate path can be defined as the total length of the candidate path. Specifically, the shorter the total length of the candidate path, the more efficient the candidate path is evaluated. In this case, the efficiency of the candidate path can be calculated as follows. <00,00306><00,00307>

Equation

[0078] The safety of a candidate route can be defined as the shortest distance between the target vehicle's route and an obstacle. Specifically, the longer the shortest distance between the target vehicle and an obstacle, the safer the route is evaluated to be. In this case, the safety of a candidate route can be calculated as follows:

number

[0079] In another example, the safety of a candidate path can be calculated as follows:

number

[0080] The smoothness of a candidate path can be defined as the average change in angle during movement along the candidate path. Specifically, the smaller the average change in angle in the candidate path, the smoother the candidate path is evaluated to be. The smoothness of a candidate path can be calculated as follows:

number

[0081] In another example, the smoothness of a candidate path may be defined as the number of turns, in which case the smoothness of a candidate path can be calculated as follows:

number

[0082] As mentioned above, the utility of a candidate route is calculated using a utility function that outputs a scalar value called a utility score. For example, the utility function may be defined as a weighted sum of multiple objective terms, where each objective term represents the degree to which its corresponding objective is optimized. In this case, the utility function may be defined as follows:

number

[0083] If efficiency, safety, and smoothness are used as objectives, the utility function can be defined as follows:

number

[0084] The weight assigned to each objective may be manually defined in advance, but as will be explained in more detail below, the weight of an objective can be dynamically determined by the route search device 2000 based on user preferences.

[0085] In the above explanation, it should be noted that the smaller the efficiency, safety, and smoothness values ​​described above, the better. Therefore, the smaller the utility score u(P), the higher the utility of the candidate route P is evaluated to be. Therefore, the GA route planner selects the candidate route with the lowest utility score as the candidate route with the highest utility.

[0086] It should also be noted that the objectives to be considered are not limited to route efficiency, safety, and smoothness: for example, vehicle energy consumption or vehicle task allocation can be treated as objectives.

[0087] It should also be noted that the utility of a path is not limited to the weighted sum of multiple objectives. Any method that can calculate a single scalar value by taking into account the degree of optimization of multiple objectives can be adopted. For example, the Chebyshev algorithm can be adopted.

[0088] To determine the best node in step 204 of Figure 6, the MOMAPF solver evaluates the utility of the candidate path set 40 for each node. The utility of a candidate path set 40 can be calculated based on the utility score of each path in the candidate. For example, the MOMAPF solver calculates the utility score of the path set as the sum of the utility scores of all paths in the path set. In another example, the MOMAPF solver calculates the utility score of a path as a statistic (e.g., average, minimum, maximum, etc.) of the utility scores of all paths in the path set.

[0089] If the smaller the utility score, the higher the utility of the path, the smaller the utility score of the path, the higher the utility of the path set. Therefore, the node selected as the best node by the MOMAPF solver contains the candidate path set whose utility score is the smallest among all.

[0090] <Result output> The MOMAPF solution unit 2040 obtains a route set 40 as a solution to the MOMAPF problem solved by the MOMAPF solver. The route search device 2000 can output information indicating the route set 40 (hereinafter, output information). There are various methods for outputting the output information. In some implementations, the route search device 2000 can store the output information in a storage device. In other implementations, the route search device 2000 can output the output information to a display device so that the display device displays the output information. In this case, the display device displays the map indicated by the map information 70, the start position and destination position of each vehicle 20 indicated by the vehicle information 60, and the routes of each vehicle 20 included in the route set 40. 50 In other implementations, the route search device 2000 can send output information to any computer that uses the route set in some way.

[0091] Embodiment 2 <Summary> Fig. 12 shows an overview of a route search device 2000 according to embodiment 2. Note that the overview shown in Fig. 12 shows an example of an implementation of the operation of the route search device 2000 to make the route search device 2000 easier to understand, and is not intended to limit or narrow the range of operations that the route search device 2000 can perform.

[0092] The route search device 2000 of embodiment 2 is the same as the route search device of embodiment 1, except that it elicits user preferences regarding the importance of each objective considered in the utility function (e.g., appropriate weights of the objectives in the utility function defined as a weighted sum) and generates a new utility function whose configuration is determined based on the user preferences.

[0093] The specific method for constructing the utility function depends on the type of utility function. For example, if the utility function is defined as a weighted sum of multiple objectives, the configuration of the utility function is a set of weights of the objectives. In the first embodiment, the configuration of the utility function may be defined in advance.

[0094] Specifically, the route search device 2000 of the second embodiment repeatedly solves the MOMAPF problem while updating the utility function until an appropriate utility function is found. In each iteration, the route search device 2000 provides the user with multiple candidates for the route set 40 generated by the MOMAPF solver using utility functions with mutually different configurations, allows the user to select one of the candidates, and generates a new utility function whose configuration is determined based on the configuration of the utility function for the selected candidate.

[0095] <Examples of effects> Because the route search device 2000 evaluates the candidate route set 40 using the utility score of the route calculated using the utility function, the accuracy of the evaluation depends on the configuration of the utility function. Specifically, the more appropriately the utility function is configured, the more accurately the utility score represents the utility of the route. However, it may be difficult for a user to grasp the appropriate configuration of the utility function by themselves.

[0096] According to the route search device 2000 of the second embodiment, the utility function is iteratively modified based on the user's selection of a route set from multiple candidates, thereby improving the utility function. Therefore, the route search device 2000 can automatically generate a utility function that can accurately calculate the utility of a route. As a result, the route search device 2000 can accurately assign a high utility to the route set 40.

[0097] The route search device 2000 will be described in more detail below.

[0098] <Example of functional configuration> FIG. 13 is a block diagram showing an example of the functional configuration of a route search device 2000 according to the second embodiment. Compared with the route search device 2000 according to the first embodiment, the route search device 2000 according to the second embodiment further includes a candidate providing unit 2060 and a preference eliciting unit 2080. The candidate providing unit 2060 provides the user with two or more candidate route sets 40 obtained as solutions to the MOMAPF problem by a selectable means using different utility functions. 080 obtains information indicating which candidate path set 40 the user has selected, and generates a new utility function based on the user's selection.

[0099] Next, the MOMAPF solving unit 2040 calculates a MOMAPF solver using the new utility function. Then, the candidate providing unit 2060 provides the candidate path set 40 generated using the new utility function to the user, along with the candidate path set 40 last selected by the user. Until a predefined termination condition is satisfied, the route search device 2000 provides multiple candidate path set 40 candidates by a selectable means, and repeatedly generates candidate path set 40 while generating a new utility function based on the user's selection of the candidate path set 40.

[0100] <Hardware configuration example> The route search device 2000 of the second embodiment can be realized by one or more computers similar to those that realize the route search device 2000 of the first embodiment. Therefore, the hardware configuration thereof can also be shown in FIG.

[0101] <Processing flow> 14 is a flowchart showing an example of processing executed by the route search device 2000 in embodiment 2. The acquisition unit 2020 in embodiment 2 acquires vehicle information 60 and map information 70 by the same means as in embodiment 1 (S402). The MOMAPF solution-finding unit 2040 initializes a plurality of utility functions having different configurations (S404).

[0102] Steps S406 to S414 are repeatedly executed until a predefined termination condition is met. The MOMAPF solution-finding unit 2040 executes the MOMAPF solver (S406). In the first iteration, the MOMAPF solver is executed for each of the multiple utility functions initialized in step S404. On the other hand, in the second and subsequent iterations, the MOMAPF solver is executed for the utility function generated in the previous step S412.

[0103] The candidate provider 2060 provides two or more candidates of the path set 40 (S408) and obtains the user's selection (S410). The preference induction unit 2080 generates a new utility function based on the obtained selection (S412).

[0104] The preference induction unit 2080 checks whether the end condition is satisfied (S414). When the end condition is satisfied (S414: YES), the path search device 2,000 outputs the path set 40 that is the latest selection of the user (S416).

[0105] On the other hand, when the end condition is not satisfied (S414: NO), the MOMAPF solver 2040 executes the MOMAPF solver using the new utility function (S406).

[0106] <Initialization of utility function: S404> The MOMAPF solver 2040 initializes a plurality of utility functions (S404). In this step, the MOMAPF solver 2040 generates a plurality of utility functions having different configurations. Assuming that the utility function is defined by the above formula (7) and two utility functions are generated in the initialization step. In this case, the MOMAPF solver 2040 can generate two utility functions, u_1(P) with the configuration of "w_1 = a, w_2 = b, w_3 = c", and u_2(P) with the configuration of "w_1 = d, w_2 = e, w_3 = f", where the values of a, b, c, d, e, f are real numbers greater than or equal to 0, and a + b + c = 1, and d + e + f = 1.

[0107] There are various methods for initializing the utility function. In some implementation forms, the utility function is generated by a random method. For example, the weights of each objective are determined randomly.

[0108] <Execution of MOMAPF solver: S406> The MOMAPF solver 2040 executes the MOMAPF solver to generate candidate paths for the path set 40 (S406). In the first iteration (i.e., immediately after the utility functions are initialized), the MOMAPF solver 2040 executes the MOMAPF solver for each of the utility functions generated in the initialization step. When the MOMAPF solver is executed using a particular utility function, this utility function is used to evaluate candidate paths in the MOMAPF solver.

[0109] For the second and subsequent iterations, the most recent step S The MOMAPF solver is run using the new utility function generated in 412. Thus, the candidate paths are evaluated using the new utility function.

[0110] Note that solving multiple MOMAPF problems can be time-consuming, and a user may not want to wait for multiple executions of the MOMAPF solver. Thus, in some implementations, after obtaining vehicle information 60 and map information 70, the route planning device can calculate a solution to the MOMAPF problem for each possible utility function that can be suggested to the user without synchronizing with the elicitation of user preferences. By doing so, a solution to the MOMAPF problem can be prepared in advance for each possible utility function.

[0111] Therefore, when the MOMAPF solver is run with a new utility function, it can first determine whether a solution corresponding to the new utility function is already prepared. If a solution is prepared, the MOMAPF solver provides the prepared solution by retrieving it from the storage device where the prepared solution is stored, without solving the MOMAPF problem at that time. On the other hand, if a solution is not yet prepared, the MOMAPF solver uses the new utility function to MO Solve the MAPF problem and provide the solution.

[0112] <Providing a set of candidate routes: S408> The candidate providing unit 2060 provides a plurality of candidate path sets 40 generated using different utility functions (S408). In the first iteration, the MOMAPF solving unit 2040 executes the MOMAPF solver using utility functions with different configurations, thereby obtaining a plurality of candidate path sets 40. The candidate providing unit 2060 can provide these multiple candidates to the user so that the user can compare them with each other.

[0113] In the second and subsequent iterations, the MOMAPF solver 2040 runs the MOMAPF solver using the new utility function generated in the most recent step 412, thereby obtaining new candidates for the path set 40. The multiple candidates for the path set 40 to be provided to the user are then modified by replacing the candidates for the path set 40 that were not selected by the user in the previous iteration with the new candidates for the path set 40 generated in the current iteration. In this way, the candidate providing unit 2060 provides the user with the candidates for the path set 40 selected in the previous iteration as well as the new candidates for the path set 40 generated in the current iteration, allowing the user to compare the new candidates with the previously selected candidates.

[0114] The candidate providing unit 2060 preferably visually provides multiple candidates for the path set 40 so that the user can easily compare them with each other. FIG. 15 shows the visual presentation of multiple candidates for the path set 40. A window 110 is a window that can be displayed on a display device that can be viewed by the user, such as a display device of the user's mobile device or PC. In FIG. 15, the utility function is defined by Equation (7), which is a weighted sum of efficiency, safety, and smoothness.

[0115] Window 110 visually shows two candidate path sets 40. The candidate on the left is generated using a utility function with weights for efficiency (EF), safety (SA), and smoothness (SM) equal to a1, b1, and c1, respectively. The candidate on the right is generated using a utility function with weights for efficiency (EF), safety (SA), and smoothness (SM) equal to a2, b2, and c2, respectively. Window 110 also displays the total travel time (the efficiency of path set 40), the safety level, and the smoothness level, allowing the user to select one of the candidate path sets 40 while taking these values ​​into consideration.

[0116] The input interface 120 includes two buttons, the left button is used to select configuration 1 and the right button is used to select configuration 2. The user can select any of the candidates in the path set 40 by pressing the corresponding button.

[0117] <Get user selection: S410> The preference elicitation unit 2080 acquires the user's selection (S410). There are various methods for acquiring which option the user selected. For example, in the example shown in FIG. 15, the preference elicitation unit 2080 acquires information indicating which button the user pressed.

[0118] <Generation of utility function: S412> The preference elicitation unit 2080 generates a new utility function based on the user's selection of candidates in the route set 40. Specifically, the preference elicitation unit 2080 determines a new configuration of the utility function based on the user's selection of candidates in the route set 40, and generates a utility function of the determined configuration.

[0119] There are various methods for determining the configuration of the utility function based on the user's selection of the candidate path set 40. In some implementations, the preference elicitation unit 2080 determines the configuration of the utility function using Bayesian optimization. For example, Bayesian optimization using a Gaussian process as disclosed in Non-Patent Document 3 or Non-Patent Document 4 may be used. More precisely, a Gaussian probit model (Non-Patent Document 3 and Non-Patent Document 4) can be used for priority learning. In this case, the preference elicitation unit 2080 obtains the configuration of the utility function used to generate the candidate path set 40 selected by the user in step S410 of the current iteration, and performs Bayesian optimization using a Gaussian process using the obtained configuration of the utility function as input. Then, the preference elicitation unit 2080 obtains a new configuration of the utility function as the output of the Bayesian optimization and generates a new utility function using the obtained new configuration. In Bayesian optimization using a Gaussian process, a Matern kernel is commonly used. However, any type of kernel may be used by the preference elicitation unit 2080. Also, a commonly used acquisition function is the Upper Confidence Bound.

[0120] <End of preference inducement: S414> The route search device 2000 outputs the route set 40 when the termination condition is satisfied. There are various conditions that can be included in the termination condition. For example, the termination condition may include a condition that "the number of iterations reaches a predefined threshold." In this case, the route search device 2000 outputs the route set 40 when step S414 exceeds the predefined number of times.

[0121] Alternatively, or in addition, the termination condition may include the condition that “the generative model reaches convergence.” Note that there are various known methods for determining whether the generative model reaches convergence, and one of these methods may be used to determine whether the generative model has reached convergence.

[0122] <Result output> After the termination condition is satisfied (S414: YES), the route search device 2000 outputs output information indicating the candidates for the route set 40 that are the user's latest options as the route set 40. The method for outputting the output information has already been described in the first embodiment.

[0123] Although the present disclosure has been described with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that are understandable to those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure.

[0124] A program in the present disclosure includes instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technologies, CD-ROM, digital versatile disc (DVD), Blu-ray disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.

[0125] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes. <Additional Notes> (Appendix 1) A route search device, at least one processor; a memory for storing instructions; The at least one processor executes the instructions to: Acquiring vehicle information and map information, the vehicle information indicating a pair of a start position and a target position for each of a plurality of vehicles, and the map information indicating a map of a space in which the vehicles will move; determining a route set including routes for each of the vehicles using the vehicle information and the map information, the routes in the route set being configured to not conflict with each other; The determining of the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles, and the route planning algorithm evaluates the routes based on utility scores of the routes, which are scalar values ​​representing the degree to which multiple objectives are optimized by the routes. (Appendix 2) determining the path set includes executing a modified version of a conflict-based search algorithm, in which a low-level search is performed by executing the path planning algorithm implemented by a metaheuristic algorithm; 2. A route search device according to claim 1. (Appendix 3) the path planning algorithm calculates the utility score for the target path using a utility function; The utility function is defined as a weighted sum of a plurality of objective terms, each of which represents the degree to which the objective corresponding to that objective is optimized by the path. 3. The route search device according to claim 1 or 2. (Appendix 4) The plurality of objectives include efficiency of the route, safety of the route, smoothness of the route, or two or more thereof; 4. A route search device according to claim 3. (Appendix 5) the path planning algorithm calculates the utility score for the target path using a utility function; The determination of the set of paths comprises: providing a plurality of candidate sets of routes to a user in a selectable manner; acquiring information indicating the candidates of the set of routes selected by the user; generating a new utility function based on the selected candidates of the path set; determining new candidate paths for the set of paths using the new utility function; replacing one of the plurality of candidates of the set of routes to be provided to the user with the new candidate of the set of routes; 5. The route search device according to claim 1, further comprising repeatedly executing the above until a termination condition is satisfied. (Appendix 6) The generation of the new utility function comprises: performing a Bayesian optimization using a Gaussian process using as input the configuration of the utility function used to generate the candidate set of paths last selected by the user, thereby obtaining a new configuration of the utility function; generating the new utility function using the obtained new configuration; 6. The route search device according to claim 5, further comprising: (Appendix 7) acquiring vehicle information and map information, the vehicle information indicating a pair of a start position and a target position for each of a plurality of vehicles, and the map information indicating a map of a space in which the vehicles will move; determining a route set including routes for each of the vehicles using the vehicle information and the map information, the routes in the route set not conflicting with each other; determining the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles, the route planning algorithm evaluating the routes based on a utility score for the route, the utility score being a scalar value representing the degree to which multiple objectives are optimized by the route; A computer-implemented control method. (Appendix 8) determining the path set includes executing a modified version of a conflict-based search algorithm that performs a low-level search by executing the path planning algorithm implemented by a metaheuristic algorithm; 8. The control method according to claim 7. (Appendix 9) the path planning algorithm calculates the utility score for the target path using a utility function; The utility function is defined as a weighted sum of a plurality of objective terms, each of which represents the degree to which the objective corresponding to that objective is optimized by the path. 9. The control method according to claim 7 or 8. (Appendix 10) The plurality of objectives include efficiency of the route, safety of the route, smoothness of the route, or two or more thereof; 10. The control method of claim 9. (Appendix 11) the path planning algorithm calculates the utility score for the target path using a utility function; The determination of the set of paths comprises: providing a plurality of candidate sets of routes to a user in a selectable manner; acquiring information indicating the candidates of the set of routes selected by the user; generating a new utility function based on the selected candidates of the path set; determining new candidate paths for the set of paths using the new utility function; replacing one of the plurality of candidates of the set of routes to be provided to the user with the new candidate of the set of routes; 11. The control method according to any one of Supplementary Note 7 to Supplementary Note 10, further comprising repeatedly executing the above until a termination condition is satisfied. (Appendix 12) The generation of the new utility function comprises: performing a Bayesian optimization using a Gaussian process that uses as input the configuration of the utility function used to generate the candidate set of paths last selected by the user, thereby obtaining a new configuration of the utility function; generating the new utility function using the obtained new configuration; 12. The control method of claim 11, further comprising: (Appendix 13) On the computer, acquiring vehicle information and map information, the vehicle information indicating a pair of a start position and a target position for each of a plurality of vehicles, and the map information indicating a map of a space in which the vehicles will move; determining a route set including routes for each of the vehicles using the vehicle information and the map information, the routes in the route set not conflicting with each other; determining the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles, the route planning algorithm evaluating the routes based on a utility score for the route, the utility score being a scalar value representing the degree to which the route achieves multiple objectives; A non-transitory computer-readable storage medium that stores a program. (Appendix 14) determining the path set includes executing a modified version of a conflict-based search algorithm in which a low-level search is performed by executing the path planning algorithm implemented by a metaheuristic algorithm; 14. The storage medium of claim 13. (Appendix 15) the path planning algorithm calculates the utility score for the target path using a utility function; The utility function is defined as a weighted sum of a plurality of objective terms, each of which represents the degree to which the objective corresponding to that objective is optimized by the path. 15. A storage medium according to claim 13 or 14. (Appendix 16) The plurality of objectives include efficiency of the route, safety of the route, smoothness of the route, or two or more thereof; 16. The storage medium of claim 15. (Appendix 17) the path planning algorithm calculates the utility score for the target path using a utility function; The determination of the set of paths comprises: providing a plurality of candidate sets of routes to a user in a selectable manner; acquiring information indicating the candidates of the set of routes selected by the user; generating a new utility function based on the selected candidates of the path set; determining new candidate paths for the set of paths using the new utility function; replacing one of the plurality of candidates of the set of routes to be provided to the user with the new candidate of the set of routes; 17. The storage medium of claim 13, further comprising: repeatedly executing the above until a termination condition is met. (Appendix 18) The generation of the new utility function comprises: performing a Bayesian optimization using a Gaussian process that uses as input the configuration of the utility function used to generate the candidate set of paths last selected by the user, thereby obtaining a new configuration of the utility function; generating the new utility function using the obtained new configuration; 18. The storage medium of claim 17, further comprising:

[0126] This application claims the benefit of priority based on Japanese Patent Application No. 2021-198987, filed on December 8, 2021, the disclosure of which is incorporated herein by reference in its entirety. [Explanation of symbols]

[0127] 10 Vehicle assembly 20 vehicles 30 entities 40 Route Sets 50 routes 60 Vehicle Information 70 Map Information 80 candidate routes 90 positions 100 waypoints 110 Window 120 input interface 1000 computers 1020 Bus 1040 processor 1060 memory 1080 storage device 1100 Input / Output Interface 1120 Network Interface 2000 Route Search Device 2020 Acquisition Department 2040 MOMAPF solver 2060 Candidate Providing Department 2080 Preference Inducement Department

Claims

1. Acquire vehicle information and map information, the vehicle information indicates a pair of a start position and a target position for each of a plurality of vehicles, the map information indicates a map of a space in which the vehicles will move, determining a route set including a route for each of the vehicles using the vehicle information and the map information; the routes in the route set do not conflict with each other; determining the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles; the path planning algorithm evaluates the path based on a utility score for the path, the utility score being a scalar value representing the degree to which multiple objectives are optimized by the path; A route search device, wherein a conflict between two of the routes indicates that positions on the two routes coincide with each other at at least one time.

2. determining the path set includes executing a modified version of a conflict-based search algorithm, in which a low-level search is performed by executing the path planning algorithm implemented by a metaheuristic algorithm; The route search device according to claim 1 .

3. the path planning algorithm calculates the utility score for the path using a utility function; The utility function is defined as a weighted sum of multiple objective terms, Each of the objective terms represents the degree to which the objective corresponding to that objective is optimized by the path.

3. The route search device according to claim 1 or 2.

4. The plurality of objectives include efficiency of the route, safety of the route, smoothness of the route, or two or more thereof. The route search device according to claim 3 .

5. the path planning algorithm calculates the utility score for the path using a utility function; The determination of the set of paths comprises: providing a plurality of candidate sets of routes to a user in a selectable manner; acquiring information indicating the candidates of the set of routes selected by the user; generating a new utility function based on the selected candidates of the path set; determining new candidate paths for the set of paths using the new utility function; replacing one of the plurality of candidates of the set of routes to be provided to the user with the new candidate of the set of routes; The route search device according to claim 1 , further comprising repeatedly executing the above steps until a termination condition is satisfied.

6. The generation of the new utility function comprises: performing a Bayesian optimization using a Gaussian process using as input the configuration of the utility function used to generate the candidate set of paths last selected by the user, thereby obtaining a new configuration of the utility function; generating the new utility function using the obtained new configuration; The route search device according to claim 5 , further comprising:

7. Acquiring vehicle information and map information; the vehicle information indicates a pair of a start position and a target position for each of a plurality of vehicles; the map information indicates a map of a space in which the vehicle moves, determining a route set including routes for each of the vehicles using the vehicle information and the map information; the routes in the route set do not conflict with each other; determining the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles; the path planning algorithm evaluates the path based on a utility score for the path, the utility score being a scalar value representing the degree to which multiple objectives are optimized by the path; A conflict between two of the routes indicates that the positions on the two routes coincide with each other at at least one time. A computer-implemented control method.

8. determining the path set includes executing a modified version of a conflict-based search algorithm that performs a low-level search by executing the path planning algorithm implemented by a metaheuristic algorithm; The control method according to claim 7.

9. causing a computer to acquire vehicle information and map information; the vehicle information indicates a pair of a start position and a target position for each of a plurality of vehicles; the map information indicates a map of a space in which the vehicle moves, causing the computer to determine a route set including a route for each of the vehicles using the vehicle information and the map information; the routes in the route set do not conflict with each other; determining the set of routes includes running a route planning algorithm to generate the routes for each of the vehicles; the path planning algorithm evaluates the path based on a utility score for the path, the utility score being a scalar value representing the degree to which the path achieves multiple objectives; A conflict between two of the routes indicates that the positions on the two routes coincide with each other at at least one time. program.

10. determining the path set includes executing a modified version of a conflict-based search algorithm in which a low-level search is performed by executing the path planning algorithm implemented by a metaheuristic algorithm; The program according to claim 9.

Citation Information

Patent Citations

  • Intelligent recommendation method for riding route of shared bicycle

    CN113063431A

  • Route searching device for vehicle

    JP1993134601A