Computation program, computation method, and information processing device

WO2025052534A1PCT designated stage expired Publication Date: 2025-03-13FUJITSU LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/032332
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-05
Publication Date
2025-03-13

Smart Images

  • Figure JP2023032332_13032025_PF_FP_ABST
    Figure JP2023032332_13032025_PF_FP_ABST
Patent Text Reader

Abstract

When converting an analysis object to an evaluation function in a QUBO format and searching for a solution, this computation program causes a computer to execute a process for reflecting respective variations in at least one element of the evaluation function to generate a plurality of evaluation functions, synthesizing the plurality of evaluation functions to generate an objective function, and searching for the solution in the objective function. 
Need to check novelty before this filing date? Find Prior Art

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, there are optimization problems that aim to achieve good results. Optimization algorithms that seek exact solutions to these optimization problems to achieve the highest computational results are being researched. For example, there is a technology that formulates the analysis target in the QUBO format and searches for the optimal solution (see, for example, Patent Documents 1 to 4).

[0003] JP 2022-118555 A JP 2022-117957 A JP 2022-067101 A JP 2022-031119 A

[0004] However, in reality, there are cases where work is not carried out according to the exact solution, or where physical properties cannot be obtained according to the exact solution. In these cases, there is a risk that the effects that would be obtained with the exact solution will be significantly reduced.

[0005] In one aspect, the present invention aims to provide a calculation program, a calculation method, and an information processing device that are capable of obtaining a highly robust solution.

[0006] In one aspect, the calculation program causes a computer to execute the following process: when converting an object to be analyzed into a QUBO format evaluation function and searching for a solution, generate multiple evaluation functions by reflecting variations in at least any element of the evaluation function, synthesize the multiple evaluation functions to generate an objective function, and search for a solution in the objective function.

[0007] A highly robust solution can be obtained.

[0008] 1 is a diagram illustrating an example of optimization results for product placement in a packaging box. FIG. 2 is a diagram for explaining the QUBO format. (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 the hardware configuration of each unit of the information processing device. (a) is a diagram illustrating an example of an analysis target for magnet placement, and (b) is a diagram illustrating a target value. FIG. 3 is a flowchart illustrating an example of operation of the information processing device. FIG. 4 is a diagram illustrating synthesis of objective functions. FIG. 5 is a diagram illustrating an example of an analysis target. (a) is the result of a comparative example, (b) is the result of an embodiment, and (c) is a diagram illustrating the magnetic flux density at each observation point relative to the target value B0. (a) is a diagram showing the relationship between the number of QUBOs generated and the average error, (b) is a diagram illustrating a case where the number of QUBOs generated is 10 using the method of the embodiment, and (c) is a diagram illustrating a case where the number of QUBOs generated is 50 using the method of the embodiment.

[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] The exact solution obtained by conventional methods is often a solution that provides a high local effect. Therefore, if the work content or physical properties deviate from the exact solution (i.e., tolerance occurs), the effect will be drastically reduced and the expected effect may not be achieved.

[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 is able to reduce the amount of wasted material the most. While this exact solution significantly reduces the amount of wasted material, because the solution exists locally, even a slight deviation in the work content from the exact solution can significantly increase the amount of wasted material. 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 with neighboring solutions is small). 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 MORDO (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 then statistically processing and evaluating the resulting indices. In a design that is not robust to variations, large variations occur in the objective function obtained through repeated calculations. For example, by using the standard deviation of the objective function as the variation index and minimizing this index, a design solution that is highly tolerant to variations can be obtained. However, a drawback of this method is that it requires a huge amount of calculation due to the multiple sampling operations.

[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 is a method that uses a GA (genetic algorithm) as an optimization engine and performs generational evolution 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 can be considered. However, these methods use a genetic algorithm (GA), and the problems to which they can be applied are limited. In particular, GA is generally unsuitable from the viewpoint of convergence for calculations with a huge number of input variables.

[0019] Therefore, in the following embodiment, an example will be described in which formulation that takes fluctuations into account is possible in formulating QUBO (Quadratic Unconstrained Binary Optimization), which is treated as an optimization problem.

[0020] First, we will explain the QUBO format. 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.

[0021] 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. 2. 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.

[0022] 3A 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. 3A, the information processing device 100 includes a storage unit 10, a variance setting unit 20, a QUBO formulation unit 30, an objective function generation unit 40, a calculation unit 50, an output unit 60, and the like.

[0023] Fig. 3B is a block diagram illustrating an example of the hardware configuration of each part of the information processing device 100. As illustrated in Fig. 3B, 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.

[0024] 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.

[0025] In Example 1, optimization of magnet placement will be described as an example. In magnet placement, the optimal solution is sought when the desired magnetic flux density is achieved. Even in magnet placement, even if an exact solution is obtained, there is a risk that the desired magnetic flux density will not be obtained if the magnet placement deviates even slightly from the exact solution due to variations in magnetization, etc. Therefore, in magnet placement as well, a highly robust optimization algorithm that can achieve an effect close to the optimal solution is required.

[0026] The storage unit 10 stores the magnet arrangement to be analyzed. FIG. 4( a) is a diagram illustrating an example of the magnet arrangement to be analyzed. As illustrated in FIG. 4( a), magnets can be arranged at predetermined intervals in the X-axis direction and the Y-axis direction. Each small magnet is assumed to be magnetized in one direction. FIG. 4( b) is a diagram illustrating target values. In the example of FIG. 4( b), it is required that the magnetic flux density at each observation point form a sinusoidal wave shape along the observation line.

[0027] As an example, for the magnet arrangement analysis target, the magnet arrangement is determined so that the target value shown in FIG. 4(b) is obtained. 1 ~P Np The magnetic flux density B of a magnet can be expressed as B = μH + M, where μ is the magnetic permeability of a vacuum and H is the magnetic field. According to this formula, the magnetic flux density B changes when there is a change in the magnitude of the magnetization M of each small magnet (Biot-Savart's law). In this magnet placement optimization problem, as an example, we seek a magnet placement that minimizes the error from the target value of the magnetic flux density at each observation point, even if there is a change in the magnetization M due to some factor.

[0028] 5 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 according to the flowchart of FIG.

[0029] First, the variation setting unit 20 assigns a variation value to the variable factor d (step S1). For example, the variation setting unit 20 sets a variation value according to a Gaussian distribution. Each time step S1 is executed, a different variation value is set.

[0030] Next, the QUBO formulation unit 30 calculates the evaluation function f n (Step S2). At the first execution of Step S2, the evaluation function f 1 is generated, and the evaluation function f is generated with a different variance value when step S2 is executed for the second time. 2 is generated, and when step S2 is executed for the third time, the evaluation function f is generated with a different variation value. 3 is generated.

[0031] For example, when the analysis target of the magnet arrangement is formulated in the QUBO format, the following evaluation function f is obtained as an evaluation index. y (i,j) is the observation point P of the i-th magnet j represents the magnetic flux density in the Y-axis direction at 0 (j) (M) is the target value. i = 0, the observation point P of the i-th magnet i This means that no magnets are placed in the i = 1, the observation point P of the i-th magnet i This means placing a magnet at the B y (i,j) and the target value B 0 (j) The smaller the difference with (M), the better the solution. Therefore, s i (i = 1 to N p ) combinations of 0 and 1 are searched for.

[0032] In this embodiment, the QUBO formulation unit 30 causes the evaluation function f to have the variation value set by the variation setting unit 20. In this embodiment, as an example, the magnetization M is set as the variable element d, and the variation value is reflected in the magnetization M. ΔM represents the variation value.

[0033] Next, the QUBO formulation unit 30 determines whether the number of times the evaluation function in the QUBO format has been generated has reached a predetermined value (step S3). If the determination in step S3 is "No," the process is repeated from step S1.

[0034] If the answer to step S3 is "Yes," the objective function generation unit 40 synthesizes the evaluation functions generated by the QUBO formulation unit 30 to generate one objective function F (step S4). For example, as illustrated in FIG. 6, the evaluation function f is generated by adding variations to the evaluation function f generated by the QUBO formulation unit 30 through QUBO formulation. 1 , evaluation function f 2 , evaluation function f 3, ..., evaluation function f n are combined to generate one objective function F. The combination in this case is not particularly limited, but may be a simple arithmetic mean or a weighted arithmetic mean.

[0035] Next, the calculation unit 50 calculates the decision variable x i In this embodiment, the initial value of the decision variable x is set (step S5). i is the s of the above evaluation function i (i = 1 to N p ) refers to the combination of 0 and 1 in the

[0036] Next, the calculation unit 50 calculates the evaluation function E(x) by using the decision variable x i The objective function F is calculated using (step S6).

[0037] Next, the calculation unit 50 determines whether a termination condition is met (step S7). For example, the calculation unit 50 determines whether step S6 has been executed a predetermined number of times. Alternatively, the calculation unit 50 may determine whether a value equal to or less than a threshold value is obtained as the evaluation function E(x).

[0038] If the determination in step S7 is "No", the calculation unit 50 i (Step S8), and then the process is executed again from Step S6.

[0039] If the answer to step S7 is "Yes", the output unit 60 outputs the decision variable x when the evaluation function E(x) is lowest. i is output as the optimal solution (step S9). i is displayed on the display device 105 or the like.

[0040] According to this embodiment, variations are generated in the elements included in the evaluation function obtained by formulating the analysis target in the QUBO format to obtain each evaluation function, and a solution is searched for for the objective function obtained by combining each evaluation function. In this configuration, the evaluation value of a solution with low robustness (a steep peak) becomes low, and the evaluation value of a solution with high robustness (a gentle peak) becomes relatively high. Therefore, it becomes possible to identify a solution with high robustness. Note that the decision variable x iThe search method is not limited to the above, and any optimization method can be applied. For example, a genetic algorithm or the like may be applied.

[0041] (Simulation Results) The magnet arrangement was optimized below by a simulation according to the above example. As shown in FIG. 7, the magnet arrangement was 40 magnets x 20 magnets = 800 magnets. The size of each small magnet was 10 mm x 10 mm x 10 mm. The distance between the magnet and the observation line was 10 mm. The number of samples on the line was 21. The average value of each variation value set by the variation setting unit 20 was set to 0, and the standard deviation was set to 25% of the reference value. The reference value was set to magnetization M = 1.2 A / m. The evaluation function f generated by the QUBO formulation unit 30 by reflecting each variation value in the evaluation function f was 1 ~f n The number of pieces was set to 50 (=n).

[0042] For comparison, in the comparative example, optimization was performed without giving variations to the magnetization M. That is, the evaluation function f was used as the objective function F.

[0043] Figure 8(a) shows the results of the comparative example. The gray areas are the locations where the magnets were placed. Figure 8(b) shows the results of the above example. The gray areas are the locations where the magnets were placed.

[0044] The method of the above example resulted in a large number of magnets being placed in order to minimize the impact of fluctuations. In the comparative example, many magnets are placed in the upper part of the figure, which allows the magnetic flux density at the observation point to be as expected. However, if fluctuations in magnetization occur, fluctuations in the magnets in the upper part can easily change the magnetic flux density at the observation point. In contrast, the method of the above example conversely places fewer magnets in the upper part in order to suppress the impact of fluctuations, and by placing magnets overall, it is possible to suppress fluctuations in the magnetic flux density at the observation point.

[0045] FIG. 8(c) shows the target value B 0 10 shows the magnetic flux density at each observation point relative to the distance from the magnetic field. In the comparative example, fluctuations are observed in the magnetic flux at the 100 mm and 300 mm points. In contrast, it can be seen that these fluctuations are suppressed by the method of the above-described embodiment.

[0046] Next, robustness was evaluated. To evaluate robustness, the magnetization M was varied 50 times with different values, and the average error of the magnetic flux density from the target value at each observation point was calculated by the following formula:

[0047] Figure 9(a) shows the number of QUBOs generated and the average error ΔB y ave Specifically, for one magnet arrangement obtained by each QUBO generation number, the magnetization fluctuation is given 50 times separately to obtain ΔB y Calculate the average value ΔB y ave is plotted.

[0048] Figure 9(b) is a diagram showing the case where the number of QUBOs generated using the method of the above embodiment is 10. Figure 9(c) is a diagram showing the case where the number of QUBOs generated using the method of the above embodiment is 50. From the results of Figure 9(a), it can be seen that this embodiment achieved a highly robust magnet arrangement with small errors in magnetic flux density even when fluctuations in magnetization M occur.

[0049] Furthermore, from the results of Figure 9(a), if the number of evaluation functions generated is set large enough, the fluctuations will statistically become the expected value, and there is a possibility that a solution that compensates for the effects of the fluctuations will not be found. As a result, the number of magnets will increase. Therefore, by reducing the number of evaluation functions generated and intentionally leaving the effects of fluctuations from the expected value, a highly robust solution can be obtained with a small number of magnets. From the above, it can be seen that the robust solution-finding performance can be controlled by adjusting the number of QUBOs generated.

[0050] In each of the above examples, the calculation unit 50 is an example of a search unit that, when converting the analysis object into an evaluation function and searching for a solution, generates a plurality of evaluation functions by reflecting variations in at least any element of the evaluation function, generates an objective function by combining the plurality of evaluation functions, and searches for a solution in the objective function. The display device 105 is an example of a display device that displays the searched solution on a display device.

[0051] 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.

[0052] REFERENCE SIGNS LIST 10 storage unit 20 variance setting unit 30 QUBO formulation unit 40 objective function generation unit 50 calculation unit 60 output unit 100 information processing device 105 display device

Claims

1. A computational program that causes a computer to execute a process of converting an object to be analyzed into an evaluation function and searching for a solution, generating multiple evaluation functions by reflecting variations in at least any element of the evaluation function, synthesizing the multiple evaluation functions to generate an objective function, and searching for a solution in the objective function.

2. The calculation program according to claim 1, wherein the variation is a variation according to a Gaussian distribution.

3. The computation program according to claim 1, wherein the objective function is generated by calculating an arithmetic mean of the plurality of evaluation functions.

4. The computation program according to claim 1, characterized in that the analysis object includes an array, and the solution of the objective function has order information in the array.

5. The computation program according to claim 1, wherein the evaluation function is expressed in QUBO format.

6. The computation program according to claim 1, characterized in that it causes the computer to execute a process of displaying the found solution on a display device.

7. A computational method characterized in that a computer executes a process in which, when converting an object to be analyzed into an evaluation function and searching for a solution, a plurality of evaluation functions are generated by reflecting variations in at least any element of the evaluation function, the plurality of evaluation functions are synthesized to generate an objective function, and a solution is searched for in the objective function.

8. The calculation method according to claim 7, wherein the variation is a variation according to a Gaussian distribution.

9. The calculation method according to claim 7, wherein the objective function is generated by calculating an arithmetic mean of the plurality of evaluation functions.

10. The method according to claim 7, wherein the analysis object includes an array, and the solution of the objective function has order information in the array.

11. The calculation method according to claim 7, wherein the evaluation function is expressed in QUBO format.

12. The method according to claim 7, wherein said computer executes a process of displaying the found solution on a display device.

13. An information processing device characterized by having a search unit that, when converting an object to be analyzed into an evaluation function and searching for a solution, generates multiple evaluation functions by reflecting variations in at least any element of the evaluation function, generates an objective function by synthesizing the multiple evaluation functions, and searches for a solution in the objective function.

14. An information processing apparatus according to claim 13, wherein the variation is a variation according to a Gaussian distribution.

15. The information processing apparatus according to claim 13, wherein the objective function is generated by calculating an arithmetic mean of the plurality of evaluation functions.

16. The information processing apparatus according to claim 13, wherein the analysis object includes an array, and the solution of the objective function has order information in the array.

17. The information processing device according to claim 13, wherein the evaluation function is expressed in QUBO format.

18. An information processing apparatus according to claim 13, further comprising a display device for displaying the searched solution on a display device.

Citation Information

Patent Citations

  • Method for solving secondary integer plan (QIP) problem by optimization solver machine

    JP2022031119A

  • Methods, Data Structures and Programs

    JP2022067101A

  • Solving integer linear programming problem on optimization solver machine

    JP2022117957A

  • Optimization device, optimization method, and optimization program

    JP2022118555A

  • Information processing device, information processing method, and recording medium

    WO2017135314A1