Optimization device and optimization method
Patent Information
- Application Number
- PCT/JP2023/031067
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2025-03-06
Smart Images

Figure JP2023031067_06032025_PF_FP_ABST
Abstract
Description
Optimization device and optimization method
[0001] The present disclosure relates to an optimization device and an optimization method.
[0002] Combinatorial optimization problems are used to solve a variety of problems in modern society. For example, in fields such as manufacturing and logistics, a search is made for a combination of factors (locations and products) that minimizes the cost of locating products in a warehouse. Mixed integer programming (MIP) and evolutionary computing algorithms are generally used to solve such combinatorial optimization problems. However, as the problem scale (number of state variables) increases, many combinatorial optimization problems require enormous amounts of calculation. For this reason, it is known that optimization is difficult for combinatorial optimization problems with large problem scales.
[0003] One method for solving such large-scale combinatorial optimization problems is to divide and convert the large-scale combinatorial optimization problem (hereinafter also referred to as the "original problem") into subproblems with smaller scales. For example, Patent Document 1 proposes a method for optimizing a solution to the original problem by repeatedly performing the following steps (1) to (3): (1) extracting only state variables that have a certain or greater effect on evaluation from the large-scale combinatorial optimization problem and converting them into subproblems, (2) solving the subproblems, and (3) updating the solution to the original problem with the solutions to the subproblems.
[0004] Patent No. 7219402
[0005] In the method described in Patent Document 1 (hereinafter also referred to as the "conventional method"), when generating subproblems, state variables that have a certain degree of influence on the evaluation are extracted to generate the subproblems. As a result, in the conventional method, the solution space of the subproblems becomes a solution space that limits the state variables of the original problem, which causes bias in the solution space of the subproblems and results in a high degree of local search capability.
[0006] The present disclosure has been made to solve the above-mentioned problems, and aims to provide an optimization device that can reduce the local search nature when converting a combinatorial optimization problem into subproblems and calculating them more than ever before.
[0007] The optimization device according to the present disclosure is characterized by comprising: a solution acquisition unit that acquires a solution to an original problem that satisfies the constraints of a combinatorial optimization problem that includes multiple target elements to be combined; a sub-problem generation unit that divides the multiple target elements into multiple groups based on the solution to the original problem and generates sub-problems set for each of the multiple groups; a sub-problem solving unit that solves the sub-problems generated by the sub-problem generation unit; an inverse transformation unit that generates candidate solutions for the original problem based on the solutions to the sub-problems obtained by the sub-problem solving unit; and a solution update unit that determines whether to update the solution to the original problem based on a comparison result between the candidate solutions generated by the inverse transformation unit and the solution to the original problem acquired by the solution acquisition unit.
[0008] According to the present disclosure, with the above configuration, it is possible to suppress the local search nature when converting a combinatorial optimization problem into subproblems and performing calculations, more than ever before.
[0009] 8A and 8B are diagrams illustrating an example of the configuration of an optimization device according to embodiment 1. FIG. 8A is a block diagram illustrating an example of the configuration of a partial problem generator in embodiment 1. FIG. 8B is a flowchart illustrating an example of the operation of the optimization device according to embodiment 1. FIG. 8B is a flowchart illustrating a detailed procedure for generating partial problems by the partial problem generator in embodiment 1. FIG. 8A is a diagram illustrating an example of the application of the optimization device according to embodiment 1 to a product placement optimization problem in a warehouse. FIG. 8B is a diagram illustrating the effectiveness of the optimization device for the product placement optimization problem in a warehouse. FIGS. 8A and 8B are diagrams illustrating an example of the hardware configuration of the optimization device according to embodiment 1.
[0010] Hereinafter, embodiments will be described in detail with reference to the drawings. Embodiment 1. Fig. 1 is a block diagram showing an example configuration of an optimization device 10 according to embodiment 1. For example, as shown in Fig. 1, the optimization device 10 includes an initial solution generation unit 11, a subproblem generation unit 12, a subproblem solving unit 13, an inverse conversion unit 14, and a solution update unit 15.
[0011] The initial solution generation unit 11 generates a solution (hereinafter also referred to as a "solution to the original problem") that satisfies the constraints of a large-scale combinatorial optimization problem (original problem) that includes multiple target elements to be combined. In this case, the initial solution generation unit 11 may use any method to generate the solution to the original problem. For example, the initial solution generation unit 11 may generate the solution to the original problem randomly or based on a simple rule. Furthermore, the initial solution generation unit 11 may generate the solution to the original problem based on an evaluation function of the original problem or based on domain knowledge.
[0012] Although an example will be described in which the optimization device 10 generates a solution to the original problem using the initial solution generation unit 11, the optimization device 10 is not limited to this, and the solution to the original problem may be acquired from an external device. In this case, the optimization device 10 may include, instead of the initial solution generation unit 11, an initial solution acquisition unit that acquires the solution to the original problem from the external device.
[0013] The sub-problem generator 12 divides the target elements included in the original problem into a plurality of groups based on the solution of the original problem, and generates sub-problems set for each of the plurality of groups. A detailed configuration example of the sub-problem generator 12 will be described later.
[0014] The subproblem solving unit 13 solves the subproblems generated by the subproblem generating unit 12. At this time, the subproblem solving unit 13 may solve the subproblems using one or more of known methods, such as quantum annealing (QA), which is an approximate solution method, evolutionary algorithms (such as simulated annealing and genetic algorithms (GA)), and mixed integer linear programming (MIP), which is an exact solution method.
[0015] The inverse transformation unit 14 generates candidate solutions for the original problem based on the solutions of the subproblems obtained by the subproblem solving unit 13. Specifically, the inverse transformation unit 14 generates candidate solutions for the original problem by applying to the solution of the original problem a replacement rule for target elements for each group, which is specified based on the solutions of the subproblems obtained by the subproblem solving unit 13.
[0016] The solution update unit 15 determines whether or not to update the solution to the original problem, depending on the comparison result between the candidate solution generated by the inverse transformation unit 14 and the solution to the original problem generated by the initial solution generation unit 11. Note that if 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 or not to update the solution to the original problem, depending on the comparison result between the candidate solution generated by the inverse transformation unit 14 and the solution to the original problem acquired by the initial solution acquisition unit.
[0017] When the solution update unit 15 determines to update the solution to the original problem, it updates the solution to the original problem based on the candidate solution generated by the inverse conversion unit 14. On the other hand, when the solution update unit 15 determines not to update the solution to the original problem, it does not update the solution to the original problem.
[0018] After solution update unit 15 determines whether or not the update is possible, sub-problem generation unit 12 determines whether or not a predetermined termination condition is satisfied. If sub-problem generation unit 12 determines that the termination condition is not satisfied, it generates a new sub-problem based on the solution of the original problem after solution update unit 15 determines whether or not the update is possible.
[0019] For example, if solution update unit 15 determines that the solution to the original problem should be updated and the solution to the original problem is updated, sub-problem generation unit 12 generates a new sub-problem based on the updated solution. Also, if solution update unit 15 determines that the solution to the original problem should not be updated and the solution to the original problem is not updated, sub-problem generation unit 12 generates a new sub-problem based on the unupdated solution to the original problem.
[0020] After solution update unit 15 determines whether or not to update, sub-problem generator 12 repeatedly generates new sub-problems based on the solution of the original problem until it is determined that a predetermined termination condition is satisfied. The predetermined termination condition is, for example, whether or not sub-problem generator 12 has generated a predetermined number of sub-problems.
[0021] Next, a detailed configuration example of the subproblem generator 12 will be described with reference to Fig. 2. In the following description, for the sake of concreteness, the original problem, that is, the combinatorial optimization problem, will be described as a placement optimization problem. A placement optimization problem is an example of a combinatorial optimization problem, and is a problem that seeks the optimal placement of multiple target elements to be combined.
[0022] 2 is a block diagram showing an example of the configuration of the sub-problem generation unit 12. The sub-problem generation unit 12 includes, for example, a group generation unit 121, a decision variable setting unit 122, and an objective function setting unit 123, as shown in FIG.
[0023] The group generation unit 121 generates multiple groups based on the solution to the original problem. Specifically, when initially generating a subproblem, the group generation unit 121 selects two or more target elements according to an arbitrary rule based on the solution to the original problem (hereinafter also referred to as the "initial placement solution") generated by the initial solution generation unit 11, and generates one group. For example, the group generation unit 121 may randomly select two or more target elements from all target elements, select them based on evaluation, or select them based on knowledge of the domain of the original problem. Then, the group generation unit 121 generates multiple groups each including two or more target elements.
[0024] Similarly, when generating subproblems for the second time or later, the group generation unit 121 selects two or more target elements according to any rule based on the solution to the original problem after the solution update unit 15 has determined whether or not to update, and generates one group. For example, the group generation unit 121 may randomly select two or more target elements from all target elements, select them based on evaluation, or select them based on knowledge of the domain of the original problem. The group generation unit 121 then generates multiple groups each including two or more target elements.
[0025] Furthermore, at this time, the group generation unit 121 generates multiple groups so that the constraints of the layout optimization problem are satisfied even if the layout of the target elements that make up each group is swapped. For example, when the layout optimization problem, which is the original problem, is a problem of optimizing the layout of multiple products on shelves, the group generation unit 121 places products A and B in the same group if the constraints of the original problem are satisfied even if the shelf positions of products A and B are swapped. On the other hand, the group generation unit 121 does not place products A and B in the same group if the constraints of the original problem are not satisfied when the shelf positions of products A and B are swapped.
[0026] The decision variable setting unit 122 sets decision variables for the subproblems so as to correspond to the rearrangement of the target elements that make up each group generated by the group generating unit 121 .
[0027] The method of setting the decision variables for the subproblems by the decision variable setting unit 122 is, for example, as follows. That is, the decision variables for the subproblems correspond to the shuffling of the arrangement of the target elements only within each group. That is, the values of the decision variables correspond to the pattern of shuffling the order of the target elements. For example, there are multiple possible patterns for shuffling the order of the target elements within each group, such as shuffling the arrangement of two target elements, shifting the arrangement of all the target elements to the left or right by N units (N is any natural number), or randomly shuffling the arrangement of all the target elements.
[0028] As a first example, suppose a group contains two target elements, A and B (group = (A, B)). In this case, since there are only two layout patterns within the group, the decision variable setting unit 122 sets one binary variable as the decision variable corresponding to this group. Then, when the value of this decision variable is 0, the layout of the target elements is not swapped (the layout is maintained), but when the value of this decision variable is 1, the layout of the target elements is swapped (B, A), and so on. Thus, the decision variable corresponds to swapping of the layout of the target elements only within each group.
[0029] As a second example, suppose that a group contains three target elements, and the group contains target elements A, B, and C (group = (A, B, C)). In this case, there are six possible arrangement patterns within the group, and therefore several examples of decision variables corresponding to the rearrangement of the target elements within this group can be considered.
[0030] For example, the decision variable setting unit 122 sets one binary variable as the decision variable corresponding to this group. When the value of this decision variable is 0, the arrangement of the target elements is not changed (the arrangement is maintained) (A, B, C), but when the value of this decision variable is 1, the arrangement of all the target elements is shifted to the right (C, A, B) or to the left (B, C, A), and the decision variable corresponds to the change in the arrangement of the target elements only within each group.
[0031] Alternatively, the decision variable setting unit 122 sets two binary variables as decision variables corresponding to this group. Then, when the value of this decision variable is 00, the arrangement of the target elements is not rearranged (the arrangement is maintained) (A, B, C), but when the value of this decision variable is 01, the arrangement of all the target elements is shifted to the right (C, A, B), when the value of this decision variable is 10, the arrangement of all the target elements is shifted to the left (B, C, A), and when the value of this decision variable is 11, the first and last values of the target elements are swapped (C, B, A), etc., so that the decision variables correspond to rearrangements of the target elements only within each group.
[0032] The settings of the decision variables for the subproblems described above are merely examples, and the decision variable setting unit 122 may set the decision variables for the subproblems with content other than that described above. In this way, the decision variable setting unit 122 sets the decision variables for the subproblems so as to correspond to the rearrangement of the target elements that make up each group generated by the group generation unit 121.
[0033] The objective function setting unit 123 sets an objective function for the subproblem. At this time, the objective function setting unit 123 sets the objective function for the subproblem assuming that the objective function for the subproblem is evaluated in the same manner as the objective function for the original problem, which is the layout optimization problem. Note that the structure of the objective function for the subproblem itself may be different from the structure of the objective function for the original problem because the decision variables differ between the subproblem and the original problem. Furthermore, if the objective function for the subproblem set by the objective function setting unit 123 is formulated using quadratic unconstrained binary optimization (QUBO), it is preferable because the subproblem solving unit 13 can efficiently solve the subproblem.
[0034] Next, an example of the operation of the optimization device 10 shown in Fig. 1 will be described. Fig. 3 is a flowchart showing an example of the operation of the optimization device 10. In the flowchart shown in Fig. 3, steps ST1 and ST5 are processing steps in the original problem space, ST3 is a processing step in the subproblem space, and ST2, ST4, and ST6 are other processing steps.
[0035] First, the initial solution generating unit 11 generates a solution (initial placement solution) that satisfies the constraints of a large-scale combinatorial optimization problem (original problem) using any method (step ST1).
[0036] Next, the sub-problem generator 12 generates a sub-problem based on the solution (initial placement solution) of the original problem generated by the initial solution generator 11 in step ST1 (step ST2).
[0037] Here, the detailed procedure for generating sub-problems by the sub-problem generator 12 will be described with reference to the flowchart shown in FIG.
[0038] First, the group generation unit 121 of the subproblem generation unit 12 selects a target element i from among the multiple target elements included in the original problem in accordance with the arbitrary rule described above, based on the solution to the original problem (initial placement solution) generated by the initial solution generation unit 11 in step ST1 (step ST2-1), where i represents an index assigned to each target element.
[0039] Next, the group generating unit 121 places the target element i selected in step ST2-1 into group j (step ST2-2), where j indicates an index assigned to each group.
[0040] Next, the group generation unit 121 determines whether the number of target elements included in group j is equal to or greater than a predetermined number (step ST2-3). As a result, if it is determined that the number of target elements included in group j is not equal to or greater than the predetermined number (step ST2-3; NO), the process returns to step ST2-1, where the group generation unit 121 selects the next target element i from the multiple target elements included in the original problem. Then, the group generation unit 121 places the selected next target element i into group j (step ST2-2). Thereafter, the group generation unit 121 repeats the selection of target element i and the storage of the target element i in group j until it determines in step ST2-3 that the number of target elements included in group j is equal to or greater than a predetermined number.
[0041] On the other hand, if it is determined that the number of target elements included in group j is equal to or greater than the specified number (step ST2-3; YES), the group generation unit 121 adds 1 to j to place the target element i in another group (step ST2-4).
[0042] Next, the group generation unit 121 determines whether all target elements i included in the original problem have been selected (step ST2-5). As a result, if it is determined that all target elements i included in the original problem have not 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 determines that all target elements i included in the original problem have been selected. On the other hand, if it is determined that all target elements i included in the original problem have been selected (step ST2-5; YES), the process proceeds to step ST2-6.
[0043] In step ST2-6, the decision variable setting unit 122 sets the decision variables of the subproblems so as to correspond to the rearrangement of the target elements that make up each group generated by the group generation unit 121, as described above (step ST2-6).
[0044] Next, the objective function setting unit 123 sets, as the objective function of the subproblem, an objective function that performs the same evaluation as the objective function of the original problem, the layout optimization problem, as described above (step ST2-7).Then, the process returns.
[0045] Next, the subproblem solving unit 13 solves the subproblem generated by the subproblem generation unit 12 in step ST2 (step ST3). At this time, the subproblem solving unit 13 solves the subproblem using, as the initial solution of the subproblem, a state in which the solution (initial placement solution) of the original problem generated by the initial solution generation unit 11 in step ST1 is not replaced. The subproblem solutions obtained in this way indicate how to optimally place the target element i for each of the multiple groups. In other words, the subproblem solutions obtained in this way indicate the combination of decision variables when the placement of the target element i is optimized for each of the multiple groups.
[0046] Next, the inverse conversion unit 14 generates candidate solutions for the original problem based on the solutions of the subproblems obtained by the subproblem solving unit 13 in step ST3 (step ST4). Specifically, the inverse conversion unit 14 generates candidate solutions for the original problem by applying to the solution of the original problem a replacement rule for the target element i for each group, which is specified based on the solutions of the subproblems obtained by the subproblem solving unit 13.
[0047] Next, the solution update unit 15 determines whether or not to update the solution to the original problem based on the comparison result between the candidate solution generated by the inverse conversion unit 14 in step ST4 and the solution to the original problem generated by the initial solution generation unit 11 (step ST5).
[0048] 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 the evaluation value thus obtained with an 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, and if the former has a better evaluation value, decides to update the solution of the original problem with the candidate solution generated by the inverse transformation unit 14. Then, the solution update unit 15 updates the solution of the original problem with the candidate solution generated by the inverse transformation unit 14. On the other hand, if the latter has a better evaluation value, the solution update unit 15 decides not to update the solution of the original problem. Here, the solution of the original problem after the above processing by the solution update unit 15 is also referred to as a "placement solution."
[0049] Thereafter, the sub-problem generator 12 determines whether a predetermined termination condition is satisfied (step ST6). The predetermined termination condition is, for example, whether the number of sub-problems generated by the sub-problem generator 12 reaches a predetermined number.
[0050] As a result, if it is determined that the termination condition is satisfied (step ST6; YES), the optimization device 10 determines the placement solution at that time as the optimized solution and terminates the processing. Note that the optimization device 10 may output this placement solution to a display unit (not shown) such as a display, as necessary.
[0051] On the other hand, if it is determined that the termination condition is not satisfied (step ST6; NO), the process returns to step ST2, and the subproblem generation unit 12 generates a new subproblem. Note that when generating this new subproblem, the subproblem generation unit 12 generates the new subproblem based on the placement solution obtained in step ST5, rather than the solution to the original problem (initial placement solution) generated by the initial solution generation unit 11 in step ST1. Thereafter, the optimization device 10 repeats steps ST2 to ST5 until the subproblem generation unit 12 determines in step ST6 that the termination condition is satisfied. In this way, the solution to the original problem (placement solution) is improved.
[0052] Next, the effects of the optimization device 10 according to the first embodiment will be described.
[0053] As described above, the optimization device 10 according to the first embodiment converts a large-scale combinatorial optimization problem into a subproblem, which is a problem of rearranging target elements within a group. In this regard, when converting a combinatorial optimization problem into a subproblem using the conventional method described above, the subproblem is generated by extracting target elements (state variables) that have a certain degree of influence on the evaluation. Therefore, the solution space of the subproblem becomes a solution space that limits the state variables of the original problem, resulting in a bias in the solution space of the subproblem and a high degree of local search capability. Furthermore, since the conventional method generates subproblems by simply limiting the decision variables of the original problem, the problem structure remains unchanged, and the complexity of the constraints of the original problem is carried over to the subproblems.
[0054] On the other hand, as described above, in the optimization device 10 according to the first embodiment, when generating subproblems, the decision variables are set to correspond to the rearrangement of the target elements within the group, thereby making it possible to change all decision variables from those in the original problem. Therefore, in the optimization device 10 according to the first embodiment, the bias in the solution space of the subproblems is smaller than in conventional methods, and the local search tendency is suppressed more than in conventional methods. Furthermore, the possibility of falling into a local solution is reduced more than in conventional methods.
[0055] Furthermore, in the optimization device 10 according to the first embodiment, the decision variables of the subproblems are determined based on the solution of the original problem, and therefore the subproblems do not inherit constraints from the original problem. Therefore, the optimization device 10 according to the first embodiment can generate subproblems with lower complexity than conventional methods, leading to improved searchability due to a reduced search space. Furthermore, in the optimization device 10 according to the first embodiment, by making the decision variables of the subproblems binary, the objective function of the subproblem can be formulated as a quadratic unconstrained binary optimization problem (QUBO), which facilitates quantum annealing calculations of quadratic unconstrained binary optimization problems, which may suffer from performance degradation due to constraints.
[0056] (Specific Application Example) Next, a specific application example of the optimization device 10 according to the embodiment 1 will be described. Here, as an example, an application example in which the optimization device 10 according to the embodiment 1 is applied to a problem of optimizing the placement of products in a warehouse will be described.
[0057] In a product placement optimization problem in a warehouse, the goal is to minimize the time it takes for products to be placed on shelves. The warehouse uses a crane with two forks. This crane can simultaneously pick two products from a shelf. For example, the crane can simultaneously pick two products from a shelf if they are horizontally adjacent to each other on the shelf.
[0058] One way to shorten delivery times is to place products that are frequently delivered on shelves with short delivery times (shelves closer to the delivery entrance). Also, if products that are highly related to each other are placed on nearby shelves, they can be picked simultaneously when they are delivered at the same time, and the travel time required to remove a second product from the first product can be reduced, leading to shorter delivery times.
[0059] For example, suppose there is a shelf with three rows and two columns as shown in Figure 5, and the respective retrieval frequencies of products A, B, and C placed on this shelf are A > B > C. In this case, if the products are placed in the order of A, B, and C starting from the shelf closest to the retrieval entrance, the retrieval time of the product with the higher retrieval frequency will be shorter, thereby shortening the retrieval time. Also, if A and B are frequently retrieved at the same time, for example, if A and B are placed next to each other horizontally on the shelf as shown in Figure 5, the crane can pick and retrieve A and B at the same time, thereby shortening the retrieval time when A and B are retrieved at the same time.
[0060] In this warehouse placement optimization problem, there are cases where optimization is required to place products on shelves when there are no products on the shelves, or when there are already products on the shelves and optimization is required to place additional products on the shelves. Note that here we consider the former example, i.e., optimization to place products on shelves when there are no products on the shelves. Even in this condition, it is possible to represent products already placed on shelves by fixing the decision variables in advance as products already placed on shelves.
[0061] In a warehouse product placement optimization problem, the objective function (evaluation function) formulated as a quadratic unconstrained binary optimization problem (QUBO) is defined, for example, by the following equations (1) to (5). The following equations (1) to (5) are evaluation functions when all products can be placed and rearranged on all shelves, and the number of product combinations increases explosively as the problem scale increases.
[0062] For example, the decision variable x in equation (1) is binary because it is formulated using the quadratic unconstrained binary optimization problem (QUBO). Here, the placement of a product on a shelf is expressed by this decision variable x.
[0063] The objective function is calculated as the sum of the expected time Es when one product b is removed from location (shelf) s and the expected time Ed when two products b0 and b1 are removed from locations (shelves) s0 and s1, as shown in equations (2) and (3). The constraints are used to prevent the decision variable x from producing an infeasible solution. For example, Hb shown in equation (4) is a product constraint that prevents two or more products from being placed on the same shelf, and Hs shown in equation (5) is a shelf constraint that prevents the same product from being placed on multiple shelves.
[0064] An example of generating a subproblem from the above-described placement optimization problem (original problem) is shown below. For the subproblem configuration, for example, the number of target elements in one group is two, and the decision variable is binary. This allows the objective function of the subproblem to be easily formulated using a quadratic unconstrained binary optimization problem (QUBO) without requiring constraints. Furthermore, for the subproblem configuration, as described above, multiple groups are generated based on the solution to the original problem, and the decision variables of the subproblem are assigned to each generated group. In this case, the constraints of the original problem are satisfied regardless of how the placement of the target elements in each group is rearranged. Furthermore, the decision variables of the subproblem correspond to the rearrangement of the target elements constituting each group.
[0065] For example, when matching the decision variables of a subproblem with groups, since each group contains two target elements, the group generation unit 121 generates three groups using an arbitrary method. For example, as shown in Figure 6, if there are products A to F, the group generation unit 121 generates the groups as (A, F), (C, D), and (E, B), respectively.
[0066] In this case, the rearrangement of the target elements (products) in each group can be expressed with one binary variable, so the decision variable setting unit 122 assigns one binary decision variable X to each group.
[0067] In this case, the decision variables for the subproblems are expressed as, for example, 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 example, when the value of decision variable x_1 is 0, the arrangement of A and F is not swapped (the arrangement is maintained), but when the value of decision variable x_1 is 1, the arrangement of A and F is swapped, and a product swap operation is performed depending on the value of decision variable x_1. Similarly, the other decision variables x_2 and x_3 also correspond to the swap operation of product arrangement depending on their values.
[0068] In the example of Figure 6, it is assumed that all products are placed on the shelves, but if the number of products is less than the number of shelves, there will be empty shelves. In such cases, a dummy product is placed on the empty shelf, and optimization is performed assuming that the product will not be shipped out, thereby representing the case where an empty shelf exists.
[0069] Next, in the setting of the subproblem described above, an example of an equation when the objective function of the subproblem is formulated using a quadratic unconstrained binary optimization problem (QUBO) will be shown.
[0070] For example, the decision variable x shown in Equation (6) is binary because it is formulated using a quadratic unconstrained binary optimization problem (QUBO). A value of 0 for the decision variable x corresponds to not shuffling the product placement (maintaining the placement), and a value of 1 for the decision variable x corresponds to shuffling the product placement.
[0071] Furthermore, the objective functions shown in equations (7) and (8) calculate the expected time for shipping products when the product locations are rearranged. That is, the objective functions shown in equations (7) and (8) evaluate the expected time, similar to the objective functions of the original problem shown in equations (2) and (3). Note that in this subproblem, the structure of the decision variables is designed to satisfy the constraints of the original problem, so there are no constraints equivalent to the above-mentioned equations (4) and (5).
[0072] Next, the effectiveness of the optimization device 10 for the above-mentioned placement optimization problem will be described. Fig. 7 is a diagram showing the results of comparing the original problem, i.e., a case where the problem is formulated taking into consideration the placement of all products on all shelves (the above-mentioned formulas (1) to (5)), with a case where the problem is formulated taking into consideration the conversion of the original problem into subproblems and the iterative optimization of the solution (the above-mentioned formulas (6) to (8)).
[0073] The comparison method involves comparing the reduction in expected delivery time for various shelf sizes compared to the solution of the original problem (initial placement solution). For example, in FIG. 7, the horizontal axis represents shelf size, and the vertical axis represents the reduction in expected delivery time compared to the initial placement solution. The larger the reduction in expected delivery time on the vertical axis, the better, and the larger the shelf size on the horizontal axis, the more difficult the problem. Also, in FIG. 7, the graph shown in "All" represents a case where the problem is formulated taking into account the placement of all products on all shelves, while the graph shown in "Swap" represents a case where the problem is formulated taking into account the conversion of the original problem into subproblems and the iterative optimization of the solution. In this example, the original problem and subproblems were solved using quantum annealing using the HyBridQA solver installed on a D-Wave quantum computer.
[0074] As shown in Figure 7, in the graph shown in All, the reduction amount decreased as the shelf size (problem scale) increased, and the problem became too complex halfway through, causing an embedding error on the D-Wave quantum computer, making the calculation impossible. In contrast, in the graph shown in Swap, the reduction amount did not decrease even as the shelf size increased, and the calculation did not become impossible. From this, it can be seen that the optimization device 10 has achieved an expansion of the calculable range and improved searchability by reducing the amount of calculation compared to conventional methods.
[0075] In the above explanation, the original combinatorial optimization problem is an example of a problem of optimizing product placement in a warehouse. However, the optimization device 10 according to the first embodiment can be applied to problems other than the problem of optimizing product placement in a warehouse.
[0076] For example, the above-mentioned layout optimization problem involves optimizing the spatial layout of products (target elements), whereas a permutation optimization problem (such as the traveling salesman problem) involves optimizing the time-series layout of target elements, and subproblems can be generated by shuffling the layouts. Therefore, the optimization device 10 according to the first embodiment can also be applied to permutation optimization problems.
[0077] Furthermore, in a discrete integer optimization problem, it is possible to generate a subproblem by generating the decision variables of the current solution and a group of selectable decision variables. Therefore, the optimization device 10 according to the first embodiment is also applicable to discrete integer optimization problems. Furthermore, the optimization device 10 according to the first embodiment is also applicable to continuous optimization problems by discretizing the continuous values. In other words, the optimization device 10 according to the first embodiment is applicable to any problem as long as a group can be generated from a group of decision variable candidates whose target elements can be interchanged so as to satisfy the decision variables and constraints of the combinatorial optimization problem, which is the original problem.
[0078] In general, it is known that the number of combinations for combinatorial optimization problems such as those described above becomes enormous as the problem scale increases, and in light of limitations on memory size and calculation time, it is preferable to divide the problem into subproblems with smaller problem scales for calculation. Because the optimization device 10 according to the first embodiment is capable of generating subproblems as described above, it is expected to reduce the local search requirement and improve search efficiency compared to conventional methods.
[0079] Next, with reference to FIG. 8 , an example of the hardware configuration of the optimization device 10 according to the first embodiment will be described. The functions of the initial solution generation unit 11, the subproblem generation unit 12, the subproblem solving unit 13, the inverse conversion unit 14, and the solution update unit 15 in the optimization device 10 are realized by a processing circuit 22. That is, the optimization device 10 includes a processing circuit 22 for executing the processes from step ST1 to step ST6 shown in FIG. 3 and the processes from step ST2-1 to step ST2-7 shown in FIG. 4. The processing circuit 22 may be dedicated hardware, or may be a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) that executes a program stored in memory. The processing circuit 22 may 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.
[0080] Fig. 8A is a block diagram showing a hardware configuration that realizes the functions of the optimization device 10. Fig. 8B is a block diagram showing a hardware configuration that executes software that realizes the functions of the optimization device 10. In Figs. 8A and 8B, the input interface 20 is an interface that relays data related to the target problem that is output from an external device to the optimization device 10. The output interface 21 is an interface that relays an optimal solution to the target problem that is output from the optimization device 10 to a downstream external device.
[0081] 8A , the processing circuit 22 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed 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, the subproblem generation unit 12, the subproblem solving unit 13, the inverse conversion unit 14, and the solution update unit 15 provided in the optimization device 10 may be realized by separate processing circuits, or these functions may be realized together by a single processing circuit.
[0082] 8B , the functions of the initial solution generation unit 11, subproblem generation unit 12, subproblem solving unit 13, inverse conversion unit 14, and solution update unit 15 included in the optimization device 10 are realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 24.
[0083] The processor 23 reads and executes programs stored in the memory 24 to realize the functions of the initial solution generation unit 11, the subproblem generation unit 12, the subproblem solving unit 13, the inverse conversion unit 14, and the solution update unit 15 provided in the optimization device 10. For example, the optimization device 10 includes a memory 24 for storing programs that, when executed by the processor 23, result in the execution of each process from step ST1 to step ST6 shown in FIG. 3 and each process from step ST2-1 to step ST2-7 shown in FIG. 4. These programs cause a computer to execute the procedures or methods of the processes performed by the initial solution generation unit 11, the subproblem generation unit 12, the subproblem solving unit 13, the inverse conversion unit 14, and the solution update unit 15. The memory 24 may be a computer-readable storage medium that stores programs for causing a computer to function as the initial solution generation unit 11, the subproblem generation unit 12, the subproblem solving unit 13, the inverse conversion unit 14, and the solution update unit 15.
[0084] The memory 24 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (Electrically-EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD.
[0085] Some of 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 included in the optimization device 10 may be realized by dedicated hardware, with the remaining functions being realized by software or firmware. For example, the function of the subproblem solving unit 13 is realized by a processing circuitry 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 update unit 15 are realized by a processor 23 reading and executing programs stored in a memory 24. In this way, the processing circuitry 22 can realize the above functions by hardware, software, firmware, or a combination of these.
[0086] As described above, according to the first embodiment, the optimization device 10 includes a solution acquisition unit that acquires a solution to an original problem that satisfies the constraints of a combinatorial optimization problem including multiple target elements to be combined, a subproblem generation unit 12 that divides the multiple target elements into multiple groups based on the solution to the original problem and generates subproblems set 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 for the original problem based on the solutions to the subproblems obtained by the subproblem solving unit 13, and a solution update unit 15 that determines whether to update the solution to the original problem based on a comparison result between the candidate solutions generated by the inverse transformation unit 14 and the solution to the original problem acquired by the solution acquisition unit. This makes it possible for the optimization device 10 according to the first embodiment to suppress the need for local search when converting a combinatorial optimization problem into subproblems and performing calculations, more so than in the past.
[0087] Furthermore, after the solution update unit 15 determines whether or not to update, the sub-problem generation unit 12 determines whether or not a predetermined termination condition is satisfied, and if it determines that the termination condition is not satisfied, generates a new sub-problem based on the solution to the original problem after the solution update unit 15 determines whether or not to update. In this way, the optimization device 10 according to the first embodiment can improve the solution to the original problem based on the solution to the new sub-problem.
[0088] Furthermore, the combinatorial optimization problem is a placement optimization problem, and the subproblem generation unit 12 includes: a group generation unit 121 that generates, based on a solution to the original problem, multiple groups such that the constraints of the placement optimization problem are satisfied even if the placements of two or more target elements constituting each group are rearranged; a decision variable setting unit 122 that sets decision variables for the subproblems so as to correspond to the rearrangements of the target elements constituting each group generated by the group generation unit 121; and an objective function setting unit 123 that sets an objective function for the subproblems so as to perform the same evaluation as the objective function for the placement optimization problem. This allows the optimization device 10 according to the first embodiment to suppress the local search nature when converting the placement optimization problem into subproblems and performing calculations, compared to conventional methods. Furthermore, the optimization device 10 according to the first embodiment can generate subproblems with lower complexity than conventional methods, leading to improved search nature due to a reduced search space.
[0089] Furthermore, the inverse transformation unit 14 generates candidate solutions for the original problem by applying to the solution of the original problem a rearrangement rule for the arrangement of target elements for each group, which rule is specified based on the solution of the subproblem obtained by the subproblem solving unit 13. This allows the optimization device 10 according to the first embodiment to appropriately generate candidate solutions for the original problem based on the solution of the subproblem.
[0090] Furthermore, the group generation unit 121 sets the number of target elements to be included in each group to two, and the decision variable setting unit 122 assigns a binary decision variable to each group as a decision variable for the subproblem, and the value of the decision variable corresponds to either rearranging the arrangement of the target elements included in the group to which the decision variable is assigned or maintaining the arrangement. This makes it possible for the optimization device 10 according to the first embodiment to change the decision variables of the subproblem from those of the original problem, thereby reducing the bias in the solution space of the subproblem compared to conventional methods and suppressing the local search tendency compared to conventional methods.
[0091] Furthermore, the objective function of the subproblem set by the objective function setting unit 123 is formulated as a quadratic unconstrained binary optimization problem (QUBO). This makes it easier for the optimization device 10 according to the first embodiment to perform quantum annealing calculations for quadratic unconstrained binary optimization problems, which may experience performance degradation due to constraints.
[0092] Furthermore, the subproblem solving unit 13 solves the subproblems using one or more of the approximate solution methods of quantum annealing, evolutionary computing algorithm, and exact solution method of mixed integer linear programming. This allows the optimization device 10 according to the first embodiment to accurately calculate solutions to the subproblems.
[0093] In addition, in the present disclosure, any component of the embodiments may be modified or any component of the embodiments may be omitted.
[0094] The present disclosure makes it possible to suppress the local search nature when converting a combinatorial optimization problem into subproblems and performing calculations, and is suitable for use in optimization devices and optimization methods.
[0095] 10 Optimization device, 11 Initial solution generation unit, 12 Subproblem generation unit, 13 Subproblem solving unit, 14 Inverse conversion unit, 15 Solution update unit, 20 Input interface, 21 Output interface, 22 Processing circuit, 23 Processor, 24 Memory, 121 Group generation unit, 122 Decision variable setting unit, 123 Objective function setting unit.
Claims
1. An optimization device comprising: a solution acquisition unit that acquires a solution to an original problem which satisfies constraints of a combinatorial optimization problem including multiple target elements to be combined; a sub-problem generation unit that divides the multiple target elements into multiple groups based on the solution to the original problem and generates sub-problems set for each of the multiple groups; a sub-problem solving unit that solves the sub-problems generated by the sub-problem generation unit; an inverse transformation unit that generates candidate solutions for the original problem based on the solutions of the sub-problems obtained by the sub-problem solving unit; and a solution update unit that decides whether to update the solution to the original problem depending on a result of comparing the candidate solutions generated by the inverse transformation unit with the solution to the original problem acquired by the solution acquisition unit.
2. The optimization device described in claim 1, characterized in that the sub-problem generation unit determines whether a predetermined termination condition is satisfied after the solution update unit has determined whether the update is possible, and if it determines that the termination condition is not satisfied, generates a new sub-problem based on the solution of the original problem after the solution update unit has determined whether the update is possible.
3. The optimization device according to claim 1 or 2, characterized in that the combinatorial optimization problem is a placement optimization problem, and the sub-problem generation unit includes: a group generation unit that generates the multiple groups based on a solution of the original problem such that the constraints of the placement optimization problem are satisfied even if the placement of two or more target elements constituting each of the groups is rearranged; a decision variable setting unit that sets decision variables of the sub-problems so as to correspond to the rearrangement of the target elements constituting each of the groups generated by the group generation unit; and an objective function setting unit that sets the objective function of the sub-problem so as to perform the same evaluation as the objective function of the placement 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 rearrangement rule for the target elements for each group, the rearrangement rule being specified based on the solution of the subproblem obtained by the subproblem solving unit, to the solution of the original problem.
5. The optimization device according to claim 3 or 4, characterized in that: the group generation unit sets each group to include two target elements; the decision variable setting unit assigns a binary decision variable to each group as a decision variable for the subproblem; and the value of the decision variable corresponds to either rearranging the target elements included in the group to which the decision variable is assigned, or maintaining the arrangement.
6. The optimization device 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 using a quadratic unconstrained binary optimization problem (QUBO).
7. The optimization device according to any one of claims 1 to 6, characterized in that the subproblem solving unit solves the subproblems using one or more of quantum annealing, an approximate solution method, an evolutionary computing algorithm, and mixed integer linear programming, an exact solution method.
8. An optimization method performed by an optimization device, comprising: a solution obtaining unit obtains a solution to an original problem which satisfies constraints of a combinatorial optimization problem including a plurality of target elements to be combined; a sub-problem generation unit divides the plurality of target elements into a plurality of groups based on the solution to the original problem and generates sub-problems set for each of the plurality of groups; a sub-problem solving unit solves the sub-problems generated by the sub-problem generation unit; an inverse transformation unit generates candidate solutions for the original problem based on the solutions of the sub-problems obtained by the sub-problem solving unit; and a solution update unit determines whether or not to update the solution to the original problem depending on a result of comparing the candidate solutions generated by the inverse transformation unit with the solution to the original problem obtained by the solution obtaining unit.
Citation Information
Patent Citations
Optimization prediction for industrial processes
US20010013027A1
Operation planning device, operation planning method, and operation planning program
WO2020225848A1
