Calculation method, calculation system, and program

By generating and optimizing multiple quasi-base solutions of Ising models using a classical computer and Ising machine, the method addresses the heuristic limitations of conventional hybrid methods, achieving a globally optimal solution.

JP7795203B2Active Publication Date: 2026-01-07WASEDA UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022125719
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-05
Publication Date
2026-01-07
Estimated Expiration
2042-08-05

AI Technical Summary

Technical Problem

Conventional hybrid methods for solving Ising models using a classical computer and an Ising machine are heuristic and do not guarantee a globally optimal solution, as subQUBO models are fixed and not theoretically backed.

Method used

A method that generates multiple quasi-base solutions of the Ising model, extracts variables for a partial model using a classical computer, optimizes it with an Ising machine, and iteratively refines the solution using a classical computer to minimize energy, ensuring theoretical support for obtaining a globally optimal solution.

Benefits of technology

This approach allows for the efficient and theoretically supported optimization of Ising models, enabling the global optimal solution to be obtained efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007795203000009
    Figure 0007795203000009
  • Figure 0007795203000010
    Figure 0007795203000010
  • Figure 0007795203000011
    Figure 0007795203000011
Patent Text Reader

Abstract

To efficiently obtain a globally optimal solution for an Ising model on the basis of theoretical grounding.SOLUTION: In a calculation method for solving an Ising model having a plurality of prescribed variables, a classical computer generates a plurality of solution instances of the Ising model and registers the solution instances in an instance pool, calculates the variation in the values of each variable in the plurality of solution instances, extracts variables that can be processed by an Ising machine from the plurality of variables in descending order of variations, and constructs a partial Ising model consisting of the variables extracted using, as a provisional solution Xt, one solution instance randomly selected from the plurality of solution instances. The Ising machine determines a basic solution of the partial Ising model, and the classical computer determines a new solution instance X' by incorporating the basic solution into Xt, adds X' to the instance pool, and selects the best solution Xbest of the Ising model from the instance pool.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a calculation method, a calculation system, and a program for solving an Ising model. [Background technology]

[0002] A known technique is to convert a combinatorial optimization problem, which involves selecting the best combination from a large number of combinations, into an Ising model (or a quadratic unconstrained binary optimization (QUBO) model, which is equivalent to the Ising model), and then solve it using an Ising machine. Because many hardware constraints exist on the spin variables of the Ising model that can be input to an Ising machine, it is not possible to input an Ising model with an arbitrary number of spin variables into an Ising machine. For example, the D-Wave 2000Q machine has approximately 2,000 qubits, but when all variables are interconnected, it can only handle a maximum of 64 variables of the QUBO model.

[0003] To solve this problem, a hybrid method has been proposed that uses a classical computer and an Ising machine in combination to extract a partial QUBO (subQUBO) model that is small enough to fit on the Ising machine from the original QUBO model with many spin variables, and then optimize the original QUBO model (see, for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] M. Booth and SP Reinhardt, “Partitioning optimization problems for hybrid classical / quantum execution technical report,” 2017. Summary of the Invention [Problem to be solved by the invention]

[0005] However, conventional hybrid methods are heuristic and not necessarily theoretically backed. Furthermore, in conventional hybrid methods, subQUBO models are extracted from fixed solutions, so the extracted subQUBO models tend to be fixed. Therefore, there is a problem in that it is not possible to obtain a globally optimal solution using conventional hybrid methods.

[0006] The present invention has been made in view of the above-mentioned problems, and aims to provide a calculation method, a calculation system, and a program that are theoretically supported and capable of efficiently obtaining an optimal solution of an Ising model globally using a classical computer and an Ising machine. [Means for solving the problem]

[0007] A calculation method according to the present invention is a calculation method for solving an Ising model having a predetermined number of variables, and uses a classical computer to (a) generate multiple solution instances that are multiple quasi-base solutions of the Ising model and register them in an instance pool, (b) calculate the variation in the values ​​of each of the multiple variables in the multiple solution instances, (c) extract from the multiple variables a number of variables that can be processed by the Ising machine in descending order of variation, and use one solution instance randomly selected from the multiple solution instances as a tentative solution of the Ising model to construct a partial Ising model consisting only of the extracted variables, (d) obtain a base solution of the partial Ising model using the Ising machine, and (e) obtain a new solution instance by incorporating the base solution into the tentative solution of the Ising model using a classical computer and add the new solution instance to the instance pool, and (f) select from the instance pool a solution instance that minimizes the energy of the Ising model as the best solution.

[0008] A computing system according to the present invention is a computing system for solving an Ising model having a predetermined number of variables, and includes: a classical computer having a processor that generates multiple solution instances, which are multiple quasi-basic solutions of the Ising model, registers them in an instance pool, calculates the variation in the values ​​of the multiple variables in the multiple solution instances, extracts from the multiple variables a number of variables that can be processed by the Ising machine in descending order of variation, and uses one solution instance randomly selected from the multiple solution instances as a tentative solution of the Ising model to construct a partial Ising model consisting only of the extracted variables; and an Ising machine that finds a basic solution of the partial Ising model. The processor finds a new solution instance by incorporating the basic solution into the tentative solution of the Ising model, adds the new solution instance to the instance pool, and selects from the instance pool a solution instance that minimizes the energy of the Ising model as a best solution.

[0009] A program according to the present invention is a program for causing a classical computer to execute, in combination with an Ising machine, a calculation method for solving an Ising model having a predetermined number of variables, and the program executes the following processes: (a) generating a plurality of solution instances, which are a plurality of quasi-base solutions of the Ising model, and registering them in an instance pool; (b) calculating the variation in the values ​​of the plurality of variables in the plurality of solution instances; (c) extracting, from the plurality of variables, a number of variables that can be processed by the Ising machine in descending order of variation; constructing a partial Ising model consisting only of the extracted variables using one solution instance randomly selected from the plurality of solution instances as a tentative solution of the Ising model; (d) obtaining a new solution instance by incorporating, for the constructed partial Ising model, a base solution obtained using the Ising machine into the tentative solution of the Ising model; (e) adding the new solution instance to the instance pool; and (f) selecting, from the instance pool, a solution instance that minimizes the energy of the Ising model as the best solution. [Effects of the Invention]

[0010] According to the present invention, by constructing a partial edging model from a plurality of solution instances of an edging model based on theoretical support, it becomes possible to Efficiently obtained locally the optimal solution of the edging model.

Brief Description of Drawings

[0011] [Figure 1] It is a diagram showing an algorithm of a general hybrid annealing. [Figure 2] It is a schematic diagram showing an example of a QUBO model. [Figure 3] It is a schematic diagram showing an example of a tentative solution of the QUBO model in FIG. 2. [Figure 4A] It is a schematic diagram showing an example of extracting a subQUBO model from the QUBO model in FIG. 3. [Figure 4B] It is a schematic diagram showing a basic solution obtained by optimizing the subQUBO model in FIG. 4A by an edging machine. [Figure 4C] It is a schematic diagram showing a new tentative solution obtained by incorporating the basic solution of the subQUBO model shown in FIG. 4B into the tentative solution of FIG. 3. [Figure 5A] It is a schematic diagram showing an example of extracting another subQUBO model from the QUBO model in FIG. 3. [Figure 5B] It is a schematic diagram showing the basic solution (optimal solution) of the original QUBO model obtained through optimization of the subQUBO model in FIG. 5A. [Figure 6] It is a block diagram showing the configuration of a hybrid computing system according to the present embodiment. [Figure 7] It is a block diagram showing the hardware configuration of a classical computer shown in FIG. 6. [Figure 8] It is a diagram showing an algorithm of a calculation method (hybrid annealing) according to the present embodiment. [Figure 9] It is a schematic diagram showing the generation of NI solution instances. [Figure 10] It is a table showing an example of the variation of values for each binary variable in NS solution instances (NS <NI). DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0013] <QUBOモデル> First, let us explain the QUBO model. When the Ising model is expressed as an energy function up to the quadratic level using binary variables that take two values, 0 and 1, it is called a QUBO model. The energy function (Hamiltonian) f(X) of the QUBO model is expressed as i (x i =0 or x i =1) is expressed as in equation (1).

number

[0014] The QUBO model is stable in the lowest energy state (ground state). A solution to the QUBO model is one of the combinations of binary variables, and the ground solution of the QUBO model is the combination of binary variables that minimizes f(X). The value of f(X) for a given combination of binary variables is called the objective value.

[0015] In general, a combinatorial optimization problem can be mapped to a problem of searching for a combination of binary variables that minimizes f(X) in equation (1).

[0016] <General method> Next, with reference to the algorithm shown in FIG. 1, a general method (hybrid annealing) for searching for a ground state or quasi-ground state of a QUBO model that is larger in size than the hardware of an Ising machine will be described.

[0017] In the QUBO model expressed by equation (1), X = {x1, x2, ..., x n} is a set of binary variables. The set X contains n binary variables, and the size of this QUBO model is n. Let m( <n)とする。

[0018] First, we initialize X by randomly setting each binary variable of X to 0 or 1 (line 2 in Figure 1), and then we call the initialized X a tentative solution (X best ) (line 3). Next, using this provisional solution, m binary variables are extracted from the n binary variables of the QUBO model to construct a subQUBO model (partial Ising model) (line 5). At this time, as described below, the interaction coefficients between the binary variables of the subset S(⊂X) extracted as the subQUBO model and the binary variables of the difference set XS are incorporated into the external magnetic field coefficients of the subQUBO model.

[0019] Next, the Ising machine is used to optimize the subQUBO model to obtain a base solution (m binary variables), and this base solution is incorporated into the current tentative solution of the original QUBO model to obtain a quasi-base solution X of the original QUBO model (line 6). This quasi-base solution X is then used as a new tentative solution X. best (Line 7). At this time, the (nm) binary variables in the difference set XS are fixed to the values ​​of the tentative solution. The process in lines 4 to 6 is best This is repeated until convergence. In this way, by repeatedly finding the basis solution of the subQUBO model of size m using an Ising machine, the basis solution of the original QUBO model of size n can be obtained. In Figure 1, processes other than the optimization on line 6 are executed by a classical computer such as a personal computer.

[0020] Let X = {x1, x2, …, x n}, the provisional solution is X t ={x1′, x2′, …, x n '}, the subset extracted as the subQUBO model is S(⊂X), the Hamiltonian f(X) of the QUBO model shown in equation (1) is the Hamiltonian f of the subQUBO model s (S), which can be rewritten as equation (2).

number

[0021] c in the first term on the right side of equation (2) i is defined as in equation (3). In equation (3), a i , b ij is a constant, and x j Since ′ is fixed as the value of the provisional solution in the difference set XS, c i is a constant and can be considered as the external magnetic field coefficient of the subQUBO model. In this way, the tentative solution x j ′, the interaction coefficient b between the binary variables of the subset S and the binary variables of the difference set XS ij is the external magnetic field coefficient c of the subQUBO model i Incorporate into.

number

[0022] The third term const on the right side of equation (2) is a constant term defined as in equation (4).

number

[0023] Next, we will explain a specific example of the algorithm in Figure 1. Figure 2 shows an example of a QUBO model of size n. Let X = {x1, x2, ..., x5} be the set of binary variables in the QUBO model, and let X be the provisional solution. t={x1′, x2′, ..., x5′}, and the size m of the Ising machine hardware is set to 3. The QUBO model in Figure 2 is a1=-3, a2=-4, a3=1, a4=4, a5=-4, b 12 =-1, b 13 =-2, b 14 =0, b 15 =2, b 23 =2, b 24 =-2, b 25 =-1, b 34 =-5, b 35 =2, b 45 =-3.

[0024] An example of a provisional solution for the QUBO model in Figure 2 is shown in Figure 3. The provisional solution shown in Figure 3 is x1' = x2' = x3' = 1, x4' = x5' = 0, and the target value is -7. As shown in Figure 4A, when the subset S = {x1, x3, x5} is extracted as a subQUBO model from the QUBO model in Figure 3, the external magnetic field coefficients c1, c3, and c5 of the subQUBO model are -4, 3, and -5, respectively, according to equation (3). In this case, each binary variable in the difference set XS = {x2, x4} takes a fixed value given by the provisional solution: x2 = x2' = 1, x4 = x4' = 0.

[0025] When the subQUBO model shown in Figure 4A is optimized using an Ising machine, the base solution (x1 = 1, x3 = 0, x5 = 1) of the subQUBO model is obtained as shown in Figure 4B. By incorporating the base solution of the subQUBO model (Figure 4B) into the current tentative solution of the original QUBO model (Figure 3), a new tentative solution of the original QUBO model can be obtained as shown in Figure 4C.

[0026] <Theoretical background of the calculation method of this embodiment> Next, the theoretical background of the calculation method of this embodiment will be described. The provisional solution shown in FIG. 4C gives a target value of -11, but is not the base solution of the QUBO model in FIG. 2. The QUBO model in FIG. 2 becomes the base solution when the values ​​of all binary variables are 1, and its target value is -14. In order to efficiently obtain the base solution of the original QUBO model, it is important how to extract a subQUBO model from the original QUBO model.

[0027] For example, as shown in Figure 5A, if the subset S = {x3, x4, x5} is extracted as a subQUBO model from the QUBO model that provides the tentative solution in Figure 3, the base solution of this subQUBO model is x3 = x4 = x5 = 1. As a result, as shown in Figure 5B, the base solution of the original QUBO model (x1 = x2 = x3 = x4 = x5 = 1) can be obtained. Similarly, if the subset S = {x2, x4, x5} is extracted as a subQUBO model, the base solution of the original QUBO model can be obtained. Here, of the binary variables that make up the tentative solution in Figure 3, the binary variables that differ from the base solution in Figure 5B are x4 and x5. Therefore, if the subset S extracted as a subQUBO model contains binary variables x4 and x5 that differ from the base solution, it can be inferred that the base solution of the original QUBO model can be obtained.

[0028] From the above example, we can derive the following theorem: "When all binary variables that make up a QUBO model have values ​​that differ from the base solutions of the QUBO model and are extracted as subQUBO models, the base solutions of the extracted subQUBO models give the base solutions of the original QUBO model."

[0029] To generalize this theorem, let the set of binary variables in the QUBO model be X={x i}, the subset extracted as the subQUBO model is S(⊂X), and the provisional solution of the original QUBO model is X t ={x i ′}, the basis solution of the original QUBO model is X * ={x i *}, x iLet X be the basis solution of the subQUBO model for ∈S. s * ={s i *}, and let N be the set of binary variables whose values ​​are different from the base solutions of the QUBO model. In this case, the above theorem can be generalized as follows: if S ⊇ N, then f s (X s * )=f(X * ).

[0030] Next, we prove the above theorem. From equation (2), the target value f of the ground state of the subQUBO model is s (X s * ) is expressed as equation (5).

number

[0031] Similarly, from equation (1), the target value f(X * ) is expressed as equation (6).

number

[0032] Since S ⊇ N, x i When ′∈XS, x i ′∈XN. x i When ′∈XN, x i ′=x i * That is, the binary variable (temporary variable) x of the provisional solution i When ′ belongs to the difference set XN, the temporary variable x i The value of ′ is the binary variable x in the basis solution of the QUBO model. i * Therefore, the following equations (7) to (9) hold true.

number

[0033] Therefore, the objective value f of the ground state of the subQUBO model s (X s * ) is as shown in Equation (10). [Number]

[0034] From Equations (6) and (10), if f s (X s * ) > f(X * ), then X s * = {s i *} does not give the ground state solution of the subQUBO model, which contradicts the assumption that X s * is the ground state solution of the subQUBO model. If f s (X s * ) < f(X * ), then X * = {x i *} does not give the ground state solution of the QUBO model, which contradicts the assumption that X * is the ground state solution of the QUBO model. Therefore, f s (X s * ) = f(X * ). □

[0035] <Overview of the Extraction Method of the subQUBO Model> Next, the process of the extraction method of the subQUBO model will be explained. To extract the subQUBO model based on the above theorem, N I (≥ 3) quasi-ground state solutions (hereinafter referred to as solution instances) of the QUBO model are generated. These solution instances can be obtained by running any QUBO solver on a classical computer. After obtaining N I solution instances, the following two steps are executed.

[0036] Step 1: The n binary variables x of the QUBO modeli (x i =0 or x i =1), a specific binary variable x i Focusing on N I In solution instances, x i Count the number of solution instances where = 1. This count is performed for each binary variable in the original QUBO model.

[0037] Step 2: Binary variable x i The count is N I / 2, then the binary variable x i The value of x has the same number of 0s and 1s and has the greatest variation. i The count is N I If it is 0, the binary variable is 1. I The number of items or zeros is N I Then, the n binary variables of the QUBO model are sorted in descending order of variance, and a subQUBO model is constructed by extracting m binary variables in descending order of variance that do not exceed the size of the Ising machine hardware.

[0038] Thus, in many solution instances, a particular binary variable x i If the value of is fixed to 0 (or 1), the binary variable x of the base solution of the QUBO model i We can also infer that the value of x is 0 (or 1). On the other hand, in many solution instances, the value of a particular binary variable x i If the value of is not fixed to 0 (or 1) (it varies), then the binary variable x i It can be inferred that the value of is different from the base solution of the QUBO model. Therefore, it seems appropriate to extract a set that includes all binary variables that are expected to take values ​​different from the base solution of the QUBO model as a subQUBO model.

[0039] However, the above-mentioned method always extracts a subQUBO model using all solution instances, so only one fixed subQUBO model is derived. I N out of solution instances S pieces(2≦N S <N I ) solution instances are randomly selected and the process of extracting subQUBO models is repeated multiple times (N E This allows us to fully utilize all solution instances. E Since various subQUBO models can be extracted, it is possible to find a better quasi-basis solution (quasi-optimal solution) of the original QUBO model.

[0040] The details of the calculation method for searching for the ground state of the original QUBO model based on such a method for extracting a subQUBO model will be described later (see FIGS. 8 to 10).

[0041] <Computing System of the Present Embodiment> Next, the configuration of a hybrid computing system that executes the computing method of this embodiment will be described. As shown in Fig. 6, the hybrid computing system 10 of this embodiment includes a classical computer 20 and an Ising machine 30 connected to the classical computer 20. The classical computer 20 is a conventional computer such as a personal computer. Note that multiple Ising machines 30 may be connected to the classical computer 20.

[0042] The Ising machine 30 is a known Ising machine such as a D-Wave 2000Q machine, a CMOS annealing machine, or a Digital Annealer (registered trademark).

[0043] As shown in FIG. 7, the classical computer 20 includes a processor 202, a memory 204, a storage device 206, an input unit 208, a display 210, and an I / F 212, and these devices are connected via a bus.

[0044] The processor 202 has a central processing unit (CPU) and the like, and executes various processes according to programs stored in the memory 204 and the storage device 206. Details of the calculation method executed by the processor 202 will be described later (see FIGS. 8 to 10).

[0045] As the processor 202, instead of a general-purpose computer such as a CPU, a dedicated computer such as an Application Specific Integrated Circuits (ASIC) or a Field Programmable Gate Array (FPGA) for executing the calculation method of this embodiment may be adopted.

[0046] The memory 204 includes a read-only memory (ROM) and a random access memory (RAM). The ROM stores a boot program such as a BIOS. When the processor 202 reads a program stored in the ROM or a program stored in the storage device 206, the program is loaded into the RAM.

[0047] The storage device 206 has a non-transitory computer-readable storage medium, and stores a program for executing the calculation method of this embodiment, data necessary for executing the program, etc. Examples of computer-readable storage media include a hard disk drive (HDD), a solid state drive (SSD), an optical disk, etc.

[0048] The program executed by the processor 202 may be stored in another computer connected via a network, and the processor 202 may read the program from the other computer via the I / F 212.

[0049] The input unit 208 has input devices such as a mouse, a keyboard, etc. The display 210 is a display such as a Liquid Crystal Display (LCD), and displays the results of processing executed by the processor 202.

[0050] The I / F 212 is an interface for connecting the classical computer 20 to a network such as a local area network (LAN), a wide area network (WAN), and / or the Internet.

[0051] <Calculation method of this embodiment> Next, a calculation method (hybrid annealing) executed by the hybrid calculation system 10 will be described with reference to the algorithm shown in FIG. 8. In the following calculation method, the size of the QUBO model is n, and the size of the subQUBO model that can be processed by the Ising machine 30 is m ( <n)とする。

[0052] First, as shown in Figure 9, we run an arbitrary QUBO solver on a classical computer 20 to calculate the N I (≧3) solution instances X i (i=1, …, N I ) and register it in the instance pool (lines 2 to 4 in FIG. 8). Next, the classical computer 20 provisionally selects the solution instance in the instance pool that gives the smallest objective value as the best solution X best (Line 5). The subsequent process (Lines 6 to 19) uses X best is repeated until convergence.

[0053] Next, by running an arbitrary QUBO solver on the classical computer 20, the solution instances in the instance pool are optimized to find a quasi-basis solution (lines 7 and 8). At this time, the solution instance obtained immediately before is input to the QUBO solver. Since the Ising machine 30 cannot process a QUBO model with n binary variables, the classical computer 20 is used in this process.

[0054] Next, the hybrid computing system 10 uses the above-described method for extracting a subQUBO model to calculate N as follows: E Extract subQUBO models (lines 9 to 17).

[0055] To extract a subQUBO model, the classical computer 20 first selects N S pieces(2≦N S <N I ) solution instance X i (i=1, …, N S ) is randomly selected (line 10). k,j kth solution instance (1≦k≦N S ) is the j-th binary variable (1≦j≦n) in the selected N S Focusing on the j-th binary variable in the solution instances, x k,j Count the number of times that = 1, and calculate the resulting count c j and N S Absolute value of the difference between / 2 and |c j -N S / 2| is the index d j (lines 11 to 14). Figure 10 shows the count c for each of the n binary variables in the QUBO model. j and index d j Here is an example:

[0056] Next, the classical computer 20 computes n binary variables x1, ..., x n The index d j Sort in ascending order (in descending order of variability) and use the index d j Extract the set of m binary variables from the smallest of N S A solution instance X is randomly selected from the solution instances. tAs a tentative solution of the original QUBO model, a subQUBO model consisting of only the extracted m binary variables is constructed (see line 15, Figure 4A). When constructing the subQUBO model, the classical computer 20 calculates each external magnetic field coefficient of the subQUBO model using equation (3).

[0057] Next, the Ising machine 30 optimizes the extracted subQUBO model to find the basis solution (see FIG. 4B). Then, the classical computer 20 calculates the basis solution of the subQUBO model as the current tentative solution X t (see Figure 4C), we obtain a quasi-basis solution X' of the original QUBO model (line 16). The classical computer 20 adds the quasi-basis solution X' to the instance pool as a new solution instance (line 17).

[0058] The hybrid computing system 10 performs the process (N S The process of randomly selecting solution instances and extracting subQUBO models is called N E Run it N times E Construct subQUBO models and add the resulting quasi-basis solution X′ to the instance pool.

[0059] After the process in lines 9 to 17, the classical computer 20 selects the solution instance in the current instance pool that gives the smallest objective value as the best solution X best (line 18). Then, the classical computer 20 selects the top N I Solution instances (N in ascending order of objective value) I The hybrid computing system 10 then redefines the best solution X (number of solution instances) as a solution instance in the instance pool (line 19). best Repeat the process from lines 6 to 19 until convergence.

[0060] As such, in the algorithm shown in FIG. 8, the optimization of the subQUBO model on line 16 is executed by the Ising machine 30, and the other processes are executed by the classical computer 20.

[0061] In the hybrid computing system 10, the classical computer 20 is E When three Ising machines are connected, N E N E The basis solutions of subQUBO models can be obtained simultaneously (line 16).

[0062] In order to evaluate the solution accuracy by the calculation method of this embodiment (the algorithm of FIG. 8), three QAPs (tai20a, tho30, tho40) in the Quadratic Assignment Problem Library (QAPLIB), which are benchmark problems for quadratic assignment problems (QAPs), were converted into QUBO models and solved using a D-Wave 2000Q machine as the Ising machine. The variable sizes (number of variables) of the QUBO models corresponding to tai20a, tho30, and tho40 are 400, 900, and 1600, respectively, which are larger than the maximum variable size of the D-Wave 2000Q machine. In addition, the above-mentioned three parameters (N I , N E , and N S ) respectively, N I =20, N E =10, N S =5.

[0063] Let the obtained solution be X, and the base solution obtained from QAPLIB be X. * Let the solution accuracy be f(X) / f(X *) is defined as follows. The average values ​​of solution accuracy for tai20a, tho30, and tho40 obtained by the calculation method of this embodiment were 0.958, 0.955, and 0.963, respectively. For comparison, the average values ​​of solution accuracy for three QAPs obtained by the qbsolv method disclosed in Non-Patent Document 1 were 0.951, 0.943, and 0.935, respectively. In other words, it was found that the calculation method of this embodiment had higher solution accuracy than the qbsolv method for all QAPs.

[0064] Also, the number of solution instances (N I ) increases, the solution accuracy increases, and the number of subQUBO models (N E ) also increases, the accuracy of the solution increases. S It was also found that the value of has little effect on the accuracy of the solution.

[0065] As described above, according to the present embodiment, an Ising model larger than the size that can be processed by an Ising machine is optimized based on the theoretical support of the theorem, thereby making it possible to efficiently obtain an optimal solution for the Ising model globally.

[0066] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the spirit of the present invention. Other embodiments and modifications made by those skilled in the art are also included in the present invention. [Explanation of symbols]

[0067] 10 Hybrid Computing System 20 Classical Computers 30 Ising machine 202 processors 204 memory 206 Storage device 208 Input section 210 Display 212 Interface

Claims

1. 1. A computational method for solving an Ising model having a predetermined number of variables, comprising: With classical computers, (a) generating a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registering them in an instance pool; (b) calculating a variance in the values ​​of each of the plurality of variables across the plurality of solution instances; (c) extracting a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and constructing a partial Ising model consisting only of the extracted variables by using one solution instance randomly selected from the plurality of solution instances as a provisional solution of the Ising model; The Ising machine (d) determining a basis solution of the partial Ising model; The classical computer (e) obtaining a new solution instance by incorporating the base solution into the tentative solution of the Ising model, and adding the new solution instance to the instance pool; (f) A calculation method in which a solution instance that minimizes the energy of the Ising model is selected from the instance pool as a best solution.

2. 2. The calculation method according to claim 1, wherein the processes (b) to (f) are repeated until the value of the best solution converges.

3. 2. The calculation method according to claim 1, wherein in the process (c), the partial Ising model is constructed by incorporating an interaction coefficient between a variable of the partial Ising model and a variable not included in the partial Ising model, among the plurality of variables of the Ising model, into an external magnetic field coefficient of the partial Ising model.

4. 2. The calculation method according to claim 1, wherein the processes (b) to (d) are performed a plurality of times to obtain basic solutions of a plurality of partial Ising models.

5. 1. A computational system for solving an Ising model having a predetermined number of variables, comprising: a classical computer having a processor that generates a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registers them in an instance pool, calculates a variation in the value of each of the plurality of variables in the plurality of solution instances, extracts a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and uses one solution instance randomly selected from the plurality of solution instances as a tentative solution of the Ising model to construct a partial Ising model consisting only of the extracted variables; an Ising machine that finds a basis solution of the partial Ising model; Equipped with The processor: a computational system that obtains a new solution instance by incorporating the base solution into the tentative solution of the Ising model, adds the new solution instance to the instance pool, and selects, from the instance pool, a solution instance that minimizes the energy of the Ising model as a best solution.

6. A program for causing a classical computer to execute a calculation method for solving an Ising model having a predetermined number of variables in combination with an Ising machine, (a) generating a plurality of solution instances that are a plurality of quasi-basis solutions of the Ising model and registering them in an instance pool; (b) calculating a variance in the values ​​of each of the plurality of variables across the plurality of solution instances; (c) extracting a number of variables that can be processed by an Ising machine from the plurality of variables in descending order of the variation, and constructing a partial Ising model consisting only of the extracted variables by using one solution instance randomly selected from the plurality of solution instances as a provisional solution of the Ising model; (d) obtaining a new solution instance by incorporating the basic solution obtained using the Ising machine for the constructed partial Ising model into the tentative solution of the Ising model; (e) adding the new solution instance to the instance pool; (f) A program for executing a process of selecting, from the instance pool, a solution instance that minimizes the energy of the Ising model as a best solution.

Citation Information

Patent Citations

  • Optimization problem calculation program and optimization problem calculation system

    JP2020004387A