Computation program, computation method, and information processing device
Patent Information
- Application Number
- JP2025552629
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2026-04-07
- Publication Date
- 2026-07-08
AI Technical Summary
Existing optimization algorithms often produce exact solutions that are highly sensitive to variations in work content and physical properties, leading to reduced effectiveness when deviations occur, and they typically incur high computational costs when seeking robust solutions.
An arithmetic program and information processing device that search for solutions by generating variations of the obtained solution, calculating the average and variance values of the objective function for multiple solutions, and outputting a combination of these values that satisfies a predetermined condition, thereby obtaining a highly robust solution at a low computational cost.
This approach allows for the efficient attainment of highly robust solutions with minimal computational expense, effectively addressing the limitations of traditional optimization methods by broadening the search area and prioritizing solution robustness.
Abstract
Description
Calculation program, calculation method, and information processing device
[0001] The present invention relates to a computing program, a computing method, and an information processing device.
[0002] In various industries, optimization problems exist to achieve favorable results, and optimization algorithms for finding optimal solutions to these optimization problems have been researched (see, for example, Patent Documents 1 to 3).
[0003] Japanese Patent Application Laid-Open No. 2008-159048 Japanese Patent Publication No. 2003-521773 U.S. Patent Publication No. 2019-0272752
[0004] In optimization algorithms, it is conceivable to seek an exact solution. However, in actual work sites, it may happen that work is not carried out according to the exact solution, or that physical properties cannot be obtained according to the exact solution. In these cases, the effect that would be obtained with the exact solution may be significantly reduced. Therefore, it is conceivable to search for a highly robust solution. However, searching for a highly robust solution may result in high computational costs.
[0005] In one aspect, the present invention aims to provide a calculation program, a calculation method, and an information processing device that can obtain a highly robust solution at a low calculation cost.
[0006] In one aspect, the calculation program causes a computer to perform the following steps: repeating a search process of searching for a solution to an optimization target, generating multiple solutions by varying the obtained solutions, and calculating the mean value and variance value of an objective function for the multiple solutions; and outputting combinations of the mean value and the variance value obtained in each search process that satisfy a predetermined condition.
[0007] A highly robust solution can be obtained with low computational cost.
[0008] FIG. 1 is a diagram illustrating an example of an optimization result for the placement of products in a packaging box. (a) is a functional block diagram illustrating the overall configuration of an information processing device according to a first embodiment, and (b) is a block diagram illustrating an example of the hardware configuration of each unit of the information processing device. (b) is a flowchart illustrating an example of the operation of the information processing device. (c) is a diagram illustrating an example of the transition of a search region for a solution. (d) is a diagram illustrating a case where a genetic algorithm is used in the optimization engine. (e) is a diagram illustrating an example of the average value and variance value. (f) is a diagram illustrating an example of the average value and variance value. (f) is a diagram illustrating a case where the explanatory variables are two-dimensional. (a) is a diagram illustrating the search results of an optimization engine that does not consider variation, and (b) is a diagram illustrating the search results of an embodiment. (c) is a diagram illustrating the results of evaluating robustness. (d) is a diagram for explaining the QUBO format.
[0009] Before describing the embodiments, an outline of the optimization algorithm will be given.
[0010] Optimization problems exist in various industries, including distribution and manufacturing. Research is being conducted into optimization algorithms that can find exact solutions to these problems that achieve the highest computational efficiency.
[0011] Here, an exact solution is a solution that maximizes the evaluation index. For example, in a production line, evaluation indexes include production completion time, delivery date, production cost, etc. In a packing operation, evaluation indexes include the amount of wasted materials and work time, etc. An optimization algorithm is an algorithm that uses one or more evaluation indexes as an objective function and performs optimization so that the objective function becomes favorable. In a production line, input variables include the initial order of products being put onto the production line, as well as conditions such as the work time required for each product. In a packing operation, input variables include the initial order of products being packed into boxes, as well as conditions such as the size, weight, and box size of each product. The solution obtained is, for example, the order in which products are put onto the production line. In a packing operation, the solution obtained is, for example, the order in which products are packed into boxes.
[0012] Optimization algorithms can obtain the exact solution that maximizes the evaluation index. However, when trying to actually apply the exact solution obtained by these optimization algorithms, various variations can occur in reality, making it difficult to work according to the exact solution, or the physical properties cannot be obtained according to the exact solution, resulting in a slight deviation from the exact solution.
[0013] Here, the exact solution obtained by conventional methods is often a solution that can achieve high local effectiveness. Therefore, if the work content or physical properties deviate from the exact solution (i.e., tolerance occurs), the effect will decrease dramatically and the expected effect may not be achieved. Furthermore, even if the work content is the exact solution, it may not actually achieve the expected effect because it does not take into account the variables on the site.
[0014] For example, in the packing process, differences in the proficiency of workers can cause the work time to increase, or errors in the size of the products handled can prevent the packing work from being completed according to the exact solution. These are things that can happen in the actual workplace. If these things occur, the work content will deviate from the exact solution.
[0015] FIG. 1 is a diagram illustrating an example of an optimization result for product placement in a packaging box. Packing products tightly into a packaging box can reduce the amount of wasted material. Therefore, it is conceivable to use an optimization algorithm to find the optimal solution for packing products into a packaging box. FIG. 1 is a diagram illustrating an example of an optimal solution. In FIG. 1, the horizontal axis represents the solution space of the input conditions, and the vertical axis represents the amount of wasted material. In the example of FIG. 1, evaluation is performed using a single evaluation index: the amount of wasted material.
[0016] For example, the optimal solution on the right side of Figure 1 is the exact solution because it minimizes the amount of wasted material. While this exact solution significantly reduces the amount of wasted material, because the solution exists locally, even a slight deviation from the exact solution can significantly increase the amount of wasted material. This is because the width of the valley near the exact solution in the horizontal direction in the graph in Figure 1 is small. On the other hand, the optimal solution on the left side does not reduce the amount of wasted material as much as the exact solution, but compared to the exact solution, the solution does not exist locally (the difference in the amount of wasted material from nearby solutions is small). In other words, the width of the valley near the optimal solution on the left side of the graph in Figure 1 in the horizontal direction is larger than the width of the valley near the optimal solution (exact solution) on the right side. Therefore, even if the work content deviates slightly from the optimal solution, the amount of wasted material does not increase significantly. In actual work sites, a highly robust optimization algorithm is required that can achieve results close to the optimal solution even when the work content deviates from the optimal solution.
[0017] Here, the MOD (multi-objective robust design optimization) method is an example of a robust optimization method. This method involves repeatedly sampling design variables to be searched during optimization calculations, and statistically processing and evaluating the resulting indices. The average value and standard deviation of the objective function are used as evaluation values, and the solution with the highest evaluation value is ultimately calculated as the optimal solution. The MOD (modification method) repeatedly evaluates a sufficient number of sampling points near the input variables, resulting in a highly robust solution. However, the calculation time increases monotonically with the increase in sampling points. Therefore, for optimization problems where the calculation cost of a single evaluation value is high, it is difficult to obtain an optimal solution using the MOD (modification method) method within a practical calculation time.
[0018] Therefore, in order to overcome the problem of calculation time, another highly robust optimization method is the Robust GA (robust genetic algorithm). The Robust GA method is a method in which a GA (genetic algorithm) is used as an optimization engine, and generational evolution is performed by generating variations for each evaluation of generational evolution by the genetic algorithm. Alternatively, a hybrid method that combines the MORDO method and the Robust GA method can be considered. Alternatively, a Robust CMA-ES method can be considered. These are robust optimization methods that minimize multiple sampling to reduce the calculation load. However, a drawback is that the need to use GA or CMA-ES limits the optimization engines that can be used. Currently, the MORDO method is the only robust optimization technique that can be widely applied to various optimization engines.
[0019] Therefore, in the following embodiment, robust optimization that can be applied to a wide range of optimization engines and can obtain a highly robust solution with low computational cost will be described.
[0020] 2A is a functional block diagram illustrating the overall configuration of an information processing device 100 according to the first embodiment. The information processing device 100 is, for example, a server for optimization processing. As illustrated in FIG. 2A, the information processing device 100 includes a storage unit 10, an optimization execution unit 20, a variation setting unit 30, a determination unit 40, an output unit 50, and the like.
[0021] 2B is a block diagram illustrating an example of the hardware configuration of each part of the information processing device 100. As illustrated in FIG. 2B, the information processing device 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.
[0022] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, etc. The storage device 103 is a non-volatile storage device. Examples of the storage device 103 include a read-only memory (ROM), a solid-state drive (SSD) such as a flash memory, and a hard disk driven by a hard disk drive. The storage device 103 stores a calculation program. The input device 104 is an input device such as a mouse or keyboard. Alternatively, the input device 104 is an interface for an external memory such as a USB memory. The display device 105 is a device that displays processing results of the information processing device 100, such as a display. The CPU 101 executes a calculation program to realize each unit of the information processing device 100. Each unit of the information processing device 100 may be implemented using hardware such as a dedicated circuit.
[0023] 3 is a flowchart showing an example of the operation of the information processing device 100. Hereinafter, an example of the operation of the information processing device 100 will be described with reference to the flowchart of FIG.
[0024] First, the optimization execution unit 20 refers to the optimization problem stored in the storage unit 10 and executes an optimization calculation (step S1). In this case, the variable element is x and the objective function is f(x). In the optimization calculation, a solution x is searched for so that f(x) satisfies a predetermined condition. In this embodiment, as an example, a solution x that minimizes f(x) is searched for.
[0025] Next, the variation setting unit 30 calculates the optimal solution x obtained in step S1. i Variation in i is given multiple times, and the statistical value s of the objective function f is calculated. i (Step S2). For example, the variation setting unit 30 calculates the solution x i For each, we give several types of fluctuations that follow a Gaussian distribution with a mean of 0 and a standard deviation of σ. iIn the optimization to minimize the objective function f, the smaller the mean value of the objective function f, the more likely the solution x i is a good solution. The smaller the variance value of the objective function f, the higher the robustness, and the larger the variance value of the objective function f, the lower the robustness. Note that "i" is the value of the number of times step S2 is executed. Therefore, when step S2 is executed for the first time, x i is x 1 is.
[0026] Next, the storage unit 10 stores the solution x i and the statistical value s i are recorded in association with each other (step S3).
[0027] Next, the determination unit 40 determines whether or not a termination condition is met (step S4). For example, the determination unit 40 determines whether or not the number of times step S4 has been executed has reached a specified value.
[0028] If the determination in step S4 is "No," the optimization execution unit 20 will i and set conditions that prevent the selection of the peripheral solutions (step S5). For example, the optimization execution unit 20 imposes a penalty on the range of x±Δx. For example, the optimization execution unit 20 may set a penalty on the solution x i A sufficiently large value M is added as a penalty to f(x-Δx) to f(x+Δx). Here, Δx reflects the magnitude of the robustness R of the solution x. If the robustness R is small, the robustness is high. For example, the robustness R is calculated by multiplying the statistical value s i For example, the initial solution x 1 The robustness index R 1 For Δx 1 is set as σ, and then the obtained solution x n The penalty width Δx given to n is R 1 The more robust the solution, the smaller the value. For example, Δx n = σ × (R n / R 1) where σ may be the same value as σ in step S2. Then, the process is repeated from step S1.
[0029] If step S4 returns "Yes," the optimization execution unit 20 selects the most robust solution x from among the solutions x stored in the storage unit 10 (step S6). That is, it selects the solution x with the lowest variance value of the objective function f. For example, it is possible to consider not only robustness (the index is the variance value) but also a preset performance threshold (the index is the mean value) as a selection condition for the solution x. For example, it is possible to select a solution x whose variance value is lower than the threshold value for the variance value and whose mean value is smaller than the threshold value for the mean value. In this case, the threshold value is set before the optimization calculation is performed.
[0030] Next, the output unit 50 outputs the solution x selected in step S6 as the optimal solution x (step S7). The information output by the output unit 50 may be displayed on the display device 105.
[0031] According to this embodiment, a robustness evaluation is performed on a solution calculated in an optimization calculation, and a penalty is imposed to prevent neighborhoods of the evaluated solution from being selected as a solution in the next optimization calculation. This allows the search space to be expanded. At this time, the robustness of the obtained solution is reflected in the likelihood of the solution being selected, making it less likely that neighborhoods of previously obtained solutions with low robustness will be searched, thereby enabling an efficient search for a robust solution. FIG. 4 is a diagram illustrating an example of the transition of the search space for a solution. In FIG. 4, the vertical axis y represents the objective function f(x), and the horizontal axis represents the variable x. As illustrated in FIG. 4, even if there are multiple valleys that could be searched for as a solution, the search space transitions through each valley in sequence, allowing a more robust solution to be searched for.
[0032] As described above, according to this embodiment, there is no limitation on the optimization engine that can be used. Therefore, regardless of the type of optimization engine, by reflecting the robustness of previously obtained solutions in the search area, it becomes possible to efficiently search for highly robust solutions over a wide range.
[0033] As an example of optimization calculation, a genetic algorithm (GA) will be described. In the GA, robustness evaluation is performed at the end of the generation evolution of the GA, and the neighborhood of the evaluated individual is not selected as a parent.
[0034] First, in the first generation, as shown in Figure 5, a solution in the valley region of (a) is assumed to be obtained. Using the solution of (a), the mean value and variance of the objective function are calculated and robustness is evaluated. A sufficiently large value is assigned to the Pareto ranking of the neighborhood of the solution of (a).
[0035] As a result, the neighboring solutions of (a) are no longer selected as parents, and a solution in a region other than (a) (region (b) in FIG. 5) is obtained. The solutions in region (b) are used to evaluate robustness. The robustness of (b) is compared with the robustness of (a). A sufficiently large value is assigned to the Pareto ranking of the neighborhood of the solution of (b). Note that the value assigned is smaller than that of (a) if the robustness of (b) is higher than that of (a), and larger than that of (a) if it is lower.
[0036] By repeating the subsequent generational evolution in the same manner, the most robust solution is calculated while repeating the generational evolution. For example, in the example of Figure 5, solutions are searched for in the order of area (a), area (b), area (c), and area (d). In this way, when GA is used as the optimization engine of this embodiment, the number of robustness evaluations is at most the number of generational evolutions, and the calculation cost is reduced.
[0037] Here, the standard problem of the following formula (1) is the formula f b The maximization problem of (x) was treated as a minimization problem, and the minimization problem of the following equation (2) was solved.
[0038] GA was used as the optimization engine. The number of evolutionary generations in the GA was 20. The number of individuals was 100. Robustness was evaluated once every two generations. The evaluation method was to give the obtained solution a variation according to a Gaussian distribution with a mean of 0 and a variance of 0.065 10 times, and to evaluate the obtained objective function f'. b The mean and variance were calculated.
[0039] In FIG. 6, the Random Search plot represents the solution space. The center position of the Robust opt. bubble (circle) represents the average value of the robustness evaluation, and the bubble size represents the standard deviation (square root of the variance). As illustrated in FIG. 6, it can be seen that robust evaluation was performed in four of the five valleys. It can be seen that the solution search area was not limited to the left valley where the exact solution exists, but also included searches in other valleys. It can be seen that this example found a highly robust solution (the solution with the smallest bubble size located in the central valley).
[0040] Next, we verified whether a robust solution can be obtained even when the most robust solution is the shallowest valley.The problem of the following equation (3) was set as the optimization target, and the minimization problem of the following equation (4) was solved.
[0041] GA was used as the optimization engine. The number of evolutionary generations in the GA was 20. The number of individuals was 100. Robustness was evaluated once every two generations. The evaluation method was to give the obtained solution a variation according to a Gaussian distribution with a mean of 0 and a variance of 0.065 10 times, and to evaluate the obtained objective function f'. b The average value and variance of the values were calculated. In other words, the same conditions as those in FIG. 6 were adopted.
[0042] In FIG. 7, the plot of Random Search represents the solution space. The center position of the bubble for Robust opt. represents the average value of the robustness evaluation, and the bubble size represents the standard deviation (square root of the variance). As illustrated in FIG. 7, it can be seen that robust evaluation was performed in four of the five valleys. It can be seen that the solution search area was not limited to the left valley where the exact solution exists, but that searches were also performed in other valleys. It can be seen that this embodiment found a robust solution regardless of the size of the valley where a highly robust solution exists.
[0043] Next, the computational costs of this embodiment were compared with those of the MOD method under the conditions of Figures 6 and 7. In the MOD method, 100 individuals x 10 times / individual x 20 generations = 20,000 calculations are performed. In contrast, in this embodiment, (100 individuals x 2 generations + 10 times) x 20 generations / (2 generations / solution) = 2,100 calculations are performed. As such, it can be seen that in this embodiment, the computational costs related to robust optimization can be reduced by approximately 90% compared to the MOD method.
[0044] Next, we also verified the case where the explanatory variables are two-dimensional. b In order to expand (x) to two dimensions, the following conditions of formula (5) and formula (6) are given. Formula (5) can be expressed as shown in FIG. 8. In order to treat it as a minimization problem in the same way as a one-dimensional problem, f in formula (6) is b2 '(x) was used.
[0045] 9A shows the search results of the optimization engine that does not consider variations. FIG. 9B shows the search results of this embodiment. The search results of FIG. 9A show that the search positions are concentrated near the optimal solution. In contrast, the search results of this embodiment of FIG. 9B show that transitions to other search solutions are progressing.
[0046] Figure 10 shows the results of the robustness evaluation. The bubble chart shows the standard deviation as the bubble size. The number of evolutionary generations was 40, the number of individuals was 200, the robustness evaluation was performed 20 times every two generations, and the number of Monte Carlo evaluations was 10. The robustness check was performed at a position where performance under static conditions was better than the robust solution, and it can be seen that a highly robust solution was ultimately obtained.
[0047] The format of the optimization problem is not particularly limited, but for example, the QUBO format can be adopted. The QUBO format stands for Quadratic Unconstrained Binary Optimization, which is a format that allows binary optimization without quadratic constraints. The QUBO format can be expressed, for example, as in the following formula. Note that x i = 0 or 1 (i = 1, ..., N). ij is x i and x j is the coupling coefficient of i is x i is the bias coefficient. The first term on the right side is a second-order term and represents the interaction. The second term on the right side is a first-order term and represents the bias effect. The third term on the right side is a constant term.
[0048] In the QUBO format, a solution is searched for according to the above formula. For example, if the optimal solution is one in which E(x) is smallest, a good solution x for minimizing E(x) is searched for, as illustrated in FIG. 11 . For example, E(x) is calculated for the initial value of x, the value of x is changed and E(x) is calculated, and the value of x is further changed and E(x) is calculated, and this process is repeated. The x when the smallest E(x) among the E(x)s obtained from each calculation result is the solution.
[0049] In each of the above examples, the optimization execution unit 20 is an example of an execution unit that repeatedly executes a search process of searching for a solution for an optimization target, generating multiple solutions by adding variations to the obtained solutions, and calculating the mean value and variance value of an objective function for the multiple solutions. The output unit 50 is an example of an output unit that outputs a combination of the mean value and the variance value obtained in each search process that satisfies a predetermined condition.
[0050] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes are possible within the scope of the gist of the present invention as described in the claims.
[0051] REFERENCE SIGNS LIST 10 storage unit 20 optimization execution unit 30 variation setting unit 40 determination unit 50 output unit 100 information processing device 105 display device
Claims
1. On the computer, The process involves repeatedly performing a search for a solution for the target to be optimized, generating multiple solutions by adding variability to the obtained solutions, and calculating the mean and variance of the objective function for the multiple solutions. A calculation program characterized by executing a process that outputs the combination of the mean value and the variance value obtained in each search process that satisfies a predetermined condition.
2. The calculation program according to claim 1, characterized in that when the search process is repeated, a predetermined range in the solution space that includes already obtained solutions is excluded from the search range.
3. To the aforementioned computer, The calculation program according to claim 2, characterized in that, in the solution space, the smaller the variance of the objective function for the obtained solution with respect to the plurality of solutions, the narrower the predetermined range, and the larger the variance of the objective function for the obtained solution with respect to the plurality of solutions, the wider the predetermined range.
4. A genetic algorithm is used as the optimization engine in the aforementioned search process. To the aforementioned computer, The arithmetic program according to claim 1, characterized in that if the variance of the objective function for the plurality of solutions for the second solution obtained in the next search process is greater than the variance of the objective function for the plurality of solutions for the first solution obtained in the previous search process, the Pareto ranking of the second solution is made greater than the Pareto ranking of the first solution, and if the variance of the objective function for the plurality of solutions for the second solution is less than the variance of the objective function for the plurality of solutions for the first solution, the Pareto ranking of the second solution is made smaller than the Pareto ranking of the first solution.
5. The calculation program according to claim 1, characterized in that the aforementioned variation is a variation that follows a Gaussian distribution.
6. The calculation program according to claim 1, characterized in that the target of optimization is represented in QUBO format.
7. To the aforementioned computer, The calculation program according to claim 1, characterized in that it performs a process of displaying on a display device the combinations of the mean and variance values obtained in each search process that satisfy predetermined conditions.
8. Computers The process involves repeatedly performing a search for a solution for the target to be optimized, generating multiple solutions by adding variability to the obtained solutions, and calculating the mean and variance of the objective function for the multiple solutions. A calculation method characterized by performing a process of outputting combinations of the mean value and the variance value obtained in each search process that satisfy a predetermined condition.
9. An execution unit repeatedly performs a search process that involves searching for a solution for the optimization target, generating multiple solutions by adding variability to the obtained solutions, and calculating the mean and variance values of the objective function for the multiple solutions. An information processing device comprising: an output unit that outputs a combination of the mean value and the variance value obtained in each search process that satisfies a predetermined condition.
