Optimization device and optimization method

By dividing the combinatorial optimization problem into subproblems of configuring elements within a group and solving them using the quadratic unconstrained binary optimization problem (QUBO), the problem of high local searchability in large-scale combinatorial optimization problems is solved, and more efficient optimization computation is achieved.

CN121753048APending Publication Date: 2026-03-27MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

When existing technologies divide large-scale combinatorial optimization problems into subproblems, the solution space of the subproblems deviates from that of the original problem, resulting in high local searchness and difficulty in effective optimization.

Method used

By dividing multiple object elements into groups when generating subproblems and setting decision variables corresponding to the object elements within the groups, subproblems are generated. These subproblems are then solved using a quadratic unconstrained binary optimization problem (QUBO) to generate candidate solutions to the original problem. Finally, the solution to the original problem is updated based on the comparison between the candidate solutions and the original solution.

Benefits of technology

It suppresses local searchability, reduces the possibility of getting trapped in local solutions, and improves search efficiency and computational feasibility, especially significantly reducing computational cost in large-scale combinatorial optimization problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121753048A_ABST
    Figure CN121753048A_ABST
Patent Text Reader

Abstract

An optimization device (10) is provided with: a solution acquisition unit that acquires a solution of an original problem that satisfies constraints of a combinatorial optimization problem including a plurality of object elements to be combined; a sub-problem generation unit (12) that divides a plurality of target elements into a plurality of groups on the basis of the solution of the original problem, and generates a sub-problem set for each of the plurality of groups; a sub-problem solving unit (13) that solves the sub-problem generated by the sub-problem generating unit; an inverse transformation unit (14) that generates a candidate solution in the original problem on the basis of the solution of the sub-problem obtained by the sub-problem solving unit; and a solution updating unit (15) that determines, on the basis of the result of comparison between the candidate solution generated by the inverse conversion unit and the solution of the original problem acquired by the solution acquisition unit, whether or not the solution of the original problem can be updated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to optimization apparatus and optimization methods. Background Technology

[0002] Combinatorial optimization problems are used to solve various problems in contemporary society. For example, in fields such as manufacturing and logistics, the search involves finding combinations of elements (locations and products) that minimize the location-based cost of products configured in a warehouse. Mixed-integer programming (MIP), evolutionary computation algorithms, and similar methods are commonly used in such combinatorial optimization problems. However, combinatorial optimization problems often become computationally intensive as the problem size (number of state variables) increases. Therefore, it is known that optimization is difficult in large-scale combinatorial optimization problems.

[0003] As a method for solving such large-scale combinatorial optimization problems, there are methods that divide and transform the large-scale combinatorial optimization problem (hereinafter also referred to as the "original problem") into smaller subproblems. For example, Patent Document 1 proposes a method to optimize the solution of the original problem by repeatedly performing the following processes (1) to (3): (1) extract only the state variables that have a certain or greater impact on the evaluation from the large-scale combinatorial optimization problem and transform them into subproblems, (2) solve the subproblems, and (3) update the solution of the original problem with the solution of the subproblems.

[0004] Existing technical documents

[0005] Patent documents

[0006] Patent Document 1: Japanese Patent No. 7219402 Summary of the Invention

[0007] The problem that the invention aims to solve

[0008] In the method described in Patent Document 1 (hereinafter also referred to as the "prior method"), when generating subproblems, state variables that have a certain or greater influence on the evaluation are extracted to generate subproblems. Therefore, the prior method has the following problems: the solution space of the subproblems is limited by the solution space of the state variables of the original problem, the solution space of the subproblems is biased, and the local search property is high.

[0009] This disclosure was made to solve the above-mentioned problems, and its purpose is to provide an optimization apparatus that, compared with the past, can suppress the local search tendency when transforming a combinatorial optimization problem into subproblems for computation.

[0010] Methods for solving problems

[0011] The optimization apparatus disclosed herein comprises: a solution acquisition unit that acquires a solution to an original problem, the solution of which satisfies the constraints of a combinatorial optimization problem including multiple object elements as combinatorial objects; a subproblem generation unit that divides the multiple object elements into multiple groups based on the solution of the original problem and generates a subproblem for each of the multiple groups; a subproblem solving unit that solves the subproblems generated by the subproblem generation unit; an inverse transformation unit that generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem solving unit; and a solution updating unit that determines whether the solution to the original problem can be updated based on a comparison between the candidate solutions generated by the inverse transformation unit and the solution to the original problem acquired by the solution acquisition unit.

[0012] Invention Effects

[0013] According to this disclosure, due to the configuration described above, it is possible to suppress local search behavior when transforming a combinatorial optimization problem into subproblems for computation, compared to the past. Attached Figure Description

[0014] [ Figure 1 [ ] is a block diagram showing a structural example of the optimization device of Embodiment 1.

[0015] [ Figure 2 [ ] is a block diagram showing a structural example of the subproblem generation unit in Embodiment 1.

[0016] [ Figure 3 [ ] is a flowchart illustrating an example of the operation of the optimization device in Embodiment 1.

[0017] [ Figure 4 [ ] is a flowchart showing the detailed generation process of sub-problems performed by the sub-problem generation unit in Implementation 1.

[0018] [ Figure 5 [ ] is a diagram illustrating an application example of applying the optimization device of Implementation 1 to the problem of optimizing the configuration of products in a warehouse.

[0019] [ Figure 6 [ ] is a diagram illustrating an application example of applying the optimization device of Implementation 1 to the problem of optimizing the configuration of products in a warehouse.

[0020] [ Figure 7 [ ] is a diagram used to illustrate the effectiveness of an optimization device for optimizing the configuration of products in a warehouse.

[0021] [ Figure 8 ] Figure 8 A, Figure 8 B is a diagram illustrating an example of the hardware structure of the optimization device according to Embodiment 1. Detailed Implementation

[0022] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings.

[0023] Implementation method 1.

[0024] Figure 1 This is a block diagram illustrating a structural example of the optimization device 10 according to Embodiment 1. For example, such as... Figure 1 As shown, the optimization device 10 is configured to include an initial solution generation unit 11, a subproblem generation unit 12, a subproblem solving unit 13, an inverse transformation unit 14, and a solution updating unit 15.

[0025] The initial solution generation unit 11 generates a solution (hereinafter also referred to as the "solution to the original problem") that satisfies the constraints of the original problem for a large-scale combinatorial optimization problem (the original problem) that includes multiple object elements as combinatorial objects. At this time, the initial solution generation unit 11 can use any method to generate the solution to the original problem. For example, the initial solution generation unit 11 can generate the solution to the original problem randomly, or based on simple rules. Alternatively, the initial solution generation unit 11 can generate the solution to the original problem based on the evaluation function of the original problem, or based on domain knowledge.

[0026] Furthermore, here we will describe an example of the optimization device 10 generating a solution to the original problem through the initial solution generation unit 11. However, the optimization device 10 is not limited to this, and the solution to the original problem may also be obtained from an external device. In this case, the optimization device 10 may also have an initial solution acquisition unit that obtains a solution to the original problem from an external device, instead of the initial solution generation unit 11.

[0027] The subproblem generation unit 12, based on the solution to the original problem, divides the multiple object elements contained in the original problem into multiple groups, and generates subproblems for each of these groups. A detailed description of the structure of the subproblem generation unit 12 will be provided later.

[0028] The subproblem solving unit 13 solves the subproblems generated by the subproblem generation unit 12. At this time, the subproblem solving unit 13 can use one or more known methods, such as quantum annealing (QA) with approximate solutions, evolutionary computation algorithms (SA, simulated annealing, GA, genetic algorithm, etc.), and mixed integer programming (MIP) with rigorous solutions, to solve the subproblems.

[0029] The inverse transformation unit 14 generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem-solving unit 13. Specifically, the inverse transformation unit 14 generates candidate solutions to the original problem by applying the substitution rules of the object elements of each group to the solution of the original problem, and the substitution rules of the object elements of each group are specified based on the solutions to the subproblems obtained by the subproblem-solving unit 13.

[0030] The solution update unit 15 determines whether to update the solution of the original problem based on a comparison between the candidate solution generated by the inverse transformation unit 14 and the solution of the original problem generated by the initial solution generation unit 11. Furthermore, when the optimization device 10 includes an initial solution acquisition unit instead of the initial solution generation unit 11, the solution update unit 15 determines whether to update the solution of the original problem based on a comparison between the candidate solution generated by the inverse transformation unit 14 and the solution of the original problem acquired by the initial solution acquisition unit.

[0031] If it is decided to update the solution to the original problem, the solution update unit 15 updates the solution to the original problem based on the candidate solutions generated by the inverse transformation unit 14. On the other hand, if it is decided not to update the solution to the original problem, the solution update unit 15 does not update the solution to the original problem.

[0032] After the solution update unit 15 determines whether an update is possible, the subproblem generation unit 12 determines whether a predetermined termination condition is met. If the termination condition is not met, the subproblem generation unit 12 generates a new subproblem based on the solution to the original problem after the solution update unit 15 determines whether an update is possible.

[0033] For example, if the solution update unit 15 decides to update the solution to the original problem and does so, the subproblem generation unit 12 generates a new subproblem based on the updated solution. If the solution update unit 15 decides not to update the solution to the original problem and the solution to the original problem is not updated, the subproblem generation unit 12 generates a new subproblem based on the unupdated solution to the original problem.

[0034] After the solution update unit 15 determines whether an update is possible, the subproblem generation unit 12 repeatedly generates new subproblems based on the solution to the original problem until a predetermined termination condition is met. The predetermined termination condition is, for example, whether the number of times the subproblem generation unit 12 generates subproblems reaches a predetermined number.

[0035] Next, refer to Figure 2 A detailed structural example of the subproblem generation unit 12 will be provided. Furthermore, in the following explanation, to make the explanation more concrete, the case of a combinatorial optimization problem as the original problem will be used as an example. A configuration optimization problem is an example of a combinatorial optimization problem, which seeks the optimal configuration of multiple object elements that are to be combined.

[0036] Figure 2 This is a block diagram illustrating a structural example of the subproblem generation unit 12. For example, as shown... Figure 2 As shown, the subproblem generation unit 12 is configured to include a group generation unit 121, a decision variable setting unit 122, and an objective function setting unit 123.

[0037] The group generation unit 121 generates multiple groups based on the solution to the original problem. Specifically, when initially generating subproblems, the group generation unit 121 selects two or more object elements according to arbitrary rules based on the solution to the original problem generated by the initial solution generation unit 11 (hereinafter also referred to as the "initial configuration solution"), and generates one group. For example, the group generation unit 121 may randomly select two or more object elements from all object elements, or select two or more object elements based on evaluation, or select two or more object elements based on domain knowledge of the original problem. Then, the group generation unit 121 generates multiple groups containing two or more object elements.

[0038] Similarly, when generating subproblems from the second time onwards, the group generation unit 121, based on the solution update unit 15's determination of whether the solution to the original problem can be updated, selects two or more object elements according to an arbitrary rule to generate one group. For example, the group generation unit 121 may randomly select two or more object elements from all object elements, or select two or more object elements based on evaluation, or select two or more object elements based on domain knowledge of the original problem. Then, the group generation unit 121 generates multiple groups containing two or more object elements.

[0039] Furthermore, at this time, the group generation unit 121 generates multiple groups in a manner that satisfies the constraints of the configuration optimization problem even if the configuration of the object elements constituting each group is changed. For example, when the configuration optimization problem, which is the original problem, is the problem of optimizing the allocation of multiple products to shelves, even if the shelf positions of product A and product B are changed, if the constraints in the original problem are satisfied, the group generation unit 121 will place product A and product B in the same group. On the other hand, if the shelf positions of product A and product B are changed and the constraints in the original problem are not satisfied, the group generation unit 121 will prevent product A and product B from being placed in the same group.

[0040] The variable setting unit 122 sets the variable for the subproblem to correspond to the interchange of the configuration of the object elements constituting each group generated by the group generation unit 121.

[0041] For example, the method by which the decision variable setting unit 122 sets the decision variables for the subproblem is as follows: That is, the decision variables for the subproblem correspond to the configuration of object elements that are swapped only within each group. In other words, the values ​​of the decision variables correspond to the pattern of the order of object element swapping. For example, the pattern of the order of object element swapping within each group can consider multiple patterns such as swapping the configuration of two object elements, shifting the overall configuration of object elements to the left or right by N (N being any natural number), or randomly shuffling the overall configuration of object elements.

[0042] As a first example, suppose a group contains two object elements, namely A and B (group = (A, B)). In this case, the configuration patterns within the group only contain two patterns. Therefore, the determination variable setting unit 122 sets one binary variable as the determination variable corresponding to the group. Furthermore, the determination variable is made to correspond to the configuration where the object elements are only changed within each group, such as not changing the configuration of the object elements (maintaining the configuration) (A, B) when the value of the determination variable is 0, and changing the configuration of the object elements (B, A) when the value of the determination variable is 1.

[0043] As a second example, suppose a group contains 3 object elements, namely A, B, and C (group = (A, B, C)). In this case, there are 6 configuration patterns within the group. Therefore, consider several examples as determining variables corresponding to the swapping of object elements within the group.

[0044] For example, the determination variable setting unit 122 sets one binary variable as the determination variable corresponding to the group. Moreover, when the value of the determination variable is 0, the configuration of the object elements is not changed (maintaining the configuration) (A, B, C), and when the value of the determination variable is 1, the configuration of the entire object elements is shifted to the right (C, A, B), or the configuration of the entire object elements is shifted to the left (B, C, A), so that the determination variable corresponds to the configuration of the object elements that are changed only within each group.

[0045] Alternatively, the determination variable setting unit 122 sets two binary variables as determination variables corresponding to that group. Furthermore, the determination variables are configured such that when the value of the determination variable is 00, the configuration of the object elements is not changed (maintaining the configuration) (A, B, C); when the value of the determination variable is 01, the overall configuration of the object elements is shifted to the right (C, A, B); when the value of the determination variable is 10, the overall configuration of the object elements is shifted to the left (B, C, A); and when the value of the determination variable is 11, the initial and final values ​​of the object elements are changed (C, B, A), etc., so that the determination variables correspond to the configuration of the object elements that are changed only within each group.

[0046] Furthermore, the setting of the decision variables for the sub-problems described above is only one example; the decision variable setting unit 122 may also use other methods to set the decision variables for the sub-problems. In this way, the decision variable setting unit 122 sets the decision variables for the sub-problems to correspond to the interchange of the configuration of the object elements constituting each group generated by the group generation unit 121.

[0047] The objective function setting unit 123 sets the objective function for the subproblem. At this time, the objective function setting unit 123 assumes that the objective function of the subproblem is evaluated in the same way as the objective function of the configuration optimization problem of the original problem, and sets the objective function for the subproblem accordingly. Furthermore, since the determining variables are different between the subproblem and the original problem, the construction of the objective function for the subproblem itself can also be different from the construction of the objective function for the original problem. Additionally, when the objective function of the subproblem set by the objective function setting unit 123 is formulated using a quadratic unconstrained binary optimization problem (QUBO), the subproblem solving unit 13 is better able to efficiently solve the subproblem.

[0048] Next, the explanation Figure 1 Example of operation of the optimization device 10 shown. Figure 3 This is a flowchart illustrating an example of the operation of the optimization device 10. Furthermore, in Figure 3 In the flowchart shown, steps ST1 and ST5 are processing steps in the original problem space, ST3 is a processing step in the sub-problem space, and ST2, ST4 and ST6 are other processing steps.

[0049] First, the initial solution generation unit 11 uses an arbitrary method to generate a solution (initial configuration solution) that satisfies the constraints of a large-scale combinatorial optimization problem (original problem) (step ST1).

[0050] Next, the subproblem generation unit 12 generates subproblems based on the solution (initial configuration solution) of the original problem generated by the initial solution generation unit 11 in step ST1 (step ST2).

[0051] Here, refer to Figure 4 The flowchart shown illustrates the detailed generation process of subproblems by the subproblem generation unit 12.

[0052] First, the group generation unit 121 of the subproblem generation unit 12 selects an object element i from the multiple object elements contained in the original problem based on the solution (initial configuration solution) of the original problem generated by the initial solution generation unit 11 in step ST1, according to the aforementioned arbitrary rule (step ST2-1). Furthermore, i represents the index attached to each object element.

[0053] Next, the group generation unit 121 places the object element i selected in step ST2-1 into group j (step ST2-2). Furthermore, j represents the index attached to each group.

[0054] Next, the group generation unit 121 determines whether the number of object elements contained in group j is greater than or equal to a predetermined number (step ST2-3). If it is determined that the number of object elements contained in group j is not greater than or equal to the predetermined number (step ST2-3; no), the process returns to step ST2-1, where the group generation unit 121 selects the next object element i from the multiple object elements contained in the original problem. Then, the group generation unit 121 places the selected next object element i into group j (step ST2-2). Thereafter, the group generation unit 121 repeatedly selects object element i and saves it into group j until it is determined in step ST2-3 that the number of object elements contained in group j is greater than or equal to the predetermined number.

[0055] On the other hand, if it is determined that the number of object elements contained in group j is more than a certain number (step ST2-3; yes), the group generation unit 121 increments j by 1 in order to put object element i into other groups (step ST2-4).

[0056] Next, the group generation unit 121 determines whether all object elements i contained in the original problem have been selected (step ST2-5). As a result, if it is determined that not all object elements i contained in the original problem have been selected (step ST2-5; no), the process returns to step ST2-1, and the group generation unit 121 repeats steps ST2-1 to ST2-5 until it is determined that all object elements i contained in the original problem have been selected. On the other hand, if it is determined that all object elements i contained in the original problem have been selected (step ST2-5; yes), the process moves to step ST2-6.

[0057] In step ST2-6, as described above, the determination variable setting unit 122 sets the determination variables of the sub-problem to correspond to the interchange of the configuration of the object elements constituting each group generated by the group generation unit 121 (step ST2-6).

[0058] Next, as described above, the objective function setting unit 123 sets the objective function that performs the same evaluation as the objective function of the configuration optimization problem, which is the original problem, as the objective function of the subproblem (step ST2-7). Then, the process returns.

[0059] Next, the subproblem solving unit 13 solves the subproblems generated by the subproblem generation unit 12 in step ST2 (step ST3). At this time, the subproblem solving unit 13 uses the state of the solution (initial configuration solution) of the original problem generated by the initial solution generation unit 11 in step ST1 as the initial solution of the subproblem as the subproblem solution, and solves the subproblem. The resulting subproblem solution, for each of the multiple groups, indicates how to optimally configure object element i. In other words, the resulting subproblem solution, for each of the multiple groups, represents the combination of decision variables when the configuration of object element i is optimized.

[0060] Next, the inverse transformation unit 14 generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem solving unit 13 in step ST3 (step ST4). Specifically, the inverse transformation unit 14 generates candidate solutions to the original problem by applying the substitution rule of the object element i of each group to the solution of the original problem, and the substitution rule of the object element i of each group is specified based on the solutions to the subproblems obtained by the subproblem solving unit 13.

[0061] Next, the solution update unit 15 determines whether to update the solution of the original problem based on the comparison result between the candidate solution generated by the inverse transformation unit 14 in step ST4 and the solution of the original problem generated by the initial solution generation unit 11 (step ST5).

[0062] For example, the solution update unit 15 inputs the candidate solution generated by the inverse transformation unit 14 in step ST4 into the objective function (evaluation function) of the original problem to obtain an evaluation value. Then, the solution update unit 15 compares this evaluation value with the evaluation value obtained by inputting the solution of the original problem generated by the initial solution generation unit 11 into the objective function of the original problem. If the former's evaluation value is better, it decides to use the candidate solution generated by the inverse transformation unit 14 to update the solution of the original problem. Then, the solution update unit 15 uses the candidate solution generated by the inverse transformation unit 14 to update the solution of the original problem. On the other hand, if the latter's evaluation value is better, the solution update unit 15 decides not to update the solution of the original problem. Here, the solution of the original problem after the solution update unit 15 performs the above processing is also called the "configuration solution".

[0063] Then, the subproblem generation unit 12 determines whether a predetermined termination condition is met (step ST6). The predetermined termination condition is, for example, whether the number of times the subproblem generation unit 12 generates subproblems has reached a fixed number.

[0064] As a result, if the termination condition is met (step ST6; Yes), the optimization device 10 uses the current configuration solution as the optimized solution and terminates the process. Furthermore, the optimization device 10 may also output the configuration solution to a display unit (not shown) such as a monitor, as needed.

[0065] On the other hand, if the termination condition is not met (step ST6; no), the process returns to step ST2, and the subproblem generation unit 12 generates a new subproblem. Furthermore, when generating this new subproblem, the subproblem generation unit 12 generates the new subproblem based on the configuration solution obtained in step ST5, rather than based on the solution to the original problem (initial configuration solution) generated by the initial solution generation unit 11 in step ST1. Hereafter, the optimization device 10 repeatedly performs steps ST2 to ST5 until the termination condition is met by the subproblem generation unit 12 in step ST6. Thus, the solution to the original problem (configuration solution) is improved.

[0066] Next, the effects of the optimization device 10 in Embodiment 1 will be explained.

[0067] As described above, the optimization apparatus 10 of Implementation 1 transforms a large-scale combinatorial optimization problem into a subproblem such as a problem of rearranging the configuration of object elements within a group. In this respect, when using the existing method described above to transform a combinatorial optimization problem into a subproblem, object elements (state variables) that have a certain or greater influence on the evaluation are extracted to generate the subproblem. Therefore, the solution space of the subproblem becomes the solution space of the state variables of the original problem, resulting in a bias in the solution space of the subproblem and high local search performance. Furthermore, in the existing method, since only the determining variables of the original problem are limited to generate the subproblem, the problem structure remains unchanged; therefore, the complexity of the constraints of the original problem is inherited by the subproblem.

[0068] On the other hand, in the optimization apparatus 10 of Embodiment 1, as described above, when generating subproblems, by setting the decision variables in a manner corresponding to the interchange of the configuration of object elements within the group, all decision variables can be changed from the original problem. Therefore, in the optimization apparatus 10 of Embodiment 1, the deviation of the solution space of the subproblems is smaller than that of existing methods, and local searchability is suppressed compared to existing methods. In addition, the possibility of getting trapped in local solutions is reduced compared to existing methods.

[0069] Furthermore, in the optimization apparatus 10 of Embodiment 1, the decision variables of the subproblems are determined based on the solution to the original problem; therefore, the subproblems do not inherit the constraints of the original problem. Thus, in the optimization apparatus 10 of Embodiment 1, subproblems with reduced complexity compared to existing methods can be generated, improving searchability by shrinking the search space. Additionally, in the optimization apparatus 10 of Embodiment 1, by setting the decision variables of the subproblems to binary values, the objective function of the subproblems can be formulated using a quadratic unconstrained binary optimization problem (QUBO), making it easy to compute quadratic unconstrained binary optimization problems whose performance might be reduced due to constraints using quantum annealing.

[0070] (Specific application examples)

[0071] Next, a specific application example of the optimization device 10 of Embodiment 1 will be described. Here, as an example, an application example of applying the optimization device 10 of Embodiment 1 to the problem of optimizing the configuration of products in a warehouse will be described.

[0072] In the product configuration optimization problem in a warehouse, the goal is to minimize outbound time through product shelving configuration. The warehouse uses a crane with two forks. This crane can simultaneously remove two products from the shelving and retrieve them. For example, as long as products are horizontally adjacent to each other on the shelving, the crane can simultaneously remove (pick up) these products from the shelving.

[0073] As a method to shorten outbound time, one could consider placing frequently outbound products on shelves with shorter outbound times (shelves closer to the outbound exit). Additionally, placing closely related products on nearby shelves allows for simultaneous picking during outbound processes, or reduces the movement time from the first product to the second, thus shortening outbound time.

[0074] For example, suppose there exists Figure 5 The illustrated 3x2 shelving system has products A, B, and C with a respective outbound frequency of A > B > C. When arranging products in the order A, B, C, starting from the shelf closest to the outbound exit, the outbound time for products with higher outbound frequencies is shorter, thus reducing overall outbound time. Furthermore, when products A and B have a high outbound frequency simultaneously, for example... Figure 5 As shown, when A and B are arranged adjacent to each other in the horizontal direction of the shelf, the crane can pick up A and B at the same time and take them out of the warehouse. Therefore, when A and B are taken out of the warehouse at the same time, the outbound time can be shortened.

[0075] In this warehouse configuration optimization problem, we can consider two scenarios: optimizing the placement of products on shelves when none are currently on the shelves, and optimizing the placement of additional products when products are already on the shelves. We will focus on the former scenario, where products are placed on shelves when none are currently on the shelves. Under this condition, by pre-fixing the decision variables as products already on the shelves, we can represent the products already on the shelves.

[0076] In the product configuration optimization problem in a warehouse, the objective function (evaluation function) based on the quadratic unconstrained binary optimization problem (QUBO) is defined by equations (1) to (5) below. Equations (1) to (5) below are evaluation functions that can configure all products on all shelves and reorganize them, and the number of product combinations increases explosively with the problem size.

[0077]

[0078] For example, the determining variable x shown in equation (1) is a binary form used for a quadratic unconstrained binary optimization problem (QUBO). Here, the determining variable x represents the configuration of products on a certain shelf.

[0079] Furthermore, as shown in equations (2) and (3), the objective function is calculated by summing the expected time Es when one product b is removed from the location (shelf) s and the expected time Ed when two products b0 and b1 are removed from the locations (shelves) s0 and s1. Additionally, constraints are used to prevent unexecutable solutions from appearing in the determination variable x. For example, Hb in equation (4) is a product constraint for not configuring more than two products on the same shelf, and Hs in equation (5) is a shelf constraint for not configuring the same product on multiple shelves.

[0080] An example of generating subproblems from the aforementioned configuration optimization problem (original problem) is shown. Furthermore, as a setting for the subproblems, for example, each group has two object elements, and the decision variables are binary. Therefore, the objective function of the subproblems can be easily formulated using a quadratic unconstrained binary optimization problem (QUBO) without constraints. Additionally, as a setting for the subproblems, as described above, multiple groups are generated based on the solution to the original problem, such that the decision variables of the subproblems correspond to the generated groups. In this case, in each group, regardless of how the configuration of the object elements is rearranged, the constraints of the original problem are satisfied. Furthermore, the decision variables of the subproblems correspond to the rearrangement of the configuration of the object elements constituting each group.

[0081] For example, when the decision variables of the subproblems correspond to the groups, the number of object elements in one group is two. Therefore, the group generation unit 121 generates three groups using any method. For example... Figure 6 As shown, when the products are A to F, the group generation unit 121 generates the groups as (A, F), (C, D), and (E, B), respectively.

[0082] At this point, as long as there is one binary variable, it is possible to represent the change in the configuration of object elements (products) in each group. Therefore, the determination variable setting unit 122 assigns one binary determination variable X to each group.

[0083] At this point, the determining variables of the subproblems are represented, for example, as X = x_1, x_2, x_3, where x_1 corresponds to the swap of (A, F), x_2 corresponds to the swap of (C, D), and x_3 corresponds to the swap of (E, B). For instance, the product configuration swap operation is performed based on the value of the determining variable x_1, such that the configuration of A and F is not swapped (maintaining the configuration) when the value of the determining variable x_1 is 0, and the configuration of A and F is swapped when the value of the determining variable x_1 is 1. Similarly, the other determining variables x_2 and x_3 also correspond to product configuration swap operations based on their values.

[0084] In addition, Figure 6 In the example, assume all products are configured on the shelves, but if the number of products is less than the number of shelves, the shelves become idle. In such cases, virtual products are configured as empty shelves, and optimization is performed by assuming that these products cannot be shipped out. This allows us to represent the existence of empty shelves.

[0085] Next, an example of the formula is shown where the objective function of the subproblem is formulated using a quadratic unconstrained binary optimization problem (QUBO) in the setting of the above subproblem.

[0086]

[0087] For example, the determination variable x shown in equation (6) is a formalized binary value used for a quadratic unconstrained binary optimization problem (QUBO). A value of 0 for the determination variable x corresponds to a configuration where the product is not swapped (maintaining the configuration), and a value of 1 for the determination variable x corresponds to a configuration where the product is swapped.

[0088] Furthermore, the objective functions shown in equations (7) and (8) calculate the expected time value when these products are shipped out, given a change in the product configuration. That is, the objective functions shown in equations (7) and (8) evaluate the expected time value in the same way as the objective functions of the original problem shown in equations (2) and (3). In addition, in this subproblem, the construction of the determining variables is designed to satisfy the constraints of the original problem; therefore, there are no constraints equivalent to those in equations (4) and (5) above.

[0089] Next, the effectiveness of the optimization device 10 in addressing the aforementioned configuration optimization problem will be explained. Figure 7 This is a graph showing the results of comparing the problem formulating considering the original problem of all products being placed on all shelves (Equations (1) to (5) above) with the problem formulating considering the original problem being transformed into subproblems and iteratively optimized (Equations (6) to (8) above).

[0090] The comparison method compares the expected reduction in outbound time with the solution to the original problem (initial configuration solution) for various shelf sizes. For example, in... Figure 7 In the diagram, the horizontal axis represents the shelf dimensions, and the vertical axis represents the reduction in expected outbound time compared to the initial configuration solution. Furthermore, a larger value for the reduction in expected outbound time on the vertical axis is better, and a larger value for the shelf dimensions on the horizontal axis indicates a higher problem difficulty. Additionally, in... Figure 7 In the diagram, the curve representing "All" indicates the case where the problem is formalized by considering all products placed on all shelves, while the curve representing "Swap" indicates the case where the problem is formalized by considering the transformation of the original problem into subproblems and iterative optimization of the solutions. Furthermore, in this example, quantum annealing is used to solve the original problem and its subproblems using the HyBridQA solver on D-Wave's quantum computer.

[0091] like Figure 7 As shown in the curves of All, the reduction rate decreases as the shelf size (problem size) increases, and the problem becomes too complex from the middle, resulting in an embedding error on the D-Wave quantum computer side, making computation impossible. In contrast, in the curves of Swap, the reduction rate does not decrease even as the shelf size increases, and computation does not fail. Therefore, it can be seen that the optimization device 10 achieves an expansion of the computable region and improved searchability by reducing the computational load compared to existing methods.

[0092] Furthermore, in the above description, the case of a combinatorial optimization problem as the original problem being a product configuration optimization problem in a warehouse was used as an example. However, the optimization device 10 of Implementation 1 can also be applied to problems other than product configuration optimization problems in a warehouse.

[0093] For example, the configuration optimization problem described above is a problem of optimizing the configuration of spatial products (object elements). In contrast, the sequence optimization problem (e.g., the traveling salesman problem) is a problem of optimizing the configuration of object elements in a time series, and sub-problems can be generated by changing the configuration. Therefore, the optimization apparatus 10 of Implementation 1 can also be applied to sequence optimization problems.

[0094] Furthermore, in discrete-valued integer optimization problems, subproblems can be generated by generating a set of determining variables for the current solution and selectable determining variables. Therefore, the optimization apparatus 10 of Embodiment 1 can also be applied to discrete-valued integer optimization problems. Additionally, by discretizing continuous values, the optimization apparatus 10 of Embodiment 1 can also be applied to continuous-valued optimization problems. That is, the optimization apparatus 10 of Embodiment 1 can be applied to any problem as long as it can generate a set from candidate sets of determining variables for interchangeable object elements, such that the determining variables and constraints of the combinatorial optimization problem as the original problem are satisfied.

[0095] Typically, it is known that the number of combinations in the aforementioned combinatorial optimization problem becomes enormous as the problem size increases. Considering the limitations of memory size and computation time, it is preferable to divide the problem into smaller subproblems for computation. The optimization apparatus 10 of Implementation 1 can generate subproblems as described above; therefore, a reduction in local search complexity and an improvement in search efficiency compared to existing methods can be expected.

[0096] Next, refer to Figure 8 The hardware structure example of the optimization apparatus 10 in Embodiment 1 is explained below. The functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution updating unit 15 in the optimization apparatus 10 are implemented by the processing circuit 22. That is, the optimization apparatus 10 has the capability to perform... Figure 3 The processing of steps ST1 to ST6 shown is as follows: Figure 4 The processing circuit 22 shown represents the processing steps ST2-1 to ST2-7. The processing circuit 22 can be dedicated hardware, or it can be a CPU (Central Processing Unit) or GPU (Graphics Processing Unit) that executes programs stored in memory. Alternatively, the processing circuit 22 can also be mounted on external hardware capable of communicating with the optimization device 10, such as the quantum computer from D-Wave Corporation mentioned above.

[0097] Figure 8 A is a block diagram illustrating the hardware structure that implements the functions of the optimization device 10. Figure 8 B is a block diagram illustrating the hardware structure of the software that executes the functions of the optimization device 10. Figure 8 A and Figure 8 In section B, input interface 20 is an interface for relaying data about the object problem output from an external device to the optimization device 10. Output interface 21 is an interface for relaying the optimal solution to the object problem output from the optimization device 10 to the subsequent external device.

[0098] In the processing circuit Figure 8In the case of the dedicated hardware processing circuit 22 shown in A, the processing circuit 22 can be, for example, a single circuit, a composite circuit, a programmable processor, a parallel programmable processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. The functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution updating unit 15 provided by the optimization device 10 can be implemented by individual processing circuits, or these functions can be implemented by a single processing circuit.

[0099] In the processing circuit Figure 8 In the case of processor 23 shown in B, the functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution updating unit 15 provided by the optimization device 10 are implemented by software, firmware, or a combination of software and firmware. Furthermore, the software or firmware is described as a program and stored in memory 24.

[0100] The processor 23 implements the functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution update unit 15 of the optimization device 10 by reading and executing the program stored in the memory 24. For example, the optimization device 10 includes a memory 24 for storing the final solution executed by the processor 23. Figure 3 The processing of steps ST1 to ST6 shown is as follows: Figure 4 The program shown in steps ST2-1 to ST2-7. This program enables the computer to execute the processes or methods performed by the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution update unit 15. The memory 24 may be a computer-readable storage medium storing programs that enable the computer to function as the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution update unit 15.

[0101] The memory 24 includes, for example, non-volatile or volatile semiconductor memories such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically Erasable Programmable Read Only Memory), as well as disks, floppy disks, optical disks, compact disks, mini disks, DVDs, etc.

[0102] Alternatively, some functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse transformation unit 14, and solution updating unit 15 in the optimization device 10 may be implemented by dedicated hardware, while the remaining functions may be implemented by software or firmware. For example, the function of the subproblem solving unit 13 may be implemented by the processing circuit 22, which is dedicated hardware, and the functions of the initial solution generation unit 11, subproblem generation unit 12, inverse transformation unit 14, and solution updating unit 15 may be implemented by the processor 23 reading and executing the program stored in the memory 24.

[0103] Thus, the processing circuit 22 can implement the above functions through hardware, software, firmware, or a combination thereof.

[0104] As described above, according to this embodiment 1, the optimization apparatus 10 includes: a solution acquisition unit that acquires a solution to an original problem, the solution of which satisfies the constraints of a combinatorial optimization problem including multiple object elements as combinatorial objects; a subproblem generation unit 12 that divides the multiple object elements into multiple groups based on the solution to the original problem and generates a subproblem for each of the multiple groups; a subproblem solving unit 13 that solves the subproblems generated by the subproblem generation unit 12; an inverse transformation unit 14 that generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem solving unit 13; and a solution updating unit 15 that determines whether to update the solution to the original problem based on a comparison between the candidate solutions generated by the inverse transformation unit 14 and the solution to the original problem acquired by the solution acquisition unit. Therefore, compared with the conventional method, the optimization apparatus 10 of embodiment 1 can suppress the local search tendency when transforming the combinatorial optimization problem into subproblems for computation.

[0105] Furthermore, after the solution update unit 15 determines whether an update is permissible, the subproblem generation unit 12 determines whether a predetermined termination condition is met. If the termination condition is not met, a new subproblem is generated based on the solution to the original problem after the solution update unit 15 determines whether an update is permissible. Therefore, the optimization apparatus 10 of Embodiment 1 can achieve improvement of the solution to the original problem based on the solution to the new subproblem.

[0106] Furthermore, since the combinatorial optimization problem is a configuration optimization problem, the subproblem generation unit 12 is configured to include: a group generation unit 121, which generates multiple groups based on the solution to the original problem such that even if the configurations of two or more object elements constituting each group are interchanged, the constraints of the configuration optimization problem are still satisfied; a determination variable setting unit 122, which sets the determination variables of the subproblem in a manner corresponding to the interchange of the configurations of the object elements constituting each group generated by the group generation unit 121; and an objective function setting unit 123, which sets the objective function of the subproblem in a manner that performs the same evaluation as the objective function of the configuration optimization problem. Therefore, compared to the conventional method, the optimization apparatus 10 of Embodiment 1 can suppress the local search behavior when transforming the configuration optimization problem into subproblems for computation. In addition, the optimization apparatus 10 of Embodiment 1 can generate subproblems with reduced complexity compared to existing methods, thereby improving search performance by narrowing the search space.

[0107] Furthermore, the inverse transformation unit 14 generates candidate solutions to the original problem by applying a rule for changing the configuration of the object elements in each group to the solution of the original problem. The rule for changing the configuration of the object elements in each group is specified based on the solution of the subproblem obtained by the subproblem solving unit 13. Thus, the optimization apparatus 10 of Embodiment 1 can appropriately generate candidate solutions to the original problem based on the solution of the subproblem.

[0108] Furthermore, the group generation unit 121 sets each group to contain two object elements, and the determination variable setting unit 122 assigns binary determination variables as subproblem determination variables to each group. The value of these determination variables corresponds to either changing the configuration of the object elements contained in the group to which the determination variable was assigned or maintaining the configuration. Thus, in the optimization apparatus 10 of Embodiment 1, the determination variables of the subproblems can be changed from the original problem, the deviation of the solution space of the subproblems is smaller compared to existing methods, and local search behavior can be suppressed compared to existing methods.

[0109] Furthermore, the objective function of the subproblem set by the objective function setting unit 123 is formulated using a quadratic unconstrained binary optimization problem (QUBO). Thus, in the optimization apparatus 10 of Embodiment 1, the quadratic unconstrained binary optimization problem, whose performance may be reduced due to constraints, can be easily calculated using quantum annealing.

[0110] Furthermore, the subproblem-solving unit 13 solves the subproblems using one or more of the following methods: quantum annealing (approximate solution), evolutionary computation algorithm, and mixed-integer linear programming (rigorous solution). Therefore, the optimization device 10 of Embodiment 1 can calculate the solutions to the subproblems with high accuracy.

[0111] Furthermore, this disclosure allows for modifications to any constituent element of the implementation method, or the omission of any constituent element in the implementation method.

[0112] Industrial availability

[0113] Compared with the past, this disclosure can suppress the local search property when transforming combinatorial optimization problems into subproblems for computation, and is suitable for optimization devices and optimization methods.

[0114] Label Explanation

[0115] 10: Optimization device; 11: Initial solution generation unit; 12: Subproblem generation unit; 13: Subproblem solving unit; 14: Inverse transformation unit; 15: Solution update unit; 20: Input interface; 21: Output interface; 22: Processing circuit; 23: Processor; 24: Memory; 121: Group generation unit; 122: Variable setting unit; 123: Objective function setting unit.

Claims

1. An optimization device, characterized in that, This optimization device has the following features: The solution-obtaining part obtains the solution to the original problem, which is a solution that satisfies the constraints of the combinatorial optimization problem, which includes multiple object elements as combinatorial objects. The subproblem generation unit divides the multiple object elements into multiple groups based on the solution to the original problem, and generates subproblems for each of the multiple groups; The subproblem-solving unit solves the subproblems generated by the subproblem-generating unit. The inverse transformation unit generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem-solving unit. as well as The solution update unit determines whether the solution to the original problem can be updated based on a comparison between the candidate solution generated by the inverse transformation unit and the solution to the original problem obtained by the solution acquisition unit.

2. The optimization device according to claim 1, characterized in that, After the solution update unit determines whether an update is possible, the subproblem generation unit determines whether a predetermined termination condition is met. If the termination condition is not met, a new subproblem is generated based on the solution of the original problem after the solution update unit determines whether an update is possible.

3. The optimization device according to claim 1 or 2, characterized in that, The aforementioned combinatorial optimization problem is a configuration optimization problem. The sub-problem generation unit is configured to include: A group generation unit, based on the solution to the original problem, generates the plurality of groups such that even if the configuration of two or more object elements constituting each group is changed, the constraints of the configuration optimization problem are still satisfied. The variable setting unit sets the variable determination for the sub-problem in a manner corresponding to the interchange of the configurations of the object elements constituting each group generated by the group generation unit; and The objective function setting unit sets the objective function of the subproblem in the same way as the objective function of the configuration optimization problem.

4. The optimization device according to claim 3, characterized in that, The inverse transformation unit generates candidate solutions to the original problem by applying a permutation rule for the configuration of the object elements of each group to the solution of the original problem, wherein the permutation rule for the configuration of the object elements of each group is specified based on the solution of the subproblem obtained by the subproblem solving unit.

5. The optimization device according to claim 3 or 4, characterized in that, The group generation unit sets the number of object elements contained in each group to 2. The determination variable setting unit assigns binary determination variables as determination variables for the subproblem to each of the groups. The value of this determination variable corresponds to either changing or maintaining the configuration of the object elements contained in the group to which the determination variable was assigned.

6. The optimization apparatus according to any one of claims 3 to 5, characterized in that, The objective function of the subproblem set by the objective function setting unit is formulated by a quadratic unconstrained binary optimization problem (QUBO).

7. The optimization apparatus according to any one of claims 1 to 6, characterized in that, The subproblem-solving unit uses one or more of the following methods to solve the subproblem: quantum annealing (approximate solution), evolutionary computation algorithm, and mixed-integer linear programming (rigorous solution).

8. An optimization method performed by an optimization device, characterized in that, The optimization method comprises the following steps: The solution-obtaining part obtains the solution to the original problem, which is a solution that satisfies the constraints of the combinatorial optimization problem, which includes multiple object elements as combinatorial objects. The subproblem generation unit divides the multiple object elements into multiple groups based on the solution to the original problem, and generates subproblems for each of the multiple groups; The subproblem-solving unit solves the subproblems generated by the subproblem-generating unit. The inverse transformation unit generates candidate solutions to the original problem based on the solutions to the subproblems obtained by the subproblem-solving unit. as well as The solution update unit determines whether to update the solution of the original problem based on the comparison between the candidate solution generated by the inverse transformation unit and the solution of the original problem obtained by the solution acquisition unit.