Optimization apparatus, method, and program

The system addresses the challenge of optimizing time-varying black-box functions by employing parallel FMs and Ising machines with a weighted majority vote, achieving efficient and resilient solutions.

JP2026113311APending Publication Date: 2026-07-07KDDI CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KDDI CORP
Filing Date
2024-12-25
Publication Date
2026-07-07

Smart Images

  • Figure 2026113311000001_ABST
    Figure 2026113311000001_ABST
Patent Text Reader

Abstract

This invention provides an optimization device that can appropriately address optimization problems involving objective functions that act as black boxes with time-varying behavior. [Solution] An optimization device that finds an approximate input as the optimal solution for a black box that returns an output for an input in a time series, comprising: first processes 5-i and 6 which obtain a model of a function representing the input-output relationship of the black box from the input and output history of the black box by learning a factorization machine; and second process 9-i which receives a candidate for the optimal solution as a result of running an Ising machine with the model; the first and second processes are performed for each of the multiple fragments of the history, and a third process 14 is performed which obtains an approximate result of the optimal solution by integrating the candidate for the optimal solution obtained in the second process for each of the multiple fragments.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to an optimization apparatus, method, and program. [Background technology]

[0002] An optimization problem is defined as finding the value of x that maximizes or minimizes a function f(x) given an input variable x. The function f(x) is called the objective function.

[0003] The objective function is a function that calculates the evaluation value of the optimization for an input variable x. If the internal structure and some or all of the specific calculation process of the objective function are known, it is possible to apply analytical optimization methods that utilize that knowledge. However, when the objective function is a black box, that is, when the output f(x) for a given input x is known, but the specific calculation process and internal structure are unknown, it is generally difficult to optimize the objective function.

[0004] In optimization problems, a problem in which the objective function f(x) is a black box, and the problem of optimizing the input x that achieves the minimum or maximum value of f(x) without using information such as gradient or convexity of f(x), is called a black-box optimization problem. Furthermore, optimization problems where the input variable x is discrete are called combinatorial optimization problems.

[0005] Non-patent document 1 proposes Factorization Machine Quantum Annealing (FMQA, hereafter abbreviated as appropriate) as a black-box optimization method for combinatorial optimization problems when the input variables are binary variables. FMQA is a method that combines a machine learning model called a Factorization Machine (hereafter abbreviated as FM, hereafter abbreviated as appropriate) with quantum annealing. By repeatedly approximating the objective function using machine learning and optimizing it using quantum annealing, it simultaneously searches for a solution that approximates the black-box objective function with a quadratic polynomial and achieves its minimum value.

[0006] Non-Patent Document 2 proposes Factorization Machine Annealing (hereinafter abbreviated as FMA), which extends the FMQA of Non-Patent Document 1 by expanding the input variables from binary to integer variables using encoding (for example, one-hot encoding as described later), and by not limiting the annealing to quantum annealing.

[0007] Figure 1 is a diagram of the configuration of the FMA system 400 that implements the FMA processing related to the conventional technology. As shown in the figure, the FMA system 400 is implemented with three devices: a computer 100, a black box 200, and an Ising machine 300. Hereafter, the black box will be abbreviated as BB and the Ising machine as IM.

[0008] Computer 100 has reference numerals 101 to 106, black box 200 has reference numerals 201 and 202, and Ising machine 300 has reference numerals 301 and 302, and each has the element configuration shown in Figure 1. The FMA process will be explained below with appropriate reference to the element configurations in Figure 1.

[0009] FMA can be summarized as follows:

[0010] The Ising Machine 300 is a quantum or classical computer specifically designed to approximately solve combinatorial optimization problems. To utilize it, FMA first formulates the combinatorial optimization problem in the form of quadratic unconstrained binary optimization (QUBO). Then, by applying annealing algorithms such as quantum annealing and simulated annealing on the Ising Machine 300, a solution close to the minimum value of the optimization problem can be obtained. Annealing algorithms are algorithms derived from simulated annealing in physics and are one of the methods for searching for solutions to optimization problems. Starting from the initial state, the goal is to approach the optimal solution by minimizing the total energy while gradually lowering the temperature. Quantum annealing and simulated annealing are technologies that reproduce this idea on quantum computers and classical computers, respectively, and are algorithms that search for an approximate optimal solution by introducing the principles of quantum mechanics and the concept of temperature.

[0011] Black Box 200 can be implemented as a simulator or experimental device, and operates as an unknown black box objective function f(x). Computer 100 is a classical computer that gives specific processing instructions to Black Box 200 and Ising Machine 300, and controls the overall operation of FMA by obtaining the processing results.

[0012] Based on the above outline, the detailed flowchart of the FMA, with each device 100, 200, and 300 within the system 400, is shown in Figure 2, and each step is as follows.

[0013] <Step S101> The random number generation unit 101 in the computer 100 generates N random sample data {x1, x2, …, x N This generates}. However, here each x i(1≦i≦N) represents a D-dimensional variable, where each dimension is a binary variable that can take values ​​of either 0 or 1. Even if the variables in each dimension are not binary variables, it is possible to convert them to binary variables using an encoding method. One such encoding method, one-hot encoding, represents each category as a different vector (one-hot vector) where each category has a 1 at a different position and all other positions are 0. For example, when one-hot encoding the three categories "red," "blue," and "green," "red" can be converted to the one-hot vector [1, 0, 0], "blue" to [0, 1, 0], and "green" to [0, 0, 1].

[0014] <Step S102> The sample data generated as random numbers in step S101 above is input to the input unit 201 of BB200, and the BB execution unit 202, which operates as a black-box objective function f(x), processes the N inputs {x1, x2, …, x N N outputs {f(x1), f(x2), …, f(x N )} is obtained. Each data set obtained by BB execution unit 202 {f(x1), f(x2), …, f(x N )} is stored in the data storage unit 102 within the computer 100.

[0015] <Step S103> In order to approximate f(x) with a machine learning model FM represented by a quadratic polynomial, all data sets stored in the data storage unit 102 within the computer 100 are input to the input unit 104 of the FM execution unit 103, and the learning unit 105 uses this input to train the FM. Here, if the FM is able to sufficiently approximate the objective function f(x), it can be expected that the x that realizes the minimum value of the FM will also yield a value close to the minimum value of the objective variable f(x), which is a black box.

[0016] <Step S104> In order to find the x that achieves the minimum value of FM, first the parameters in the learned FM are input to the QUBO formula conversion unit 106 and converted into a QUBO formula. (At this time, constraint terms are added to the QUBO formula as appropriate depending on the encoding method to avoid obtaining a solution that violates the rules of the encoding method.) As is well known in this field, QUBO refers to "Quadratic Unconstrained Binary Optimization".

[0017] <Step S105> The model expressed in the QUBO formula is input to the input unit 301 of the Ising machine 300, and the solution unit 302 performs annealing according to the model to find candidate solutions x' that realize a value close to the minimum value of FM which approximates the objective function f(x).

[0018] <Step S106> The candidate for the minimum value x' is input to the input unit 201 of BB200, and the input x' is processed by the BB execution unit 202 to obtain the output f(x').

[0019] <Step S107> A new data set {x', f(x')} is added to the data storage unit 102 in the computer 100.

[0020] Step S108: Determine whether the FMA processing has been completed (e.g., whether the number of repetitions has reached a predetermined number). If it has been completed, proceed to step S109; otherwise, return to step S103. Repeat steps S103 to S107 based on the data stored in the data storage unit 102 of the computer 100, which has been updated.

[0021] <Step S109> Output the final result of the FMA processing and terminate the flow shown in Figure 2.

[0022] Let the number of times reaching step S108 be m (i.e., the number of repetitions of the flow in FIG. 2 is m), and let the candidate solution x' obtained in the m-th (m = 1, 2, 3,..., M) repetition of step S107 be x' = x' [m] If it is expressed as such and it is assumed that an end determination is obtained in step S108 at the m = M-th time, then the final output in this step S109 is x' obtained as a candidate solution in the last M-th time [M] .

[0023] Also, in the m-th (m ≥ 2) repetition, the x' obtained as a candidate solution up to the previous (m - 1)-th time [1] , x' [2] , …, x' [m-1] and the outputs f(x' [1] ), f(x' [2] ), …, f(x' [m-1] ) by its BB execution unit 202 are additionally stored in the data storage unit 102, and the processing after step S103 is executed as the m-th one. That is, when performing the processing after step S103 in the m-th (m ≥ 2) time, the data stored in the data storage unit 102 and to be processed is the following initial N data and the added m - 1 data. Initial N data {x1, f(x1)}, {x2, f(x2)},…, {x N , f(x N )} and Added m - 1 data {x' [1] , f(x' [1] )}, {x' [2] , f(x' [2] )},…, {x' [m-1] , f(x' [m-1] )}

[0024] In addition to FMQA and FMA as described above, as a related prior art, in Patent Document 1, for a plurality of time-series data groups, a method of extracting the best combination by parallel processing or high-speed processing of simple calculations applying neurocomputing is proposed. In the invention of this Patent Document 1, the design of an objective function based on domain knowledge is performed. [Prior art documents] [Patent Documents]

[0025] [Patent Document 1] Japanese Patent Application Publication No. 02-168350 [Non-patent literature]

[0026] [Non-Patent Document 1] K. Kitai, J. Guo, S. Ju, S. Tanaka, K. Tsuda, J. Shiomi, and R. Tamura, "Designing metamaterials with quantum annealing and factorization machines", Physical Review Research 2, 013319 (2020). [Non-Patent Document 2] Y.Seki, R.Tamura and S.Tanaka, "Black-Box Optimization for Integer-Variable Problems Using Ising Machines and Factorization Machines", arXiv:2209.01016 (2022). [Overview of the project] [Problems that the invention aims to solve]

[0027] The inventions described in Non-Patent Documents 1 and 2 have the problem that optimization is difficult when the objective function f(x) is a black box and f(x) itself changes over time (i.e., when the objective function is a function f(x,t) that depends not only on the input data x but also on time t). In other words, in the black box assumed in each invention, it is assumed that the output result f(x) for a specific input x is invariant at any time t. Therefore, FM learning does not work well in problem settings where the relationship between input and output differs over time for a function f(x,t).

[0028] Specifically, as mentioned earlier, with respect to Figure 2, there are N initial data points and m-1 additional data points. In FMA, optimization is advanced by alternately repeating FM learning and annealing using an Ising machine. With each iteration, a pair of the solution obtained by annealing and the corresponding value of the objective function is added as new training data. During FM learning, all past data (i.e., all m-1 additional data points and N initial data points up to the m-th iteration) are used for learning. As a result, data with input-output relationships different from the current objective function f(x,t) are included in the training data, making it difficult to approximate the objective function of FM.

[0029] Furthermore, while Patent Document 1 proposes a method for performing combinatorial optimization on time series data, it presupposes that the objective function can be explicitly designed using domain knowledge (claim 1(b) "the step of setting the objective function for the optimal combination of time series data"). As a specific embodiment of the invention, an example of its application to a portfolio selection problem in the financial and securities field is described. As shown in equations (6) and (7), the return and risk of a stock portfolio are formulated as investor preferences, and based on these, the objective function is designed as shown in equation (8). However, this formulation is just one example of a formulation in a portfolio selection problem and is not unique. It is necessary to design a different objective function for each problem, and the form of the designed objective function and its optimization results are influenced by whether or not there is domain knowledge about the optimization problem itself.

[0030] In other words, although the invention described in Patent Document 1 takes time evolution into consideration, it relies on domain knowledge and cannot handle black boxes. Therefore, similar to Non-Patent Documents 1 and 2, it could not adequately address the optimization problem of an objective function as a black box whose behavior changes over time.

[0031] In view of the problems of the prior art described above, the present invention aims to provide an optimization device, method, and program that can appropriately address the optimization problem of an objective function, which is a black box whose behavior changes over time. [Means for solving the problem]

[0032] To achieve the above objective, the present invention provides an optimization device that approximates the input as the optimal solution for a black box that returns an output in response to an input in a time series, characterized in that it performs a first process of obtaining a model of a function representing the input-output relationship of the black box from the input and output history of the black box by learning a factorization machine, and a second process of receiving a candidate for the optimal solution as a result of running an Ising machine on the model, and performs the first and second processes for each of the multiple fragments of the history, and performs a third process of obtaining an approximate result of the optimal solution by integrating the candidate for the optimal solution obtained in the second process for each of the multiple fragments. The present invention also provides a method and program corresponding to the device. [Effects of the Invention]

[0033] According to the present invention, it is possible to appropriately address the optimization problem of an objective function, which acts as a black box whose behavior changes over time. [Brief explanation of the drawing]

[0034] [Figure 1] This is a diagram illustrating the configuration of an FMA system that implements FMA processing using conventional technology. [Figure 2]This diagram shows a flowchart for implementing FMA processing using conventional technology. [Figure 3] This is a diagram illustrating the configuration of an optimization system according to one embodiment. [Figure 4] This diagram shows the part of the optimization system related to parallel processing as a functional block. [Figure 5] This is a flowchart illustrating the operation of an optimization system according to one embodiment. [Figure 6] This diagram schematically shows an example of a schedule to be set. [Figure 7] This figure shows a schematic example of FM-j processes executed in parallel at a given current time t, and the time range of the data referenced by each FM-j process. [Figure 8] This diagram shows the hardware configuration of a typical computer. [Modes for carrying out the invention]

[0035] Figure 3 is a configuration diagram of an optimization system 40 according to one embodiment, and also includes a configuration as a functional block diagram. The optimization system 40 comprises an optimization device 10, BB20, and IM30. This optimization system 40 is an improvement over the conventional FMA system 400 shown in Figures 1 and 2, and implements parallel processing so that it can appropriately solve the optimization problem even when the black box exhibits time-varying behavior.

[0036] The optimization device 10 is identical in hardware to the computer 100 in Figure 1 and can be constructed using a classical computer. It comprises an initial value generation unit 11, a data storage unit 12, an FM parallel execution unit 13, and a solution integration processing unit 14 as functional blocks. The initial value generation unit 11 generates the input used for the initial learning of the FM, the data storage unit 12 stores the learning data, the FM parallel execution unit 13 performs the learning of multiple FMs in parallel, and the solution integration processing unit 14 integrates the solutions of the annealing process obtained by parallel execution in the IM30, which will be described later.

[0037] BB20 can be configured as a black box with arbitrary content whose behavior may change over time. Specifically, the hardware and equipment can be similar to BB200 in Figure 1, consisting of experimental equipment, operational equipment providing some kind of service, or a simulator that simulates such equipment on a classical computer. (However, while the conventional BB200 was assumed to have behavior that does not change over time, BB20 in this embodiment differs in that its behavior may change over time. BB20's behavior may change over time in the long term, but appear stationary in the short term.)

[0038] BB20 comprises an input unit 21 and a BB execution unit 22 as functional blocks. The input unit 21 receives input, and the BB execution unit 22 acts as an objective function that executes a black box according to the input and outputs the result.

[0039] The IM30 can be configured as an Ising machine with the same hardware configuration as the IM300 shown in Figure 1, and may perform quantum annealing by being configured as a quantum computer, or simulated annealing by being configured as a classical computer. However, unlike the IM300, the IM30's operation is controlled to perform annealing in parallel, as will be explained below.

[0040] In the optimization system 40, the overall operation control is handled by the optimization device 10, which is composed of a classical computer, similar to conventional methods. The optimization device 10 obtains the results of BB20 and IM30 operating according to this control, and the optimization device 10 can obtain the final optimization solution.

[0041] Figure 4 is a diagram showing the part of the optimization system 40 in Figure 3 related to parallel processing as a functional block. As shown in Figure 4, the FM parallel execution unit 13 comprises an execution management unit 1, i-th FM execution units 5-i (i=1,2,…,K) as individual FM processing configurations for executing K (K≧2) FMs in parallel, and a QUBO formula conversion unit 6. Each i-th FM execution unit 5-i (i=1,2,…,K) has a common configuration as shown in the diagram, and includes an input unit 3-i (i=1,2,…,K) and a learning unit 4-i (i=1,2,…,K) with the same configuration as the FM execution unit 103 in Figure 1, and further includes a time storage unit 2-i (i=1,2,…,K) as a configuration that enables the execution management unit 1 to manage parallel processing.

[0042] The execution management unit 1 manages the parallel processing of K FMs by determining the learning data and execution of learning for each i-th FM execution unit 5-i (i=1,2,...,K). The time storage unit 2-i stores the start and end times of the learning for the i-th parallel process for this management. The input unit 3-i receives the i-th input from the parallel process, and the learning unit 4-i uses the i-th input to learn the i-th FM.

[0043] As shown in the diagram, IM30 is configured to perform parallel annealing by executing an Ising machine using the results of K parallelly learned FMs, and comprises K i-th i-IM units (i=1,2,…,K). Each i-th i-IM unit includes an input unit 7-i (i=1,2,…,K) that accepts input and a solution unit 8-i (i=1,2,…,K) that performs solution by annealing (quantum annealing or simulated annealing) according to the input.

[0044] Figure 5 is a flowchart of the operation of an optimization system 40 according to one embodiment. Below, we will explain the details of the processing content of each element of the optimization system 40 shown in Figures 3 and 4, while describing each step in Figure 5.

[0045] <Step S1> By accepting user input to the optimization device 10, the overall operation schedule of the optimization system 40 is set. For the purpose of explanation, let t be a variable representing time, and let t be the time interval at which the annealing parallel execution device IM30 performs the solution. step Let's assume that. step The size of the parameter needs to be determined in advance based on the settings of the problem to be solved and constraints such as the computation time described later, and can be set in step S1 by user input or the like. Also, the start time t of the optimization system 400's processing. start and end time t end Set the execution start time for each of the K i-FM execution units 5-i (1≦i≦K) and save it to the execution management unit 1. i start , end time i end These are then stored in the respective time storage units 2-i (1≦i≦K).

[0046] Here, the execution start time t i start and end time i end The method for determining this is the execution start time t1 of the first FM execution unit 5-1. start The system start time t start The execution completion time t is the K-th execution time of the K-FM execution unit 5-K, which is from this point onward. K end The decision will be made within the previous range. That is, the decision will be made within the following range: t start ≤t1 start ≤t K end

[0047] Furthermore, different start times t exist between each i-FM execution unit 5-i (1≦i≦K). i start and end time t i end By setting this and changing the training data at each time step, the parameter values ​​after training will be different for each FM model. That is, set it so that when i ≠ j, the following conditions apply. t i start≠t j start and t i end ≠t j end

[0048] At this point, it is expected that the model trained on the most recent data will approximate the objective function represented by the most recent simulator or experimental setup. Figure 6 schematically shows an example of a schedule set in this way in step S1. As shown in Figure 6, in step S1, the schedule may be further constrained to ensure that the i-FM execution unit 5-i (1≦i≦K) is executed in the i-th order. (Hereafter, for i and j, 1≦i≦K and 1≦j≦K.) i <jならば、t i start <t j start and t i end <t j end

[0049] In Figure 6, as a schematic example, parallel execution of FM processes is depicted as sparse, with a maximum of two FM processes overlapping and being executed in parallel (in steps S4 to S7 described later). However, in reality, the schedule may be set more closely so that a predetermined number or more FM processes are always executed in parallel.

[0050] <Step S2> The initial value generation unit 11 generates N sample data {x1, x2, …, x N Generate}. This generation can be done randomly using random numbers, or it can be generated from some rule as an initial value. However, here each x i (1≦i≦N) represents a D-dimensional variable, where each dimension is a binary variable that can take the value of either 0 or 1. Even if the variables in each dimension are not binary variables, it is possible to convert them to binary variables using encoding methods such as the one-hot encoding mentioned above.

[0051] <Step S3> Sample data generated in step S2 {x1, x2, …, x N The input {f(x1), f(x2), …, f(x)} is input to the input section 21 of BB20, which operates as a black box objective function, and the BB execution section 22 outputs N outputs {f(x1), f(x2), …, f(x N )} is obtained. The time t at this time is taken as the initial time t=0, and the triplicate data of each input, output, and time obtained by the BB execution unit 21 (data shown below in formula notation) is stored in the data storage unit 12. {(x1, f(x1), t=0), (x2, f(x2), t=0), … , (x N , f(x N ), t=0)}

[0052] <Step S4> In the FM parallel execution unit 13, the execution management unit 1 determines whether each of the K i-th FM execution units 5-i (1 ≤ i ≤ K) is a target for execution at the current time t. The number of i-th FM execution units 5-i that are targeted for execution is k, and each FM is ordered from earliest to latest as j-th FM execution unit 5-j (1 ≤ j ≤ k). (Note that, using the constraints in Figure 6 mentioned above, this ordering means that the i-th i-th FM execution unit 5-i is executed as the i-th execution unit.)

[0053] For explanatory purposes, the j-th ordered FM process will be referred to as FM-j.

[0054] The determination of whether the i-FM execution unit 5-i is the target of execution at the current time t is made based on the execution start time t in the time storage unit 2-i of the i-FM execution unit 5-i. i start If the current time is t or later, and t step Later time t+t step The execution end time t i end It can be determined that an action should be executed only if it was previously performed, and not otherwise. In other words, it can be determined that an action should be executed if the following is true: t i start≤t and t + t step ≤t i end Incidentally, the above determination is as follows: from the current time t to t step the subsequent time t + t step the interval [t, t + t step is determined by whether it is included in the operation schedule interval [t i start , t i end that is preset to be executed by the i-FM execution unit 5-i. [t, t + t step ⊂ [t i start , t i end

[0055] <Step S5> Extract the data used for the learning of each FM-j process (1 ≤ j ≤ k) to be executed from within the data storage unit 12, and input each data to the input unit 3-i corresponding to FM-j (here, i is a function of j).

[0056] Specifically, the data used by each FM-j process is the data added from the start time t i start (here, i is a function of j) to the current time t within the data storage unit 12. That is, use the data whose data timestamp t stamp satisfies the following. t i start ≤t stamp ≤t

[0057] Incidentally, if this data is less than N, the start time t i start ​(Here, i is a function of j) Data can be added from the data previously stored in the data storage unit 12 in order of proximity to the current time, until there are N data points. If there are more than N data points, all of them may be used, or only the N data points whose timestamps are closest to the current time may be used. Figure 7 shows a schematic example of FM-j processes executed in parallel at a current time t, and the time range of the data referenced by each FM-j process. In this example, at a current time t, three processes, FM-1, FM-2, and FM-3, are executed in parallel in order from oldest to newest, and each process is executed by referencing data within the following time ranges from the data stored in the data storage unit 12. (In the example in Figure 7, it is assumed that j in FM-j matches the i in the i-th FM execution unit 5-i, so j=i, and the order of the three start times is t1 start < t2 start < t3 start This assumes the following scenario. FM-1 processing includes the oldest side of the range [t1 start Refer to the data in [t]. FM-2 processing is an intermediate range between new and old [t2 start Refer to the data in [t]. FM-3 processing is performed on the newest side of the range [t3 start Refer to the data in [t].

[0058] In this embodiment, from the data stored as history in the data storage unit 12 with a timestamp, the three ranges shown in Figure 7 [t1 start ,t],[t2 start ,t],[t3 start As exemplified in [t], a data reference range is defined for each history fragment with a difference in the temporal reference range between old and new within the history, and FM processing is executed in parallel. Furthermore, the results of this parallel execution are shown in step S8 described later in Figure 7 as "t1 start < t2 start < t3 startIn one embodiment, a weighted majority vote is performed, giving more weight to the newer side, by using the start time of each FM process (and the start time of the data reference range) as a timestamp to distinguish between old and new.

[0059] <Step S6> The FM-j processing is trained in parallel, and the parameters of each FM-j process after training are converted into QUBO expressions by the QUBO expression conversion unit 6. As is well known, the QUBO expression is given in the form of the following function y(x), which approximates the black box objective function f(x) through training, and consists of the numerical value w0, the D-dimensional (=dimension D of input x) vector w, and D (=dimension D of input x) M-dimensional vectors v1, v2, ..., v D Using a matrix V that enumerates these elements, it is possible to convert them into a QUBO-type function y(x). (However, as is known in this field, it is necessary to add constraint terms as appropriate depending on the encoding method, but these are omitted below. For example, if one-hot encoding is performed and no constraint terms are set, a solution that is not a one-hot vector will be obtained, so constraint terms are used to avoid this.)

[0060]

number

[0061] <Step S7> As shown in Figure 4, the IM30, an annealing parallel execution device, is configured to contain K Ising machines, each i-IM unit (1 ≤ i ≤ K), with each unit responsible for the corresponding FM processing result among the K. (For example, the first IM unit is configured to perform annealing on a QUBO model obtained by transforming the learning result of the first FM execution unit 5-1.) The k QUBO expressions obtained in step S6 are input to the corresponding Ising machine input units 7-i, and the solution unit 8-i performs annealing-based solution solving in parallel to obtain k candidate solutions x'. j We obtain (1 ≤ j ≤ k).

[0062] <Step S8> k solution results x' obtained in step S7 j The values ​​(1≦j≦k) are input to the solution integration processing unit 14 and integrated into a single solution x'.

[0063] In one embodiment, a weighted majority vote can be used as a method for integrating the solutions. k solution results x' j Let x' be the element of each dimension L in a D-dimensional plane (1 ≤ j ≤ k). j L Let (1≦L≦D), and x' j The weight for α j (However, 0≦α) j ≤ 1, Σα j Let's assume that the values ​​are normalized so that they satisfy =1, i.e., the sum of the k weights is 1. Then, the weighted majority vote x' in each dimension L of the k solution results. L This is calculated according to equation (1) below. (Note that instead of using equation (1) with numerical processing, the same result as equation (1) can be obtained by performing a majority vote on each of the D dimensions, taking into account the weight of the more frequent 0 or 1, using a separate string processing method.)

[0064]

number

[0065] Here, the function u(z) in equation (1) is a unit step function that takes the value 0 when its argument z is less than 0, and 1 when it is 0 or greater. Note that the only argument in function u that is subject to addition by sigma Σ is the product α. j ·x' j L Only this applies, and the subtraction term "minus 1 / 2" is not subject to addition using sigma (Σ).

[0066] weight α j Since this parameter represents how much weight is given to the solution of each FM-j process that is executed, assigning a larger weight to FMs that start later, i.e., 0 < α1 < α2 < ... < α k-1 <αk By using constraints such as <1, it is expected that the objective function will become robust to the time evolution. For example, all α j When we assign equal weights of 1 / k to each, (1) corresponds to a simple majority vote. Also, α k When only j is set to 1 and all others to 0, it corresponds to using the result of the FM with the most recent start time among those being executed as the final result. (Here, since 1 ≤ j ≤ k, the coefficient α k This corresponds to the most recent FM processing.

[0067] <Step S9> Time t is set to step size t step The process proceeds, and the candidate minimum value x' obtained by integrating in step S8 is input to the input unit 21 of BB20 and output from the BB execution unit 22 to obtain f(x') as a black box output. The newly obtained data set {x', f(x'), t} is added to the data storage unit 12. (Note that the last t in the added data set {x', f(x'), t} constitutes a timestamp.) Note that the step width is t. step By matching the step width to the step width at which BB20 performs processing in real time, it is possible to assume that all inputs to BB20 from the current time t onward, when the flow in Figure 5 starts, are output in real time by the solution integration processing unit 14 at each time t. This embodiment is desirable in the context of performing real-time optimization of the black box BB20. On the other hand, the step width t step By setting the step width to be longer than the step width in which BB20 processes in real time, the step width t is used as the input to BB20. step The output of the decomposition and integration processing unit 14 may be used at each time interval, and at times within that interval, a separate predetermined default setting may be used as input to BB20.

[0068] <Step S10> Time t is the system shutdown time t endIf the above is true, proceed to step S11 to obtain the final result and terminate the system execution; otherwise, return to step S4 and repeat steps S4 to S9.

[0069] <Step S11> The optimization device 10 outputs the integrated solution x' from the most recent step S8 as the final result, and the flow shown in Figure 5 is completed.

[0070] As described above, the embodiments of the present invention can provide the following effects and advantages. (a) By preparing multiple FM and Ising machines and running them in parallel, and then performing weighted majority voting on the solution results obtained, combinatorial optimization can be performed with high accuracy even when the objective function is a black box and its input-output relationship changes over time. (b) By parallelizing the learning of the FM and the solving of the Ising machine, the execution time is reduced to approximately one-third of the number of each component compared to when they are executed in series. (c) By weighting the solution results from each Ising machine and integrating the solutions, a solution robust to the time evolution of the objective function can be obtained.

[0071] The following sections will explain various supplementary examples, alternative examples, and additional examples.

[0072] (1) According to embodiments of the present invention, it is possible to broaden the applications of quantum annealing to time-varying black-box optimization, and as will be explained below, it is also possible to use such optimization for setting up next-generation communications such as 5G and 6G, thereby contributing to Goal 9 of the United Nations Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation."

[0073] (2) Embodiments of the present invention can be used universally for optimizing any BB20 as a black box whose behavior changes over time. As an example of a BB20, it can be applied to the problem of optimizing the combination of communication base station parameters to improve wireless communication quality at regular time intervals. A base station transmits and receives radio waves to communicate with terminals, but the number and location of terminals to be communicated with, and the amount of resources each terminal requests, change over time. Therefore, the combination of base station parameters that achieves the best communication quality at each time point also changes over time, thus constituting a black box whose behavior changes over time.

[0074] When applying this system 40, for example, the input to system 40 may be a combination of communication base station parameters (if each element is not a binary variable, it may be converted to a binary variable by encoding), and BB20 may be configured to take the combination of communication base station parameters (if each element is not a binary variable, it may be converted to a binary variable by encoding) as input and output the communication quality at a given time.

[0075] (3) Figure 8 shows an example of the hardware configuration of a typical (classical) computer device 70. The parts of the optimization system 40 that can be implemented as a classical computer device, namely the optimization device 10, the Ising machine 30 when simulated annealing is performed instead of quantum annealing, and the classical computer device used in the black box 20 (which may be used in simulators, etc.), can be implemented as one or more computer devices 70 having such a configuration. Note that if these parts are implemented with two or more computer devices 70, the information necessary for processing may be sent and received via a network. The computer device 70 includes a CPU (Central Processing Unit) 71 that executes predetermined instructions, a GPU (Graphics Processing Unit) 72 as a dedicated processor that executes some or all of the instructions of the CPU 71 on behalf of or in cooperation with the CPU 71, RAM 73 as main memory that provides a work area to the CPU 71 (and GPU 72), ROM 74 as auxiliary memory, a communication interface 75, a display 76 that outputs a display, an input interface 77 that accepts user input via a mouse, keyboard, touch panel, etc., a speaker 78 that outputs sound, and a bus BS for exchanging data between these.

[0076] Each functional unit of the optimization device 10 can be realized by a CPU 71 and / or GPU 72 that reads and executes a predetermined program corresponding to the function of each unit from ROM 74. Both the CPU 71 and GPU 72 are types of arithmetic units (processors). When display-related processing is performed, the display 76 also operates in conjunction; when communication-related processing for data transmission and reception is performed, the communication interface 75 also operates in conjunction; and when audio output-related processing is performed, the speaker 78 also operates in conjunction. [Explanation of Symbols]

[0077] 40...Optimization system, 10...Optimization device, 20...Black box, 30...Ising machine 11...Initial value generation unit, 12...Data storage unit, 13...FM parallel execution unit, 14...Solution integration processing unit 21...Input unit, 22...BB execution unit 1...Execution Management Unit, 2-k...Time Storage Unit, 3-k...Input Unit, 4-k...Learning Unit, 5-k...k-FM Execution Unit, 6...QUBO-style Conversion Unit, 7-k...Input Unit, 8-k...Solution Unit, 9-k...k-IM Unit

Claims

1. An optimization device that finds an optimal input as an approximation for a black box that returns an output for a given input over time, The first process involves obtaining a model of a function representing the input-output relationship of the black box from the input and output history of the black box by training a factorization machine, A second process is performed in which the candidate for the optimal solution is received as a result of running the Ising machine in the aforementioned model, The first and second processes are performed for each of the multiple fragments of the history, An optimization apparatus characterized by performing a third process to obtain an approximate result of the optimal solution by integrating the candidate optimal solutions obtained in the second process for each of the multiple fragments.

2. The optimization apparatus according to claim 1, characterized in that, when integrating multiple candidates in the third process, candidates whose timestamp is closest to the current time are given more importance in the integration.

3. The optimization apparatus according to claim 1, characterized in that the operation of the Ising machine is performed by quantum annealing or by simulating quantum annealing on a classical computer.

4. The optimization apparatus according to claim 3, characterized in that the model is obtained as a QUBO formula in the first process.

5. The optimization apparatus according to claim 3, characterized in that the Ising machine is operated in parallel when the second process is performed for each of the multiple fragments of the history.

6. The optimization apparatus according to claim 1, characterized in that it repeatedly executes the first process, the second process and the third process while adding the input and output to the history, using the output from the black box which takes the approximate result obtained in the third process as input.

7. The optimization apparatus according to claim 6, characterized in that, after the repeated execution of the first, second, and third processes has started, only the approximate result obtained in the third process is used as input to the black box.

8. The optimization device according to claim 1, characterized in that each of the multiple fragments of the history is set between the current time and a plurality of different start times in the past.

9. An optimization method performed by a computer that approximates the optimal input for a black box that returns an output for a given input over time, The first step involves obtaining a model of a function representing the input-output relationship of the black box from the input and output history of the black box by training a factorization machine, The model comprises a second step of receiving candidate optimal solutions as a result of operating the Ising machine, The first and second procedures are performed for each of the multiple fragments of the history, An optimization method further comprising a third step of obtaining an approximate result of the optimal solution by integrating the candidate optimal solutions obtained in the second step for each of the multiple fragments.

10. An optimization device that finds an optimal input as an approximation for a black box that returns an output for a given input over time, The first process involves obtaining a model of a function representing the input-output relationship of the black box from the input and output history of the black box by training a factorization machine, A second process is performed in which the candidate for the optimal solution is received as a result of running the Ising machine in the aforementioned model, The first and second processes are performed for each of the multiple fragments of the history, An optimization program characterized by using a computer as an optimization device to perform a third process that obtains an approximate result of the optimal solution by integrating the candidate optimal solutions obtained in the second process for each of the multiple fragments.