Optimization method, optimization apparatus, optimization program, and computer-readable storage medium storing the optimization program.
By dynamically adjusting weights for constraints and objective functions using an Ising machine, the method addresses inefficiencies in existing optimization methods, enhancing the search for optimal solutions and reducing processing times.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MAZDA MOTOR CORP
- Filing Date
- 2024-10-07
- Publication Date
- 2026-04-17
AI Technical Summary
Existing optimization methods, such as those described in Patent Document 1, face challenges where fixed weights for constraints and objective functions can lead to insufficient exploration of feasible solutions or optimization, resulting in prolonged processing times and inefficiencies in computational resources.
A method that dynamically adjusts weights for constraints and objective functions using an Ising machine, involving the approximation of a black-box function into a QUBO form, and repeatedly updating these weights based on evaluation values to optimize the search for the optimal solution.
This approach allows for real-time and automatic weight adjustments, reducing processing time and improving the efficiency of finding optimal solutions by balancing the exploration of feasible solutions and objective function optimization.
Smart Images

Figure 2026066817000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to an optimization method, an optimization apparatus, an optimization program, and a computer-readable storage medium storing the optimization program. [Background technology]
[0002] For example, Patent Document 1 discloses an example of a combinatorial optimization apparatus. Specifically, the apparatus disclosed in Patent Document 1 has a combinatorial optimization unit composed of a quantum annealing machine, an Ising machine, and the like.
[0003] According to the aforementioned Patent Document 1, the combinatorial optimization unit uses a weighted linear combination of multiple constraints and an objective function as its energy function, and finds the values of the variables that minimize this energy function. By finding such variable values, it is possible to solve industrial allocation problems.
[0004] According to the aforementioned Patent Document 1, the weights assigned to multiple constraints and the objective function are positive or non-negative real coefficients, and are used as hyperparameters in the optimization problem. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2023-132590 [Overview of the project] [Problems that the invention aims to solve]
[0006] Incidentally, the method disclosed in Patent Document 1 starts from an energy function constructed by a weighted linear combination of multiple constraints and an objective function. Conventionally, these weights have been considered to be fixed values given in advance.
[0007] Therefore, for example, if each constraint is not given sufficient weight, the focus may be solely on optimizing the objective function, and feasible solutions that satisfy all constraints may not be sufficiently explored.
[0008] On the other hand, if, for example, the objective function is not given sufficient weight, the focus may be solely on finding feasible solutions, and the objective function may not be sufficiently optimized.
[0009] If feasible solutions are not sufficiently explored, or if the objective function is not sufficiently optimized, it can lead to disadvantages from the perspective of computational resources, such as prolonged processing times for computers.
[0010] Furthermore, it is generally possible that the objective function and the constraints are in a trade-off relationship. In this case, the more the objective function is optimized, the more difficult it becomes to find a feasible solution. In such cases, it would be advantageous to be able to change the weighting of each constraint according to the progress of the objective function optimization.
[0011] This disclosure is made in view of the above, and its purpose is to assign appropriate weights to the constraints and the objective function when optimizing under constraints. [Means for solving the problem]
[0012] A first aspect of this disclosure relates to an optimization method for searching for the optimal solution of an objective function under predetermined constraints by using a computer having an arithmetic unit and a storage unit, and an Ising machine that performs optimization by annealing.
[0013] According to the first embodiment, the optimization method involves the calculation unit approximating a black-box function, which is composed of a weighted linear sum of the objective function and the constraints, into a substitute function in QUBO form and outputting it; the calculation unit inputting the substitute function into the Ising machine to obtain search points corresponding to the values of the decision variables of the objective function and optimizing the substitute function; the calculation unit obtaining evaluation values that indicate the values of the objective function and the constraints when numerical data corresponding to the search points is input; the calculation unit updating the substitute function based on the combination of the numerical data and the evaluation values corresponding to the numerical data; the calculation unit repeatedly performing the updating of the substitute function, the acquisition of search points, and the acquisition of evaluation values multiple times; and prior to updating the substitute function, the calculation unit individually performs weight changes corresponding to the objective function and weight changes corresponding to the constraints based on the evaluation values.
[0014] According to the first embodiment, the calculation unit, while the updating of the proxy function, acquisition of the search points, and acquisition of the evaluation value are repeated, individually performs changes to the weights corresponding to the objective function and changes to the weights corresponding to the constraints based on the evaluation value. The weights of the objective function and constraints are dynamically changed based on the evaluation value.
[0015] This allows for real-time and automatic adjustment of the weights assigned to constraints and the objective function based on the evaluation values actually obtained. By referring to the evaluation values, it is possible to assign appropriate and flexible weights according to the progress of the optimal solution search. For example, if the search for a feasible solution is progressing smoothly, the weight of the constraints can be made relatively smaller, or if the optimization of the objective function is progressing smoothly, the weight of the objective function can be made relatively smaller.
[0016] Furthermore, by configuring the system to change weights during the search for the optimal solution, it also benefits from the perspective of computational resources, such as shortening the processing time by the computer.
[0017] Furthermore, according to a second aspect of this disclosure, the calculation unit may obtain a first evaluation value indicating the value of the objective function and a second evaluation value indicating the value of the constraints as evaluation values, and prior to updating the proxy function, the calculation unit may perform a change in the weights corresponding to the objective function based on the first evaluation value and a change in the weights corresponding to the constraints based on the second evaluation value.
[0018] According to the second embodiment, the calculation unit refers to the first evaluation value when changing the weights corresponding to the objective function, and to the second evaluation value when changing the weights corresponding to the constraints. With this configuration, more appropriate weights can be assigned depending on the search status for the optimal solution.
[0019] Furthermore, according to a third aspect of this disclosure, the arithmetic unit may store the acquired evaluation values in the storage unit each time the evaluation values are acquired, calculate a first mean value representing the arithmetic mean of a plurality of first evaluation values based on the contents of the storage unit, acquire a first target value representing a target value of the first evaluation values, and, prior to updating the proxy function, increase the weight corresponding to the objective function as the difference between the first mean value and the first target value increases.
[0020] According to the third embodiment, the calculation unit changes the weights corresponding to the objective function based on the difference between the first mean value and the first target value. With this configuration, more appropriate weights can be assigned to the objective function according to the progress of the optimization of the objective function.
[0021] Furthermore, according to a fourth aspect of the present disclosure, the calculation unit may store the acquired evaluation values in the storage unit each time the evaluation values are acquired, calculate a second mean value representing the arithmetic mean of a plurality of second evaluation values based on the contents of the storage unit, acquire a second target value representing a target value for the second evaluation values, adjust the weights corresponding to the constraints based on the relationship between the second mean value and the second target value prior to updating the proxy function, and make the weights corresponding to the constraints different when the second mean value is greater than the second target value and when the second mean value is less than the second target value.
[0022] Generally, a function representing a constraint is considered satisfied (a feasible solution) when it falls below or exceeds a predetermined target value (e.g., zero). Unlike the objective function, once the constraint is satisfied, it is not necessary for the function to fall significantly below or exceed the target value.
[0023] Therefore, according to the fourth embodiment, the calculation unit assigns different weights to the constraints depending on whether the second mean value is greater than the second target value or less than the second target value. In this way, more appropriate weights can be assigned to the constraints depending on the search status for feasible solutions.
[0024] Furthermore, according to a fifth aspect of this disclosure, the calculation unit may evaluate the number of second evaluation values among a plurality of second evaluation values in which the constraint condition is satisfied, and the calculation unit may decrease the weight corresponding to the constraint condition as the number of second evaluation values in which the constraint condition is satisfied increases.
[0025] According to the fifth embodiment described above, the weights corresponding to the constraints are changed not only based on the average value of multiple second evaluation values (second average), but also based on the individual values of the multiple second evaluation values. In this way, more appropriate weights can be assigned to the constraints depending on the search status for feasible solutions. More appropriate weights can be assigned when a small number of second evaluation values satisfy the constraints, but the vast majority of the remaining second evaluation values do not.
[0026] Furthermore, according to a sixth aspect of this disclosure, the calculation unit may model the objective function in a first approximation formula, model the constraints in a second approximation formula, approximate the black box function to the substitute function by a weighted linear sum of the first and second approximation formulas and output it, and the calculation unit may separately perform a change in the weights of the first approximation formula by the weights corresponding to the objective function, and a change in the weights of the second approximation formula by the weights corresponding to the constraints.
[0027] According to the sixth embodiment described above, it is advantageous in assigning more appropriate weights to the constraints and the objective function.
[0028] Furthermore, according to a seventh aspect of this disclosure, the calculation unit generates training data by combining the numerical data with the evaluation value of the entire black box function, which is composed of a weighted linear sum of the first and second evaluation values; the calculation unit outputs the surrogate function, which models the black box function, based on the generated training data; and the calculation unit, in generating the training data, separately performs a change in the weight of the first evaluation value by a weight corresponding to the objective function and a change in the weight of the second evaluation value by a weight corresponding to the constraints.
[0029] According to the seventh embodiment described above, it is advantageous to assign more appropriate weights to the constraints and the objective function.
[0030] Here, multiple surrogate models may be constructed by machine learning or by analytical methods. Analytical methods include regression analysis. Regression analysis includes one or more combinations of multiple regression analysis, Ridge regression, and kernel regression.
[0031] Furthermore, according to an eighth aspect of this disclosure, the calculation unit may construct a plurality of proxy models, each of which the black box function is modeled and which have different generalization performance, as proxy functions, and the calculation unit may input the plurality of proxy models as proxy functions to the Ising machine to obtain search points for each proxy model that correspond to the value of the decision variable of the objective function and optimize the proxy function, and the calculation unit may use the plurality of search points obtained for each proxy model as numerical data when obtaining the evaluation value.
[0032] According to the eighth embodiment described above, the calculation unit constructs multiple surrogate models with different generalization performance and inputs each surrogate model into the Ising machine. This makes it possible to find the optimal solution from a wider range of perspectives. For example, by using a surrogate model that is slightly overfitting and a surrogate model with suppressed fitting in combination, the former surrogate model contributes to the search for the optimal solution by making use of the interpolation accuracy near the sample, while the latter surrogate model contributes to the search for the optimal solution by making use of its predictive ability.
[0033] Furthermore, a ninth aspect of this disclosure relates to an optimization device that searches for the optimal solution of an objective function under predetermined constraints by using an Ising machine, which is configured with a computer comprising an arithmetic unit and a storage unit and performs optimization by annealing.
[0034] According to the ninth aspect described above, the optimization apparatus includes: approximation means for approximating and outputting a black-box function, which is composed of a weighted linear sum of the objective function and the constraints, as a substitute function in QUBO form; search means for inputting the substitute function to the Ising machine to obtain search points that correspond to the values of the decision variables of the objective function and optimize the substitute function; evaluation means for obtaining evaluation values that indicate the values of the objective function and the constraints when numerical data corresponding to the search points is input; iteration means for causing the approximation means to update the substitute function based on a combination of the numerical data and the evaluation values corresponding to the numerical data, and for causing the approximation means, the search means and the evaluation means to repeatedly perform the updating of the substitute function, the acquisition of the search points and the acquisition of the evaluation values multiple times; and weight adjustment means for individually performing changes to the weights corresponding to the objective function and changes to the weights corresponding to the constraints based on the evaluation values prior to updating the substitute function.
[0035] Furthermore, a tenth aspect of this disclosure relates to an optimization program that searches for the optimal solution of an objective function under predetermined constraints by using a computer equipped with an arithmetic unit and a storage unit, and an Ising machine that performs optimization by annealing.
[0036] According to the tenth embodiment, the optimization program causes the computer to perform the following processes: the calculation unit outputs a black-box function composed of a weighted linear sum of the objective function and the constraints as a substitute function in QUBO form; the calculation unit inputs the substitute function to the Ising machine to obtain search points corresponding to the values of the decision variables of the objective function and optimizing the substitute function; the calculation unit obtains evaluation values indicating the values of the objective function and the constraints when numerical data corresponding to the search points is input; the calculation unit updates the substitute function based on a combination of the numerical data and the evaluation values corresponding to the numerical data; the calculation unit repeatedly performs the update of the substitute function, the acquisition of the search points, and the acquisition of the evaluation values multiple times; and the calculation unit, prior to updating the substitute function, individually performs a change in the weights corresponding to the objective function and a change in the weights corresponding to the constraints based on the evaluation values.
[0037] Furthermore, an eleventh aspect of this disclosure relates to a computer-readable storage medium that stores the optimization program. [Effects of the Invention]
[0038] As explained above, according to this disclosure, appropriate weights can be assigned to the constraints and the objective function when optimizing under constraints. [Brief explanation of the drawing]
[0039] [Figure 1] Figure 1 is a diagram illustrating the hardware configuration of the optimization device. [Figure 2] Figure 2 illustrates the software configuration of the optimization device. [Figure 3] Figure 3 is a flowchart illustrating the steps of the optimization method. [Figure 4] Figure 4 is a system diagram illustrating the input and output of an optimization system. [Figure 5]Figure 5 is a flowchart illustrating the steps of the approximation process. [Figure 6] Figure 6 is a flowchart illustrating the steps of the search process. [Figure 7] Figure 7 is a flowchart illustrating the steps of the evaluation process. [Figure 8] Figure 8 is a flowchart illustrating the steps of the weight adjustment process. [Figure 9] Figure 9 is a flowchart illustrating the procedure for changing the first weight coefficient. [Figure 10] Figure 10 is a flowchart illustrating the procedure for changing the second weight coefficient. [Figure 11] Figure 11 is a table showing the various parameters for each of the four specific examples. [Figure 12] Figure 12 is a table showing the various parameters for each of the two comparative examples. [Figure 13] Figure 13 is a table showing the best Pareto front in each example. [Figure 14] Figure 14 is a corresponding diagram to Figure 3, showing a modified example of the optimization method. [Figure 15] Figure 15 is a corresponding diagram to Figure 5, showing a modified version of the weight adjustment process. [Figure 16] Figure 16 is a corresponding diagram to Figure 3 illustrating the steps of an optimization method that takes into account the initial settings of the weight coefficients. [Modes for carrying out the invention]
[0040] The embodiments of this disclosure will be described below with reference to the drawings. Note that the following description is illustrative.
[0041] <1.Device configuration> Figure 1 is a diagram illustrating the hardware configuration of the optimization device (specifically, computer 1 that constitutes the optimization device) according to this disclosure, and Figure 2 is a diagram illustrating its software configuration.
[0042] As illustrated in Figure 1, computer 1 comprises a Central Processing Unit (CPU) 3 that controls the entire computer 1, a Read Only Memory (ROM) 5 that stores boot programs and the like, a Random Access Memory (RAM) 7a that functions as main memory, and a Solid State Drive (SSD) 7b as secondary storage. Note that a Hard Disk Drive (HDD) or the like can be used instead of the SSD 7b as secondary storage.
[0043] Of these elements, the CPU 3 executes various programs. The CPU 3 constitutes the arithmetic unit in this embodiment. The RAM 7a and SSD 7b temporarily or continuously store the programs executed by the CPU 3. The RAM 7a and SSD 7b constitute the storage unit 7 in this embodiment.
[0044] Computer 1 also includes a display 9, graphics memory (Video RAM: VRAM) 11 for storing image data displayed on the display 9, and a keyboard 13a and mouse 13b as human-machine interfaces.
[0045] As illustrated in Figures 17 and 18 described later, the display 9 can display a screen (Sc) based on the calculation results of the CPU 3, and constitutes the display unit in this embodiment. The display 9 is electrically connected to the CPU 3 by wireless or wired connection.
[0046] The keyboard 13a and mouse 13b each accept at least one of user input and / or operation (hereinafter collectively referred to as "operation input"). The keyboard 13a and mouse 13b constitute the reception unit 13 in this embodiment. The reception unit 13 is electrically connected to the CPU 3 by wireless or wired connection.
[0047] Furthermore, the computer 1 according to this embodiment can send and receive data with external devices via a communication unit 15 configured as a communication interface. Specifically, the computer 1 is connected to the Ising machine 101 and the evaluation machine 201 via the communication unit 15.
[0048] The Ising machine 101 is configured to perform optimization by annealing. In this embodiment, the Ising machine 101 is a separate computer from the computer 1, which acts as the optimization device. However, it is not essential that the Ising machine 101 and the computer 1 are separate entities.
[0049] Furthermore, the Ising machine 101 may be a classical annealing machine or a quantum annealing machine. The term "classical annealing machine" includes annealing machines in general that use pseudo-quantum based on digital circuits, such as quantum-inspired machines. The term "quantum annealing machine" includes annealing machines in general that utilize quantum fluctuations based on quantum circuits. In this embodiment, a quantum-inspired machine is used for the Ising machine 101.
[0050] The evaluation machine 201 is a means of taking the decision variable x (described later) as input and outputting various evaluation results (the "evaluation value y" described later) corresponding to that input. The relationship between the input and output of this evaluation machine 201 is a black box. Therefore, this evaluation machine 201 can be represented as a black box cost function. In this embodiment, the evaluation machine 201 is a separate computer from the computer 1, which is the optimization device. However, it is not essential that the evaluation machine 201 and the computer 1 are separate entities.
[0051] Furthermore, it is not essential that the evaluation machine 201 be a computer. For example, the evaluation machine 201 may be various experimental equipment for conducting cavity tests, crash tests, and chemical experiments on structures (e.g., automobiles), or it may be a general evaluation means capable of outputting an evaluation value y. In the following explanation, the term "evaluation machine" can be replaced with terms such as "experimental equipment," "evaluation equipment," or "evaluation means."
[0052] The evaluation machine 201 can, for example, simulate a response surface based on the design variables (an example of the decision variable x) described later, and perform numerical simulations using that response surface. The numerical simulations include simulations that can evaluate the NVH performance and collision performance of the vehicle body as a three-dimensional structure.
[0053] It is not mandatory for the evaluation machine 201 to perform numerical simulations using response surfaces. As mentioned above, the evaluation machine 201 may be experimental equipment for conducting chemical experiments, or it may be configured to perform large-scale simulations other than response surfaces based on structural mechanics, material mechanics, fluid mechanics, etc. This disclosure is particularly useful when applied to applications where enormous computational costs are expected, such as large-scale simulations.
[0054] An optimization system S is configured by a computer 1, an Ising machine 101, and an evaluation machine 201 to perform processing related to the optimization method.
[0055] Furthermore, as illustrated in Figure 2, the program memory of the SSD 7b stores the optimization program 21 according to this embodiment, as well as an operating system (OS) and application programs (not shown).
[0056] Here, the optimization program 21 is a program that causes the computer 1 to execute the optimization method according to this embodiment. The optimization program 21 is pre-stored in a computer-readable storage medium 18. This storage medium 18 is a tangible storage medium composed of a disk medium or the like.
[0057] The optimization program 21 causes the computer 1, which acts as an optimization device, to execute each process that constitutes the optimization method. As illustrated in Figure 2, the optimization program 21 includes an approximation program 211, a search program 213, an evaluation program 215, an iteration program 217, and a weight adjustment program 219.
[0058] In the program memory of SSD7b, each program constituting the optimization program 21 is launched in response to commands input from the keyboard 13a, mouse 13b, etc. At that time, each program is loaded from SSD7b into RAM7a and executed by CPU3.
[0059] Note that these programs that make up the optimization program 21 are merely convenient groupings that classify the optimization program 21 by function. One or more of these programs may constitute a single program. Furthermore, each program that makes up the optimization program 21 may be divided and executed by two or more computers 1.
[0060] On the other hand, as shown in Figure 2, the data memory of SSD7b contains training data 31 used for the derivation (approximation) of the surrogate model M described later, and the first parameter 33 also used for the derivation of the surrogate model M, as data related to the optimization method. A and second parameter 33 B This includes the following. In addition, the data memory of SSD7b temporarily or continuously stores the first model data 35A, the second model data 35B, the ensemble model data 35C, the search data 37, and the weight coefficient data 39.
[0061] In addition, various data generated by each program constituting the optimization program 21, as well as the execution results of the application program, are continuously stored in the data memory of the SSD 7b or temporarily stored in the RAM 7a, which serves as the main memory, as needed.
[0062] <2. Overview of the Optimization Method> Figure 3 is a flowchart illustrating the steps of the optimization method. Figure 4 is a system diagram illustrating the input and output of the optimization system S.
[0063] As shown in Figure 3, the optimization method generally includes an approximation process (step S1), a search process (step S2), an evaluation process (step S3), an iterative process (steps S4-S5), and a weight adjustment process (step S6).
[0064] The optimization program 21 is configured to cause the computer 1 to execute these control processes. Specifically, of these control processes, the approximation process is performed by the CPU 3 executing the approximation program 211, and the search process is performed by the CPU 3 executing the search program 213. Similarly, the evaluation process is performed by the CPU 3 executing the evaluation program 215. The iteration process is performed by the CPU 3 executing the iteration program 217. The weight adjustment process is performed by the CPU 3 executing the weight adjustment program 219.
[0065] The optimization device is configured by the computer 1 when the CPU 3 executes the optimization program 21. That is, as illustrated in Figure 4, the computer 1 functions as an optimization device comprising: an approximation means 1A that executes step S1; a search means 1B that executes step S2 via the Ising machine 101; an evaluation means 1C that executes step S3 via the evaluation machine 201; an iteration means 1D that executes steps S4 and S5; a weight adjustment means 1E that executes step S6; and an output means 1F that outputs the finally obtained optimal solution to the outside.
[0066] In this manner, the computer 1, acting as an optimization device, executes the optimization method according to this embodiment. This optimization method is configured to search for the optimal solution of the objective function under predetermined constraints by using the computer 1 and the Ising machine 101.
[0067] In other words, this optimization method is configured to search for the optimal solution to a constrained optimization problem. As is well known, the constraints here can be expressed as a function of the decision variable, and whether or not a solution is feasible can be determined based on its value (for example, the sign of constraint g).
[0068] Furthermore, as shown in the specific examples described later, the optimization problem according to this embodiment is a multi-constrained, multi-objective optimization problem. However, being multi-constrained and multi-objective is not mandatory. The optimization problem may be a constrained optimization problem with one constraint condition, or a constrained optimization problem that optimizes one objective function.
[0069] Hereafter, let x be a decision variable with multiple components. If the number of components of x is E (where E is a natural number greater than or equal to 2), then the i-th component of x is, for example, "x i It can be expressed as (i=1,2,…,E). In various mathematical formulas, x is sometimes written in bold to clearly indicate that it has multiple components.
[0070] Hereafter, let f(x) be the objective function with the aforementioned decision variable x as the variable. If the number of objective functions is L (where L is a natural number), then the i-th objective function is, for example, "f i It can be expressed as (x) (i=1,2,...,L). Below, "f i (x)" is omitted and replaced with "f i It may be written as "" or "f".
[0071] Hereafter, g(x) will be a constraint condition with the aforementioned decision variable x as the variable. If the number of constraint conditions is M (where M is a natural number), then the i-th constraint condition is, for example, "gi It can be expressed as “g i (x)” (i = 1, 2, …, M). Hereinafter, “g i ” may be omitted and described as “f
[0072] Moreover, in the optimization problem according to the present embodiment, at least one of the constraint condition f and the objective function g is a black box function. That is, the optimization method according to the present embodiment is configured to perform black box optimization.
[0073] Note that the term “black box function” as used here is used in a broad sense. The term “black box function” in this book includes generally functions that cannot be formulated into the QUBO form. Here, the “function that cannot be formulated into the QUBO form” includes various functions such as trigonometric functions, logarithmic functions, exponential functions, etc.
[0074] As in the examples described later, in the optimization problem according to the present embodiment, at least a part of the constraint condition is a black box function. Note that in the optimization problem, the objective function may be a black box function instead of the constraint condition, or both the constraint condition f and the objective function g may be black box functions.
[0075] The Ising machine 101 contributes to the search (solution finding) of the optimal solution in various optimization problems. However, generally, in order to solve it by the Ising machine 101, it is necessary to formulate the optimization problem to be solved into a binary variable optimization without quadratic constraints, that is, the QUBO (Quadratic Unconstrained Binary Optimization) form. When using the decision variable x, the optimal solution x * will be shown by the following QUBO.
[0076]
Equation
[0077] In equation (1) above, h and J are real-valued parameters.
[0078] On the other hand, in the case of a constrained optimization problem, it is possible to construct a weighted linear combination of the objective function f and the constraints g, and reduce the problem to an optimization problem of that weighted linear combination, thereby seemingly transforming it into an unconstrained optimization problem. In this transformation, the constraints g are incorporated into the weighted linear combination as a so-called penalty function.
[0079] As described above, in this embodiment, at least one of the objective function f and the constraint condition g is a black box function. Therefore, the function constructed by the weighted linear combination of the objective function f and the constraint condition g is necessarily a black box function. Furthermore, the value of the black box function can be obtained, for example, through simulation by the evaluation machine 201. Depending on the configuration of the evaluation machine 201, the value may be obtained by various experiments, including chemical experiments, instead of simulation, or in addition to simulation.
[0080] Here, E(x) is defined as a black-box function with the aforementioned decision variable x as its variable. Hereafter, "E(x)" may be abbreviated to "E". The black-box function E(x) can be written as shown in equation (2) below.
[0081]
number
[0082] In equation (2), α and β represent the weights multiplied by the objective function f and the constraint condition g, respectively. α and β can be expressed, for example, as shown in equation (3) below.
[0083]
number
[0084] By using the black-box function E represented by equation (2), even in a constrained optimization problem, the optimal solution x can be found. * This can be written as shown in equation (4) below.
[0085]
number
[0086] As can be seen from comparing equations (1) and (4), if the black box function E can be approximated in the QUBO form, then the optimal solution x in that approximation formula can be found. * This can be solved using the Ising machine 101.
[0087] The optimal solution x in the approximation formula is as follows: * We will refer to this as a "search point" to distinguish it from the true optimal solution in the black-box function E. Furthermore, "c" will be an approximation of the black-box function E. In the following description, this approximation will be referred to as a "proxy function."
[0088] As will be described in detail later, in the optimization method according to this embodiment, the approximation process, the search process, and the evaluation process are repeated to find a search point x that is a candidate for the true optimal solution. * The search point x is updated in stages. * By updating it step by step, the optimal solution x * This makes it possible to get as close as possible to the true optimal solution in the black-box function E.
[0089] The following describes in detail each step that constitutes the optimization method.
[0090] <3. Details of the optimization method> (3-1. Approximation Process) Figure 5 is a flowchart illustrating the steps of the approximation process. When the control process proceeds to step S1 in Figure 3, the CPU 3 executes each step from step S11 in Figure 5.
[0091] The process in step S1 will be executed repeatedly, just like other processes. The number of executions can be monitored, for example, through a predetermined number of repetitions It. As an example, when step S1 is executed for the first time, CPU3 sets the number of repetitions It to 1 (It=1).
[0092] Furthermore, the approximation process according to this embodiment is configured such that the CPU 3 approximates the black-box function E, which is composed of a weighted linear combination of the objective function f and the constraint condition g, to a surrogate function c in QUBO form and outputs it (see, for example, steps S11 to S18).
[0093] More specifically, the approximation process is configured such that the CPU3 constructs a surrogate model M in which the black-box function E is modeled as the surrogate function c (see, for example, steps S14 and S17). As an example, the CPU3 in this embodiment constructs the surrogate model M by performing machine learning at least partially.
[0094] It is not mandatory for CPU3 to perform machine learning. CPU3 may construct a surrogate model M using various analytical methods instead of, or in addition to, machine learning. The term "machine learning" in the following description may be replaced with "analytical method" as appropriate. Details of the "analytical method" referred to here are described below.
[0095] Machine learning may be applied not to the entire surrogate model M, but to at least a portion of the model that constitutes the black-box function E, such as some constraints g.
[0096] More specifically, the approximation process according to this embodiment involves the CPU 3 using multiple proxy models M, each of which a black-box function E is modeled as a proxy function c, and each model has a different generalization performance. i (i=A,B,C) are configured to be constructed by machine learning, for example (see steps S14, S17, and S18).
[0097] Also, multiple proxy models M i This is the first generation Model M A And the second generation Model M B And, Ensemble Model M C It consists of the following:
[0098] The first surrogate model M1 is a machine learning model in which the black-box function E is modeled. The second surrogate model M2 is a machine learning model in which the black-box function E is modeled and its generalization performance differs from that of the first surrogate model M1. The ensemble model M3 is a machine learning model constructed by applying statistical processing to two or more surrogate models M, including the first surrogate model M1 and the second surrogate model M2.
[0099] Note that there are three proxy models M i Using it is not essential. For example, the first-generation model M A And the second generation Model M B One or more surrogate models M with different generalization performance may be generated for the first surrogate model M. A And the second generation Model M B Alternatively, two or more surrogate models M may be selected from these, and other ensemble models M may be generated using the selected surrogate models M.
[0100] Specifically, in step S11, the CPU 3 reads the training data 31 from the memory unit 7. This training data 31 consists of multiple sample data. Each sample data consists of a combination of the value of the decision variable x and the value of the black box function E.
[0101] Hereinafter, the value of the black-box function E corresponding to a given decision variable x will be referred to as the "evaluation value" and denoted as "y". The evaluation value y may be the value of the entire black-box function E, or it may be an independent value for the objective function f and the constraint condition g, or both may be used interchangeably.
[0102] In this embodiment, the evaluation value y is treated as an independent value for the objective function f and the constraint condition g. Hereinafter, the evaluation value y that represents the value of the objective function f will be referred to as the first evaluation value, and this will be referred to as "y f Similarly, the evaluation value y, which represents the value of the constraint condition g, is taken as the second evaluation value, and this is written as "y g This is written as follows: The evaluation value y according to this embodiment is the first evaluation value y f And the second evaluation value y g It includes and.
[0103] Let the evaluation value be y, then the first evaluation value y f and the second evaluation value y g When using them individually, at least two sets of training data 31 may also be used.
[0104] In other words, in step S11, the CPU 3 obtains the first training data 311 and the second training data 312 from the storage unit 7. Here, the first training data 311 consists of the value of the decision variable x and the first evaluation value y f The training data 31 is composed of the combination of the following. The second training data 312 consists of the value of the decision variable x and the second evaluation value y g This is the training data 31, which is constructed by combining the following:
[0105] Note that the search point x * Corresponding evaluation value y, first evaluation value y f and the second evaluation value y g In this, "evaluation value y * "First evaluation value y f * " and "Second evaluation value y g * Each value is " * Add "."
[0106] It should be noted that using such training data 31 is not mandatory. For example, if, among the objective function f and constraints g, only constraint g requires the derivation of a surrogate model M using machine learning or analytical methods, then, except for the adjustment of the first weight coefficient α described later, the first training data 311 is unnecessary.
[0107] In the following step S12, the CPU3 sets the first parameter 33 for machine learning the first surrogate model M1. A Load the first parameter 33. A This includes the learning rate lr, the number of training iterations Iter, and a hyperparameter k that represents the dimension of the latent variable.
[0108] In the following steps S13 and S14, the CPU3 performs machine learning on the first surrogate model M1 as the surrogate function c. This machine learning is performed on the first parameter 33 loaded in step S12. A It will be executed based on this.
[0109] In this embodiment, CPU3 derives each surrogate model M using Factorization Machines (FM), a machine learning technique. Specifically, in step S13, CPU3 uses the internal parameter w given by equation (5) below. 0、 w i、 v ij The model is trained to minimize the error between the training data and the estimated value given by equation (5).
[0110]
number
[0111] In equation (5) above, w0 is a scalar (constant term) with one real component. w is a vector with E real components. i This represents the i-th component in w. ij This represents the component in the i-th row and j-th column of the real matrix V, E × k.
[0112] Incidentally, the matrix components that depend on the hyperparameter k can be expressed as the inner product of vectors, as shown in equation (6) below.
[0113]
number
[0114] By rearranging equation (5) based on equation (6), equation (5) can be reduced to equation (7) below.
[0115]
number
[0116] Equation (7) is equivalent to equation (1) except for the constant term w0, and can be considered as a surrogate function c of the QUBO form that can be solved by the Ising machine 101.
[0117] Specifically, in step S13, CPU3 is the first generation model M A To construct this, the objective function f is given by the first approximation equation M A1 The model is created using the second approximation formula M, along with the constraint condition g. A2 To model it.
[0118] In more detail, CPU3 uses the training data 31 and the first parameter 33 for functions that cannot be explicitly formulated into QUBO form among the objective function f and constraints g approximated by the surrogate model M as the surrogate function c. A The FM is trained based on this. Through the internal model of the trained FM, it is formulated into QUBO form.
[0119] More specifically, CPU3 automatically or manually formulates into QUBO form any functions that are excluded from the transformation to the substitute model M by FM (functions that can be explicitly formulated into QUBO form) among the objective function f and constraints g approximated by the substitute model M as the substitute function c. This formulation into QUBO form is performed without going through the internal model of FM.
[0120] In other words, it is not essential to perform machine learning on all of the functions that constitute the first surrogate model M, which is the surrogate model M. The CPU3 may be configured to perform machine learning via the FM's internal model only for functions that cannot be explicitly formulated in QUBO form.
[0121] In step S14 following step S13, the CPU 3 uses the weighted linear sum of the first approximation formula M approximated in step S13 A1 and the second approximation formula M A2 to approximate and output the black box function E as the first surrogate model M as the surrogate function c A .
[0122] Specifically, the CPU 3 multiplies the α appearing in the formula (2) by the first approximation formula M A1 and adds the term obtained by multiplying β appearing in the same formula by the second approximation formula M A2 . The CPU 3 regards the function constructed by this addition as the approximation result for the first surrogate model M1
[0123] The CPU 3 transforms the addition result into the form of formula (7), and stores the values of w0, w, and each component of J appearing in the transformation result as numerical data (first model data 35 A ) indicating the first surrogate model M as the surrogate function c[[ID=2 thirty]] A in the storage unit 7 temporarily or continuously
[0124] In the subsequent step S15, the CPU 3 reads the second parameter 33 B for machine learning of the second surrogate model M B . The second parameter 33 B includes, similar to the first parameter 33 A , the learning rate lr, the number of learning iterations Iter, and the hyperparameter k representing the dimension of the latent variable ]>
[0125] In this embodiment, the first surrogate model M A and the second surrogate model M B differ from each other in one or more of the learning rate lr, the number of learning iterations Iter, the hyperparameter k, and the breakdown of the sample data constituting the teacher data 31
[0126] In the case of the specific example described later, regarding the hyperparameter k and the breakdown of the sample data constituting the teacher data 31, for the first surrogate model MA and the second generation Model M B This is common to both. On the other hand, regarding the learning rate lr and the number of training iterations Iter, the first prism model M A and the second generation Model M B It is set to be different from the first parameter 33. A and the second parameter 33 B This can be achieved by making them different.
[0127] Parameter 1: 33 A and the second parameter 33 B By using them appropriately, the first parameter 33 A Based on the first generation Model M A And the second parameter 33 B The second generation Model M based on B This allows us to differentiate the generalization performance.
[0128] In addition, instead of differentiating the learning rate lr and the number of training iterations Iter, etc., the first surname model M A and the second generation Model M B The breakdown of sample data may differ between the two methods. In addition, any method can be used as long as multiple surrogate models M are constructed in different QUBO formats.
[0129] In the subsequent steps S16 and S17, the CPU3 performs machine learning on a second surrogate model M2 as the surrogate function c. This machine learning is performed on the second parameter 33 loaded in step S15. B It will be executed based on this.
[0130] Specifically, in step S16, CPU3 is second generation model M B To construct this, the objective function f is defined as the first approximation equation M, which models the objective function f. B1 It approximates the constraint g, and the constraint g is modeled by the second approximation equation M B2 It approximates this.
[0131] The details of step S16 are the first parameter 33 A Based on machine learning based on the second parameter 33 B It is the same as the above step S13, except that machine learning based on the second parameter 33
[0132] In step S17 following step S16, the CPU 3 uses the weighted linear sum of the first approximation formula M B1 and the second approximation formula M B2 to approximate and output the black box function E as the second surrogate model M B as the surrogate function c.
[0133] Specifically, the CPU 3 multiplies the α appearing in the formula (2) by the first approximation formula M B1 and adds the term obtained by multiplying β appearing in the same formula by the second approximation formula M B2 . The CPU 3 regards the function constructed by this addition as the approximation result to the second surrogate model M B .
[0134] The CPU 3 transforms the addition result into the form of the formula (7), and stores the values of w0, w, and each component of J appearing in the transformation result in the storage unit 7 temporarily or continuously as numerical data (the second model data 35 B ) indicating the second surrogate model M B .
[0135] In the subsequent step S18, the CPU 3 derives the ensemble model M3 as the surrogate function c. This derivation is executed based on the numerical data (the first model data 35 A ) stored in the storage unit 7 in step S14 and the numerical data (the second model data 35 B ) stored in the storage unit 7 in step S17.
[0136] Specifically, in step S17, the CPU 3 uses the values of w0, w, and J included in the first model data 35 A and the second model data 35 BThe values of w0, w, and J contained in the expression are averaged for each component.
[0137] CPU3 calculates the arithmetic mean or sum of the components in w0, w, and J using the ensemble model M as a proxy function c. C Numerical data showing this (Ensemble model data 35) C ) are stored in the memory unit 7, either temporarily or continuously.
[0138] Once step S18 is complete, CPU3 terminates the approximation process. CPU3 then proceeds the control process from step S1 to step S2 in Figure 3 and starts the search process.
[0139] (3-2. Search Process) Figure 6 is a flowchart illustrating the steps of the search process. When the control process proceeds to step S2 in Figure 3, the CPU 3 executes each step from step S21 in Figure 6.
[0140] In this embodiment, the search process involves the CPU 3 inputting numerical data representing the surrogate function c for each of the multiple surrogate models M to the Ising machine 101, thereby configuring search points x that correspond to the value of the decision variable x of the objective function f and optimize the surrogate function c. * It is configured to obtain (steps S22, S24, S26 and S27).
[0141] Specifically, in step S21, CPU3 sends the first generation Model M to Ising machine 101. A First model data 35 showing A Enter the following. The Ising machine 101 receives the first model data 35. A Based on this, search point x * As the first generation Model M A The first search point x that minimizes or maximizes A * Search for and output (step S101).
[0142] In the subsequent step S22, the CPU 3 receives the value of the first search point x output from the edging machine 101. A *
[0143] In the subsequent step S23, the CPU 3 inputs the second model data 35 indicating the second surrogate model M to the edging machine 101. Based on the input second model data 35, the edging machine 101 searches for and outputs the second search point x that minimizes or maximizes the second surrogate model M as the search point x (step S102). B B B * B B *
[0144] In the subsequent step S24, the CPU 3 receives the value of the second search point x output from the edging machine 101. B *
[0145] In the subsequent step S25, the CPU 3 inputs the ensemble model data 35 indicating the ensemble model M to the edging machine 101. Based on the input ensemble model data 35, the edging machine 101 searches for and outputs the third search point x that minimizes or maximizes the ensemble model M as the search point x (step S103). C C C * C C *
[0146] In the subsequent step S26, the CPU 3 receives the value of the third search point x output from the edging machine 101. C *
[0147] The CPU 3 has a plurality of search points x obtained separately for each surrogate model M. * The above numerical data is used. Specifically, in the evaluation process described later, CPU3 uses the first search point x received in step S22. A * The value of and the second search point x received in step S24 B * The value of and the third search point x received in step S26 C * The values of and are entered into the Ising machine 101.
[0148] In step S27, the CPU 3 calculates multiple search points x calculated in steps S22, S24 and S26. * The value of the search point x * The corresponding numerical data (search data 37) is temporarily or continuously stored in the storage unit 7.
[0149] Once step S27 is completed, CPU3 terminates the search process. CPU3 then proceeds the control process from step S2 to step S3 in Figure 3 and starts the evaluation process.
[0150] (3-3. Evaluation Process) Figure 7 is a flowchart illustrating the steps of the evaluation process. When the control process proceeds to step S3 in Figure 3, the CPU 3 executes each step from step S31 in Figure 7.
[0151] In this embodiment, the evaluation process involves the CPU 3 searching for point x * When numerical data corresponding to the input is used, the evaluation value y represents the values of the objective function f and the constraints. * It is configured to obtain.
[0152] For more details, the evaluation process involves CPU3 determining the evaluation value y. * The first evaluation value y represents the value of the objective function f. f * And the second evaluation value y, which indicates the value of the constraint condition g. g * The system is configured to obtain and respectively (step S32).
[0153] In this embodiment, the evaluation process involves the CPU 3 obtaining multiple search points x for each surrogate model M. * The value of the search point x * The evaluation value y is the numerical data corresponding to this. * It is configured to be used for obtaining [something].
[0154] In other words, in this evaluation process, CPU3 considers each search point x * Evaluation value y corresponding to the value * In addition to obtaining each evaluation value y * As such, the first evaluation value y f * and the second evaluation value y g * It is set up to retrieve.
[0155] Specifically, in step S31, CPU3 sends each search point x to evaluation machine 201. * The evaluation machine 201 inputs search data 37 that shows the value of y. * The first evaluation value y corresponds to the objective function f. f * And the second evaluation value y corresponding to constraint condition g g * and, to search point x * Perform calculations and output each step (step S201).
[0156] In the following step S32, CPU3 receives the first evaluation value y output from evaluation machine 201. f * and the second evaluation value y g * Receive.
[0157] In the following step S33, CPU3 searches for point x * The value and its search point x * Evaluation value y corresponding to the value * The combination (pair) of is added to the sample data that makes up the training data 31. This updates the training data 31. Multiple search points x* A plurality of combinations are added according to the number (the number of surrogate models M). A plurality of combinations will be added to the training data 31. The CPU 3 causes the updated training data 31 to be stored in the storage unit 7.
[0158] For example, the CPU 3 * value of the search point x f * and the first evaluation value y * by adding the combination of, update the first training data 311. The CPU 3 also updates the second training data 312 by adding the combination of the value of the search point x g * and the second evaluation value y
[0159] When the process of step S33 is completed, the CPU 3 ends the evaluation process. The CPU 3 advances the control process from step S3 in FIG. 3 to step S4 in the same figure and starts the iteration process.
[0160] (3-4. Iteration process) In step S4, the CPU 3 determines whether the number of repetitions It of the approximation process (step S1), the search process (step S2), and the evaluation process (step S3) is less than a predetermined number of executions Im (It < Im?). As described above, the number of repetitions It is set to "It = 1" at the first execution of the approximation process. Also, the value of the number of executions Im is defined in advance and is appropriately read from the storage unit 7.
[0161] If the determination in step S4 is YES, the CPU 3 advances the control process to step S5. In this step S5, the CPU 3 increments the number of repetitions It (It = It + 1), and after passing through step S6 described later, returns the control process to step S1.
[0162] In the approximation process (step S1) after the second time (It ≧ 2), the CPU 3 *Numerical data corresponding to the said numerical data and evaluation value y corresponding to the said numerical data * The surrogate function c is updated based on the combination of (in this embodiment, multiple combinations per loop).
[0163] In the evaluation process described above (step S3), CPU3 uses multiple search points x obtained for each surrogate model M. * The value of the multiple search points x * Evaluation value y corresponding to each of the values * The combination with (x * ,y * The training data 31 is updated by adding the following to the sample data (training data 31):
[0164] Therefore, CPU3 has multiple combinations (x * ,y * Based on the newly added training data 31, the approximation of the surrogate function c is performed again. Because the training data 31 has been updated, the surrogate function c constructed by this approximation will be updated to a different functional form than the previous approximation process.
[0165] When multiple proxy models M exist as in this embodiment, the CPU3 updates the proxy function c using the combination (x * ,y * Based on the newly added training data 31, multiple surrogate models M will be individually derived (machine learning).
[0166] Thus, the CPU3 according to this embodiment evaluates the evaluation value y * In both obtaining the data and updating the proxy function c, multiple search points x obtained separately for each proxy model M are used. * It is now used.
[0167] Subsequently, CPU3 executes a search process (step S2) based on the updated surrogate function c, thereby finding the search point x corresponding to the updated surrogate function c. * The value is obtained. CPU3 also retrieves its search point x *By executing the evaluation process (step S3) based on the value of, the evaluation value y* (in this embodiment, the first evaluation value y) is obtained. f * and the second evaluation value y g * After obtaining the result, the determination related to the iterative process (steps S4 and S5) is executed again.
[0168] Thus, in this embodiment, the CPU3 updates the surrogate function c exemplified in the approximation process (step S1) and the search point x exemplified in the search process (step S2). * The process of obtaining the data and obtaining the evaluation value y* exemplified in the evaluation process (step S3) is repeated multiple times.
[0169] These processes are repeated until the optimal solution x is found. * Search point x * The value of x is updated in stages. * The value of is updated step by step, and the search point x * The value of x is the true optimal solution in the black box function E. * It becomes possible to get as close to it as possible.
[0170] Finally, if the result of step S4 is NO, CPU3 terminates the process related to the optimization method, as shown in the flowchart in Figure 3. Specifically, in step S7, which follows the case where step S4 is NO, CPU3 uses the ensemble index x * The final calculation result is the optimal solution x of the objective function f. * The data is then output to the outside via the display 9, memory unit 7, etc.
[0171] Here, as shown in Figure 3, in this embodiment, the weight adjustment process (step S4) is executed before returning from step S5 to step S1, that is, prior to updating the surrogate function c. The configuration of this weight adjustment process will be described in detail below.
[0172] (3-5. Weight Adjustment Process) Figures 8, 9, and 10 are flowcharts illustrating the steps of the weight adjustment process. Once CPU 3 completes step S5 in Figure 3, it proceeds the control process from step S5 to step S6 in the same figure. When the control process proceeds to step S6 in Figure 3, CPU 3 executes each step from step S61 in Figure 8.
[0173] In this embodiment, the weight adjustment process involves the CPU 3 updating the evaluation value y prior to updating the proxy function c. * Based on this, the system is configured to independently perform changes to the weight α corresponding to the objective function f and changes to the weight β corresponding to the constraint condition g. Hereinafter, the weight α corresponding to the objective function f will be referred to as the "first weight coefficient," and the weight β corresponding to the constraint condition g will be referred to as the "second weight coefficient."
[0174] For more details, in step S61, CPU3 determines the first evaluation value y f * The first weight coefficient α is modified based on this, and in the subsequent step S62, the CPU3 modifies the second evaluation value y g * The second weight coefficient β is modified based on the above. The modification of the first weight coefficient α and the modification of the second weight coefficient β are performed separately.
[0175] Note that the order of steps S61 and S62 is not limited to the illustrated example. The order of steps S61 and S62 may be reversed, or these processes may be performed in parallel.
[0176] Specifically, when the control process proceeds to step S61, the CPU3 executes the processing related to changing the first weight coefficient α in order from step S611 in Figure 9. Note that the following calculations are performed individually for each of the multiple objective functions f if there are multiple objective functions f.
[0177] First, in step S611, CPU3 outputs the first mean value y a1 Calculate this first mean value y. a1 This is a set of multiple first evaluation values yf * This shows the arithmetic mean of y. a1 The calculation of the i-th objective function f is performed based on the contents of the memory unit 7. i The first mean value related to y a1 For example, y a1i It can be expressed as follows.
[0178] For details, see the first mean y a1 This refers to a plurality of first evaluation values y that are pre-stored in the memory unit 7 as the initial training data 31. f * Each time the evaluation process is executed, one or more first evaluation values y are added to the training data 31. f * It is calculated by the arithmetic mean of and . Each time the evaluation process and weight adjustment process are repeated, the first mean value y a1 Its size can change gradually.
[0179] In the following step S612, CPU3 determines the first evaluation value y f * The first target value θ1, which indicates the target value of the function f, is obtained. The magnitude of the first target value θ1 may be, for example, a setting value defined by the user and stored in the memory unit 7 in advance. The i-th objective function f i The first target value θ1 related to this is, for example, θ 1i It can be expressed as follows.
[0180] Alternatively, the first target value θ1 is one of several first evaluation values y f * The statistical indicator may be calculated by statistically processing the data. Examples of statistical indicators that can be used for the first target value θ1 are multiple first evaluation values y f * It can also be expressed as an index that is a constant multiple of the standard deviation σ (Standard Deviation) that characterizes each distribution. The i-th objective function f i The standard deviation σ related to this is, for example, σ 1i This can be expressed as follows. In the specific example described later, the first target value θ1 is set to "-1.25σ".
[0181] In the following steps S613 to S614, CPU3 calculates the first mean value y a1 The larger the difference between the first target value θ1 and the first target value, the larger the value of the first weighting coefficient α should be.
[0182] In detail, in step S613, the CPU3 calculates the first mean value y from the first target value θ1. a1 Subtract the value of the subtraction (especially the i-th objective function f) i By dividing the difference related to by the standard deviation σ, the index sd 1i Calculate.
[0183] indicator sd 1i This is none other than the SD value of the first target value θ1. In other words, CPU3 calculates the first mean value y from the first target value θ1. a1 The constant portion of the value obtained by subtracting the specified value, expressed as a constant multiple of the standard deviation, is extracted and output.
[0184] For example, the first target value θ1 is the first mean value y a1 Suppose the difference is greater than or equal to "+2σ". In this case, CPU3 uses "sd" as the index. 1i Outputs "=2".
[0185] As an alternative example, the first target value θ1 is the first mean value y a1 Let's assume it's smaller than that, and the difference is "-1σ". In this case, CPU3 uses "sd" as the index. 1i Outputs "=-1".
[0186] In step S614, following step S613, CPU3 calculates the absolute value of its index "|sd 1i The i-th objective function f is expressed by equation (8) below. i The first weighting coefficient α for i Let's assume that.
[0187]
number
[0188] As shown in equation (8) above, CPU3 calculates the first mean value y a1 Regardless of the relative magnitudes of the first target value θ1, the first mean value y a1 The larger the difference between the first target value θ1 and the first target value, the larger the value of the first weighting coefficient α should be.
[0189] Meanwhile, when the control process proceeds to step S62, the CPU3 executes the process related to changing the second weight coefficient β in order from step S621 in Figure 10. Note that the following calculations are performed individually for each of the constraint conditions g if there are multiple constraint functions g.
[0190] First, in step S621, CPU3 calculates the second mean value y a2 Calculate this second mean value y. a2 This is a set of multiple second evaluation values y g * This shows the arithmetic mean of y. a2 The calculation is performed based on the contents of memory unit 7. The j-th constraint g j The second mean value related to y a2 For example, y a2j It can be expressed as follows.
[0191] For details, see the second mean y. a2 This refers to a plurality of second evaluation values y that are pre-stored in the memory unit 7 as the initial training data 31. g * Each time the evaluation process is executed, one or more second evaluation values y are added to the training data 31. g * It is calculated by the arithmetic mean of and . Each time the evaluation process and weight adjustment process are repeated, the second mean y a2 Its size can change gradually.
[0192] In the following step S622, CPU3 determines the second evaluation value y g *A second target value θ2 is obtained, which indicates the target value of . The magnitude of the second target value θ2 may be, for example, a setting value defined by the user and stored in the memory unit 7 in advance. The j-th constraint condition g j The second target value θ2 related to this is, for example, θ 2j It can be expressed as follows.
[0193] Alternatively, the second target value θ2 is one of several second evaluation values y g * It may also be a statistical indicator calculated by statistical processing. Examples of statistical indicators usable for the second target value θ2 include multiple second evaluation values y. g * The index may also be expressed as a constant multiple of the standard deviation σ (Standard Deviation) that characterizes each distribution. The j-th constraint g j The quasi-deviation σ related to this is, for example, σ 2j This can be expressed as follows. In the specific example described later, the second target value θ2 is set to "0".
[0194] In the following steps S623 to S624, CPU3 calculates the second mean value y a2 Based on the relative magnitudes of the second target value θ2, the value of the second weight coefficient β is adjusted. At that time, CPU3 adjusts the second mean value y a2 When is greater than the second target value θ2, and the second mean value y a2 The value of the second weighting coefficient β corresponding to the constraint condition g is made different when it is smaller than the second target value θ2.
[0195] In detail, in step S623, CPU3 calculates the second mean value y from the second target value θ2. a2 Subtract the value of the subtraction (especially the j-th constraint g). j By dividing the difference related to by the standard deviation σ, the index sd 2j Calculate.
[0196] indicator sd 2j This can be considered as the SD value of the second target value θ2. In other words, CPU3 calculates the second mean value y from the second target value θ2. a2The constant portion of the value obtained by subtracting the specified value, expressed as a constant multiple of the standard deviation, is extracted and output.
[0197] For example, the second target value θ2 is the second mean value y a2 Suppose the difference is greater than or equal to "+2σ". In this case, CPU3 uses "sd" as the index. 2j Outputs "=2".
[0198] As an alternative example, the second target value θ2 is the second mean value y a2 Let's assume it's smaller than that, and the difference is "-1σ". In this case, CPU3 uses "sd" as the index. 2j Outputs "=-1".
[0199] In step S624, following step S623, the CPU 3 calculates the index "sd" calculated in step S623. 2j Based on this, the j-th constraint condition g is expressed by equation (9) below. j The second weighting coefficient β for j Perform the calculation.
[0200]
number
[0201] Here, the determination of whether or not constraint condition g is satisfied is made using the second evaluation value y. g * The evaluation is based on the relationship between the second target value θ2 and the first target value. In this embodiment, the case where each constraint condition g is satisfied is exemplified as the case where it is maximized.
[0202] In other words, in the first term of equation (9) above, CPU3 is the second mean value y a2 If the second target value θ2 is not reached (y a2 <θ2,sd 2j >0), second mean y a2 The difference between the second target value θ2 (sd 2j The larger the value of the second weighting coefficient β, the larger the value of the second weighting coefficient β.
[0203] On the other hand, in the first term of equation (9) above, CPU3 is the second mean value y a2 If the second target value θ2 has been reached (y a2 ≥θ²,sd 2j For ≤0, the second mean value y a2 The difference between the second target value θ2 (sd 2j Regardless of the above, set the value of the first term to zero.
[0204] Furthermore, in the second term of equation (9) above, CPU3 is the second mean value y a2 If the second target value θ2 is not reached (y a2 <θ2,sd 2j >0), second mean y a2 The difference between the second target value θ2 (sd 2j The larger the value of the second weighting coefficient β, the larger the value of the second weighting coefficient β.
[0205] On the other hand, in the second term of equation (9) above, the coefficient a in the second term is an arbitrary real parameter (scalar). Also, the denominator N of the second term is the number of samples (data points) of the training data 31, including those added to the training data 31 by the evaluation process.
[0206] Furthermore, the numerator of the second term above is the j-th constraint g out of the sample size N. j Regarding the second target value θ 2j The number of samples that does not satisfy the condition (initial sample and one or more search points x) * This indicates (including) the "second target value θ". 2j If set to "=0", the numerator of the second term is the j-th constraint g j The number of samples that do not satisfy the condition (initial sample and one or more search points x) * This indicates (including)
[0207] According to the second term of equation (9), CPU3 determines multiple second evaluation values y g * Among them, constraint condition g j The second evaluation value y that satisfies this condition g * The number of items is evaluated. CPU3 evaluates the constraint gj The second evaluation value y that satisfies this condition g * The more the number of terms increases (i.e., the smaller the numerator of the second term becomes), the less the constraint condition g j The corresponding second weighting coefficient β j The value of is designed to be reduced.
[0208] Subsequently, the CPU 3 temporarily or continuously stores the values of the first weight coefficient α and the second weight coefficient β in the storage unit 7 as numerical data (weight coefficient data 39) corresponding to those values.
[0209] Once the above processing is complete, CPU3 completes the control process shown in Figure 8, i.e., the weight adjustment process (step S6) shown in Figure 3. The effects of the weight adjustment process (step S6) will be reflected in steps S14 and S17 of the second and subsequent approximation processes.
[0210] In other words, CPU3 uses the first weight coefficient α to determine the first surrogate model M A The first approximation formula M A1 And the second generation Model M B The first approximation formula M B1 The CPU3 also performs weight changes for and . A The second approximation formula M A2 And the second generation Model M B The second approximation formula M B2 Perform a change in the weights for and .
[0211] (3-6. Other processes) Furthermore, during the first execution of step S1, etc. (iteration count It=1), CPU3 may generate initial samples of training data 31 as follows.
[0212] First, CPU3 generates multiple explanatory variables x randomly or based on a design planning method or similar. Next, CPU3 executes the evaluation process (step S3) for each of the multiple explanatory variables x and generates an evaluation value y corresponding to each explanatory variable x. *This obtains multiple evaluation values y. * This is obtained.
[0213] Next, CPU3 considers each explanatory variable x and the corresponding evaluation value y. * Multiple combinations of and are generated, and these multiple combinations constitute the initial samples of the training data 31.
[0214] Subsequently, CPU3 evaluates multiple values y * Based on this, the weight adjustment process (step S5) is executed to determine the initial values of the first weight coefficient α and the second weight coefficient β. Subsequently, the CPU 3 proceeds to the control process S1 and performs an approximation of the surrogate function c to the QUBO form.
[0215] It is not mandatory to perform the weight adjustment process (step S5) to determine the initial values of the first weight coefficient α and the second weight coefficient β. The user may store values in the storage unit 7 in advance and use those values as the initial values of the first weight coefficient α and the second weight coefficient β.
[0216] Furthermore, if the weight adjustment process (step S5) is performed to determine the initial values of the first weight coefficient α and the second weight coefficient β, the flowchart in Figure 3 can be considered to start from the weight adjustment process (step S6). In this case, the optimization method according to this embodiment is equivalent to the one illustrated in Figure 16.
[0217] <4. Examples of Optimization Methods> (4-1. Outline of specific examples) The inventors of this application applied the method described using Figures 1 to 10 to a vehicle body design problem. The objective of this problem is to simultaneously optimize three vehicle models: the first, second, and third models.
[0218] In the aforementioned vehicle body design problem, 74 decision variables x are set as design variables for each vehicle type. In total, there are 222 decision variables x across all vehicle types. Each decision variable x represents the plate thickness (real value) of a part. This plate thickness can be treated as a discrete real value that takes into account realistic machining accuracy. Hereafter, let d be the number of decision variables x per vehicle type, and let D (=3d) be the total number of decision variables across all three vehicle types.
[0219] The objective function in the aforementioned vehicle body design problem consists of two functions: minimizing the total weight of the three vehicle types (objective function f1 described later) and maximizing the number of parts common to the three vehicle types (objective function f2 described later).
[0220] The constraints can be classified into two types: constraints indicating vehicle body performance and constraints indicating manufacturing constraints, and consist of a total of 18 functions. The former, vehicle body performance constraints, include constraints related to the vehicle's crash performance, eigenvalues, and body rigidity. Since constraints are imposed for each vehicle type, a total of 54 constraints are imposed for all vehicle types.
[0221] Similar to the basic concepts explained using Figures 1 to 10, the vehicle body design problem, as a concrete example, is a multi-constrained, multi-objective optimization problem. For example, the objective function f can be expressed as follows:
[0222]
number
[0223] In the above formula, "Mass" represents the weight (vehicle weight) of each vehicle. In the following formulas, "V1" represents the first vehicle, "V2" represents the second vehicle, and "V3" represents the third vehicle.
[0224] Next, constraint condition g can be expressed as follows. In each of the following equations, the decision variable x preceded by the superscript "U" indicates the upper limit of that decision variable x. Similarly, the decision variable x preceded by the subscript "L" indicates the lower limit of that decision variable x.
[0225]
number
[0226]
number
[0227] Furthermore, in this specific example, for each vehicle model, constraints up to P=14 out of a total of 18 constraints g are reconstructed using the response surface method. Constraints g from P=15 to 18, that is, constraints g from equation (19) to equation (30), correspond to the constraints g that indicate manufacturing constraints as mentioned above.
[0228] (4-2. Details of specific examples) Furthermore, the following four cases were examined as specific examples. [1]: Case using weight adjustment and multiple surrogate models (Case 1) [2]: Case where only weight adjustment is used (Case 2) [3]: Case where only multiple proxy models are used (Case 3) [4]: Case using the conventional configuration (Case 4)
[0229] Case 1 is none other than the case described using Figures 3 to 10. Case 1 corresponds to the first embodiment in this model.
[0230] Case 2 involves the first surname model M in the approximation process explained using Figure 5. A Only output the ensemble index x in Figures 6 to 10. * All processes related to the first search point x A *This is none other than a case where it is executed using [the specified method]. Case 2 corresponds to the second embodiment in this model.
[0231] Case 3 is simply the case in which all processes related to step S6 in Figure 3 (weight adjustment process) are skipped.
[0232] Case 4, like Case 2, is the first generation Model M A Output only the first search point x A * This case involves performing processing based on the above, and, as in Case 3, skipping the entire weight adjustment process. Case 4 is a comparative example to Cases 1, 2, and 3.
[0233] In the above specific example, each decision variable x is treated as a discrete real value as described above, and for optimization, a binary variable is prepared for each discrete point of all 222 variables, and a total of 1905 binary variables are used, which are then encoded using one-hot encoding.
[0234] Furthermore, among the constraints g from equations (12) to (14), the constraints g from P=1 to P=14 correspond to black-box functions. For these constraints g, the response surface is calculated by CAE, and the values of the constraints g are obtained by performing a simulation on that response surface. Based on the following equation, CPU3 converts the simulation results of these constraints g into penalty values and weights them over the three vehicle types. This simulation will be performed on the evaluation machine 201 in the above embodiment. CPU3 learns this weighted sum by the FM described above and obtains a surrogate function c through an internal model.
[0235]
number
[0236] On the other hand, the constraints g from P=15 to P=18 and the objective function f correspond to functions that can be explicitly converted to QUBO form in the above specific example. These functions are approximated to QUBO form manually or automatically, and then a weighted sum is performed over the three vehicle types. CPU3 obtains this weighted sum as a substitute function c.
[0237] CPU3 outputs a QUBO-form substitute function c by linearly combining two substitute functions c, thereby approximating the black-box function E, which is constructed from a weighted linear combination of the objective function f and constraints g. For each of the two substitute functions c, a second weight coefficient β is considered for each constraint, and for the objective function f included in the latter of the two substitute functions c, a first weight coefficient α is considered for each objective function.
[0238] Here, the initial sample size was set to 100, and the same initial sample was used for each method.
[0239] CPU3 inputs the resulting proxy function c to the Ising machine 101, and searches for the search point x from the Ising machine 101. * The value of the search point x is obtained. CPU3 searches for x * The value of is entered into evaluation machine 201, and the evaluation value y * Obtain it.
[0240] In this specific example, the number of simulations using the response surface, i.e., the number of evaluations by evaluation machine 201 (evaluation value y * We compare the results of five trials of a search (search process) with a set number of attempts (number of acquisitions) of 1000.
[0241] Furthermore, in the specific example below, in addition to the weight adjustment explained in step S6, the weight α corresponding to the objective function f is changed according to the number of iterations It. This change is performed in such a way that a bias is created among the multiple objective functions f. The details of this bias are shown in equation (32) below.
[0242]
number
[0243] In equation (32) above, "n" is the number of repetitions It (n=It). In equation (32) above, "μ" is the first target value θ mentioned above in Case 1 and Case 2. 1i The reference value, in Case 3 and Case 4, is the first weighting coefficient α i This is shown. In the above equation, "ν" is the second target value θ mentioned above in Case 1 and Case 2. 2j The reference value is shown, and in Case 3 and Case 4, the second weighting coefficient β j This indicates.
[0244] In equation (32), "d" is a real number. This d is a control parameter for controlling the magnitude of the bias. In equation (32), "r" is a natural number. This r is an adjustment parameter for controlling the change in bias according to the number of repetitions It.
[0245] Furthermore, in equation (32), "t" is a natural number. This t is the threshold that initiates the bias of weight α. As shown in equation (32), when "n ≤ t", CPU3 is "θ" in the case of Case 1 and Case 2. 1i After setting "=μ", the first weight coefficient α is defined based on equation (8). In cases 3 and 4, the first weight coefficient α is defined as "α=μ=10".
[0246] On the other hand, when "n>t", CPU3 uses "θ" instead of μ for the first objective function f1 in cases 1 and 2. 1i = The second row of the right-hand side of equation (32) is defined, and the first weight coefficient α is determined based on equation (8). In the case of cases 3 and 4, "α 1i The first weight coefficient α is defined as "the second row on the right side of equation (32)".
[0247] In the same case where "n>t", CPU3 uses "θ" instead of μ for the second objective function f2 in cases 1 and 2. 1i= The third row of the right-hand side of equation (32) is defined, and the first weight coefficient α is determined based on equation (8). In the case of cases 3 and 4, "α 2i The first weight coefficient α is defined as "the second row on the right side of equation (32)".
[0248] Furthermore, for the constraint condition g, CPU3 determines that regardless of the relative magnitudes of n and t, in the cases of Case 1 and Case 2, "θ 2j After setting "ν=0", the second weight coefficient β is defined based on equation (9). In cases 3 and 4, the second weight coefficient β is defined as "β=ν=30".
[0249] Furthermore, the various parameters for each of the four specific examples are shown in Figure 11. In Figure 11, the second column from the left is the number of executions Im, as mentioned earlier. The third column shows the number of QUBOs (proxy models M) used per search. The two columns labeled "Learning" are, from left to right, the first parameter 33 A And the second parameter 33 B This indicates that, similar to the weights, the first and second parameters 33 A ,33 B This also brings about changes depending on the number of repetitions, It (=n).
[0250] (4-3. Overview of Comparative Examples) In verifying the above embodiment, in addition to the above comparative example (Case 4), a comparative study was also conducted with two further conventional examples (comparative examples).
[0251] The second comparative example is the so-called pattern search method proposed by Hooke et al. For details of this method, please refer to, for example, "R. Hooke, et al.: “direct search” solution of numerical and statistical problems. J. ACM, 8(2):212-229, April 1961."
[0252] In the second comparative example, approximation using RBF and optimization using pattern search were performed, while all other conditions were set to the same conditions as in Case 1 (conditions using two types of surrogate models and their ensemble model). However, discrete real values were used for the variables.
[0253] The third comparative example is the so-called NSGA-II (Elitist Non-dominated Sorting Genetic Algorithm). For details of this method, please refer to, for example, "K. Deb, et al.: A fast and elitist multiobjective genetic algorithm: nsga-II. Trans. Evol. Comp, 6(2):182-197, April 2002." In the following verification, the number of evaluations for NSGA-II was 30,000.
[0254] For details on the various parameters in each comparative example, please refer to Figure 12.
[0255] (4-4. Verification Results) Figure 13 shows the best Pareto front for each method after five trials of 1000 searches (30000 searches for NSGA-II). The vertical axis represents the first objective function f1, and the horizontal axis represents the second objective function f2. The bottom right of Figure 13 represents the optimization direction.
[0256] As shown in Figure 13, Cases 1 and 2 yield more optimal Pareto fronts compared to the first comparative example (Case 4) and the second comparative example. Furthermore, Cases 1 and 2 yield wider Pareto fronts on both the vertical and horizontal axes compared to the third comparative example. As shown in the boxed area Cg in Figure 13, Cases 1 and 2 were able to identify a "cliff" where the value on the vertical axis changes significantly relative to the horizontal axis.
[0257] Furthermore, comparing Case 1 and Case 2, Case 1 exhibits a superior Pareto front. Moreover, as shown in the second column of Figure 11, the number of iterations in Case 1 is reduced to one-third of that in Case 2. Case 1 can achieve both the calculation of a superior Pareto front and the suppression of the computational load in the optimization system S.
[0258] As shown in Figure 13, Case 3 is superior to the first comparative example (Case 4) and exhibits a Pareto front of comparable quality to the second comparative example. Moreover, as shown in Figure 11, the number of iterations in Case 3 is reduced to one-third of that in Case 4. Case 3 can achieve both the calculation of a superior Pareto front and the suppression of the computational load in the optimization system S.
[0259] <5. Significance of the Optimization Method> As described above, according to the embodiment, as illustrated in step S6 of Figure 3, the CPU 3 updates the proxy function c and the search point x * Obtaining the evaluation value y * During the process of obtaining and repeating, the evaluation value y * Based on this, the weight corresponding to the objective function f (first weight coefficient α) and the weight corresponding to the constraint condition g (second weight coefficient β) are changed separately. As explained with reference to Figures 9 and 10, the first weight coefficient α and the second weight coefficient β are used to evaluate the value y * It is dynamically changed based on [the specified value].
[0260] By doing this, the evaluation value y that is actually obtained is * Accordingly, the weights for the constraint condition g and the weights for the objective function f can be adjusted in real time and automatically. * By referring to this, if the search for a feasible solution is progressing smoothly, the weight of the constraint condition g may be relatively reduced, or if the optimization of the objective function f is progressing smoothly, the weight of the objective function f may be relatively reduced, thereby finding the optimal solution x * It is possible to assign appropriate and flexible weights according to the search status.
[0261] Furthermore, as illustrated in step S6 of Figure 3, the optimal solution x * Changing the weights during the exploration is also beneficial from the standpoint of computational resources, such as shortening the processing time by computer 1 and evaluation machine 201.
[0262] Furthermore, as explained with reference to Figure 8 and Equation (8), when CPU3 changes the weights corresponding to the objective function f, the first evaluation value y f * See also. On the other hand, as explained with reference to Figure 8 and equation (9), when changing the weight corresponding to the constraint condition g, the second evaluation value y g * See the reference. By configuring it in this way, the optimal solution x * Depending on the search status, more appropriate weights can be assigned.
[0263] Furthermore, as explained with reference to equation (8), CPU3 has a first mean value y a1 Based on the difference between this value and the first target value θ1, the weights corresponding to the objective function f are changed. This configuration allows for assigning more appropriate weights to the objective function f depending on the progress of its optimization.
[0264] Furthermore, generally, a function that expresses a constraint g is judged to have satisfied that constraint g (i.e., a feasible solution) when it falls below or exceeds a predetermined target value (e.g., zero). Unlike the objective function f, once the constraint g is satisfied, it is not necessary for the function to fall significantly below or exceed the target value.
[0265] Therefore, as explained by referring to the first term of equation (9), CPU3 calculates the second mean value y a2 When is greater than the second target value θ2, and the second mean value y a2 The weights corresponding to the constraint condition g are made different when it is smaller than the second target value θ2. In this way, a more appropriate weight can be assigned to the constraint condition g depending on the search status of feasible solutions.
[0266] Furthermore, as explained by referring to the second term of equation (9), multiple second evaluation values y g * The mean (second mean y) a2 ) as well as multiple second evaluation values y g * Based on each of the values, the weights corresponding to constraint condition g are changed. In this way, a more appropriate weight can be assigned to constraint condition g depending on the search status for feasible solutions. A small number of second evaluation values y g * Although the constraint g is satisfied, the vast majority of the remaining second evaluation values y g * A more appropriate weight can be assigned when the constraint condition g is not satisfied.
[0267] Furthermore, as explained with reference to Figures 5 and 6, the CPU 3 constructs multiple surrogate models M with different generalization performance and inputs each surrogate model M into the Ising machine 101. In this way, the optimal solution x can be obtained from a wider range of perspectives. * This makes it possible to find such a second surrogate model M that is slightly overfitting (in this embodiment, slightly overfitting). B The first surname model M is then obtained, with fitting suppressed (in this embodiment, overfitting suppressed). A By using the former as a second-generation model M B This is the optimal solution x, which utilizes the interpolation accuracy near the sample. * While this contributes to the exploration of the latter's first surname model M A This contributes to the search for the optimal solution by leveraging its predictive capabilities.
[0268] Furthermore, as illustrated in step S18 of Figure 5, the CPU3 further performs at least the first generation Model M A and the second-generation model M B An ensemble model M constructed by applying statistical processing to multiple (two in this embodiment) surrogate models M that include the above. C By using this, the evaluation value y * Obtaining the optimal solution x *The process of searching for the optimal solution x is executed. This allows for searching for the optimal solution x from a wider range of perspectives. * It becomes possible to find it.
[0269] Also, Ensemble Model M C This is the first generation Model M A and the second-generation model M B Compared to the previous method, this approach is expected to be constructed in a shorter time. This significantly reduces the time required to approximate the black-box function E, which is even more advantageous from the perspective of computational resources, such as shortening the overall processing time of the optimization system S.
[0270] Furthermore, as illustrated in the table in Figure 11, by appropriately adjusting the learning rate lr and the number of training iterations Iter, multiple surrogate models M can be constructed in different QUBO formats. In other words, multiple surrogate models M will have different functional forms. By adjusting the parameters illustrated in the table in Figure 11, multiple surrogate models M with different generalization performance can be easily and reliably constructed.
[0271] Furthermore, as explained with reference to Figure 7, multiple search points x v By using the corresponding combinations for each of these, the training data 31 can be updated efficiently. This has a beneficial effect from the standpoint of computational resources, such as shortening the processing time of the entire optimization system S.
[0272] <6. Other Embodiments> In the above embodiment, a Quantum Annealing (QA), or so-called FMQA, based on an approximate formula c constructed by an internal model of the FM, was exemplified by using an Ising machine 101 as a quantum-inspired machine. However, this disclosure is not limited to such a configuration.
[0273] For example, this disclosure is not limited to approximation formula c using a pre-trained internal model of FM. As an example, when constructing approximation formula c, genetic programming may be used instead of the internal model of FM. In this case, the operators used are limited to "+", "-", and "×", and by imposing constraints that the product of the variables in each term is of quadratic or less, and optimizing, an approximation formula in QUBO form can be obtained. Alternatively, approximation formula c can also be obtained using analytical methods such as multiple regression analysis, Ridge regression, or kernel regression. In this case as well, an approximation formula c in QUBO form can be obtained by preprocessing the training data and adjusting the parameters so that the resulting regression equation is a polynomial of quadratic or less.
[0274] Furthermore, although the computer 1 and the evaluation machine 201 were separate entities in the above embodiment, this disclosure is not limited to such a configuration. The computer 1 evaluates the evaluation value y * It may also have a calculation function.
[0275] More generally, the above embodiment shows an example in which the optimization device is configured by a single computer 1, but the present disclosure is not limited to that example. The optimization method, optimization device, and optimization program 21 according to the present disclosure may be executed using multiple computers 1, for example, by having a first computer execute some of the processing and a second computer execute the remaining processing.
[0276] Furthermore, the computer 1 in this disclosure also includes parallel computers such as supercomputers and PC clusters. Each computer 1 may have multiple CPUs 3, and it is not necessary for all processing to be executed by the same CPU 3.
[0277] Furthermore, although the above embodiment exemplified a configuration that assumed the use of multiple surrogate models M, such a configuration is not essential. As shown in the modified example in Figure 14, one surrogate model M may be used. In that case, multiple search points x * Instead, one search point x *Numerical data (search data 37) showing this will be used. Even if this is done, as in Case 2 mentioned above, a Pareto front that is more in the direction of optimization can be obtained compared to other comparative examples (for example, Case 4, the second and third comparative examples), and a more appropriate optimal solution x * This will contribute to the exploration of [the subject].
[0278] Furthermore, in the above embodiment, each surrogate model M was constructed by a weighted linear sum of a first approximation formula corresponding to the objective function f and a second approximation formula corresponding to the constraint condition g, and the weight coefficients in that linear sum were the target of adjustment in the weight adjustment process (step S6). However, the present disclosure is not limited to such a configuration.
[0279] For example, in step S101 of Figure 15, the CPU 3 generates third training data 313. This third training data 313 is search point x * Numerical data corresponding to this, and the first and second evaluation values y f * ,y g * The evaluation value of the entire black-box function E constructed by a weighted linear combination y * This is training data generated by combining and . The third training data 313 is an example of "training data" in this embodiment.
[0280] Subsequently, in step S103, which is reached via step S102 similar to step S12 in Figure 5, the CPU 3 uses the third training data 313 generated in step S101 to calculate the third approximation formula M for the entire black box function E. A3 The model is then analyzed using machine learning or various regression analysis methods. In the following step S104, CPU3 uses the third approximation formula M A3 The first surrogate model M that shows the surrogate function c. A Output as follows.
[0281] The explanation of steps 105 through S108 will be omitted. For example, the processes in steps S105 and S108 are substantially the same as the processes in steps S15 and S18 in Figure 5, respectively. The processes in steps S106 and S107 are for the first surrogate model M A Processing related to, or the second generation model M B Except for the fact that it is a process related to [the relevant part], the processes in steps S103 and S104 are the same.
[0282] In this configuration, when generating the third training data 313, the CPU 3 reflects the result of the weight adjustment process (step S6). That is, the CPU 3 uses the first weight coefficient α calculated through step S6 to determine the first evaluation value y in step S101. f * The weights for are updated. Similarly, CPU3 uses the third weight coefficient β calculated through step S6 to update the second evaluation value y in step S101. g * Update the weights for each.
[0283] By doing this, each weight can be dynamically updated, similar to the process illustrated in Figure 5.
[0284] Furthermore, in the embodiment, multiple search points x obtained separately for each surrogate model M v Although it was configured to use numerical data (search data 37), this disclosure is not limited to such a configuration.
[0285] For example, the CPU3, acting as the processing unit, obtains multiple search points x for each proxy model M. * By applying the following statistical processing, the ensemble index x v * You may perform the following calculation. Statistical processing here includes, for example, the "arithmetic mean".
[0286] As an example, CPU3, in step S2 and beyond, receives the first search point x in step S22. A *The value of and the second search point x received in step S24 B * The value of and the third search point x received in step S26 C * The values of and the arithmetic mean of are calculated separately for each component of the decision variable x, and this is used to create the ensemble index x. v * Let's assume that CPU3 has its ensemble index x v * The value (average value) of the search point x * The corresponding numerical data (search data 37) is temporarily or continuously stored in the storage unit 7.
[0287] Then, in processing from step S3 onward, CPU3 uses multiple search points x obtained separately for each surrogate model M. * Instead, ensemble index x v * This is used as numerical data (search data 37), and the evaluation value y is determined based on this numerical data. * This process retrieves the data and updates the proxy function M.
[0288] Ensemble Index x v * By using this, even when using multiple surrogate models M, the evaluation value y * The number of evaluations is the same as with a configuration using one surrogate model M. By doing this, the evaluation value y is different compared to a configuration using one surrogate model M. * This reduces the number of evaluations and has a beneficial effect from the standpoint of computational resources, such as shortening the overall processing time of the optimization system S.
[0289] Industrial applicability As described above, this disclosure has industrial applicability because it is useful in various fields where the Ising machine 101 can be used, such as automotive engineering. [Explanation of Symbols]
[0290] S Optimization System 1. Computer (computer, optimization device) 3 CPU (arithmetic unit) 7a RAM (storage unit) 7b SSD (storage unit) 31 Training Data 311 First training data 312 Second training data 313 Third training data (training data) 33 A 1st parameter 33 B Second parameter 35 A Model 1 data 35 B Model 2 data 35 C Ensemble model data 37 Search Data 39. Weight coefficient data 18 Storage medium 21 Optimization Program 211 Approximation Program 213 Search Program 215 Evaluation Programs 217 Iterative Programs 219 Weight adjustment program 101 Ising Machine 201 Evaluation Machines c substitute function E Blackbox Function
Claims
1. An optimization method for searching for the optimal solution of an objective function under predetermined constraints, using a computer equipped with an arithmetic unit and a memory unit, and an Ising machine that performs optimization by annealing, The calculation unit approximates the black-box function, which is composed of a weighted linear combination of the objective function and the constraints, to a QUBO-type substitute function and outputs it. The calculation unit inputs the substitute function to the Ising machine to obtain search points that correspond to the values of the decision variables of the objective function and optimize the substitute function. The calculation unit obtains evaluation values indicating the values of the objective function and the constraints when numerical data corresponding to the search points is taken as input. The calculation unit updates the proxy function based on the combination of the numerical data and the evaluation value corresponding to the numerical data. The calculation unit repeatedly performs the following multiple times: updating the proxy function, obtaining the search points, and obtaining the evaluation value. Prior to updating the proxy function, the calculation unit separately performs the following based on the evaluation value: a change in the weights corresponding to the objective function and a change in the weights corresponding to the constraints. An optimization method characterized by the following:
2. In the optimization method described in claim 1, The calculation unit obtains, as evaluation values, a first evaluation value indicating the value of the objective function and a second evaluation value indicating the value of the constraint condition, respectively. Prior to updating the proxy function, the calculation unit performs the following: modifying the weights corresponding to the objective function based on the first evaluation value, and modifying the weights corresponding to the constraints based on the second evaluation value. An optimization method characterized by the following:
3. In the optimization method described in claim 2, The calculation unit, each time the evaluation value is repeatedly acquired, stores the acquired evaluation value in the storage unit and calculates a first average value representing the arithmetic mean of a plurality of first evaluation values based on the contents of the storage unit. The calculation unit obtains a first target value that indicates the target value of the first evaluation value, Prior to updating the proxy function, the calculation unit increases the weight corresponding to the objective function as the difference between the first average value and the first target value increases. An optimization method characterized by the following:
4. In the optimization method described in claim 2, The calculation unit, each time the evaluation value is repeatedly acquired, stores the acquired evaluation value in the storage unit and calculates a second mean value representing the arithmetic mean of a plurality of second evaluation values based on the contents of the storage unit. The calculation unit obtains a second target value that indicates the target value of the second evaluation value, Prior to updating the proxy function, the calculation unit adjusts the weights corresponding to the constraints based on the relative magnitudes of the second mean value and the second target value. The calculation unit makes the weights corresponding to the constraints different when the second average value is greater than the second target value and when the second average value is less than the second target value. An optimization method characterized by the following:
5. In the optimization method described in claim 4, The calculation unit evaluates the number of second evaluation values among the plurality of second evaluation values in which the constraint condition is satisfied, The calculation unit reduces the weight corresponding to the constraint as the number of second evaluation values that satisfy the constraint increases. An optimization method characterized by the following:
6. In the optimization method described in any one of claims 2 to 5, The aforementioned calculation unit, The aforementioned objective function is modeled in the first approximation equation, The aforementioned constraints are modeled in the second approximation equation, The black box function is approximated by the proxy function and output by a weighted linear sum of the first approximation formula and the second approximation formula. The aforementioned calculation unit, The weights corresponding to the objective function change the weights for the first approximation formula, The weights corresponding to the aforementioned constraints are used to individually modify the weights for the second approximation formula. An optimization method characterized by the following:
7. In the optimization method described in any one of claims 2 to 5, The calculation unit generates training data by combining the numerical data with the evaluation value of the black box function, which is composed of a weighted linear sum of the first and second evaluation values. The calculation unit outputs the surrogate function in which the black box function is modeled based on the generated training data. The calculation unit, when generating the training data, The weights corresponding to the objective function are used to change the weights for the first evaluation value, The weights corresponding to the aforementioned constraints are used to individually modify the weights for the second evaluation value. An optimization method characterized by the following:
8. In the optimization method described in claim 1, The calculation unit constructs a plurality of proxy models, each of which the black box function is modeled and which have different generalization performance, as proxy functions. The calculation unit inputs the multiple surrogate models as surrogate functions to the Ising machine, thereby obtaining search points corresponding to the values of the decision variables of the objective function and optimizing the surrogate functions for each surrogate model. The calculation unit, when acquiring the evaluation value, uses the plurality of search points acquired for each proxy model in the numerical data. An optimization method characterized by the following:
9. An optimization device that searches for the optimal solution of an objective function under predetermined constraints by using an Ising machine, which is composed of a computer equipped with an arithmetic unit and a memory unit and performs optimization by annealing, An approximation means that approximates and outputs a black-box function, which is composed of a weighted linear combination of the objective function and the constraints, as a substitute function in QUBO form, A search means that inputs the aforementioned substitute function into the Ising machine to obtain search points that correspond to the values of the decision variables of the objective function and optimize the substitute function, An evaluation means for obtaining evaluation values that indicate the values of the objective function and the constraints when numerical data corresponding to the search points is taken as input, The approximation means updates the proxy function based on a combination of the numerical data and the evaluation value corresponding to the numerical data, and the iterative means causes the approximation means, the search means and the evaluation means to repeatedly perform the updating of the proxy function, the acquisition of the search points and the acquisition of the evaluation value multiple times. Prior to updating the proxy function, the system includes a weight adjustment means that individually performs, based on the evaluation value, a change in the weights corresponding to the objective function and a change in the weights corresponding to the constraints, An optimization device characterized by the following features.
10. An optimization program that searches for the optimal solution of an objective function under predetermined constraints by using a computer equipped with an arithmetic unit and a memory unit, and an Ising machine that performs optimization by annealing, To the aforementioned computer, The calculation unit performs a process of approximating the black-box function, which is composed of a weighted linear combination of the objective function and the constraints, into a substitute function in QUBO form and outputting it, The calculation unit inputs the substitute function to the Ising machine to obtain search points that correspond to the values of the decision variables of the objective function and optimize the substitute function, The calculation unit performs a process to obtain evaluation values that indicate the values of the objective function and the constraint conditions when numerical data corresponding to the search point is taken as input, The calculation unit performs a process of updating the proxy function based on a combination of the numerical data and the evaluation value corresponding to the numerical data, The calculation unit performs the process of updating the proxy function, obtaining the search point, and obtaining the evaluation value multiple times. Prior to updating the proxy function, the calculation unit performs the following processes based on the evaluation value: modifying the weights corresponding to the objective function and modifying the weights corresponding to the constraints, respectively. An optimization program characterized by the following features.
11. The system stores the optimization program described in claim 10. A computer-readable storage medium characterized by the following features.
Citation Information
Patent Citations
Combinatorial optimization device, combinatorial optimization method and program
JP2023132590A