Optimization method, optimization apparatus, optimization program, and computer-readable storage medium storing the optimization program.
By using multiple surrogate models with varying generalization performance to approximate the black-box function, the method addresses the issue of local convergence in quantum annealing machines, enabling efficient and timely discovery of optimal solutions.
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 quantum annealing machines may converge to local minima due to inappropriate approximation of the objective function, limiting the search to a narrow region and potentially leading to overfitting, thus hindering the discovery of optimal solutions.
The method employs multiple surrogate models with different generalization performance, constructed through machine learning and analytical methods, to approximate the black-box function and utilize an Ising machine for optimization, allowing for a wider search of optimal solutions by combining surrogate models with varying interpolation and predictive abilities.
This approach enables the discovery of optimal solutions from a broader perspective, significantly reducing computational resources and processing time while avoiding local minima, thus enhancing the efficiency of the optimization process.
Smart Images

Figure 2026066819000001_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 quantum annealing machine described in Patent Document 1 is input with an approximate formula for the objective function. This approximate formula is expressed as a quadratic polynomial corresponding to the objective function, in the so-called QUBO form. Furthermore, such an approximate formula is repeatedly updated as the objective function is optimized, based on machine learning using the output results from the quantum annealing machine.
[0007] However, the inventors of this application realized that, depending on the method used to approximate the objective function, the approximation formula may not be updated appropriately. In that case, when searching for the optimal solution, the search may be limited to a local region, or it may converge to an unintended local minimum due to overfitting or other reasons.
[0008] This disclosure is made in view of the above points, and its purpose is to find the optimal solution from a wider range of perspectives during the optimization process. [Means for solving the problem]
[0009] A first aspect of this disclosure relates to an optimization method for searching for the optimal solution of an objective function by using a computer having an arithmetic unit and a memory unit, and an Ising machine that performs optimization by annealing.
[0010] According to the first embodiment, the optimization method involves the calculation unit approximating a black-box function, which includes the objective function, as a substitute function in QUBO form and outputting it; the calculation unit constructing a plurality of substitute models, each of which the black-box function is modeled and which have different generalization performance; the calculation unit inputting the plurality of substitute models as substitute functions into the Ising machine to obtain search points for each substitute model that correspond to the values of the decision variables of the objective function and optimize the substitute function; the calculation unit obtaining evaluation values that indicate the value of the objective function 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 the search points, and the acquisition of the evaluation values multiple times; and the calculation unit using the plurality of search points obtained for each substitute model as the numerical data when obtaining the evaluation values.
[0011] 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, Riidge regression, and kernel regression.
[0012] According to the first embodiment described above, the computing 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.
[0013] Furthermore, according to a second aspect of this disclosure, the plurality of surrogate models may include a first surrogate model in which the black box function is modeled, a second surrogate model in which the black box function is modeled and has different generalization performance than the first surrogate model, and an ensemble model constructed by applying statistical processing to two or more surrogate models including the first surrogate model and the second surrogate model.
[0014] According to the second embodiment, the calculation unit further uses an ensemble model constructed by applying statistical processing to multiple proxy models, including at least the first proxy model and the second proxy model, to perform processes related to the search for the optimal solution, such as obtaining evaluation values. This makes it possible to find the optimal solution from an even wider range of perspectives.
[0015] Furthermore, ensemble models like the second embodiment described above can be constructed in a shorter time compared to first-principal and second-principal models. This significantly reduces the time required to approximate the black-box function, which is even more advantageous from the standpoint of computational resources, such as shortening the overall system processing time.
[0016] Furthermore, according to a third aspect of this disclosure, the multiple agent models may be constructed in different QUBO formats.
[0017] By configuring the system as described in the third embodiment, the multiple surrogate models will have different functional forms. This makes it possible to construct multiple surrogate models, each with different generalization performance, more reliably.
[0018] Furthermore, according to a fourth aspect of this disclosure, each of the multiple surrogate models may be constructed by machine learning, and each of the multiple surrogate models may differ from one or more of the following: the learning rate, the number of training iterations, the hyperparameters representing the dimensions of the latent variables, and the breakdown of the sample data constituting the training data.
[0019] By configuring the system as described in the fourth embodiment, the trained surrogate models will have different sets of functions. This makes it possible to easily and reliably construct multiple surrogate models, each with different generalization performance.
[0020] Furthermore, according to a fourth aspect of this disclosure, the training data for machine learning each of the plurality of surrogate models includes a combination of the values of the decision variable and the evaluation value, the calculation unit adds the combination of the values of each statistical index and the evaluation value to the training data, and when updating the surrogate function, the calculation unit individually approximates the plurality of surrogate models based on the training data to which the combination of the ensemble index values and the evaluation value has been added.
[0021] According to the fifth embodiment described above, the training data can be efficiently updated by using combinations corresponding to each of the multiple search points. This has a beneficial effect from the standpoint of computational resources, such as shortening the overall processing time of the system.
[0022] Furthermore, according to a sixth aspect of this disclosure, the optimal solution may be searched under predetermined constraints, the black box function may be composed of a weighted linear combination of the objective function and the constraints, and the calculation unit may, prior to updating the proxy function, separately perform a change in the weights corresponding to the objective function and a change in the weights corresponding to the constraints based on the evaluation value.
[0023] According to the sixth embodiment, the calculation unit, during the iteration of updating the proxy function, acquiring the search points, and acquiring the evaluation value, individually modifies the weights corresponding to the objective function and 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.
[0024] 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.
[0025] Furthermore, the sixth embodiment is also advantageous from the standpoint of computing resources, such as shortening the processing time by computer.
[0026] Furthermore, a seventh aspect of this disclosure relates to an optimization device that searches for the optimal solution of an objective function by using an Ising machine, which is configured with a computer comprising an arithmetic unit and a storage unit and performs optimization by annealing.
[0027] According to the seventh aspect, the optimization apparatus includes: an approximation means that outputs a black box function comprising the objective function as an approximated substitute function in QUBO form, and constructs a plurality of substitute models, each of which the black box function is modeled and which have different generalization performance; a search means that inputs the plurality of substitute models as substitute functions to the Ising machine, thereby acquiring search points corresponding to the values of the decision variables of the objective function and which optimize the substitute function, for each of the substitute models; an evaluation means that acquires an evaluation value indicating the value of the objective function when numerical data corresponding to the search points is input; an iteration means that causes the approximation means to update the substitute function based on a combination of the numerical data and the evaluation value corresponding to the numerical data, and causes 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 value multiple times, wherein the evaluation means uses the plurality of search points acquired for each of the substitute models as the numerical data when acquiring the evaluation value.
[0028] Furthermore, an eighth aspect of this disclosure relates to an optimization program that searches for the optimal solution of an objective function by using a computer equipped with an arithmetic unit and a storage unit, and an Ising machine that performs optimization by annealing.
[0029] According to the eighth aspect, the optimization program provides the computer with the following processes: the calculation unit outputs a black box function, which includes the objective function, as a substitute function in QUBO form; the calculation unit constructs a plurality of substitute models, each of which the black box function is modeled and which have different generalization performance; and the calculation unit inputs the plurality of substitute models as substitute functions to the Ising machine, thereby determining search points that correspond to the values of the decision variables of the objective function and optimize the substitute function. The system is configured to perform the following steps: a process for acquiring data for each model; a process for the calculation unit to acquire an evaluation value indicating the value of the objective function when numerical data corresponding to the search points is input; a process for the calculation unit to update the surrogate function based on a combination of the numerical data and the evaluation value corresponding to the numerical data; a process for the calculation unit to repeatedly perform the update of the surrogate function, the acquisition of the search points, and the acquisition of the evaluation value multiple times; and a process for the calculation unit to use the multiple search points acquired for each surrogate model as the numerical data when acquiring the evaluation value.
[0030] Furthermore, a ninth aspect of this disclosure relates to a computer-readable storage medium that stores the optimization program. [Effects of the Invention]
[0031] As explained above, this disclosure allows for the discovery of optimal solutions from a wider range of perspectives during the optimization process. [Brief explanation of the drawing]
[0032] [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]
[0033] The embodiments of this disclosure will be described below with reference to the drawings. Note that the following description is illustrative.
[0034] <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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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."
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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).
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] <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.
[0056] 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).
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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).
[0061] 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.
[0062] 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.
[0063] 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".
[0064] 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 “(x)” (i = 1, 2, …, M). Hereinafter, “g i (x)” may be omitted and described as “f i ” or “g”.
[0065] In addition, for the optimization problem according to this 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 this embodiment is configured to perform black box optimization.
[0066] Note that the term “black box function” used here is used in a broad sense. The term “black box function” in this book includes general 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.
[0067] As in the examples described later, for the optimization problem according to this embodiment, at least a part of the constraint conditions is a black box function. Note that for the optimization problem, the objective function may be a black box function instead of the constraint conditions, or both the constraint condition f and the objective function g may be black box functions.
[0068] The annealing machine 101 contributes to the search (solution finding) of the optimal solution in various optimization problems. However, generally, in order to solve the problem by the annealing 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 the decision variable x is used, the optimal solution x * will be represented by the following QUBO.
[0069]
Equation
[0070] In equation (1) above, h and J are real-valued parameters.
[0071] 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.
[0072] 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.
[0073] 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.
[0074]
number
[0075] 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.
[0076]
number
[0077] 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.
[0078]
number
[0079] 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.
[0080] 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."
[0081] 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.
[0082] The following describes in detail each step that constitutes the optimization method.
[0083] <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.
[0084] 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).
[0085] Furthermore, the approximation process according to this embodiment is configured such that the CPU3 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).
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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).
[0090] 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:
[0091] 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.
[0092] 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 For the first surrogate model M, one or more surrogate models M with different generalization performance may be generated. 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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:
[0098] 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 "."
[0099] 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.
[0100] 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.
[0101] 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.
[0102] 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).
[0103]
number
[0104] 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.
[0105] 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.
[0106]
number
[0107] By rearranging equation (5) based on equation (6), equation (5) can be reduced to equation (7) below.
[0108]
number
[0109] 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.
[0110] 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 Model it as follows.
[0111] 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.
[0112] 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.
[0113] 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 into QUBO form.
[0114] In step S14, following step S13, the CPU3 uses the first approximation formula M that was approximated in step S13. A1 and the second approximation formula M A2 The black box function E is obtained by a weighted linear combination with the first surrogate model M, where c is the surrogate function. A It approximates and outputs the result.
[0115] Specifically, CPU3 uses the first approximation formula M to determine α appearing in equation (2) above. A1 The term obtained by multiplying by the second approximation formula M is obtained by multiplying by the second approximation formula M, and the β that appears in the same formula. A2 The term obtained by multiplying by and are added together. CPU3 considers the function constructed by this addition as an approximation of the first-pronged model M1.
[0116] CPU3 transforms the summation result into the form of equation (7), and the values of the components w0, w, and J that appear in the transformed result are used to form the first surrogate model M as a surrogate function c. A Numerical data showing (First model data 35) A ) are stored in the memory unit 7, either temporarily or continuously.
[0117] In the following step S15, CPU3 is the second generation Model M B The second parameter 33 for machine learning B Load the second parameter 33. B The first parameter is 33 A Similarly, it includes the learning rate lr, the number of training iterations Iter, and a hyperparameter k that represents the dimension of the latent variable.
[0118] In this embodiment, the first surrogate model M A and the second-generation model M B This occurs when one or more of the following differ from each other: the learning rate lr, the number of training iterations Iter, the hyperparameter k, and the breakdown of the sample data that make up the training data 31.
[0119] In the specific example described later, the hyperparameter k and the breakdown of the sample data constituting the training data 31 are as follows: First-generation model MA and the second surrogate model M B are common. On the other hand, for the learning rate lr and the number of learning iterations Iter, the first surrogate model M A and the second surrogate model M B are set to be different. This setting can be realized by making the first parameter 33 A and the second parameter 33 B different from each other.
[0120] By properly using the first parameter 33 A and the second parameter 33 B , the generalization performance of the first surrogate model M A based on the first parameter 33 A and the second surrogate model M B based on the second parameter 33 B can be made different.
[0121] Note that instead of making the learning rate lr, the number of learning iterations Iter, etc. different, or in addition to making them different, the breakdown of the sample data can be made different between the first surrogate model M A and the second surrogate model M B . In addition, any method can be used as long as the plurality of surrogate models M are constructed in different QUBO formats.
[0122] In the subsequent steps S16 and S17, the CPU 3 machine-learns the second surrogate model M2 as the surrogate function c. This machine learning is executed based on the second parameter 33 B read in step S15.
[0123] Specifically, in step S16, the CPU 3 approximates the objective function f to the first approximation M B in which the objective function f is modeled, and approximates the constraint condition g to the second approximation M B1 in which the constraint condition g is modeled, in order to construct the second surrogate model M B2 .
[0124] The details of step S16 are the first parameter 33 A Based on the machine learning based on the second parameter 33 B Except that machine learning based on the second parameter 33 is performed, it is the same as the above step S13.
[0125] In step S17 following step S16, the CPU 3 approximates the black box function E as the surrogate function c by the weighted linear sum of the first approximation formula M B1 and the second approximation formula M B2 and outputs the approximation result as the second surrogate model M B of the surrogate function c.
[0126] Specifically, the CPU 3 multiplies the term in which α appears in the formula (2) by the first approximation formula M B1 and adds the term in which β appears in the same formula multiplied 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 .
[0127] 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 as numerical data (second model data 35 B ) indicating the second surrogate model M B in the storage unit 7 temporarily or continuously.
[0128] 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 (first model data 35 A ) stored in the storage unit 7 in step S14 and the numerical data (second model data 35 B ) stored in the storage unit 7 in step S17.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] (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.
[0133] 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).
[0134] 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).
[0135] In the following step S22, the CPU3 outputs the first search point x from the Ising machine 101. A * It receives the value.
[0136] In the following step S23, CPU3 sends the second generation Model M to Ising machine 101. B Second model data 35 showing B Enter the following. The Ising machine 101 will process the entered second model data 35 B Based on this, search point x * As the second generation Model M B The second search point x that minimizes or maximizes B * Search for and output (step S102).
[0137] In the following step S24, the CPU3 outputs the second search point x from the Ising machine 101. B * It receives the value.
[0138] In the following step S25, CPU3 sends the Ising machine 101 to the ensemble model M C Ensemble model data 35 showing C Enter the following. The Ising machine 101 receives the input ensemble model data 35 C Based on this, search point x * As such, Ensemble Model M C The third search point x that minimizes or maximizes C * Search for and output (step S103).
[0139] In the following step S26, the CPU3 outputs the third search point x from the Ising machine 101. C * It receives the value.
[0140] CPU3 uses multiple search points x obtained for each proxy 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.
[0141] 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.
[0142] 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.
[0143] (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.
[0144] 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.
[0145] 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).
[0146] Here, in the evaluation process according to this embodiment, the CPU 3 uses the values of a plurality of search points x obtained separately for each surrogate model M as numerical data corresponding to the search points x * for obtaining the evaluation value y * is configured. * That is, in this evaluation process, the CPU 3 obtains the evaluation value y corresponding to the value of each search point x
[0147] and, as each evaluation value y * obtains the first evaluation value y * and the second evaluation value y * f and the second evaluation value y * g * is obtained. *
[0148] Specifically, in step S31, the CPU 3 inputs the search data 37 indicating the value of each search point x * to the evaluation machine 201. Based on the input search data 37, the evaluation machine 201 calculates and outputs, as the evaluation value y * the first evaluation value y f * corresponding to the objective function f and the second evaluation value y g * corresponding to the constraint condition g for each search point x * (step S201).
[0149] In the subsequent step S32, the CPU 3 receives the first evaluation value y f * and the second evaluation value y g * output from the evaluation machine 201.
[0150] In the subsequent step S33, the CPU 3 adds the combination (pair) of the value of the search point x * and the evaluation value y * corresponding to the value of that search point x * to the sample data constituting the teacher data 31. As a result, the teacher data 31 is updated. For a plurality of 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 storage unit 7 to store the updated training data 31.
[0151] For example, the CPU 3 * value of and the first evaluation value y f * By adding the combination with to the first training data 311, the first training data 311 is updated. The CPU 3 also * value of and the second evaluation value y g * By adding the combination with to the second training data 312, the second training data 312 is updated.
[0152] 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.
[0153] (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.
[0154] 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.
[0155] 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).
[0156] 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):
[0157] 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.
[0158] 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).
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] (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.
[0166] 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."
[0167] 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.
[0168] 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.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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.
[0173] 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σ".
[0174] 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.
[0175] 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.
[0176] 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.
[0177] 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".
[0178] 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".
[0179] 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.
[0180]
number
[0181] 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.
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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 g. 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.
[0186] 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".
[0187] 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.
[0188] 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.
[0189] 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.
[0190] 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".
[0191] 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".
[0192] 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.
[0193]
number
[0194] 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.
[0195] 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 and (sd 2j The larger the value of the second weighting coefficient β, the larger the value of the second weighting coefficient β.
[0196] 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 and (sd 2j Regardless of the above, set the value of the first term to zero.
[0197] 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 and (sd 2j The larger the value of the second weighting coefficient β, the larger the value of the second weighting coefficient β.
[0198] 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.
[0199] 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)
[0200] 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.
[0201] 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.
[0202] 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.
[0203] 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 .
[0204] (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.
[0205] 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.
[0206] 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.
[0207] 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.
[0208] 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 β.
[0209] 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.
[0210] <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.
[0211] 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.
[0212] 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).
[0213] 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.
[0214] 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:
[0215]
number
[0216] 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.
[0217] 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.
[0218]
number
[0219]
number
[0220] 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.
[0221] (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)
[0222] Case 1 is none other than the case described using Figures 3 to 10. Case 1 corresponds to the first embodiment in this model.
[0223] 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 processing 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.
[0224] Case 3 is simply the case in which all processes related to step S6 in Figure 3 (weight adjustment process) are skipped.
[0225] 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, similar to Case 3, skipping the entire weight adjustment process. Case 4 is a comparative example to Cases 1, 2, and 3.
[0226] 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.
[0227] 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.
[0228]
number
[0229] 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.
[0230] 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.
[0231] Here, the initial sample size was set to 100, and the same initial sample was used for each method.
[0232] 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.
[0233] 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.
[0234] 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.
[0235]
number
[0236] 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.
[0237] 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.
[0238] 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".
[0239] 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)".
[0240] 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)".
[0241] 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".
[0242] 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).
[0243] (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).
[0244] 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."
[0245] 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.
[0246] 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.
[0247] For details on the various parameters in each comparative example, please refer to Figure 12.
[0248] (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.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] <5. Significance of the Optimization Method> As described above, according to the embodiment, as explained with reference to Figures 5 and 6, the CPU 3 constructs multiple proxy models M with different generalization performance and inputs each proxy model M to 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.
[0253] 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.
[0254] 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.
[0255] 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.
[0256] Furthermore, as explained with reference to Figure 7, multiple search points x * 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.
[0257] Furthermore, as illustrated in step S6 of Figure 3, CPU3 updates the surrogate 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].
[0258] 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.
[0259] 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.
[0260] 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.
[0261] 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.
[0262] 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.
[0263] 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.
[0264] 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.
[0265] <6. Other Embodiments> Although the optimization method according to the above embodiment was configured to search for the optimal solution to a constrained optimization problem, the disclosure is not limited to such a configuration. The disclosure can also be applied to unconstrained optimization problems (e.g., multi-objective problems). That is, the black-box function E only needs to include at least an objective function f.
[0266] 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.
[0267] 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.
[0268] 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.
[0269] 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.
[0270] 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.
[0271] Furthermore, although the above embodiment exemplified a configuration that assumes a weight adjustment process (step S6), such a configuration is not essential. As shown in the modified example in Figure 14, the weight adjustment process may be omitted. Even if this is done, as in Case 3 described above, it is possible to obtain a Pareto front that is closer to optimization while significantly reducing the number of simulations performed by the evaluation machine 201 compared to the conventional configuration example (e.g., Case 4), and to obtain the optimal solution x from a wider range of perspectives. * This will contribute to the exploration of [the subject].
[0272] 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.
[0273] 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 .
[0274] 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 It is modeled and machine learning is performed. 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.
[0275] 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.
[0276] 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.
[0277] By doing this, each weight can be dynamically updated, similar to the process illustrated in Figure 5.
[0278] 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.
[0279] For example, the CPU3, acting as the processing unit, obtains multiple search points x for each proxy model M. * By applying statistical processing to it, the ensemble index x v * You may perform the following calculation. Statistical processing here includes, for example, the "arithmetic mean".
[0280] 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.
[0281] 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.
[0282] 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.
[0283] 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]
[0284] 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 Teacher Data 33 A First learning parameter 33 B Second learning 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 by 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 includes the objective function, to a QUBO-style substitute function and outputs it. 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 obtains an evaluation value indicating the value of the objective function when numerical data corresponding to the search point 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. 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:
2. In the optimization method described in claim 1, Multiple of the aforementioned proxy models are The aforementioned black-box function is modeled in the first surrogate model, The aforementioned black-box function is modeled, and a second surrogate model is provided which has different generalization performance from the first surrogate model. An ensemble model constructed by applying statistical processing to two or more surrogate models, including the first surrogate model and the second surrogate model, is configured to include: An optimization method characterized by the following:
3. In the optimization method described in claim 1, The aforementioned multiple proxy models are constructed in different QUBO formats. An optimization method characterized by the following:
4. In the optimization method described in claim 3, Each of the aforementioned multiple surrogate models was constructed using machine learning. The optimization method is characterized in that the aforementioned multiple surrogate models differ from each other in one or more of the following: learning rate, number of training iterations, hyperparameters representing the dimensions of the latent variables, and the breakdown of sample data constituting the training data.
5. In the optimization method described in any one of claims 1 to 3, The training data for approximating each of the aforementioned multiple surrogate models includes a combination of the values of the decision variable and the evaluation values. The calculation unit adds a combination of the values of the multiple search points obtained for each of the proxy models and the evaluation value corresponding to each of the values of the multiple search points to the training data. When updating the proxy function, the calculation unit individually approximates the multiple proxy models based on the training data to which the combination has been added. An optimization method characterized by the following:
6. In the optimization method described in claim 1, The aforementioned optimal solution is searched under predetermined constraints, The aforementioned black box function is constructed as a weighted linear combination of the objective function and the constraints, 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:
7. An optimization device that searches for the optimal solution of an objective function 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, Approximation means that approximates the black box function, which includes the aforementioned objective function, to a QUBO-form substitute function and outputs it, and constructs a plurality of substitute models, each of which the black box function is modeled and which have different generalization performance, as the substitute function, A search means for inputting multiple surrogate models as surrogate functions into 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. An evaluation means for obtaining an evaluation value that indicates the value of the objective function when numerical data corresponding to the search point 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 approximation means, the search means and the evaluation means are provided with an iterative means that repeatedly performs updating the proxy function, acquiring the search points and acquiring the evaluation value multiple times. The evaluation means, when acquiring the evaluation value, uses the plurality of search points acquired for each proxy model in the numerical data. An optimization device characterized by the following features.
8. An optimization program that searches for the optimal solution of an objective function 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 includes the objective function, as a substitute function in QUBO format and outputting it, The calculation unit performs a process of constructing multiple proxy models, each of which the black box function is modeled and which have different generalization performance characteristics, as proxy functions. The calculation unit inputs a plurality of the proxy models as proxy functions to the Ising machine, thereby obtaining search points corresponding to the values of the decision variables of the objective function and optimizing the proxy functions, for each proxy model. The calculation unit performs a process to obtain an evaluation value indicating the value of the objective function 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. The calculation unit performs the following process when obtaining the evaluation value: using the plurality of search points obtained for each proxy model in the numerical data. An optimization program characterized by the following features.
9. The system stores the optimization program described in claim 8. A computer-readable storage medium characterized by the following features.
Citation Information
Patent Citations
Combinatorial optimization device, combinatorial optimization method and program
JP2023132590A