Movement plan creating device, behavior data generating device, movement plan creation method, and computer program
Patent Information
- Application Number
- JP2025545485
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Priority Date
- 2024-07-01
- Filing Date
- 2024-07-01
- Publication Date
- 2026-06-11
AI Technical Summary
The prior art is difficult to apply directly to the movement planning of moving objects, especially when considering paths between points between movements.
Using behavioral data preparation units and mobile plan creation units, the objective function is optimized using quantum computers or Ising machines to generate efficient mobile plan.
The rapid mobile plan creation of mobile objects is realized, improving the efficiency and speed of mobile plans.
Abstract
Description
Movement plan creation device, behavior data generation device, movement plan creation method, and computer program
[0001] This disclosure relates to a movement plan creation device, a behavior data generation device, a movement plan creation method, and a computer program. This application claims priority to Japanese Application No. 2023-148680, filed September 13, 2023, and incorporates by reference all of the contents of said Japanese application.
[0002] A method for creating an operation plan for production equipment in a factory using an annealing machine has been proposed (see, for example, Patent Document 1). The annealing machine is also called an Ising machine or a QUBO (Quadratic Unconstrained Binary Optimization) solver, and is a device in which specialized hardware for combinatorial optimization is implemented using circuits such as an FPGA (Field-Programmable Gate Array) or a GPU (Graphics Processing Unit).
[0003] Furthermore, the practical application of quantum computers, which can instantly solve combinatorial optimization problems, is becoming a reality. Using such quantum computers, the above-mentioned operation plans can also be created instantly.
[0004] Japanese Patent Application Laid-Open No. 2020-140615
[0005] A movement plan creation device according to one aspect of the present disclosure includes a behavior data preparation unit that prepares, for each of at least one moving body, behavior data that represents the departure or arrival of the moving body in each time frame using quantum bits for each pair of location and time frame, and a movement plan creation unit that creates a movement plan for each of the moving bodies by optimizing an objective function based on the behavior data of the at least one moving body using an annealing quantum computer or an Ising machine.
[0006] The present invention can be realized not only as a movement plan creation device equipped with such characteristic processing units, but also as a movement plan creation method having such characteristic processing steps, or as a computer program for causing a computer to execute such steps. Furthermore, the present invention can be realized as a semiconductor integrated circuit that realizes part or all of the movement plan creation device, or as a system including the movement plan creation device.
[0007] FIG. 1 is a diagram illustrating an example of the overall configuration of a movement planning system according to a first embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of a vehicle behavior data group corresponding to a movement plan for the vehicle. FIG. 3 is a block diagram illustrating an example of the configuration of a movement planning device according to the first embodiment of the present disclosure. FIG. 4 is a diagram illustrating a sub-objective function Ht. FIG. 5 is a diagram illustrating a sub-objective function Hd. FIG. 6 is a diagram illustrating a sub-objective function He. FIG. 7 is a diagram illustrating a sub-objective function Hvd. FIG. 8 is a diagram illustrating a penalty function H1. FIG. 9 is a diagram illustrating a penalty function H2. FIG. 10 is a diagram illustrating a penalty function H3. FIG. 11 is a diagram illustrating a penalty function H4. FIG. 12 is a diagram illustrating a penalty function H5. FIG. 13 is a diagram illustrating a penalty function H6. FIG. 14 is a diagram illustrating a penalty function H7. FIG. 15 is a diagram illustrating a penalty function H8. FIG. 16 is a diagram illustrating a penalty function H9. FIG. 17 is a diagram illustrating a penalty function H10. FIG. 18 is a diagram for explaining a penalty function H11. FIG. 19 is a diagram showing an example of a table showing the relationship between the degree of urgency and the allowable time frame. FIG. 20 is a diagram for explaining a penalty function H12. FIG. 21 is a flowchart showing an example of an operation of the movement planning device according to the first embodiment of the present disclosure. FIG. 22 is a flowchart showing an example of an operation of a quantum computer. FIG. 23 is a diagram showing an example of an overall configuration of a movement planning system according to the second embodiment of the present disclosure. FIG. 24 is a diagram showing an example of behavior data of a vehicle (k=0). FIG. 25 is a diagram showing an example of behavior data of a vehicle (k=0). FIG. 26 is a diagram showing an example of behavior data of a vehicle (k=1). FIG. 27 is a flowchart showing an example of an operation of the movement planning device according to the second embodiment of the present disclosure. FIG. 28 is a flowchart showing an example of an operation of an Ising machine. FIG. 29 is a diagram showing an example of behavior data of a vehicle (k=1).
[0008] [Problem to be Solved by the Present Disclosure] Various methods for creating a movement plan for a moving body such as a vehicle have been proposed. However, the method disclosed in Patent Document 1 does not reflect movement between points in the combinatorial optimization problem. Therefore, the above method cannot be directly applied to creating a movement plan.
[0009] The present disclosure has been made in consideration of the above circumstances, and aims to provide a movement plan creation device, a movement plan creation method, and a computer program that are capable of quickly creating a movement plan for a moving object.
[0010] Another object of the present invention is to provide a behavior data generation device that can efficiently generate an objective function to be optimized for creating a movement plan for a moving body.
[0011] [Effects of the Present Disclosure] According to the present disclosure, a movement plan for a moving body can be created quickly, and an objective function to be optimized for creating the movement plan for the moving body can be efficiently generated.
[0012] [Outline of Embodiments of the Present Disclosure] First, an outline of an embodiment of the present disclosure will be described. (1) A movement plan creation device according to one embodiment of the present disclosure includes: a behavior data preparation unit that prepares, for each pair of a location and a time frame, behavior data for at least one moving object, in which the departure or arrival of the moving object during that time frame is expressed using quantum bits; and a movement plan creation unit that creates a movement plan for each moving object by optimizing an objective function based on the behavior data of the at least one moving object using an annealing quantum computer or an Ising machine. With this configuration, a movement plan for a moving object can be created by determining the value of the quantum bit using an annealing quantum computer or an Ising machine. This allows movement plans for moving objects to be created quickly.
[0013] (2) In the above (1), the location may include a loading point of the object, and the behavior data may represent, for each set, the loading of the object onto the moving body at the loading point in the time frame using the quantum bit. With this configuration, it is possible to create a movement plan including the loading time of the object, such as luggage or a person.
[0014] (3) In the above (1) or (2), the location may include a delivery point of the object, and the behavior data may represent, for each of the pairs, the delivery of the object from the mobile body at the delivery point during the time frame using the quantum bit. With this configuration, it is possible to create a movement plan including a delivery time of the object, such as a package or a person.
[0015] (4) In any one of (1) to (3) above, the location may include a departure point of the moving object, and the behavior data may represent, for each set, a departure of the moving object from the departure point in the time frame using the quantum bit. With this configuration, a movement plan including a departure time from the departure point can be created.
[0016] (5) In any one of (1) to (4) above, the location may include a destination point of the moving object, and the behavior data may represent, for each set, the return of the moving object to the destination point within the time frame using the quantum bit. With this configuration, it is possible to create a travel plan including a return time to the destination point.
[0017] (6) In any of (1) to (5) above, the system may further include an output unit that outputs a two-dimensional matrix of the quantum bit values, with the location as a first axis and the time frame as a second axis, based on the quantum bit values obtained by optimizing the objective function. With this configuration, the visiting times of a mobile object to each location can be expressed by a two-dimensional matrix, and the two-dimensional matrix can be displayed. Therefore, a user can efficiently formulate an objective function for creating a travel plan by referring to the two-dimensional matrix.
[0018] (7) In any of (1) to (5) above, the system may further include an output unit that outputs a three-dimensional matrix of the quantum bit values, with the location as a first axis, the time frame as a second axis, and the moving object as a third axis, based on the quantum bit values obtained by optimizing the objective function. With this configuration, the visiting times of each moving object to each location can be expressed by a three-dimensional matrix, and the three-dimensional matrix can be displayed. Therefore, a user can efficiently formulate an objective function for creating a travel plan by referring to the three-dimensional matrix.
[0019] (8) In the above (7), the at least one moving object may include a plurality of moving objects, and the objective function may include a function representing a total operating time of the plurality of moving objects. With this configuration, for example, it is possible to create a movement plan that shortens the total operating time of the moving objects.
[0020] (9) In the above (7) or (8), the location may include a loading point or a delivery point of the object, and the objective function may include a function representing the total number of deliveries of the object. With this configuration, it is possible to create a movement plan that increases the total number of deliveries of objects such as packages or people.
[0021] (10) In any of (7) to (9) above, the at least one moving object may include a plurality of moving objects, and the objective function may include a function representing the degree of variation in operation times of the plurality of moving objects. With this configuration, for example, by creating a movement plan so that the value of the function is small, it is possible to create a movement plan in which operation times are equalized among the moving objects. Furthermore, by creating a movement plan so that the value of the function is large, it is possible to create a movement plan in which operation times are uneven among the moving objects. This allows the number of moving objects to be operated to be reduced.
[0022] (11) In any of (7) to (10) above, the location may include a destination point of the moving object, and the objective function may include a function representing the return of the moving object to the destination point after a return deadline. With this configuration, it is possible to create a movement plan in which the moving object does not return after the return deadline.
[0023] (12) In any of (7) to (11) above, the objective function may include a penalty function related to prohibiting the moving object from moving between the points within a travel time required for the moving object to potentially move between the points. With this configuration, a travel plan can be created that enables the moving object to move between the points within a reasonable time.
[0024] (13) In any of (7) to (12) above, the at least one mobile object may include a plurality of mobile objects, the locations may include target loading points or delivery points, and the objective function may include a penalty function for prohibiting each of the mobile objects from visiting each of the loading points or delivery points once or less and prohibiting multiple mobile objects from visiting each of the loading points or delivery points in multiple time slots. This configuration makes it possible to create a movement plan in which each mobile object does not visit the same loading point or delivery point multiple times, or in which multiple mobile objects do not visit the same loading point or delivery point.
[0025] (14) In any of (7) to (13) above, the at least one mobile object may include a plurality of mobile objects, the location may include a target loading point or delivery point, and the objective function may include a penalty function related to prohibiting the plurality of mobile objects from visiting each of the loading points or each of the delivery points in each of the time slots. With this configuration, it is possible to create a movement plan in which a plurality of mobile objects do not visit the same loading point or the same delivery point at the same time.
[0026] (15) In any of (7) to (14) above, the points may include a departure point of each of the moving objects, and the objective function may include a penalty function related to prohibiting visiting any of the points other than the departure point before the departure time from the departure point of each of the moving objects. With this configuration, it is possible to create a travel plan that does not visit any points other than the departure point before the departure time from the departure point.
[0027] (16) In any of (7) to (15) above, the points may include a return point of each of the moving objects, and the objective function may include a penalty function related to prohibiting visits to the points other than the return point after the return time of each of the moving objects to the return point. With this configuration, it is possible to create a travel plan that does not visit any points other than the return point after the return time to the return point.
[0028] (17) In any of (7) to (16) above, the points may include a departure point of each of the moving objects, and the objective function may include a penalty function related to prohibiting each of the moving objects from visiting the departure point multiple times. With this configuration, it is possible to create a movement plan in which the moving objects do not visit the departure point multiple times.
[0029] (18) In any of (7) to (17) above, the points may include a return point of each of the moving objects, and the objective function may include a penalty function related to prohibiting each of the moving objects from visiting the return point multiple times. With this configuration, a travel plan can be created in which the moving objects do not visit the return point multiple times.
[0030] (19) In any of (7) to (18) above, the points may include a target loading point and a target delivery point, and the objective function may include a penalty function related to prohibiting a visit to the target delivery point before visiting the target loading point. This configuration makes it possible to create a movement plan in which a mobile object does not visit the target delivery point before visiting the target loading point.
[0031] (20) In any of (7) to (19) above, the points may include a loading point and a delivery point of the object, and the objective function may include a penalty function related to prohibiting visits to only one of the loading point and the delivery point for the same object. With this configuration, a movement plan can be created that ensures that the object loaded by the mobile object is delivered.
[0032] (21) In any of (7) to (20) above, the points may include a loading point and a delivery point of the object, and the objective function may include a penalty function for prohibiting delivery of the object that exceeds a maximum load capacity of each of the mobile units. With this configuration, a movement plan can be created that delivers the object within the maximum load capacity of the mobile unit.
[0033] (22) In any of (7) to (21) above, the points may include a loading point and a delivery point of the target, and the objective function may include a penalty function related to prohibiting movement from the loading point to the delivery point for the same target in a time exceeding a time required for movement between the loading point and the delivery point plus a predetermined allowable time. With this configuration, a movement plan can be created that can deliver the target within a time required for movement from the loading point to the delivery point plus an allowable delay time.
[0034] (23) In the above (22), the predetermined allowable time may be determined according to the degree of urgency of delivery of the target. With this configuration, a movement plan can be created that enables delivery according to the degree of urgency of delivery for each target.
[0035] (24) In any of (7) to (23) above, the location may include a loading location and a delivery location of the object, and the objective function may include a penalty function related to prohibiting simultaneous stacking of multiple predetermined objects. With this configuration, it is possible to create a movement plan that prevents simultaneous stacking of objects with different storage temperature ranges, such as frozen foods and room temperature storable foods.
[0036] (25) In any of (1) to (24) above, the movement plan creation unit may create a movement plan for each of the moving objects by repeatedly using the Ising machine to partially optimize the objective function. With this configuration, the objective function can be optimized in a shorter time than when the objective function is optimized all at once. Therefore, even when an Ising machine is used, the objective function can be optimized at high speed.
[0037] (26) In the above (25), the movement planning device may further include an objective function generation unit that updates the objective function, the points including at least one of loading points and delivery points of the moving bodies, the movement planning unit may perform a partial optimization process that determines values of the quantum bits included in the behavior data of a predetermined number of the moving bodies by optimizing the objective function, the objective function generation unit may perform an update process that updates the objective function based on a result of the partial optimization process, and the partial optimization process and the update process may be repeatedly performed. With this configuration, the objective function can be optimized while being updated each time values of the quantum bits of the predetermined number of moving bodies are determined.
[0038] (27) In the above (26), the updating process may include a process of updating the objective function by deleting or fixing the value of a quantum bit corresponding to at least one of the loading point and the delivery point, the value of which has already been determined in the partial optimization process. With this configuration, the objective function can be optimized without recalculating the value of the quantum bit of the moving object that has already been determined, thereby enabling high-speed optimization of the objective function.
[0039] (28) A data generation device according to another embodiment of the present disclosure is a behavior data generation device for creating a movement plan for a moving object by optimizing an objective function using an annealing quantum computer or an Ising machine, and includes a behavior data generation unit that generates, for each pair of a location and a time frame, behavior data for at least one moving object, in which the departure or arrival of the moving object in the time frame is expressed in quantum bits. With this configuration, by using the data expressed in quantum bits, it is possible to efficiently generate an objective function to be optimized for creating a movement plan.
[0040] (29) A movement planning method according to another embodiment of the present disclosure includes the steps of: a movement planning device preparing, for each pair of a location and a time frame, behavior data for at least one moving object, the behavior data representing the departure or arrival of the moving object in the time frame using quantum bits; and the movement planning device optimizing an objective function based on the behavior data of the at least one moving object using an annealing quantum computer or an Ising machine to create a movement plan for each of the moving objects. This configuration includes, as steps, processing characteristic of the movement planning device described above. Therefore, the same actions and effects as those of the movement planning device described above can be achieved.
[0041] (30) A computer program according to another embodiment of the present disclosure causes a computer to function as: a behavior data preparation unit that prepares, for each pair of a location and a time frame, behavior data representing the departure or arrival of the moving object in the time frame using quantum bits; and a movement plan creation unit that creates a movement plan for each moving object by optimizing an objective function based on the behavior data of the at least one moving object using an annealing quantum computer or an Ising machine. This configuration allows the computer to function as the movement plan creation device described above. Therefore, the same actions and effects as those of the movement plan creation device described above can be achieved.
[0042] [Details of the Embodiments of the Present Disclosure] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are examples and do not limit the present disclosure. Furthermore, among the components in the following embodiments, components not recited in independent claims are components that can be added arbitrarily. Furthermore, each figure is a schematic diagram and is not necessarily a precise illustration.
[0043] The same components are denoted by the same reference numerals, and their functions and names are also the same, so their explanations will be omitted where appropriate.
[0044] 1 is a diagram illustrating an example of the overall configuration of a movement planning system according to a first embodiment of the present disclosure. The movement planning system 10 includes a movement planning device 100 and a quantum computer 200.
[0045] The movement plan creation device 100 and the quantum computer 200 are connected via a network 300 such as a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, etc. However, the movement plan creation device 100 and the quantum computer 200 may also be directly connected via a dedicated line.
[0046] The quantum computer 200 is an annealing quantum computer, and can quickly calculate solutions to combinatorial optimization problems. The combinatorial optimization problem is formulated as QUBO (quadratic unconstrained binary optimization) represented by the following equation 1. Note that an Ising machine may be used instead of the quantum computer 200. Similar to the quantum computer 200, an Ising machine can also quickly calculate solutions to QUBO combinatorial optimization problems.
[0047] Here, x i (x j ) is the decision variable, and J i,j , h i is a parameter and const. is a constant.
[0048] In QUBO, the possible values of a decision variable are 0 or 1, and the decision variable can be expressed as a quantum bit in the quantum computer 200. Furthermore, the objective function of QUBO is a polynomial of degree up to two. Furthermore, there are no explicit constraints in QUBO.
[0049] The movement plan creation device 100 creates a movement plan for multiple moving objects using a quantum computer 200. Each moving object departs from a departure point and loads multiple objects onto the moving object at a loading point for each object. Each moving object delivers the multiple objects loaded onto the moving object to a delivery point for each object. After delivering the multiple objects, each moving object returns to a destination point.
[0050] In the following description, the moving body is a vehicle such as an automobile or a motorcycle. The object delivered by the vehicle is a package. However, the present disclosure is not limited to the delivery of packages by a vehicle. For example, the moving body may be a drone, and the object may be a person. Thus, for example, the present disclosure is also applicable to the transportation of people by a vehicle. The present disclosure is also applicable to the delivery of packages or the transportation of people by drone.
[0051] The movement plan creation device 100 creates a movement plan for multiple vehicles. That is, the movement plan creation device 100 creates a QUBO objective function (described below) and provides it to the quantum computer 200. The quantum computer 200 probabilistically determines the values of decision variables that optimize (here, minimize) the objective function. The movement plan creation device 100 obtains the values of the decision variables from the quantum computer 200 and creates a movement plan.
[0052] Here, points to which the vehicle may travel include a departure point, a pickup point (loading point), a delivery point, and a return point.
[0053] The movement plan creation device 100 is connected to a display 100A and a keyboard 100B. The display 100A is an example of a display device and displays the created movement plan. The keyboard 100B is an example of an input device and is used to input various data to the movement plan creation device 100. The display device and input device are not limited to those described above.
[0054] [Explanation of Variables] Here, each variable used to determine a vehicle movement plan will be explained. In this embodiment, N K stand (N K ≧2) vehicles are used to collect (load) packages at each collection point and create a vehicle movement plan for delivering each package to a delivery point.
[0055] 2 is a diagram showing an example of a vehicle behavior data group corresponding to a vehicle movement plan. The behavior data group is made up of behavior data 20 indicating the behavior of each vehicle. The behavior data 20 is a two-dimensional matrix, and the behavior data group is a three-dimensional matrix. Although only one behavior data 20 is shown in FIG. 2, in reality, the behavior data 20 is made up of the number N of vehicles. K Only exists.
[0056] The first axis of the behavior data 20 indicates a point p, the second axis indicates a time frame τ, and the third axis indicates a vehicle k. The time frame τ refers to a time frame obtained by dividing the planned time of the movement plan into a predetermined time frame (for example, one hour). The point p includes a collection point for the package to be collected. The collection point p is set for each package. Furthermore, the point p includes a delivery point for the package to be delivered. The delivery point p is set for each package. Furthermore, the point p includes the departure point and return point of the vehicle.
[0057] The variables used in the following description are as follows: T : Number of time slots N K : Number of vehicles N P : Number of pieces of luggage P P = {1, ..., N P : Set of luggage collection points P D = {N P +2, ..., 2N P +1}: a set of delivery points of packages. In the above, a set T of time slots τ, a set K of vehicles k, and a set P of points p are defined as follows: T = {τ|0≦τ≦N T -1} K={k|0≦k≦N K -1} P={p|0≦p≦2N P +1} where p=0 indicates the starting point and p=N P +1 indicates the return point. Also, point i (i = 1 to N P ) and point {i+(N P +1)} indicates the collection point and delivery point of the same package, respectively. Furthermore, the following constants are defined as follows: SL K = {L k |k∈K}: deadline L for vehicle k to return to the destination k Set of SL P = {Lp |p∈P\{0,N P + 1}}: Departure deadline L for collection point p or delivery point p p Set of W (k) : Maximum load capacity of vehicle k W p : Amount of luggage collected or delivered at point p E p : Allowable time frame given to the vehicle at point p
[0058] Each cell of the behavior data 20 indicates a variable expressed by the following formula 2. The variable is a decision variable that expresses a quantum bit. However, if the baggage p indicates the destination point (p=N P +1), a value of 1 of the variable indicates that the destination will be reached, and a value of 0 indicates that the destination will not be reached.
[0059] In addition, the number of time slots required for a vehicle to move from point p1 to point p2 (travel time required) is shown by the following equation 3.
[0060] The travel time, waiting time, working time, rest time, and time slots are all known values.
[0061] For example, q of the behavior data 20 0,0 (0) If k is 1, it indicates that the vehicle (k=0) departs from the departure point (p=0) in the time slot of 9:00. 1,1 (0) If q is 1, it indicates that after the vehicle (k=0) arrives at the point (p=1), it collects the luggage and departs from the point in the time slot of 10:00. 3,Np+2 (0) If is 1, then point (p=N P After the vehicle (k=0) arrives at the location (p=1) and delivers the package collected at the location (p=2), the vehicle departs from the location in the time slot of 12:00. 5,Np+1 (0) If k is 1, the vehicle (k=0) arrives at the destination point (p=N P +1) to arrive in the 14:00 time slot.
[0062] [Configuration of Movement Plan Creation Device 100] FIG. 3 is a block diagram showing an example of the configuration of the movement plan creation device 100 according to the first embodiment of the present disclosure.
[0063] The movement plan creation device 100 includes a communication unit 110, a storage device 120, an input / output I / F (interface) unit 130, and a processor 140. The communication unit 110, the storage device 120, the input / output I / F unit 130, and the processor 140 are connected to each other via an internal bus 150. The movement plan creation device 100 is a von Neumann computer (classical computer).
[0064] The communication unit 110 includes a communication interface for connecting the movement plan creation device 100 to the network 300 by wire or wirelessly. When the movement plan creation device 100 and the quantum computer 200 are directly connected, the communication unit 110 includes a communication interface for connecting the movement plan creation device 100 to the quantum computer 200 by wire or wirelessly.
[0065] The storage device 120 is composed of a volatile memory element such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory), a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory), or a magnetic storage device such as a hard disk.
[0066] The storage device 120 stores a computer program 121 that is executed by the processor 140. The storage device 120 also stores data that is used or generated during execution of the computer program 121. For example, the storage device 120 stores an objective function 122 that is to be optimized by the quantum computer 200.
[0067] The input / output I / F unit 130 is an interface for connecting the movement plan creation device 100 to the display 100A and keyboard 100B.
[0068] The processor 140 is configured by a CPU (Central Processing Unit), a GPU, etc. The processor 140 includes a behavior data preparation unit 141, an objective function generation unit 142, a movement plan creation unit 143, and an output unit 144 as functional processing units realized by reading and executing the computer program 121 stored in the storage device 120.
[0069] The behavior data preparation unit 141 prepares behavior data 20, for each pair of a location p and a time frame τ, in which the departure or arrival of vehicle k during the time frame τ is expressed using quantum bits. An example of the behavior data 20 is as shown in FIG. 2 . For example, the behavior data 20 may be stored in advance in the storage device 120, and the behavior data preparation unit 141 may prepare the behavior data 20 by reading the behavior data 20 from the storage device 120.
[0070] In addition, the user can input the number of time slots N using the keyboard 100B. T , number of vehicles N K and number of luggage N P The behavior data preparation unit 141 inputs the number of time frames N T , number of vehicles N K and number of luggage N P via the input / output I / F unit 130. The behavior data preparation unit 141 obtains the number of time frames N T , number of vehicles N K and number of luggage N P The behavior data 20 may be prepared by generating the behavior data 20 based on the above.
[0071] The output unit 144 outputs the behavior data 20 prepared by the behavior data preparation unit 141. For example, the output unit 144 outputs the behavior data 20 to the display 100A via the input / output I / F unit 130. As a result, the display 100A displays the behavior data 20 as a three-dimensional matrix or a set of two-dimensional matrices.
[0072] The objective function generator 142 generates an objective function for QUBO. For example, the user generates the objective function by operating the keyboard 100B while viewing the behavior data 20 displayed on the display 100A. The objective function generator 142 receives the objective function generated by the user via the input / output I / F unit 130 and writes it to the storage device 120 as the objective function 122.
[0073] The objective function generator 142 may generate the objective function by reading the objective function 122 from the storage device 120. The user can also modify the objective function 122 that has already been created by operating the keyboard 100B.
[0074] The objective function 122 is formulated as a Hamiltonian H shown in the following equation 4. The Hamiltonian H is expressed as a weighted sum of sub-objective functions Ht, Hd, He, and Hvd and penalty functions H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11, and H12. Here, the weights of the sub-objective functions Ht, Hd, He, and Hvd are wt, wd, we, and wvd, respectively. The weights of the penalty functions H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11, and H12 are w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, and w12, respectively. Here, all weights are positive values.
[0075] [Regarding the Sub-Objective Function Ht] The sub-objective function Ht (Hamiltonian Ht) is expressed by the following Equation 5.
[0076] Fig. 4 is a diagram for explaining the sub-objective function Ht. Fig. 4 shows an example of the behavior data 20 of vehicle k. Note that the behavior data 20 of other vehicles is similarly shown. The Hamiltonian Ht indicates the total operating time of all vehicles, which is obtained by adding up the operating times of all vehicles from the time each vehicle departs from the departure point to the time each vehicle returns to the destination point.
[0077] For example, assume that the values of the cells in box 31 and box 32 are 1. The time frame to which the cell in box 32 belongs corresponds to the time when vehicle k departs from the departure point, and the time frame to which the cell in box 31 belongs corresponds to the time when vehicle k arrives at the destination point.
[0078] The sub-objective function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0079] [Regarding the Sub-Objective Function Hd] The sub-objective function Hd (Hamiltonian Hd) is expressed by the following Equation 6.
[0080] FIG. 5 is a diagram illustrating the sub-objective function Hd. FIG. 5 shows an example of behavior data 20 for vehicle k. Note that the behavior data 20 for other vehicles is similarly shown. The Hamiltonian Hd represents the total number of parcel deliveries by all vehicles. The Hamiltonian Hd calculates the number of vehicle visits (number of parcel collections) for each parcel collection point, excluding the departure point, delivery point, and return point, among the points where each vehicle may travel, and indicates the total number of visits (total number of parcel deliveries) obtained by adding up the number of vehicle visits for each delivery point for all collection points. The sum of the values of the cells in box 33 represents the total number of parcel deliveries by vehicle k.
[0081] The sub-objective function H can be formulated as a Hamiltonian H using the decision variable in Equation 2, where 0 or 1 indicates whether or not the vehicle k visits the point p in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0082] [Regarding Sub-Objective Function He] The sub-objective function He (Hamiltonian He) is expressed by the following Equation 7.
[0083] FIG. 6 is a diagram for explaining the sub-objective function He. FIG. 6 shows an example of behavior data 20 of vehicle k. Note that the behavior data 20 of other vehicles is similarly shown. The Hamiltonian He represents the degree of variation (variance) of the operating time of all vehicles. The operating time of a vehicle is the time from when the vehicle departs from the starting point to when it returns to the destination point.
[0084] For example, assume that the values of the cells in the boxes 34 and 35 are 1. The difference between the time frame to which the box 34 belongs and the time frame to which the box 35 belongs corresponds to the operating time of the vehicle k. K corresponds to the average operating time of the vehicle.
[0085] By making the Hamiltonian He as small as possible, a travel plan is created in which the operating time is equalized among the vehicles.
[0086] The sub-objective function He can be formulated as a Hamiltonian He using the decision variables in Equation 2, where 0 or 1 indicates whether or not vehicle k visits point p in time slot τ. Therefore, the objective function 122 can be optimized using a quantum computer 200 or an Ising machine.
[0087] [Regarding Sub-Objective Function Hvd] The sub-objective function Hvd (Hamiltonian Hvd) is expressed by the following Equation 8.
[0088] FIG. 7 is a diagram for explaining the sub-objective function Hvd. FIG. 7 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is similarly shown. The Hamiltonian Hvd represents the return of the vehicle to the destination after the return deadline L. Specifically, the Hamiltonian Hvd represents the time when the vehicle k returns to the destination after the return deadline L. k For example, the return deadline L for vehicle k to the destination is k is the time frame of 13:00 shown in box 36. In this case, if the value of any cell in box 37 is 1, the return deadline L k Therefore, the difference between the time frame to which the cell in the box 37 with the value 1 belongs and the time frame to which the box 36 belongs is the deadline Lk This corresponds to the time exceeded.
[0089] The sub-objective function Hvd can be formulated as a Hamiltonian Hvd using the decision variable in Equation 2, which indicates whether or not the point p is visited in the time frame τ of the vehicle k, as 0 or 1. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0090] [Regarding the Penalty Function H1] The penalty function H1 (Hamiltonian H1) is expressed by the following equation 9.
[0091] Fig. 8 is a diagram for explaining the penalty function H1. Fig. 8 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0092] Hamiltonian H1 is a penalty function that prohibits each vehicle from departing from the next point within the time required from departing the previous point to departing from the next point, for each of the points that each vehicle may travel between.
[0093] For example, suppose that vehicle k departs from the package collection point (p=1) in the time slot of 10:00. In this case, the value of the cell in slot 38 becomes 1. Then, suppose that vehicle k heads to each location.
[0094] For example, when vehicle k moves from a collection point (p=1) to a collection point (p=N P ) and head to the collection point (p = N P ) is 3. In other words, the number of time slots (travel time) required for the vehicle k to depart from the collection point (p=1) and arrive at the collection point (p=N P ) and is ready to depart is 3. In this case, vehicle k arrives at the collection point (p=N P ), the values of the three cells in box 39A must be 0.
[0095] Similarly, from the collection point (p=1) to the return point (p=N PIf the number of time slots required for vehicle k to move on time (+1) is 4, the values of the four cells in slot 39B must be 0.
[0096] Vehicle k departs from a collection point (p=1) and arrives at a delivery point (p=N P +2) before being ready to depart is two, the values of the three cells in box 39C must be zero.
[0097] Vehicle k departs from a collection point (p=1) and arrives at a delivery point (p=2N P +1) before being ready to depart is three, the values of the three cells in box 39D must be zero.
[0098] Hamiltonian H1 is a function that becomes 0 when each vehicle travels between possible points over a required travel time, but increases in value depending on the combination of points traveled over a time shorter than the required travel time.
[0099] The penalty function H1 can be formulated as a Hamiltonian H1 using the decision variables of Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0100] [Regarding the Penalty Function H2] The penalty function H2 (Hamiltonian H2) is expressed by the following equation 10.
[0101] 9 is a diagram for explaining the penalty function H2. FIG. 9 shows an example of the behavior data 21 of the vehicle k1 (k=k1) and the behavior data 22 of the vehicle k2 (k=k2). Note that the behavior data 20 of the other vehicles is similarly shown.
[0102] Hamiltonian H2 has the constraints that each vehicle visits each collection point or each delivery point no more than once, and that when the planned time of the movement plan is divided into multiple time slots, multiple vehicles do not visit each collection point or each delivery point in multiple time slots. Hamiltonian H2 is a penalty function that imposes a penalty (the value of the function becomes large) if these constraints are not satisfied.
[0103] For example, suppose vehicle k1 departs from the collection point (p=1) in the 11:00 time slot. In this case, the value of the cell in the frame 40 of the behavior data 21 is 1. Since the number of visits of vehicle k1 to the collection point (p=1) must be one or less, the value of the cell in the frame 41 of the behavior data 21 must be 0. In addition, multiple vehicles are prohibited from visiting the collection point (p=1). For this reason, the value of the cell in the frame 41 of behavior data 20 other than the behavior data 21 (for example, behavior data 22) must be 0. The same applies to the behavior data 20 of vehicles other than vehicle k1. However, Hamiltonian H2 allows multiple vehicles to visit each point in the same time slot.
[0104] The Hamiltonian H2 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0105] The penalty function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not vehicle k visits point p in time slot τ. Therefore, the objective function 122 can be optimized using a quantum computer 200 or an Ising machine.
[0106] [Regarding the Penalty Function H3] The penalty function H3 (Hamiltonian H3) is expressed by the following equation 11.
[0107] 10 is a diagram for explaining the penalty function H3. FIG. 10 shows an example of the behavior data 21 of a vehicle k1 (k=k1) and the behavior data 22 of a vehicle k2 (k=k2). Note that the behavior data 20 of other vehicles is also shown in the same manner.
[0108] Hamiltonian H3 is a penalty function that imposes a penalty if the constraint condition is not met, with the constraint condition being that multiple vehicles do not visit each collection point or each delivery point in each time frame.
[0109] For example, suppose vehicle k1 departs from the collection point (p=1) in the 11:00 time slot. In this case, the value of the cell in frame 42 of behavior data 21 is 1. Hamiltonian H3 prohibits other vehicles from visiting the collection point (p=1) within the same time slot. Therefore, the value of the cell in frame 43 of behavior data 20 other than behavior data 21 (e.g., behavior data 22) must be 0. The same applies to the behavior data 20 of vehicles other than vehicle k1.
[0110] Hamiltonian H3 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the above constraints.
[0111] The penalty function H3 can be formulated as a Hamiltonian H3 using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0112] [Regarding the Penalty Function H4] The penalty function H4 (Hamiltonian H4) is expressed by the following equation 12.
[0113] Fig. 11 is a diagram for explaining the penalty function H4. Fig. 11 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0114] Hamiltonian H4 is a penalty function that imposes a penalty if the constraint is not met, and the constraint is that each vehicle does not visit any points other than the departure point (here, the collection point and the return point) before the departure time from the departure point.
[0115] For example, suppose vehicle k departs from the departure point (p=0) in the 11:00 time slot. Therefore, the value of the cell in box 44 of the behavior data 20 is 1. In this case, vehicle k is prohibited from visiting the pickup point and the return point in the time slots before 11:00 (here, the 9:00 and 10:00 time slots). Therefore, the value of the cell in box 45 of the behavior data 20 must be 0.
[0116] Hamiltonian H4 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0117] The penalty function H4 can be formulated as a Hamiltonian H4 using the decision variables in Equation 2, where 0 or 1 indicates whether or not vehicle k visits point p in time slot τ. Therefore, the objective function 122 can be optimized using a quantum computer 200 or an Ising machine.
[0118] [Regarding the Penalty Function H5] The penalty function H5 (Hamiltonian H5) is expressed by the following equation 13.
[0119] Fig. 12 is a diagram for explaining the penalty function H5. Fig. 12 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0120] Hamiltonian H5 is a penalty function that imposes a constraint that each vehicle must not visit any points other than the destination point (here, the departure point and delivery point) after the return time to the destination point, and imposes a penalty if the constraint is not met.
[0121] For example, suppose vehicle k arrives at the destination point in the 14:00 time slot. Therefore, the value of the cell in box 46 of the behavior data 20 is 1. In this case, vehicle k is prohibited from visiting the departure point and the delivery point in time slots after 14:00 (here, the 15:00 and 16:00 time slots). Therefore, the value of the cell in box 47 of the behavior data 20 must be 0.
[0122] Hamiltonian H5 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0123] The penalty function H5 can be formulated as a Hamiltonian H5 using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0124] [Regarding the Penalty Function H6] The penalty function H6 (Hamiltonian H6) is expressed by the following equation 14.
[0125] Fig. 13 is a diagram for explaining the penalty function H6. Fig. 13 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0126] Hamiltonian H6 is a penalty function that imposes a constraint that each vehicle does not visit the starting point multiple times, and imposes a penalty if the constraint is not satisfied.
[0127] For example, vehicle k departs from the starting point (p=0) only once. Therefore, the sum of the values of the cells in the box 48 of the behavior data 20 must be 1.
[0128] Hamiltonian H6 is a function that becomes 0 when the above constraints are satisfied, but its value (penalty) increases depending on the combination of cells that do not satisfy the constraints. For example, if the sum of the values of the cells in box 48 is not 1, the value of Hamiltonian H6 will not be 0.
[0129] The penalty function H6 can be formulated as a Hamiltonian H6 using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0130] [Regarding the Penalty Function H7] The penalty function H7 (Hamiltonian H7) is expressed by the following equation 15.
[0131] Fig. 14 is a diagram for explaining the penalty function H7. Fig. 14 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0132] Hamiltonian H7 is a penalty function that imposes a penalty if the constraint condition is not met, with each vehicle restricting the vehicle from visiting the destination point multiple times.
[0133] For example, when vehicle k arrives at the destination point (p=N P +1) only once. Therefore, the sum of the values of the cells in the box 49 of the behavior data 20 must be 1.
[0134] Hamiltonian H7 is a function that becomes 0 when the above constraints are satisfied, but its value (penalty) increases depending on the combination of cells that do not satisfy the constraints. For example, if the sum of the values of the cells in box 49 is not 1, the value of Hamiltonian H7 will not be 0.
[0135] The penalty function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0136] [Regarding the Penalty Function H8] The penalty function H8 (Hamiltonian H8) is expressed by the following equation 16.
[0137] Fig. 15 is a diagram for explaining the penalty function H8. Fig. 15 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0138] Hamiltonian H8 is a penalty function that imposes a penalty if the constraint is not met, and the constraint is that each vehicle must not visit the delivery point of the luggage that is to be collected at the luggage collection point before visiting the luggage collection point.
[0139] For example, vehicle k is in time frame τ 1(time frame of 13:00), the value of the cell in the frame 50 of the behavior data 20 becomes 1. In this case, the time frame τ 1 Timeframe τ earlier than 2 (Here, in the time frame from 9:00 to 12:00), the delivery point (p=N) of the parcel picked up at the collection point (p=1) P +2) is prohibited from visiting (vehicle k is prohibited from departing from). For this reason, the value of the cell in the frame 51 of the behavior data 20 must be 0.
[0140] Hamiltonian H8 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0141] The penalty function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0142] [Regarding the Penalty Function H9] The penalty function H9 (Hamiltonian H9) is expressed by the following formula 17A or 17B.
[0143] Equation 17A and Equation 17B have the same meaning. However, Equation 17A is a function formulated in the form of CQM (Constrained Quadratic Models), and Equation 17B is a function formulated from Equation 17A in the form of QUBO. Therefore, the penalty function included in Hamiltonian H shown in Equation 4 is the one shown in Equation 17B.
[0144] Fig. 16 is a diagram for explaining the penalty function H9. Fig. 16 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0145] Hamiltonian H9 is a penalty function that imposes a penalty if the constraint condition is not met, with the constraint condition being that the collected package must be delivered without fail.
[0146] For example, suppose that a package is collected at a collection point (p=1). Therefore, the value of one of the cells in the box 52 in the behavior data 20 becomes 1. In this case, P +2), the value of any cell in the box 53 in the behavior data 20 must be 1.
[0147] Hamiltonian H9 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0148] The penalty function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0149] [Regarding the Penalty Function H10] The penalty function H10 (Hamiltonian H10) is expressed by the following formula 18A or 18B. m∈M: (M: set of total amount of luggage, m: total amount of luggage) y τ2,m (k) ∈{0, 1}: slack variables
[0150] Equation 18A and Equation 18B have the same meaning. However, Equation 18A is a function formulated in the CQM format, and Equation 18B is a function formulated from Equation 18A in the QUBO format. Therefore, the penalty function included in Hamiltonian H shown in Equation 18 is the one shown in Equation 18B.
[0151] Fig. 17 is a diagram for explaining the penalty function H10. Fig. 17 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0152] Hamiltonian H10 is a penalty function that imposes a penalty when the constraint condition is not met, with the constraint condition being that the maximum load capacity of each vehicle is not exceeded when delivering cargo.
[0153] For example, if vehicle k is transporting a package collected at a collection point (p=1) at the time of the 12:00 time slot, any cell in box 54A of behavior data 20 is 1, and all cells in box 55A are 0. If all cells in box 54A are 0, this indicates that the package has not yet been collected. Also, if any cell in box 54A is 1, and any cell in box 55A is 1, this indicates that the package has been collected and delivered.
[0154] Similarly, the collection point (p = N P For example, when the vehicle k is transporting the package, any cell in the box 54B of the behavior data 20 is 1, and all cells in the box 55B are 0.
[0155] The Hamiltonian H10 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0156] The penalty function H can be formulated as a Hamiltonian H using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0157] [Regarding the Penalty Function H11] The penalty function H11 (Hamiltonian H11) is expressed by the following equation 19.
[0158] Fig. 18 is a diagram for explaining the penalty function H11. Fig. 18 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0159] Hamiltonian H11 is a penalty function that imposes a penalty if the constraint is not met, and the travel time from the collection point to the delivery point for the same package must not exceed a predetermined allowable time plus the travel time required between the collection point and the delivery point.
[0160] For example, assume that the vehicle departs from the collection point (p=1) in the time slot of 10:00 when the package is collected at the collection point. Therefore, the value of the cell in the box 56 in the behavior data 20 becomes 1. When the vehicle k departs from the collection point (p=1) to the delivery point (N P +2) and head to the delivery point (N P The number of time slots required to depart from the delivery point (N P +2) The allowable time frame E for delays in delivery of packages p Then, vehicle k will arrive at the delivery point (N P +2) and must depart from the delivery point (N P +2) has not yet started. Therefore, the value of all cells in box 57 must be 0.
[0161] The Hamiltonian H11 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0162] The penalty function H11 can be formulated as a Hamiltonian H11 using the decision variable of Equation 2, which indicates whether or not the vehicle k visits the point p in the time frame τ as 0 or 1. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine. p may be configured to be specified by the user.
[0163] FIG. 19 is a diagram showing an example of a table showing the relationship between the urgency level and the allowable time frame. For example, the user operates the keyboard 100B to input the urgency level indicating the urgency level regarding the delivery of the package. The higher the urgency level value, the faster the delivery is desired. The urgency level has a value ranging from 0 to 5, for example. For example, when the urgency level is 5, the allowable time frame E is 1. p is 1, and when the urgency level is 4, the allowable time frame E p is 2. In addition, when the urgency level is 0, the allowable time frame E p is ∞ (infinity).
[0164] The objective function generating unit 142 refers to the table shown in FIG. 19 and calculates the allowable time frame E corresponding to the input urgency. p Determine the allowable time frame E p A Hamiltonian H10 is generated based on the following equation. Note that the user can set the allowable time frame E instead of the degree of urgency. p may be input directly.
[0165] The Hamiltonian H11 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0166] The penalty function H can be formulated as a Hamiltonian H using the decision variables of Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0167] [Regarding the Penalty Function H12] The penalty function H12 (Hamiltonian H12) is expressed by the following formula 20A or 20B.
[0168] Equation 20A and Equation 20B have the same meaning. However, Equation 20A is a function formulated in the CQM format, and Equation 20B is a function formulated from Equation 20A in the QUBO format. Therefore, the penalty function included in Hamiltonian H shown in Equation 20 is the one shown in Equation 20B.
[0169] Fig. 20 is a diagram for explaining the penalty function H12. Fig. 20 shows an example of the behavior data 20 of the vehicle k. Note that the behavior data 20 of the other vehicles is also shown in the same manner.
[0170] Hamiltonian H12 is a penalty function that imposes a penalty if a predetermined number of items are not loaded onto the same vehicle at the same time, for example, if items with different storage temperature ranges, such as frozen food and room temperature storable food, are loaded onto the same vehicle at the same time.
[0171] For example, a constraint is set such that a package collected at a collection point (p=p1) and a package collected at a collection point (p=p2) are not loaded onto the same vehicle at the same time. In FIG. 20, p1=1 and p2=N P This shows the case where
[0172] For example, if at 13:00, the value of any cell in box 58A of the behavior data 20 is 1 and the values of all cells in box 58B are 0, it indicates that a package collected at a collection point (p=1) is being delivered. Similarly, if at 13:00, the value of any cell in box 59A is 1 and the values of all cells in box 59B are 0, it indicates that a package collected at a collection point (p=N P ) is currently being delivered. In other words, it shows that two packages that are prohibited from being shipped together are being delivered at the same time.
[0173] Any other combination indicates that two packages that are prohibited from being stacked together were not delivered at the same time as of 11:00. For example, if the value of any cell in box 58A is 1 and the value of any cell in box 58B is 1, the package collected at the collection point (p=1) has already been delivered, and therefore, two packages that are prohibited from being stacked together were not delivered at the same time as of 11:00.
[0174] The Hamiltonian H12 is a function that is 0 when the above constraints are satisfied, but whose value (penalty) increases according to the combination of cells that do not satisfy the constraints.
[0175] The penalty function H12 can be formulated as a Hamiltonian H12 using the decision variables in Equation 2, where 0 or 1 indicates whether or not the point p is visited by the vehicle k in the time slot τ. Therefore, the objective function 122 can be optimized using the quantum computer 200 or an Ising machine.
[0176] Referring again to Figure 3, the movement plan creation unit 143 uses the quantum computer 200 to create a movement plan for each vehicle by optimizing (here, minimizing) the objective function 122 generated by the objective function generation unit 142.
[0177] That is, the objective function generation unit 142 transmits the QUBO objective function 122 expressed by Equation 4 to the quantum computer 200 via the communication unit 110. The quantum computer 200 probabilistically calculates the values of the decision variables that minimize the objective function 122.
[0178] The movement plan creation unit 143 receives information on the values of the decision variables from the quantum computer 200 via the communication unit 110. The movement plan creation unit 143 creates a movement plan based on the values of the decision variables. For example, the movement plan creation unit 143 creates a movement plan for each vehicle based on the values of the decision variables.
[0179] The output unit 144 outputs the behavior data 20 into which the movement plan creation unit 143 has written the values of the decision variables received from the quantum computer 200. For example, the output unit 144 outputs the behavior data 20 to the display 100A via the input / output I / F unit 130. As a result, the display 100A displays the behavior data 20 as a three-dimensional matrix.
[0180] [Operation of the Movement Plan Creation Device 100] FIG. 21 is a flowchart showing an example of the operation of the movement plan creation device 100 according to the first embodiment of the present disclosure.
[0181] The movement plan creation device 100 prepares behavior data 20 (step S1).
[0182] The movement planning device 100 displays the prepared behavior data 20 on the display 100A (step S2). The movement planning device 100 generates an objective function 122 (step S3).
[0183] The movement plan creation device 100 transmits the generated objective function 122 to the quantum computer 200 (step S4).
[0184] The movement plan creation device 100 receives, from the quantum computer 200, the values of the decision variables that minimize the value of the objective function 122 (step S5).
[0185] The movement plan creation device 100 creates a movement plan based on the received values of the decision variables (step S6).
[0186] The movement plan creation device 100 displays the behavior data 20 into which the received values of the decision variables have been written (step S7).
[0187] When the movement plan creation device 100 receives a user operation to modify the objective function 122 (YES in step S8), it determines that the objective function 122 needs to be modified, and modifies the objective function 122 based on the user operation (step S9). Thereafter, the movement plan creation device 100 returns control to step S4.
[0188] If the movement plan creation device 100 has not received a user operation to modify the objective function 122 (NO in step S8), it determines that modification of the objective function 122 is not necessary, and ends the processing.
[0189] 22 is a flowchart showing an example of the operation of the quantum computer 200. The quantum computer 200 waits until it receives the objective function 122 from the movement plan creation device 100 (NO in step S11).
[0190] When the quantum computer 200 receives the objective function 122 from the movement plan creation device 100 (YES in step S11), it calculates the values of the decision variables that minimize the value of the received objective function 122 (step S12).
[0191] The quantum computer 200 transmits the calculated values of the decision variables to the movement plan creation device 100 (step S13). After that, the quantum computer 200 returns control to step S11.
[0192] As described above, the objective function 122 is optimized using the annealing quantum computer 200 or the Ising machine. The objective function 122 includes sub-objective functions Ht, Hd, He, and Hvd and penalty functions H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11, and H12. These penalty functions indicate constraints for vehicles traveling between points. Therefore, it is possible to quickly determine a vehicle movement plan that satisfies these constraints and optimizes the total operating time of all vehicles, the total number of parcels delivered, the degree of variation in operating times among multiple vehicles, and the return of vehicles by the return deadline.
[0193] <First Modification of First Embodiment> In the first embodiment described above, the objective function shown in Equation 4 is optimized. Instead of Equation 4, the objective function shown in Equation 21 below may be optimized.
[0194] While the coefficient of weHe in Equation 4 is +1, the coefficient of weHe in Equation 21 is −1. The sub-objective function He represents the degree of variation in the operating times of multiple vehicles. Therefore, by optimizing the objective function of Equation 21, it is possible to create a vehicle movement plan for multiple vehicles with a large degree of variation in operating times. This allows package deliveries to be concentrated in one or more vehicles. Therefore, it is possible to create a vehicle movement plan that minimizes the number of vehicles required for package delivery.
[0195] <Second Modification of First Embodiment> In the first embodiment described above, the number of vehicles is plural, but the number of vehicles may be 1. In this case, the behavior data 20 that the movement plan creation device 100 displays on the display 100A is a two-dimensional matrix.
[0196] Second Embodiment In a second embodiment, a configuration using an Ising machine instead of the quantum computer 200 will be described.
[0197] FIG. 23 is a diagram illustrating an example of the overall configuration of a movement planning system according to the second embodiment of the present disclosure.
[0198] The movement plan creation system 11 includes a movement plan creation device 100 and an Ising machine 210.
[0199] The movement plan creation device 100 and the Ising machine 210 are connected via a network 300 such as a LAN, a WAN, or the Internet. However, the movement plan creation device 100 and the Ising machine 210 may be directly connected via a dedicated line.
[0200] The Ising machine 210 includes a simulated annealing machine and can quickly calculate a solution to a combinatorial optimization problem. The combinatorial optimization problem is formulated as a QUBO represented by the above-mentioned Equation 1. Note that the combinatorial optimization problem may also be formulated as a QUBO represented by the above-mentioned Equation 21.
[0201] The movement plan creation device 100 creates a movement plan for a plurality of vehicles using the Ising machine 210. That is, the movement plan creation device 100 creates a QUBO objective function and provides it to the Ising machine 210.
[0202] The Ising machine 210 calculates the values of the decision variables by optimizing (here, minimizing) the objective function, and transmits the values to the movement plan creation device 100.
[0203] The movement plan creation device 100 creates a movement plan for each vehicle based on the values of the decision variables received from the Ising machine 210.
[0204] The vehicle behavior data group corresponding to the vehicle movement plan is the same as that shown in Fig. 2. The configuration of the movement plan creation device 100 is the same as that shown in Fig. 3. However, part of the processing executed by the movement plan creation unit 143 differs from that in the first embodiment. Details of the movement plan creation unit 143 will be described later.
[0205] The objective function 122 of QUBO generated by the objective function generation unit 142 is the same as in the first embodiment, and is as shown in Equation 4.
[0206] The movement plan creation unit 143 calculates values of some of the decision variables by partially optimizing the objective function 122 (partial optimization processing).
[0207] That is, the objective function generation unit 142 transmits the QUBO objective function 122 expressed by Equation 4 to the Ising machine 210 via the communication unit 110. The Ising machine 210 stochastically calculates the values of some of the decision variables by minimizing the received objective function 122. Specifically, the Ising machine 210 stochastically calculates the values of the decision variables included in the behavior data of a predetermined number of vehicles by minimizing the objective function 122. Here, the predetermined number is a predetermined value and is an integer equal to or greater than 1.
[0208] The movement plan creation unit 143 receives information on the values of some of the decision variables from the Ising machine 210 via the communication unit 110 and outputs the information to the objective function generation unit 142 .
[0209] The objective function generator 142 executes an update process to update the objective function 122 based on the result of the partial optimization process described above.
[0210] The partial optimization process by the movement plan creation unit 143 and the update process of the objective function 122 by the objective function generation unit 142 are repeatedly executed until the values of the decision variables included in the behavior data of all vehicles are determined.
[0211] The smaller the predetermined number (the number of vehicles corresponding to the values of the decision variables determined in the partial optimization process described above), the less the processing load of the partial optimization process, and the shorter the time required to determine the values of all the decision variables. On the other hand, the larger the predetermined number, the greater the processing load of the partial optimization process, and the longer the time required to determine the values of all the decision variables. However, the movement plan creation unit 143 can perform global optimization of the objective function 122 compared to when the predetermined number is small.
[0212] Next, the partial optimization process and update process of the objective function 122 will be described using a specific example.
[0213] Fig. 24 is a diagram showing an example of the behavior data 20 of a vehicle (k = 0). Fig. 24 shows an example of the behavior data 20 of a vehicle (k = 0) before the objective function 122 created by the movement plan creation unit 143 is transmitted to the Ising machine 210. At this point, the values of all the decision variables are undetermined.
[0214] It is assumed that the Ising machine 210 optimizes the objective function 122 and calculates the values of the decision variables included in the behavior data 20 of the vehicle (k=0).
[0215] 25 is a diagram showing an example of the behavior data 20 of a vehicle (k=0). The behavior data 20 shows that the vehicle (k=0) departs from the departure point (p=0) at 9:00, departs from the package collection point (p=1) at 11:00, and departs from the package delivery point (p=N P +2) at 15:00 and return to the destination (p = N P +1).
[0216] The objective function generator 142 updates the objective function 122 based on the results of the partial optimization process. The objective function generator 142 updates the objective function 122 by fixing, to 0, the values of the decision variables whose values have not yet been determined for at least one of the collection points and delivery points that the vehicle has been determined to visit through the partial optimization process.
[0217] FIG. 26 is a diagram showing an example of the behavior data 20 of a vehicle (k=1). As shown in FIG. 25, the collection point (p=1) and delivery point (p=N) of a vehicle (k=0) are calculated by the partial optimization process. P The departure time of each of the vehicles (p = 1 and p = 2) was determined. Therefore, the vehicles other than the vehicle (k = 0) are scheduled to depart from the collection point (p = 1) and the delivery point (p = N P 26, the objective function generation unit 142 determines whether the vehicle (k=1) visits the collection point (p=1) and the delivery point (p=N P +2) to 0. Similarly, the objective function generation unit 142 fixes the values of the decision variables included in the behavior data 20 of other vehicles (k≧2) to 0, such as the collection point (p=1) and the delivery point (p=N P +2) to 0. The objective function generator 142 updates the objective function 122 by fixing the values of the decision variables to 0 in this way.
[0218] [Operation of the Movement Plan Creation Device 100] FIG. 27 is a flowchart showing an example of the operation of the movement plan creation device 100 according to the second embodiment of the present disclosure.
[0219] The movement plan creation device 100 prepares behavior data 20 (step S21).
[0220] The movement planning device 100 displays the prepared behavior data 20 on the display 100A (step S22). The movement planning device 100 generates an objective function 122 (step S23).
[0221] The movement plan creation device 100 transmits the generated objective function 122 to the quantum computer 200 (step S24).
[0222] The movement plan creation device 100 receives, from the Ising machine 210, values of some of the decision variables that partially minimize the objective function 122 (step S25).
[0223] The movement plan creation device 100 determines whether the values of all the decision variables included in the objective function 122 have been received from the Ising machine 210 (step S26).
[0224] If the movement plan creation device 100 determines that there are decision variable values that have not been received (NO in step S26), it executes processing to update the objective function 122 (step S27). Thereafter, the movement plan creation device 100 returns control to step S24.
[0225] If the movement plan creation device 100 determines that the values of all the decision variables have been received (YES in step S26), it creates a movement plan based on the received values of the decision variables (step S28).
[0226] The movement plan creation device 100 displays the behavior data 20 into which the received values of the decision variables have been written (step S29).
[0227] When the movement plan creation device 100 receives a user operation to modify the objective function 122 (YES in step S30), it determines that the objective function 122 needs to be modified, and modifies the objective function 122 based on the user operation (step S31). Thereafter, the movement plan creation device 100 returns control to step S24.
[0228] If the movement plan creation device 100 has not received a user operation to modify the objective function 122 (NO in step S30), it determines that modification of the objective function 122 is not necessary, and ends the processing.
[0229] 28 is a flowchart showing an example of the operation of the Ising machine 210. The Ising machine 210 waits until it receives the objective function 122 from the movement plan creation device 100 (NO in step S41).
[0230] When the Ising machine 210 receives the objective function 122 from the movement plan creation device 100 (YES in step S41), it partially minimizes the value of the received objective function 122 and probabilistically calculates the value of the decision variable included in the behavior data of one vehicle (step S42).
[0231] The Ising machine 210 transmits the determined value of the decision variable of one vehicle to the movement plan creation device 100 (step S43). After that, the Ising machine 210 returns control to step S41.
[0232] As described above, the Ising machine 210 partially optimizes the objective function 122 and determines the values of the quantum bits of a predetermined number of vehicles (for example, one vehicle). The movement planning device 100 updates the objective function 122 by fixing the determined quantum bit values to 0. Optimizing the objective function 122 by repeating the partial optimization process of the objective function 122 by the Ising machine 210 and the update process of the objective function 122 by the movement planning device 100 can optimize the objective function 122 in a shorter time than optimizing the objective function 122 all at once. Therefore, even when the Ising machine 210 is used, the objective function 122 can be optimized at high speed.
[0233] <Variation of Second Embodiment> In the above-described second embodiment, as shown in FIG. 26 , the objective function 122 is updated by fixing the value of the decision variable of at least one of the collection point and delivery point that the vehicle is determined to visit by the partial optimization process of the objective function 122 to 0.
[0234] In contrast to this, in this modified example, the objective function generation unit 142 of the movement plan creation device 100 updates the objective function 122 by deleting the decision variable of at least one of the collection point and delivery point that the vehicle is determined to visit through the partial optimization process of the objective function 122.
[0235] FIG. 29 is a diagram showing an example of the behavior data 20 of a vehicle (k=1). As shown in FIG. 25, the collection point (p=1) and delivery point (p=N) of a vehicle (k=0) are calculated by the partial optimization process. P 29, the objective function generation unit 142 determines the collection point (p=1) and the delivery point (p=N) from the decision variables of the behavior data 20 of the vehicle (k=1) whose values are yet to be determined. P The objective function generation unit 142 similarly deletes the decision variables of the collection point (p=1) and delivery point (p=N P The objective function generator 142 updates the objective function 122 by deleting the decision variables in this way.
[0236] [Note] The movement plan creation device 100 described above is realized by a processing circuitry including one or more processors. The processing circuitry may be configured with an integrated circuit or the like that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute the processes. The one or more processors may execute the processes according to the programs read from the one or more memories, or may execute the processes according to logic circuits designed in advance to execute the processes. The processor may be various processors suitable for computer control, such as a CPU, GPU, DSP (Digital Signal Processor), FPGA, or ASIC (Application Specific Integrated Circuit). Note that the physically separated processors may cooperate with each other to execute the processes. For example, the processors installed in multiple physically separated computers may cooperate with each other via a network such as a LAN, a WAN, or the Internet to execute the above processes. The program may be installed in the memory from an external server device or the like via the network, or may be distributed in a state stored on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), or a semiconductor memory, and installed in the memory from the recording medium. Furthermore, at least a portion of the above embodiments and modifications may be combined in any desired manner.
[0237] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.
[0238] 10 Movement plan creation system 20 Behavior data 21 Behavior data 22 Behavior data 31 Frame 32 Frame 33 Frame 34 Frame 35 Frame 36 Frame 37 Frame 38 Frame 39A Frame 39B Frame 39C Frame 39D Frame 40 Frame 41 Frame 42 Frame 43 Frame 44 Frame 45 Frame 46 Frame 47 Frame 48 Frame 49 Frame 50 Frame 51 Frame 52 Frame 53 Frame 54A Frame 54B Frame 55A Frame 55B Frame 56 Frame 57 Frame 58A Frame 58B Frame 59A Frame 59B Frame 100 Movement plan creation device (behavior data creation device) 100A Display 100B Keyboard 110 Communication unit 120 Storage device 121 Computer program 122 Objective function 130 Input / output I / F unit 140 Processor 141 Behavior data preparation unit (behavior data generation unit) 142 Objective function generation unit 143 Movement plan creation unit 144 Output unit 150 Internal bus 200 Quantum computer 300 Network
Claims
1. A behavior data preparation unit prepares behavior data for each at least one moving object, for each set of location and time frame, in which the departure or arrival of the moving object in that time frame is represented by qubits. A movement planning device comprising: a movement planning unit that creates a movement plan for each of the at least one moving body by optimizing an objective function based on the behavior data of the moving body using an annealing quantum computer or an Ising machine.
2. The aforementioned location includes the loading point in question. The movement planning device according to claim 1, wherein the behavior data represents the loading of the object onto the moving body at the loading point within the time frame in the qubit for each set.
3. The aforementioned locations include the target delivery location, The movement planning device according to claim 1 or 2, wherein the behavior data represents, for each set, the delivery of the target from the moving body at the delivery point within the time frame using the qubits.
4. The aforementioned location includes the starting point of the moving body, The motion planning device according to claim 1 or 2, wherein the behavior data represents the departure of the moving body from the starting point within the time frame for each set using the qubit.
5. The aforementioned location includes the destination of the moving body, The motion planning device according to claim 1 or 2, wherein the behavior data is used to represent the return of the moving body to the destination point within the time frame for each set using the qubit.
6. The travel planning device according to claim 1 or claim 2, further comprising an output unit that outputs a two-dimensional matrix of the qubit values, with the location as the first axis and the time frame as the second axis, based on the qubit values obtained by optimizing the objective function.
7. A movement planning device according to claim 1 or 2, further comprising an output unit that outputs a three-dimensional matrix of the qubit values, with the location as the first axis, the time frame as the second axis, and the moving body as the third axis, based on the qubit values obtained by optimizing the objective function.
8. The at least one moving body includes a plurality of such moving bodies, The movement planning device according to claim 7, wherein the objective function includes a function representing the total operating time of the plurality of moving bodies.
9. The aforementioned locations include the loading or delivery locations in question. The travel planning device according to claim 7, wherein the objective function includes a function representing the total number of deliveries of the target.
10. The at least one moving body includes a plurality of such moving bodies, The movement planning device according to claim 7, wherein the objective function includes a function that represents the degree of variation in the operating times of the plurality of moving bodies.
11. The aforementioned location includes the destination of the moving body, The travel planning device according to claim 7, wherein the objective function includes a function that represents the return of the moving object after the deadline for return to the return point.
12. The movement planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting movement of the moving body in less than the time required to travel between the points where it may travel.
13. The at least one moving body includes a plurality of such moving bodies, The aforementioned locations include the loading or delivery locations in question. The travel planning device according to claim 7, wherein the objective function includes a penalty function that prohibits each of the mobile bodies from visiting each of the loading points or delivery points once or less, and from multiple mobile bodies visiting each of the loading points or delivery points within multiple time slots.
14. The at least one moving body includes a plurality of such moving bodies, The aforementioned locations include the loading or delivery locations in question. The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting visits of multiple moving bodies to each loading point or each delivery point within each time frame.
15. The aforementioned locations include the starting point of each of the aforementioned moving bodies, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting visits to locations other than the departure point prior to the departure time of each of the moving bodies from the departure point.
16. The aforementioned points include the return point of each of the aforementioned moving bodies, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting visits to locations other than the return point after the return time of each of the moving bodies to the return point.
17. The aforementioned locations include the starting point of each of the aforementioned moving bodies, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting multiple visits to the starting point of each of the moving bodies.
18. The aforementioned points include the return point of each of the aforementioned moving bodies, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting multiple visits to the return point of each of the moving objects.
19. The aforementioned locations include the loading and delivery locations, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting a visit to a delivery point of the target before visiting the loading point of the target.
20. The aforementioned locations include the loading and delivery locations, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting visits to only one of the loading point and the delivery point for the same object.
21. The aforementioned locations include the loading and delivery locations, The movement planning device according to claim 7, wherein the objective function includes a penalty function relating to the prohibition of delivery of the target exceeding the maximum load capacity of each of the moving bodies.
22. The aforementioned locations include the loading and delivery locations, The travel planning device according to claim 7, wherein the objective function includes a penalty function relating to prohibiting travel from the loading point to the delivery point for the same object for a period exceeding the time required for travel between the loading point and the delivery point plus a predetermined allowable time.
23. The travel planning device according to claim 22, wherein the predetermined allowable time is determined according to the degree of urgency of the delivery of the subject.
24. The aforementioned locations include the loading and delivery locations, The movement planning device according to claim 7, wherein the objective function includes a penalty function relating to the prohibition of simultaneous stacking of a predetermined number of objects.
25. The movement planning device according to claim 1 or claim 2, wherein the movement planning unit creates a movement plan for each of the moving bodies by repeatedly performing partial optimization of the objective function using the Ising machine.
26. The movement planning device further comprises an objective function generation unit that updates the objective function, The aforementioned location includes at least one of the loading point and the delivery point of the mobile body. The movement planning unit performs a partial optimization process to determine the values of the qubits included in the behavior data of a predetermined number of the moving bodies by optimizing the objective function. The objective function generation unit executes an update process to update the objective function based on the results of the partial optimization process. The movement plan creation device according to claim 25, wherein the partial optimization process and the update process are repeatedly executed.
27. The travel planning apparatus according to claim 26, wherein the update process includes updating the objective function by deleting or fixing the value of a qubit corresponding to at least one of the loading point and the delivery point for which the value of the qubit has already been determined in the partial optimization process.
28. A behavioral data generation device for creating a movement plan for a moving object by optimizing an objective function using an annealing quantum computer or an Ising machine, A behavior data generation device comprising a behavior data generation unit that generates behavior data for each of at least one moving objects, for each set of location and time frame, representing the departure or arrival of the moving object in that time frame using qubits.
29. The movement planning device prepares behavioral data for each of at least one moving object, for each set of location and time frame, in which the departure or arrival of the moving object in that time frame is represented by qubits. A method for creating a movement plan, comprising the steps of: creating a movement plan for each of the at least one moving body by optimizing an objective function based on the behavior data of the moving body using an annealing quantum computer or an Ising machine.
30. Computers, A behavior data preparation unit prepares behavior data for each at least one moving object, for each set of location and time frame, in which the departure or arrival of the moving object in that time frame is represented by qubits. A computer program that functions as a movement planning unit, which creates a movement plan for each of the at least one moving body by optimizing an objective function based on the behavior data of the at least one moving body using an annealing quantum computer or an Ising machine.