Solving device and program
The solution-finding device efficiently solves Ising problems under linear equality constraints using an improved SB algorithm, reducing computational load and maintaining matrix sparsity, thus addressing the inefficiencies of existing transformation-based methods.
Patent Information
- Application Number
- JP2022023657
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2025-12-15
- Estimated Expiration
- 2042-02-18
AI Technical Summary
Existing methods for solving Ising problems under linear equality constraints require significant time and computational effort due to the need to transform equations, leading to high calculation loads.
A solution-finding device and program that utilizes an improved SB algorithm to simulate the time evolution of equations of motion, incorporating augmented Lagrangian methods, to efficiently solve Ising problems under linear equality constraints without transforming the equations, using an information processing device or electronic circuit with components like CPUs, GPUs, and FPGAs.
The solution enables quick and accurate resolution of Ising problems under linear equality constraints, reducing computational burden and maintaining the sparsity of matrices, thereby minimizing calculation and memory requirements.
Smart Images

Figure 0007785562000037 
Figure 0007785562000038 
Figure 0007785562000039
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to a solution-finding device and a program. [Background technology]
[0002] There is a demand for solving Ising problems under linear equality constraints. The augmented Lagrangian method is known as a method for solving such problems. The augmented Lagrangian method is a method for obtaining Ising problems under linear equality constraints by repeatedly calculating the solution to the problem of minimizing the augmented Lagrangian function while changing the Lagrangian multiplier (λ) and penalty multiplier (μ).
[0003] When solving the problem of minimizing the augmented Lagrangian function, it is sufficient to find a new Ising problem that is equal to a function obtained by adding a constant to the augmented Lagrangian function, and then solve this new Ising problem using an Ising machine. However, the process of finding a new Ising problem requires a lot of time and effort to transform the equation, and the amount of calculation is large. Therefore, it is necessary to efficiently solve the Ising problem under linear equality constraints without transforming the equation. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-145010 [Non-patent literature]
[0005] [Non-Patent Document 1] Hayato Goto, Kosuke Tatsumura, Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems”, Science Advances, Vol. 5, no. 4, eaav2372, 19 Apr. 2019 [Non-patent document 2] Hayato Goto, Kotaro Endo, Masaru Suzuki, Yoshisato Sakai, Taro Kanao, Yohei Hamakawa, Ryo Hidaka, Masaya Yamasaki, and Kosuke Tatsumura, “High-performance combinatorial optimization based on classical mechanics”, Science Advances 7, 6 (2021), eabe7953. Summary of the Invention [Problem to be solved by the invention]
[0006] The problem to be solved by the present invention is to efficiently solve the Ising problem under linear equality constraints. [Means for solving the problem]
[0007] A solution solving device according to an embodiment solves an Ising problem under linear equality constraints expressed by M linear equations (M is an integer equal to or greater than 1) using N Ising spins (N is an integer equal to or greater than 2) included in the Ising problem. The solution solving device includes an input unit, a multiplier update unit, an augmented Lagrangian solver, and an output unit. The input unit receives an objective function of the Ising problem and the M linear equations. The multiplier update unit repeats an update process to update M Lagrangian multipliers and M penalty multipliers included in the augmented Lagrangian function based on the objective function and the M linear equations. Each time the update process is performed, the augmented Lagrangian solver calculates a solution to a problem minimizing the augmented Lagrangian function including the updated M Lagrangian multipliers and the M penalty multipliers. The output unit repeats the update process until a preset termination condition is reached, and then outputs the solution to the problem minimizing the augmented Lagrangian function as a solution solved to the Ising problem under the linear equality constraints. The extended Lagrangian solver includes a variable updater and a solution outputter. The variable updater alternately updates the first variable and the second variable sequentially for each unit time from an initial time to an end time for each of N virtual particles associated with a first variable and a second variable. The solution outputter outputs a solution to a problem of minimizing the extended Lagrangian function based on the first variable of each of the N particles at the end time. The N particles correspond to the N Ising spins. In the update process for each unit time, the variable updater updates the first variable for each of the N particles based on the second variable, and updates the second variable for each of the N particles based on the first variable and a constraint term. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing the functional configuration of a solution-finding device according to this embodiment. [Figure 2] FIG. 2 is a flowchart showing the flow of processing by the solution-finding device. [Figure 3]FIG. 3 is a diagram showing the functional configuration of the extended Lagrangian solver. [Figure 4] FIG. 4 is a flowchart showing a first example of the processing flow of the variable update unit. [Figure 5] FIG. 5 is a flowchart showing a second example of the processing flow of the variable update unit. [Figure 6] FIG. 6 is a diagram showing the hardware configuration of the solution-finding device. DETAILED DESCRIPTION OF THE INVENTION
[0009] A solution solving device 10 according to an embodiment will be described below with reference to the drawings. The solution solving device 10 according to this embodiment uses the augmented Lagrangian method to solve an Ising problem under linear equality constraints.
[0010] (Ising problem) The N-size Ising problem is a problem of calculating the spin configuration that minimizes the Ising energy for an Ising model containing N Ising spins (N is an integer equal to or greater than 2). In other words, the N-size Ising problem is a problem of minimizing an objective function expressed as a quadratic function of the N Ising spins. Specifically, the Ising problem is expressed as in equation (1).
number
[0011] s i and s j represents the Ising spin, a binary variable that can be either -1 or 1. i represents the ith Ising spin (i is an integer between 1 and N) among the N Ising spins. j represents the j-th Ising spin (j is an arbitrary integer between 1 and N) among the N Ising spins.
[0012] J i,jis a coupling coefficient multiplied by the quadratic term including the ith Ising spin and the jth Ising spin in the objective function. J represents a matrix including N × N coupling coefficients, and is called an interaction matrix. J is a matrix with J in the i-th row and j-th column. i,j will be placed.
[0013] h i is the external magnetic field coefficient multiplied by the linear term containing the i-th Ising spin in the objective function. i represents a vector containing N external magnetic field coefficients, and is called the external magnetic field vector.
[0014] A device used to solve the Ising problem is called an Ising machine. An Ising machine receives J and h as the problem to be solved and searches for a spin configuration with lower Ising energy. The Ising machine outputs a spin configuration representing the values of the N Ising spins obtained through the search as a solution. The spin configuration with the minimum Ising energy is called an exact solution. An Ising machine may also output a spin configuration that is not an exact solution but has a spin energy close to the minimum.
[0015] A 0-1 combinatorial optimization problem whose objective function is a quadratic function of binary variables in bit format that take on the value of either 0 or 1 is called a 0-1 quadratic programming problem. Binary variables in bit format can be converted into an Ising spin by using the operation (1 + s) / 2. In other words, a 0-1 quadratic programming problem can be said to be equivalent to the Ising problem expressed by equation (1). Therefore, a 0-1 quadratic programming problem can be converted into an Ising problem, and a solution can be calculated using an Ising machine.
[0016] (SB algorithm) Patent Document 1, Non-Patent Document 1, and Non-Patent Document 2 describe a simulated bifurcation algorithm (SB algorithm), which is one of the algorithms for solving the Ising problem.
[0017] The SB algorithm solves the Ising problem by simulating the time evolution of a Hamiltonian in which N virtual particles are separated into two positions over time. In particular, the SB algorithm simulates the time evolution of N particles using an equation of motion in which the calculation of the interaction matrix is included only in the equation for calculating momentum, but not in the equation for calculating position. For this reason, the SB algorithm can simulate the time evolution of the Hamiltonian using a discrete solution method such as the symplectic Euler method. Therefore, the SB algorithm can obtain a solution quickly with low computational cost.
[0018] The N particles correspond to the N Ising spins in the Ising problem. The SB algorithm uses N variables x corresponding to the N particles. i and N variables y i We use N variables x i Each of the N variables y represents the position of the i-th particle among the N particles. i Each of the variables x represents the momentum of the i-th particle. i the first variable, the variable y i is also called the second variable.
[0019] The SB algorithm uses the equations of motion expressed by equations (2-1) and (2-2).
number
[0020] t is a variable representing time. D is a predetermined constant and corresponds to detuning. p corresponds to pumping amplitude and is a value that monotonically increases according to the number of updates when calculating the SB algorithm. The initial value of p may be set to 0. K is a predetermined constant and corresponds to a positive Kerr coefficient. Note that K may be 0. c is a predetermined value. a may be a predetermined value or a value that changes according to the number of updates when calculating the SB algorithm.
[0021] H SBM represents the Hamiltonian and is expressed by equation (3).
number
[0022] The SB algorithm simulates the time evolution of the equations of motion shown in Equations (2-1) and (2-2) using a discrete solution method, such as the Symplectic Euler method. In this case, the SB algorithm alternates between the calculations of Equations (4-1) and (4-2).
number
[0023] Then, the SB algorithm calculates the N variables x when a predetermined number of iterations is reached. i Each of the values is binarized to -1 or 1 using a predetermined threshold (for example, 0), and the binarized result is output as the solution to the Ising problem.
[0024] There are several variations of the SB algorithm. For example, Non-Patent Document 2 describes the ballistic SB (bSB) algorithm and the discrete SB (dSB) algorithm. In both the ballistic SB algorithm and the discrete SB algorithm, x is calculated by increasing t by Δt. i and y i The ballistic SB algorithm simulates the time evolution of the equation of motion by repeating x i For each update of x i If is less than -1, then x i Change to -1 and y i Change to 0 and x i If is greater than 1, then x i Change to 1 and y i is changed to 0. Also, the discrete SB algorithm iEach time x is updated, it is set to x depending on whether it is less than 0 or not. i The value of is changed to -1 or 1. In addition, the ballistic SB algorithm and the discrete SB algorithm are i 2 )x i The calculation of the part is different.
[0025] (Ising problem under linear equality constraints) The Ising problem under linear equality constraints is expressed as equations (5-1) and (5-2).
number
[0026] Equation (5-2) is a set of M linear equations (M is an integer greater than or equal to 1) that represent linear equality constraints. k represents the kth Ising spin (k is an integer between 1 and N) among the N Ising spins. A m,k is the k-th Ising spin s in the m-th linear equation (m is an integer between 1 and M) among M linear equations. k represents the linear coefficient by which B is multiplied. m represents the constant term in the m-th linear equation among the M linear equations.
[0027] (An algorithm for solving the problem of minimizing the augmented Lagrangian function) The Ising problem under linear equality constraints can be solved using the augmented Lagrangian method, which is a method for obtaining a solution to an Ising problem under linear equality constraints by repeatedly calculating the solution to the problem of minimizing the augmented Lagrangian function while changing the Lagrangian multiplier (λ) and penalty multiplier (μ).
[0028] The problem of minimizing the augmented Lagrangian function based on the Ising problem under the constraints of M linear equations is expressed as in equation (6).
number
[0029] λ m represents the m-th Lagrange multiplier among the M Lagrange multipliers (λ) included in the extended Lagrange function. μ m represents the m-th penalty multiplier among the M penalty multipliers (μ) included in the augmented Lagrangian function.
[0030] The augmented Lagrangian function is a function obtained by adding the objective function of the Ising problem (the first and second terms in equation (6)), M Lagrangian terms (the third term in equation (6)), and M penalty terms (the fourth term in equation (6)). The m-th Lagrangian term among the M Lagrangian terms is calculated by multiplying the m-th Lagrangian multiplier (λ) by the value obtained by substituting the solution into the m-th equation on the left side of equation (5-2). m ) multiplied by the m-th penalty multiplier (μ m ) is multiplied by
[0031] The solution solving device 10 according to this embodiment calculates a solution to an Ising problem under linear equality constraints by the augmented Lagrangian method. More specifically, the solution solving device 10 according to this embodiment calculates a solution to a problem that minimizes the augmented Lagrangian function shown in equation (6) by m and μ m By repeatedly calculating while changing the value of , a solution to the Ising problem under linear equality constraints is obtained.
[0032] Here, the solution-finding device 10 according to this embodiment uses an improved SB algorithm as a solution-finding algorithm for obtaining a solution to the problem of minimizing the augmented Lagrangian function. Specifically, the solution-finding algorithm according to this embodiment simulates the time evolution of the equations of motion shown in Equations (7-1) and (7-2).
number
[0033] H represents the Hamiltonian and is expressed by equation (8).
number
[0034] The solution algorithm according to this embodiment uses the discrete solution of the Symplectic Euler method, similar to the SB algorithm, to simulate the time evolution of the equations of motion shown in Equations (7-1) and (7-2). In this case, the solution algorithm according to this embodiment alternately repeats the calculations of Equations (9-1) and (9-2).
number
[0035] Note that H in equation (8) represents the Hamiltonian obtained by adding the energy corresponding to M Lagrangian terms and M penalty terms in the extended Lagrangian function to the Hamiltonian in the SB algorithm. Therefore, the variable y i The formula for updating is the variable y in the SB algorithm. i This is an arithmetic expression that adds the constraint term of equation (10) to the change per unit time of
number
[0036] The algorithm for solving the augmented Lagrangian function is as follows: i Each value of is binarized to -1 or 1 using a predetermined threshold (for example, 0), and the binarized result is output as a solution to the problem of minimizing the augmented Lagrangian function.
[0037] The solution-finding algorithm in this embodiment may use other variations of the SB algorithm. For example, the solution-finding algorithm in this embodiment may use the ballistic SB algorithm or the discrete SB algorithm to calculate a solution to the problem of minimizing the augmented Lagrangian function. In this case, the solution-finding algorithm in this embodiment may use the variable y in the ballistic SB algorithm or the discrete SB algorithm. i The momentum of the i-th particle can be updated using an arithmetic expression that adds the constraint term of equation (10) to the change per unit time of
[0038] (Solution device 10) FIG. 1 is a diagram showing the functional configuration of a solution-finding device 10 according to this embodiment.
[0039] The solution solving device 10 according to this embodiment solves an Ising problem under linear equality constraints expressed by M linear equations. Each of the M linear equations uses N Ising spins included in the Ising problem.
[0040] The solution-finding device 10 is realized by an information processing device such as a computer, a computer system configured by multiple computers or servers communicating with each other via a network, a PC cluster in which multiple computers work together to execute information processing, etc. The solution-finding device 10 may also be realized by an electronic circuit such as a CPU, a microprocessor, a GPU, an FPGA, or an ASIC, or a circuit that is a combination of these.
[0041] The solution-finding device 10 includes, as its functional components, an input unit 22, a multiplier update unit 24, an augmented Lagrangian solver 26, and an output unit 28.
[0042] The input unit 22 receives an objective function of the Ising problem and M linear equations representing linear equality constraints. More specifically, the input unit 22 acquires N, which is the number of Ising spins, J, which is an interaction matrix, and h, which is an external magnetic field vector, as the objective function of the Ising problem. The input unit 22 also acquires M, which represents the number of linear equations, A, which is a matrix representing M×N linear coefficients in the M linear equations, and B, which is a vector representing M constant terms in the M linear equations, as the M linear equations.
[0043] The multiplier update unit 24 generates an augmented Lagrangian function based on the objective function of the Ising problem and M linear equations. The multiplier update unit 24 repeats an update process to update M Lagrangian multipliers (λ) and M penalty multipliers (μ) included in the augmented Lagrangian function. After each update process, the multiplier update unit 24 provides the augmented Lagrangian function including the updated M Lagrangian multipliers (λ) and M penalty multipliers (μ) to the augmented Lagrangian solver 26. Then, after each update process, the multiplier update unit 24 obtains a solution to the problem that minimizes the augmented Lagrangian function from the augmented Lagrangian solver 26.
[0044] In the first update process after receiving the objective function and the M linear equations, the multiplier update unit 24 sets each of the M Lagrangian multipliers (λ) and each of the M penalty multipliers (μ) to an initial value. Then, in the second or subsequent update process, the multiplier update unit 24 updates each of the M Lagrangian multipliers (λ) and each of the M penalty multipliers (μ) based on a solution to a problem of minimizing an augmented Lagrangian function including the M Lagrangian multipliers (λ) and the M penalty multipliers (μ) updated in the immediately preceding update process. For example, the multiplier update unit 24 calculates new M Lagrangian multipliers (λ) and new M penalty multipliers (μ) by substituting the solution obtained in the immediately preceding update process and the M Lagrangian multipliers (λ) and M penalty multipliers (μ) used in the immediately preceding update process into a predetermined arithmetic expression.
[0045] The extended Lagrangian solver 26 obtains an updated extended Lagrangian function each time the multiplier updater 24 performs an update process. The extended Lagrangian solver 26 calculates a solution to the problem that minimizes the obtained extended Lagrangian function each time the multiplier updater 24 performs an update process. The extended Lagrangian solver 26 calculates the solution using a solution algorithm that alternately repeats the calculations of the above-mentioned equations (9-1) and (9-2), for example. Then, the extended Lagrangian solver 26 provides the multiplier updater 24 with the solution to the problem that minimizes the calculated extended Lagrangian function.
[0046] The output unit 28 determines whether the update process has been repeated by the multiplier update unit 24 until a preset termination condition is met. The output unit 28 may determine that the termination condition has been met, for example, when a predetermined time has elapsed since the start of the process, or when a predetermined number of update processes have been performed since the start of the process. Alternatively, the output unit 28 may determine that the termination condition has been met, for example, when the amount of change between before and after the update in at least one of the M Lagrangian multipliers (λ) and the M penalty multipliers (μ) becomes equal to or less than a threshold.
[0047] The output unit 28 then outputs the solution to the problem of minimizing the augmented Lagrangian function after the update process is repeated until a preset termination condition is met, as a solution to the Ising problem solved under the linear equality constraint. Note that the output unit 28 may determine whether or not the solution to the problem of minimizing the augmented Lagrangian function after the update process is repeated until the termination condition is met satisfies the linear equality constraint, and output the solution if the linear equality constraint is satisfied.
[0048] 2 is a flowchart showing the flow of processing by the solution finding device 10. The solution finding device 10 executes processing according to the flow shown in FIG.
[0049] First, in S11, the solver 10 obtains the objective function (N, J, h) of the Ising problem. Then, in S12, the solver 10 receives M linear equations (M, A, B) representing linear equality constraints. Then, in S13, the solver 10 sets each of the M Lagrange multipliers (λ) and each of the M penalty multipliers (μ) to an initial value.
[0050] Next, in S14, the solver 10 calculates a solution to the problem of minimizing the augmented Lagrangian function including M Lagrangian multipliers (λ) and M penalty multipliers (μ) set to initial values. Next, in S15, the solver 10 updates each of the M Lagrangian multipliers (λ) and each of the M penalty multipliers (μ) based on the solution to the problem of minimizing the augmented Lagrangian function.
[0051] Subsequently, in S16, the solution solving device 10 determines whether a preset termination condition has been reached. If the termination condition has not been reached (No in S16), the solution solving device 10 returns the process to S14 and calculates a solution to the problem that minimizes the augmented Lagrangian function including the updated M Lagrangian multipliers (λ) and M penalty multipliers (μ).
[0052] If the termination condition is reached (Yes in S16), the solution finding device 10 proceeds to S17. In S17, the solution finding device 10 outputs the solution to the problem of minimizing the augmented Lagrangian function after repeating the update process until the preset termination condition is reached as a solution to the Ising problem solved under the linear equality constraint. The solution finding device 10 ends this flow when it completes the process up to S17.
[0053] As described above, the solution finding device 10 can solve an Ising problem under linear equality constraints expressed by M linear equations.
[0054] (Augmented Lagrangian solver 26) FIG. 3 is a diagram showing the functional configuration of the extended Lagrangian solver 26 according to this embodiment.
[0055] The extended Lagrangian solver 26 uses the algorithm for solving the extended Lagrangian function according to this embodiment to solve the problem of minimizing the extended Lagrangian function.
[0056] The extended Lagrangian solver 26 has, as its functional components, a variable updater 32 and a solution outputter 34 .
[0057] The variable update unit 32 receives information (e.g., N, J, h, M, A, B) for defining the extended Lagrangian function from the multiplier update unit 24. The variable update unit 32 also receives information (e.g., D, K, c, Δt, T, p, a) representing coefficients and the like required to execute the solution-finding algorithm.
[0058] The variable update unit 32 updates the first variable (x i ) and the second variable (y i ) for each of the N particles associated with the first variable (x i ) and the second variable (y i ) are updated alternately.
[0059] The solution output unit 34 calculates the first variables (x i ) for each of the N particles at the end time, the solution output unit 34 outputs a solution to the problem of minimizing the augmented Lagrangian function. i ) is binarized to −1 or 1 using a preset threshold (for example, 0) to calculate the values of N Ising spins. Then, the solution output unit 34 outputs the calculated values of N Ising spins as a solution to the problem of minimizing the augmented Lagrangian function.
[0060] Here, the N particles correspond to the N Ising spins in the Ising problem. Also, the first variable (x i ) and the second variable (y i ) are each represented by a real number.
[0061] Then, in the update process for each unit time, the variable update unit 32 updates the first variable (x i ) to the second variable (y i In the update process for each unit time, the variable update unit 32 updates the second variable (y i ) to the first variable (x i ) and the constraints.
[0062] For example, in the update process for each unit time, the variable update unit 32 updates the first variable (x i ) and then update the second variable (y i Instead, in the update process for each unit time, the variable update unit 32 updates the second variable (y i ) and then update the first variable (x i ) may be updated.
[0063] In the update process for each unit time, the variable update unit 32 updates the second variable (y i ) is updated, the variable update unit 32 calculates the constraint term. i ) per unit time, and add the constraint term.
[0064] 4 is a flowchart showing a first example of the processing flow of the variable update unit 32. The variable update unit 32 executes processing according to the flow shown in FIG.
[0065] First, in S101, the variable update unit 32 sets parameters for solving the problem of minimizing the extended Lagrangian function based on information received from the multiplier update unit 24. Specifically, the variable update unit 32 sets J, which is a matrix including N×N coupling coefficients, and h, which is a vector including local magnetic field coefficients representing N local magnetic fields. Furthermore, the variable update unit 32 sets A, which represents M×N linear coefficients included in the M linear equations, and B, which represents M constant terms included in the M linear equations. Furthermore, the variable update unit 32 sets M Lagrangian multipliers (λ) and M penalty multipliers (μ) included in the extended Lagrangian function.
[0066] Next, in S102, the variable update unit 32 sets parameters for executing the solution-finding algorithm. Specifically, the variable update unit 32 sets D, K, c, Δt representing a unit time, and T, p, and a representing an end time. p and a are values that are 0 when t = initial time (e.g., 0) and 1 when t = end time (T), for example. The variable update unit 32 may set D, K, c, Δt, T, p, and a according to values received from the user, or may set them to predetermined values that cannot be changed.
[0067] Subsequently, in S103, the variable update unit 32 initializes the variables. Specifically, the variable update unit 32 initializes a variable t representing time to an initial time (for example, 0). Furthermore, the variable update unit 32 initializes N first variables (x1(t) to x N (t)) and N second variables (y1(t)~y N An initial value received from the user, a predetermined fixed value, or a random number is substituted for each of (t).
[0068] Next, the variable update unit 32 repeats the loop process between S104 and S115 until t becomes greater than T. In one loop process, the variable update unit 32 updates N first variables (x1(t+Δt) to x N (t+Δt)) is the N first variables (x1(t)~x N(t)), and N second variables (y1(t) to y N In one loop process, the variable update unit 32 calculates N second variables (y1(t+Δt) to y N (t+Δt)) is the N first variables (x1(t+Δt)~x N (t+Δt)), N second variables (y1(t)~y N (t)) and the constraint terms.
[0069] The immediately preceding time (t) is the time unit (Δt) before the target time (t+Δt). That is, the variable update unit 32 repeats the loop process between S104 and S115 to update the N first variables (x1(t) to x N (t)) and N second variables (y1(t)~y N (t)) is updated sequentially for each unit time (Δt) from the initial time (t=0) to the end time (t=T).
[0070] Next, the variable update unit 32 repeats the loop processing between S105 and S107 while incrementing i by 1 from i=1 to i=N. i is an integer between 1 and N, and is an index indicating a processing target among the N particles. In the loop processing between S105 and S107, the variable update unit 32 executes processing on the i-th particle of the N particles as the target particle.
[0071] In S106, the variable update unit 32 updates the first variable (x i (t+Δt)) is the first variable (x i (t)), the second variable (y i The variable update unit 32 calculates the time t by adding a value obtained by multiplying the time t by a predetermined constant (D) and a unit time (Δt). Specifically, the variable update unit 32 calculates the time t by the following equation (11).
number
[0072] That is, the variable update unit 32 updates the first variable (x i (t+Δt)) is the first variable (x i (t)) and the second variable (y i (t)) and update it based on the above.
[0073] When the variable update unit 32 has executed the loop process between S105 and S107 N times, the process proceeds to S108.
[0074] Next, the variable update unit 32 repeats the loop process between S108 and S113 while incrementing i by 1 from i=1 to i=N.
[0075] In S109, the variable update unit 32 updates the first variables (x1(t+Δt) to x2(t+Δt)) of the N particles at the target time (t+Δt). N (t+Δt)) and the action coefficient, based on the action force (z i (t+Δt)). The action coefficients are the coupling coefficient included in J and the local magnetic field coefficient included in h. The coupling coefficients are determined for each pair of the target particle and each of the N particles. Specifically, the variable update unit 32 calculates equation (12).
number
[0076] Subsequently, in S110, the variable update unit 32 calculates a time evolution value (g i (t+Δt) Specifically, the variable update unit 32 calculates equation (13).
number
[0077] Next, in S111, the variable update unit 32 updates the constraint term (f i (t+Δt) Specifically, the variable update unit 32 calculates equation (14).
number
[0078] Next, in S112, the variable update unit 32 updates the second variable (y i (t+Δt)) is the second variable (y i (t)) and the time evolution value (g i (t+Δt)) and the acting force (f i (t+Δt)) and the constraint term (f i The variable update unit 32 calculates the time t by adding the sum of (t+Δt) and (t+Δt) multiplied by the unit time (Δt). Specifically, the variable update unit 32 calculates the formula (15).
number
[0079] The variable update unit 32 executes the loop process between S108 and S113 as described above N times, thereby updating the second variable (y i (t+Δt)) is the N first variables (x1(t+Δt)~x N (t+Δt)) and the second variable (y i (t)) and the constraints.
[0080] When the variable update unit 32 has executed the loop process between S108 and S113 N times, the process proceeds to S114.
[0081] In S114, the variable update unit 32 adds a unit time (Δt) to each of the previous time (t) and the target time (t+Δt), thereby updating the previous time (t) and the target time (t+Δt). In S115, the variable update unit 32 repeats the processes from S105 to S114 until t exceeds the end time (T). Then, when t becomes greater than the end time (T), the variable update unit 32 ends this flow.
[0082] By executing the above-described processes of S101 to S115, the variable update unit 32 executes calculations according to the solution-finding algorithm and updates the N first variables (x1(t) to x N (t)) and N second variables (y1(t)~y N (t)) can be calculated.
[0083] Then, the solution output unit 34 calculates the first variable (x i For example, the solution output unit 34 calculates the value of the corresponding Ising spin according to the sign of the first variable (x i If the sign of (T)) is negative, the corresponding Ising spin is set to -1, and if it is positive, the corresponding Ising spin is set to 1. Then, the solution output unit 34 outputs the calculated values of the N Ising spins.
[0084] Fig. 5 is a flowchart showing a second example of the processing flow of the variable updating unit 32. When solving a problem of minimizing an augmented Lagrangian function using a solution-finding algorithm, the variable updating unit 32 may execute processing according to the flow shown in Fig. 5 instead of the flow shown in Fig. 4.
[0085] First, in S201, S202, and S203, the variable update unit 32 executes the same processes as S101, S102, and S103 in the first example shown in FIG.
[0086] Next, the variable update unit 32 repeats the loop process between S204 and S215 until t becomes greater than T. In one loop process, the variable update unit 32 updates N second variables (y1(t+Δt) to y N (t+Δt)) is the N first variables (x1(t)~x N (t)), N second variables (y1(t)~y N In one loop process, the variable update unit 32 calculates the N first variables (x1(t+Δt) to x2(t+Δt)) at the target time (t+Δt) based on the constraint terms. N (t+Δt)) is the N first variables (x1(t)~x N (t)), and N second variables (y1(t+Δt)~y N Calculated based on (t+Δt).
[0087] Subsequently, the variable update unit 32 repeats the loop processing between S205 and S210 while incrementing i by 1 from i=1 to i=N. In the loop processing between S205 and S210, the variable update unit 32 executes processing on the i-th particle of the N particles as the target particle.
[0088] In S206, the variable update unit 32 updates the first variables (x1(t) to x2(t)) of the N particles at the immediately preceding time (t). N (t)) and the action coefficient, based on the action force (z i Specifically, the variable update unit 32 calculates equation (16).
number
[0089] Subsequently, in S207, the variable update unit 32 updates the time evolution value (g i Specifically, the variable update unit 32 calculates the equation (17).
number
[0090] Next, in S208, the variable update unit 32 updates the constraint term (f i Specifically, the variable update unit 32 calculates the equation (18).
number
[0091] Subsequently, in S209, the variable update unit 32 updates the second variable (y i (t+Δt)) is the second variable (y i (t)) and the time evolution value (g i (t)) and the acting force (z i (t)) and the constraint term (f i Specifically, the variable update unit 32 calculates the formula (19).
number
[0092] The variable update unit 32 executes the loop process between S205 and S210 as described above N times to update the second variable (y i (t+Δt)) is the N first variables (x1(t)~x N (t)) and the second variable (y i (t)) and the constraints.
[0093] When the variable update unit 32 has executed the loop process between S205 and S210 N times, the variable update unit 32 advances the process to S211.
[0094] Next, the variable update unit 32 repeats the loop process between S211 and S213 while incrementing i by 1 from i=1 to i=N.
[0095] In S212, the variable update unit 32 updates the first variable (x i (t+Δt)) is the first variable (x i (t)), the second variable (y i The variable update unit 32 calculates the time t by adding a value obtained by multiplying (t+Δt) by a predetermined constant (D) and a unit time (Δt). Specifically, the variable update unit 32 calculates the following equation (20).
number
[0096] That is, the variable update unit 32 updates the first variable (x i (t+Δt)) is the first variable (x i (t)) and the second variable (y i (t)) and update it based on the above.
[0097] When the variable update unit 32 has executed the loop process between S211 and S213 N times, the process proceeds to S214.
[0098] In S214, the variable update unit 32 adds a unit time (Δt) to each of the previous time (t) and the target time (t+Δt), thereby updating the previous time (t) and the target time (t+Δt). In S215, the variable update unit 32 repeats the processes from S211 to S214 until t exceeds the end time (T). Then, when t becomes greater than the end time (T), the variable update unit 32 ends this flow.
[0099] By executing the above-described processes of S201 to S215, the variable update unit 32 executes calculations according to the solution algorithm and updates the N first variables (x1(t) to x N (t)) and N second variables (y1(t)~y N (t)) can be calculated.
[0100] Then, the solution output unit 34 calculates the first variable (x i For example, the solution output unit 34 calculates the value of the corresponding Ising spin according to the sign of the first variable (x i If the sign of (T)) is negative, the corresponding Ising spin is set to -1, and if it is positive, the corresponding Ising spin is set to 1. Then, the solution output unit 34 outputs the calculated values of the N Ising spins.
[0101] The variable update unit 32 may execute the calculation of equation (21) prior to the loop processing of S104 to S115 in the flow of FIG. 4 or the loop processing of S204 to S215 in the flow of FIG.
number
[0102] In the flow of FIG. 4, when the calculation of equation (21) is executed first, the variable update unit 32 executes the calculation of equation (22) in S111.
number
[0103] Furthermore, in the flow of FIG. 5, when the calculation of equation (21) is executed first, the variable update unit 32 executes the calculation of equation (23) in S208.
number
[0104] By performing such processing, the variable update unit 32 can reduce the amount of calculations within the loop, and therefore the total amount of calculations according to the solution-finding algorithm can be reduced.
[0105] The solution solving device 10 according to the present embodiment, as described above, can solve Ising problems under linear equality constraints using the augmented Lagrangian solver 26 for solving problems that minimize an augmented Lagrangian function. The augmented Lagrangian solver 26 minimizes the augmented Lagrangian function by simulating the time evolution of the equation of motion using a discrete solution method, the Symplectic Euler method, similar to the SB algorithm, and can therefore quickly and easily obtain a highly accurate solution. Therefore, the solution solving device 10 according to the present embodiment can quickly and easily obtain a highly accurate solution to an Ising problem under linear equality constraints without having to transform the equation to find a new Ising problem that is equal to a function obtained by adding a constant to the augmented Lagrangian function.
[0106] Furthermore, for example, if J, the coupling matrix of the Ising problem to be solved, is a sparse matrix with many zero elements, there is a high possibility that the matrix will no longer be sparse when the equation is transformed. Therefore, when solving an Ising problem that has been transformed, the amount of calculations performed by the Ising machine becomes extremely large, even though a sparse matrix is used. However, the solution-finding device 10 according to this embodiment uses the sparse matrix as is to solve the problem of minimizing the augmented Lagrangian function, thereby reducing the amount of calculations. Furthermore, since the solution-finding device 10 according to this embodiment uses the sparse matrix as is to solve the problem of minimizing the augmented Lagrangian function, the amount of information representing the problem is reduced, and memory usage can also be reduced.
[0107] (Hardware configuration) Fig. 6 is a diagram showing the hardware configuration of the solution-finding device 10. As an example, the solution-finding device 10 is realized by a hardware configuration similar to that of a general computer (information processing device) as shown in Fig. 6. The solution-finding device 10 may be realized by one computer or server as shown in Fig. 6, or may be realized by multiple computers or servers operating in cooperation. Furthermore, the solution-finding device 10 may be configured to include a dedicated hardware circuit in part.
[0108] The solution finding device 10 includes a memory 204, one or more hardware processors 206, a storage device 208, an operation device 210, a display device 212, and a communication device 214. Each unit is connected by a bus.
[0109] The memory 204 includes, for example, a ROM 222 and a RAM 224. The ROM 222 stores programs used to control the solution-finding device 10, various setting information, and the like in a non-rewritable manner. The RAM 224 is a volatile storage medium such as an SDRAM (Synchronous Dynamic Random Access Memory). The RAM 224 functions as a working area for one or more hardware processors 206.
[0110] The one or more hardware processors 206 are connected to the memory 204 (ROM 222 and RAM 224) via a bus. Each of the one or more hardware processors 206 may be, for example, a CPU (Central Processing Unit) or a hardware circuit for calculations.
[0111] The one or more hardware processors 206 use a predetermined area of the RAM 224 as a working area to execute various processes in cooperation with various programs pre-stored in the ROM 222 or the storage device 208, and comprehensively control the operation of each unit constituting the solution-finding device 10. Furthermore, the one or more hardware processors 206 control the operation device 210, the display device 212, the communication device 214, etc. in cooperation with the programs pre-stored in the ROM 222 or the storage device 208.
[0112] The storage device 208 is a rewritable storage device such as a semiconductor storage medium such as a flash memory, or a magnetically or optically recordable storage medium. The storage device 208 stores programs used to control the solution-finding device 10, various setting information, and the like.
[0113] The operation device 210 is an input device such as a mouse, a keyboard, etc. The operation device 210 receives information input by a user and outputs the received information to one or more hardware processors 206.
[0114] The display device 212 displays information to the user. The display device 212 receives information, etc. from one or more hardware processors 206 and displays the received information. Note that if information is output to the communication device 214 or the storage device 208, etc., the solution finding device 10 does not need to include the display device 212. The communication device 214 communicates with external devices and transmits and receives information via a network, etc.
[0115] The program executed by the solution-finding device 10 of this embodiment is provided as a file in an installable or executable format recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a DVD (Digital Versatile Disk).
[0116] The program executed by the solution-finding device 10 of this embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The program executed by the solution-finding device 10 of this embodiment may be provided or distributed via a network such as the Internet. The program executed by the solution-finding device 10 of this embodiment may be provided by being pre-installed in a ROM or the like.
[0117] A program for causing an information processing device to function as the solution-finding device 10 has a modular configuration including, for example, an input module, a multiplier update module, an extended Lagrangian solver module (a variable update module and a solution output module), and an output module. When this program is executed by one or more hardware processors 206, each module is loaded into RAM 224 of memory 204, causing the one or more hardware processors 206 to function as input unit 22, multiplier update unit 24, extended Lagrangian solver 26 (a variable update unit 32 and a solution output unit 34), and output unit 28. Note that these components may be configured partially or entirely by hardware.
[0118] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0119] 10 Solving device 22 Input section 24 Multiplier Update Unit 26 Extended Lagrangian solver 28 Output section 32 Variable update section 34 Solution output section
Claims
1. 1. A solver that solves an Ising problem under linear equality constraints expressed by M linear equations (M is an integer of 1 or more) using N Ising spins (N is an integer of 2 or more) included in the Ising problem, an input unit that receives an objective function of the Ising problem and the M linear equations; a multiplier update unit that repeats an update process to update M Lagrange multipliers and M penalty multipliers included in an extended Lagrangian function based on the objective function and the M linear equations; an augmented Lagrangian solver that calculates a solution to a problem minimizing the augmented Lagrangian function including the updated M Lagrangian multipliers and the M penalty multipliers each time the update process is performed; an output unit that outputs a solution to the problem of minimizing the augmented Lagrangian function after repeating the update process until a preset termination condition is reached, as a solution to the Ising problem solved under the linear equality constraint; Equipped with The augmented Lagrangian solver a variable updating unit that alternately updates the first variable and the second variable sequentially for each unit time from an initial time to an end time for each of N virtual particles associated with a first variable and a second variable; a solution output unit that outputs a solution to a problem of minimizing the augmented Lagrangian function based on the first variables of each of the N particles at the end time; and the N particles correspond to the N Ising spins, In the update process for each unit time, the variable update unit For each of the N particles, updating the first variable based on the second variable; for each of the N particles, updating the second variable based on the first variable and a constraint term; The constraint term is expressed by equation (101): [Equation 1] a is a predetermined coefficient, c is a predetermined coefficient, i represents an integer from 1 to N; k represents an integer from 1 to N; m represents an integer from 1 to M; x k is the first variable corresponding to the k-th particle of the N particles, A m,k represents a linear coefficient by which the k-th Ising spin in the m-th linear equation among the M linear equations is multiplied, B m represents a constant term in the m-th linear equation, λ m represents the m-th Lagrange multiplier among the M Lagrange multipliers, μ m represents the m-th penalty multiplier among the M penalty multipliers. Solving device.
2. The Ising problem is expressed by equation (102): [Equation 2] i represents an integer from 1 to N; j represents an integer from 1 to N; s i is −1 or 1 and represents the i-th Ising spin among the N Ising spins, s j is −1 or 1 and represents the j-th Ising spin among the N Ising spins, J i,j is the coupling coefficient in row i, column j contained in a predetermined matrix containing N×N coupling coefficients, h i is the i-th local magnetic field coefficient included in a predetermined vector containing N local magnetic field coefficients. The solution-finding apparatus according to claim 1 .
3. The M linear equations are expressed by equation (103). [Equation 3] The solution-finding apparatus according to claim 2 .
4. The problem of minimizing the augmented Lagrangian function is expressed by equation (104): [Equation 4] The solution-finding apparatus according to claim 3 .
5. The multiplier update unit In the first update process after receiving the objective function and the M linear equations, each of the M Lagrange multipliers and each of the M penalty multipliers is set to an initial value; In the second or subsequent update process, each of the M Lagrangian multipliers and each of the M penalty multipliers are updated based on a solution to a problem of minimizing the augmented Lagrangian function including the M Lagrangian multipliers and the M penalty multipliers updated in the immediately preceding update process. The solution-finding apparatus according to claim 4.
6. In the update process for each unit time, the variable update unit calculates, for each of the N particles, The second variable is updated after the first variable is updated. The solution-finding device according to claim 4 or 5.
7. In the update process for each unit time, the variable update unit calculates, for each of the N particles, After updating the second variable, the first variable is updated. The solution-finding device according to claim 4 or 5.
8. In the update process for each unit time, the variable update unit For each of the N particles, the first variable at the target time is calculated by adding a value obtained by multiplying the second variable, a predetermined constant, and the unit time to the first variable at the time immediately before the target time. The solution-finding apparatus according to claim 6 or 7.
9. In the update process for each unit time, the variable update unit For each of the N particles, calculating an action force based on the first variable of each of the N particles and an action coefficient determined by the objective function for each pair of a target particle and each of the N particles; calculating a time evolution value by multiplying a value determined based on a function that increases over time by the first variable of the target particle; The second variable at the target time is calculated by adding a value obtained by multiplying a value obtained by adding the acting force, the time evolution value, and the constraint term by the unit time to the second variable at the immediately preceding time. The solution-finding apparatus according to claim 8.
10. The variable update unit calculates the first variable at the target time of the i-th particle corresponding to the i-th Ising spin among the N Ising spins by Equation (105-1) or Equation (105-2), [Equation 5] D is a predetermined constant, Δt is the unit time, t is the immediately preceding time, t+Δt is the target time, x i (t) is the first variable of the i-th particle at the immediately preceding time, y i (t) is the second variable of the i-th particle at the immediately preceding time, x i (t+Δt) is the first variable of the i-th particle at the target time, y i (t+Δt) is the second variable of the i-th particle at the target time. The solution-finding apparatus according to claim 9.
11. the variable update unit calculates the second variable of the i-th particle at the target time by Equation (106-1) or Equation (106-2), [Equation 6] z i (t) and z i (t+Δt) is the acting force, g i (t) and g i (t+Δt) is the time evolution value, f i (t) and f i (t+Δt) is the constraint term The solution-finding apparatus according to claim 10.
12. z i (t) and z i (t+Δt) is expressed by equation (107-1) or equation (107-2), [Equation 7] x j (t) is the first variable at the immediately preceding time of the j-th particle corresponding to the j-th Ising spin among the N Ising spins, x j (t+Δt) is the first variable at the target time of the j-th particle The solution-finding apparatus according to claim 11.
13. f i (t) and f i (t+Δt) is expressed by equation (108-1) or equation (108-2) [Equation 8] The solution generating apparatus according to claim 12.
14. g i (t) and g i (t+Δt) is expressed by equation (109-1) or equation (109-2) [Equation 9] The solution-finding apparatus according to claim 13.
15. the variable update unit executes Equation (110) prior to executing the constraint on the second variable at the initial time; [Equation 10] f i (t) and f i (t+Δt) is expressed by equation (111-1) or equation (111-2) [0011] The solution-finding apparatus according to claim 12 or 13.
16. A solver for solving a problem of minimizing an objective function of an Ising problem defined by N Ising spins (N is an integer of 2 or more) and an augmented Lagrangian function based on M linear equations (M is an integer of 1 or more), comprising: a variable updating unit that alternately updates the first variable and the second variable sequentially for each unit time from an initial time to an end time for each of N virtual particles associated with a first variable and a second variable; a solution output unit that outputs a solution to a problem of minimizing the augmented Lagrangian function based on the first variables of each of the N particles at the end time; Equipped with the N particles correspond to the N Ising spins, In the update process for each unit time, the variable update unit For each of the N particles, updating the first variable based on the second variable; for each of the N particles, updating the second variable based on the first variable and a constraint term; The constraint term is expressed by equation (101): [0012] a is a predetermined coefficient, c is a predetermined coefficient, i represents an integer from 1 to N; k represents an integer from 1 to N; m represents an integer from 1 to M; x k is the first variable corresponding to the k-th particle of the N particles, A m,k represents a linear coefficient by which the k-th Ising spin in the m-th linear equation among the M linear equations is multiplied, B m represents a constant term in the m-th linear equation, λ m represents the m-th Lagrangian multiplier among the M Lagrangian multipliers included in the augmented Lagrangian function, μ m represents the m-th penalty multiplier among the M penalty multipliers included in the augmented Lagrangian function. Solving device.
17. A program for causing an information processing device to function as a solver that solves an Ising problem under linear equality constraints expressed by M linear equations (M is an integer of 1 or more) using N Ising spins (N is an integer of 2 or more) included in the Ising problem, The information processing device an input unit that receives an objective function of the Ising problem and the M linear equations; a multiplier update unit that repeats an update process to update M Lagrange multipliers and M penalty multipliers included in an extended Lagrangian function based on the objective function and the M linear equations; an augmented Lagrangian solver that calculates a solution to a problem minimizing the augmented Lagrangian function including the updated M Lagrangian multipliers and the M penalty multipliers each time the update process is performed; an output unit that outputs a solution to the problem of minimizing the augmented Lagrangian function after repeating the update process until a preset termination condition is reached, as a solution to the Ising problem solved under the linear equality constraint; and make it work, The augmented Lagrangian solver a variable updating unit that alternately updates the first variable and the second variable sequentially for each unit time from an initial time to an end time for each of N virtual particles associated with a first variable and a second variable; a solution output unit that outputs a solution to a problem of minimizing the augmented Lagrangian function based on the first variables of each of the N particles at the end time; and the N particles correspond to the N Ising spins, In the update process for each unit time, the variable update unit For each of the N particles, updating the first variable based on the second variable; for each of the N particles, updating the second variable based on the first variable and a constraint term; The constraint term is expressed by equation (101): [0013] a is a predetermined coefficient, c is a predetermined coefficient, i represents an integer from 1 to N; k represents an integer from 1 to N; m represents an integer from 1 to M; x k is the first variable corresponding to the k-th particle of the N particles, A m,k represents a linear coefficient by which the k-th Ising spin in the m-th linear equation among the M linear equations is multiplied, B m represents a constant term in the m-th linear equation, λ m represents the m-th Lagrange multiplier among the M Lagrange multipliers, μ m represents the m-th penalty multiplier among the M penalty multipliers. program.
Citation Information
Patent Citations
Computer, calculation program, recording medium, and calculation method
JP2019145010A