Ising machine selection device, Ising machine selection method, and program

The technique efficiently selects Ising machines using benchmark Ising Hamiltonians and graph features, reducing manual effort and costs by generating relationships R1 and R2 to determine the optimal machine for a given problem and time constraint.

JP7795741B2Active Publication Date: 2026-01-08NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The process of selecting an Ising machine to solve a problem requires human labor and time, and the trial-and-error method incurs costs and is burdensome, especially when multiple problems need to be addressed.

Method used

A technique that uses benchmark Ising Hamiltonians and graph feature vectors to efficiently select an Ising machine by generating relationships R1 and R2, allowing for the selection of the optimal machine based on allowable calculation times and graph features without actual problem-solving.

Benefits of technology

Enables efficient Ising machine selection, reducing the need for manual trial-and-error and minimizing costs by using pre-generated data to determine the best machine for a given problem and time constraint.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007795741000006
    Figure 0007795741000006
  • Figure 0007795741000007
    Figure 0007795741000007
  • Figure 0007795741000008
    Figure 0007795741000008
Patent Text Reader

Abstract

To provide a technique for efficiently selecting Ising machines.SOLUTION: An Ising machine selection device includes: a feature quantity vector calculation unit configured to calculate a feature quantity vector of a graph corresponding to an Ising Hamiltonian to be selected; a first selection unit configured to select an Ising Hamiltonian Hm_0 corresponding to a feature quantity vector with the minimum distance to the feature quantity vector using a relationship R2 between an Ising Hamiltonian Hm and a feature quantity vector Xm of the graph corresponding to the Ising Hamiltonian Hm; and a second selection unit configured to select an allowable calculation time Tk_0 that is closest to an allowable time for calculating the Ising Hamiltonian to be selected and select a predetermined number of Ising machines corresponding to a value Vm_0,n,k_0 in order from the smallest one using a relationship among the Ising Hamiltonian Hm, an Ising machine In, an allowable calculation time Tk, and a value Vm,n,k of the Ising Hamiltonian Hm at the time when the allowable calculation time Tk has elapsed since the Ising machine In started calculation.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for selecting an Ising machine to be used for solving an optimization problem. [Background technology]

[0002] In recent years, Ising machines, a type of non-von Neumann computer, have been attracting attention. Ising machines are applied to the calculation of combinatorial optimization problems, machine learning, and model calculations in physics and chemistry, and are used to solve, for example, route selection problems aimed at avoiding traffic congestion, route optimization problems for automated guided vehicles in factories, portfolio optimization problems for financial products, advertising distribution optimization problems, rectangle packing problems, slot placement problems, induced subgraph isomorphism problems, and binary neural network problems.

[0003] An Ising machine is a computer based on a new principle of minimizing the Hamiltonian of the Ising model (hereinafter referred to as the Ising Hamiltonian). In order to solve the above problem with an Ising machine, the problem is first converted into an Ising Hamiltonian that represents the problem, and then the Ising Hamiltonian is minimized using the Ising machine. The Ising Hamiltonian H is expressed by the following equation.

number

[0004] When the interaction matrix J and the external magnetic field vector h are input, the Ising machine calculates the spins s1, …, s such that the value of the Ising Hamiltonian H becomes small. N Output the combination of

[0005] Some Ising machines minimize the Quadratic Unconstrained Binary Optimization (QUBO) instead of the Ising Hamiltonian. However, the QUBO and the Ising Hamiltonian can be easily converted to each other (see Non-Patent Document 1).

[0006] Generally, the smaller the value of the Ising Hamiltonian, the better the quality of the solution to the problem before transformation. Therefore, it is preferable to solve the problem using an Ising machine that can make the value of the Ising Hamiltonian smaller.

[0007] Currently, several Ising machines, which are hardware that solves the basis search problem of the Ising model, have been developed, but there are differences in their implementation methods. As a result, the characteristics of the Ising machines also differ, and the quality of the solution is greatly influenced by the Ising machine (see Non-Patent Document 2). A more specific explanation follows. The relationship between the time elapsed since the start of calculation and the value of the Ising Hamiltonian at that elapsed time will differ for each Ising machine, even for the same problem. Furthermore, the relationship between the time elapsed since the start of calculation and the value of the Ising Hamiltonian at that elapsed time will differ for different problems, even if the same Ising machine is used. In other words, the Ising machine that can obtain the highest quality solution will vary depending on both the problem corresponding to the Ising Hamiltonian and the time spent on calculation.

[0008] Although comparisons of performance when the same problem is solved by an Ising machine and a classical computer have been conducted in the past (see Non-Patent Document 3), comparisons of performance when the same problem is solved by various Ising machines have not been conducted. Therefore, in order to select the optimal Ising machine for solving a certain problem, it is necessary to actually solve the problem and compare the results. [Prior art documents] [Non-patent literature]

[0009] [Non-Patent Document 1] Zhengbing Bian, Fabian Chudak, William G. Macready, and Geordie Rose, “The Ising model: teaching an old problem new tricks,” [online], [Retrieved August 1, 2022], Internet<URL: https: / / www.dwavesys.com / media / vbklsvbh / weightedmaxsat_v2.pdf> . [Non-patent document 2] Hamerly, Ryan, et al., “Experimental investigation of performance differences between coherent Ising machines and a quantum annealer,” Science advances, vol.5, no.5, 2019. [Non-patent document 3] Charles Moussa, Henri Calandra, and Vedran Dunjko, “To quantum or not to quantum: towards algorithm selection in near-term quantum optimization,” Quantum Science and Technology, vol.5, no.4, 2020. Summary of the Invention [Problem to be solved by the invention]

[0010] As described above, to select an Ising machine to be used to solve a certain problem, the results of solving the problem are compared, but this trial-and-error selection process requires human labor and time, and is a significant burden. If an Ising machine that is charged according to calculation time is used, the selection process incurs costs. Furthermore, the burden of the selection process is incurred for each problem to be solved. In other words, there is a problem in that the burden of the process of selecting an Ising machine to be used to calculate the Ising Hamiltonian is extremely large.

[0011] Therefore, an object of the present invention is to provide a technique for efficiently selecting an Ising machine to be used in the calculation of an Ising Hamiltonian. [Means for solving the problem]

[0012] In one embodiment of the present invention, M, N, and K are integers of 2 or more, H m (m=1, …, M) is the benchmark Ising Hamiltonian, I n (n=1, …, N) is an Ising machine used to calculate the Ising Hamiltonian, T k Let (k=1, …, K) be the allowable time for calculating the Ising Hamiltonian (hereinafter referred to as the allowable calculation time), and let m , Ising Machine I n , the allowable calculation time T k and Ising Machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of V m,n,k and the relationship R1 and the Ising Hamiltonian H m and the Ising Hamiltonian H m The graph feature vector X corresponding to ma feature vector calculation unit that calculates a feature vector of a graph corresponding to an Ising Hamiltonian that is a selection target for an Ising machine to be used in calculation (hereinafter referred to as a selection target Ising Hamiltonian); and an Ising Hamiltonian H corresponding to a feature vector that has the smallest distance from the feature vector using the relationship R2. m_0 (where m0 satisfies 1≦m0≦M), and a first selection unit that selects the closest allowable calculation time T k_0 (where k0 satisfies 1≦k0≦K), and use the relation R1 to find the value V m_0,n,k_0 and a second selection unit that selects a predetermined number of corresponding Ising machines in order from the smallest to the smallest. [Effects of the Invention]

[0013] According to the present invention, it is possible to efficiently select an Ising machine to be used for calculating an Ising Hamiltonian. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 10 is a diagram illustrating an example of a table representing a relationship R1. [Figure 2] FIG. 10 is a diagram illustrating an example of a table representing a relationship R1. [Figure 3] FIG. 10 is a diagram illustrating an example of a table representing a relationship R2. [Figure 4] FIG. 1 is a block diagram showing a configuration of an Ising machine selection device 100. [Figure 5] 10 is a flowchart showing the operation of the Ising machine selection device 100. [Figure 6] FIG. 2 is a diagram illustrating an example of the functional configuration of a computer that realizes each device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0015] Hereinafter, an embodiment of the present invention will be described in detail. Note that components having the same functions are given the same numbers and redundant explanations will be omitted.

[0016] Before describing each embodiment, the notation used in this specification will be explained.

[0017] ^ (caret) represents a superscript, e.g., x y^z Yes z is a superscript to x, and x y^z Yes z is a subscript to x. Also, _ (underscore) represents a subscript. For example, x y_z Yes z is a superscript to x, and x y_z Yes z is a subscript to x.

[0018] The superscripts "^" and "~" such as ^x and ~x for a certain letter x should be written directly above the "x", but due to restrictions on the notation in the specification, they are written as ^x and ~x.

[0019] <Technical background> It is believed that the behavior of an Ising machine is similar to that of an Ising Hamiltonian with similar characteristics. Therefore, in an embodiment of the present invention, data related to a benchmark Ising Hamiltonian is generated in advance, and the data is used to select an Ising machine to be used in calculating the Ising Hamiltonian to be selected. In this case, taking into consideration that a graph can be associated with an Ising Hamiltonian and that an Ising Hamiltonian can be associated with a graph, the Ising Hamiltonian and the graph are treated as being the same.

[0020] The details are explained below. Suppose there are N Ising machines (where N is an integer equal to or greater than 2) used to calculate the Ising Hamiltonian, and I1, ..., I N We will express this as follows.

[0021] (1) Generation of benchmark data for the Ising Hamiltonian First, a plurality of graphs are generated using a graph generation algorithm. Then, Ising Hamiltonians corresponding to the generated graphs are obtained, and these Ising Hamiltonians are used as benchmark Ising Hamiltonians. Note that, as the graph generation algorithm, for example, the methods described in Reference Non-Patent Document 1, Reference Non-Patent Document 2, and Reference Non-Patent Document 3 can be used.

[0022] (Reference non-patent document 1: P. Erdos and A. Renyi, “On random graphs i,” Publicationes Mathematicae Debrecen, vol.6, pp.290-297, 1959.) (Reference non-patent document 2: Duncan J. Watts and Steven H. Strogatz, “Collective dynamics of 'small-world' networks,” Nature, vol.393, pp.440-442, 1998.) (Reference Non-Patent Document 3: Albert-Laszlo Barabasi and Reka Albert, “Emergence of scaling in random networks,” Science, vol. 286, pp. 509-512, 1999.) Next, we define several allowable times for calculating the Ising Hamiltonian (hereinafter referred to as allowable calculation times). Below, we define benchmark Ising Hamiltonians as H1, ..., H M (where M is an integer greater than or equal to 2), the allowable calculation time is T1, …, T K (where K is an integer greater than or equal to 2). Then, the benchmark Ising Hamiltonian H m Ising machine I n and solve it with Ising machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of Vm,n,k Ask for.

[0023] Finally, the Ising Hamiltonian H m The graph feature vector X corresponding to m Here, the graph feature vector is a vector whose elements are the graph feature quantities, and the following can be used as graph feature quantities, for example:

[0024] (a) Branch density For a graph G, the edge density D is a feature defined by the following equation:

number

[0025] The edge density D is an index that indicates how densely the edges are in the graph G relative to the complete graph.

[0026] (b) Scale-free Scale-free property D for a graph G KL (P||P z ) is a feature defined by the following equation:

number

[0027] Scale-free property D KL (P||P z ) is an index that indicates the degree to which the degree distribution follows a power law.

[0028] (c) Average path length For a graph G, the average path length L c is a feature quantity defined by the following equation:

number

[0029] Average path length L c is the average length of the shortest paths between all pairs of vertices in a graph G, and is one of the indicators of small-world property. Here, small-world property is the property that any two vertices in a graph are connected via a small number of intermediate vertices.

[0030] (d) Average clustering coefficient For a graph G, the average clustering coefficient C is a feature defined by the following equation:

number

[0031] The average clustering coefficient C is the average value of the clustering coefficients for all vertices in the graph G, and is one of the indicators of small-world nature.

[0032] In this way, the Ising Hamiltonian H m , Ising Machine I n , the allowable calculation time T k and Ising Machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of V m,n,k and the relationship R1 and the Ising Hamiltonian H m and the Ising Hamiltonian H m The graph feature vector X corresponding to m The relationship R2 is generated as data for the benchmark Ising Hamiltonian.

[0033] The relationships R1 and R2 can be expressed using tables. Figures 1 and 2 are diagrams showing examples of tables that represent the relationship R1. The relationship R1 is expressed using two tables in Figures 1 and 2, and Figure 1 shows the relationship R1 in the Ising machine I. n Ising Hamiltonian H at the time when the allowable calculation time T1 = 10 ms has elapsed since (n = 1, …, 5) started the calculation m Value V for (m=1, …, 12) m,n,1 Table showing the Ising machine I n Ising Hamiltonian H at the time when the allowable calculation time T2 = 1000 ms has elapsed since (n = 1, …, 5) started the calculation m Value V for (m=1, …, 12) m,n,2 3 is a table showing an example of a table showing the relationship R2. m Graph feature vector X corresponding to (m=1, …, 12) m (Here, the feature vector X m The first, second and third elements of are the Ising Hamiltonian H mis a table showing the branch density, average path length, and average clustering coefficient of the graph corresponding to

[0034] (2) Selection of Ising machine First, an Ising Hamiltonian to be selected as an Ising machine to be used for calculation (hereinafter referred to as a selected Ising Hamiltonian) and an allowable time for calculation of the selected Ising Hamiltonian are input.

[0035] Next, we calculate the feature vector of the graph corresponding to the Ising Hamiltonian to be selected. This feature vector is the same as the feature vector of the relation R2 generated in advance.

[0036] Then, using the relation R2, the Ising Hamiltonian H corresponding to the feature vector that has the smallest distance from the feature vector calculated earlier is calculated. m_0 (where m0 satisfies 1≦m0≦M). Any distance can be used as the distance between vectors. For example, Euclidean distance can be used as the distance between vectors.

[0037] Finally, the allowable calculation time T k (k=1, …, K) Select the Ising Hamiltonian to be selected from the list. The closest allowable calculation time T k_0 (where k0 satisfies 1≦k0≦K), and use the relation R1 to find the value V m_0,n,k_0 A predetermined number of Ising machines are selected in order from the smallest to the largest. The selected Ising machines are m_0,n,k_0 The reason for selecting from the smallest value is that the smaller the value, the higher the quality of the Ising machine that gives the solution.

[0038] An example of Ising machine selection will be explained below using the relationship R1 in Figures 1 and 2 and the relationship R2 in Figure 3. If the feature vector of the graph corresponding to the Ising Hamiltonian to be selected is (0.421, 1.589, 0.378), and the allowable time for calculating the Ising Hamiltonian to be selected is 10 ms, and Euclidean distance is used as the distance between vectors, then H6 is selected as the Ising Hamiltonian corresponding to the feature vector with the smallest distance, as shown in Figure 3. Then, if the number of Ising machines to be selected is 5, then (I3, I5, I4, I2, I1) is output as a list of Ising machines arranged in order from smallest value to largest, as shown in Figure 1.

[0039] First Embodiment M, N, and K are integers of 2 or more, and H m (m=1, …, M) is the benchmark Ising Hamiltonian, I n (n=1, …, N) is an Ising machine used to calculate the Ising Hamiltonian, T k (k=1, ..., K) is the time allowable for calculating an Ising Hamiltonian (hereinafter referred to as the allowable calculation time), and the Ising machine selection device 100 selects a predetermined number of Ising machines to be used for calculating the Ising Hamiltonian to be selected (hereinafter referred to as the selected Ising Hamiltonian) from the Ising Hamiltonian to be used as the selection target for the calculation and the time allowable for calculating the selected Ising Hamiltonian.

[0040] The Ising machine selection device 100 will be described below with reference to Figs. 4 and 5. Fig. 4 is a block diagram showing the configuration of the Ising machine selection device 100. Fig. 5 is a flowchart showing the operation of the Ising machine selection device 100. As shown in Fig. 4, the Ising machine selection device 100 includes a feature vector calculation unit 110, a first selection unit 120, a second selection unit 130, and a recording unit 190. The recording unit 190 is a component that appropriately records information necessary for the processing of the Ising machine selection device 100. The recording unit 190 stores in advance the Ising Hamiltonian H m , Ising Machine I n , the allowable calculation time Tk and Ising Machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of V m,n,k and the relationship R1 and the Ising Hamiltonian H m and the Ising Hamiltonian H m The graph feature vector X corresponding to m Record the relationship between R and R2.

[0041] The operation of the Ising machine selection device 100 will be described with reference to FIG.

[0042] In S110, the feature vector calculation unit 110 receives an Ising Hamiltonian to be selected as an input, calculates a feature vector of a graph corresponding to the Ising Hamiltonian to be selected, and outputs the calculated vector. The number of elements of the graph feature vector is arbitrary, and the elements can be features of any graph.

[0043] In S120, the first selection unit 120 receives the feature vector calculated in S110 as an input, and selects an Ising Hamiltonian H corresponding to the feature vector that has the smallest distance from the feature vector using the relationship R2. m_0 (where m0 satisfies 1≦m0≦M) is selected and output. Any distance can be used as the distance between vectors.

[0044] In S130, the second selection unit 130 selects the Ising Hamiltonian H selected in S120 from the time allowable for calculation of the Ising Hamiltonian to be selected. m_0 is input, and the allowable calculation time T k (k=1, …, K) Select the Ising Hamiltonian to be selected from the list. The closest allowable calculation time T k_0 (where k0 satisfies 1≦k0≦K), and use the relation R1 to find the value V m_0,n,k_0 Select a predetermined number of Ising machines in order from the smallest to the largest, and calculate the value V m_0,n,k_0The system outputs a list of Ising machines sorted in order from smallest to largest. The above predetermined number is arbitrary. If the above predetermined number is N, the user will be able to select the optimal Ising machine from the available Ising machines based on the output list.

[0045] According to the embodiments of the present invention, it is possible to efficiently select an Ising machine to be used for calculating an Ising Hamiltonian. When making the selection, it is not necessary to actually solve the Ising Hamiltonian using an Ising machine. Furthermore, by inputting an allowable time for calculating the Hamiltonian, it is possible to efficiently select an Ising machine even when it is desired to obtain a solution in a short time or when it is desired to prioritize calculation time over the quality of the solution.

[0046] <Additional Notes> The processing of each unit of each of the above-mentioned devices may be realized by a computer, in which case the processing content of the functions that each device should have is described by a program. Then, by loading this program into the recording unit 2020 of the computer 2000 shown in Fig. 6 and operating the arithmetic processing unit 2010, the input unit 2030, the output unit 2040, the auxiliary recording unit 2025, etc., the processing functions of each of the above-mentioned devices are realized on the computer.

[0047] The device of the present invention may, for example, be a single hardware entity, having an input unit capable of inputting signals from outside the hardware entity, an output unit capable of outputting signals to outside the hardware entity, a communication unit to which a communication device (e.g., a communication cable) can be connected for communication with outside the hardware entity, a CPU (which may also include a central processing unit, cache memory, registers, etc.) as an arithmetic processing unit, RAM and ROM as memories, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so as to enable data exchange. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing to a recording medium such as a CD-ROM. An example of a physical entity equipped with such hardware resources is a general-purpose computer.

[0048] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required for processing these programs (the programs may be stored in a ROM, which is a read-only storage device, for example, instead of an external storage device). Data obtained by processing these programs is stored in RAM, the external storage device, etc. as appropriate.

[0049] In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data required for processing each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate. As a result, the CPU realizes predetermined functions (each component represented as the above, "... unit," "... means," etc.). In other words, each component in the embodiments of the present invention may be configured by a processing circuitry.

[0050] As described above, when the processing functions of the hardware entities (apparatuses of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, by executing this program on a computer, the processing functions of the hardware entities are realized on the computer.

[0051] The program describing the processing contents can be recorded on a computer-readable recording medium, such as a non-transitory recording medium, specifically a magnetic recording device, an optical disk, or the like.

[0052] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.

[0053] A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or transferred from a server computer in its own non-transitory storage device, the auxiliary storage unit 2025. Then, when executing a process, the computer loads the program stored in its own non-transitory storage device, the auxiliary storage unit 2025, into the storage unit 2020 and executes processing in accordance with the loaded program. Alternatively, as another execution mode of this program, the computer may load the program directly from a portable recording medium into the storage unit 2020 and execute processing in accordance with the program. Furthermore, each time a program is transferred from a server computer to this computer, the computer may execute processing in accordance with the received program. Alternatively, the server computer may not transfer the program to this computer, but may instead execute the processing function by issuing an execution instruction and obtaining the results, thereby executing the above-described processing through a so-called ASP (Application Service Provider) type service. Note that the program in this embodiment includes information used for processing by a computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that define computer processing).

[0054] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.

[0055] The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.

Claims

1. M, N, and K are integers of 2 or more, and H m (m=1, …, M) is the benchmark Ising Hamiltonian, I n (n=1, …, N) is an Ising machine used to calculate the Ising Hamiltonian, T k Let (k=1, …, K) be the allowable time for calculating the Ising Hamiltonian (hereinafter referred to as the allowable calculation time), Ising Hamiltonian H m , Ising Machine I n , the allowable calculation time T k and Ising Machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of V m,n,k Relationship with R 1 and the Ising Hamiltonian H m and the Ising Hamiltonian H m The graph feature vector X corresponding to m Relationship with R 2 a recording unit that records the above; a feature vector calculation unit that calculates a feature vector of a graph corresponding to an Ising Hamiltonian that is a selection target for an Ising machine to be used in calculation (hereinafter referred to as a selection target Ising Hamiltonian); Relationship R 2 Using the Ising Hamiltonian H m_0 (However, m 0 is 1≦m 0 a first selection unit that selects a set of values ​​satisfying M≦M; The allowable calculation time T k_0 (However, k 0 is 1≦k 0 ≦K) and select the relation R 1 Using the value V m_0,n,k_0 a second selection unit that selects a predetermined number of Ising machines corresponding to the Ising machine with the smallest value; An Ising machine selection device including:

2. M, N, and K are integers of 2 or more, and H m (m=1, …, M) is the benchmark Ising Hamiltonian, I n (n=1, …, N) is an Ising machine used to calculate the Ising Hamiltonian, T k Let (k=1, …, K) be the allowable time for calculating the Ising Hamiltonian (hereinafter referred to as the allowable calculation time), Ising Hamiltonian H m , Ising Machine I n , the allowable calculation time T k and Ising Machine I n The allowable calculation time T k Ising Hamiltonian H at the time m The value of V m,n,k Relationship with R 1 and the Ising Hamiltonian H m and the Ising Hamiltonian H m The graph feature vector X corresponding to m Relationship with R 2 a feature vector calculation step in which the Ising machine selection device calculates a feature vector of a graph corresponding to an Ising Hamiltonian that is a selection target for an Ising machine to be used in calculation (hereinafter referred to as a selection target Ising Hamiltonian), The Ising machine selection device selects the relationship R 2 Using the Ising Hamiltonian H m_0 (However, m 0 is 1≦m 0 a first selection step of selecting a set of variables (satisfying M≦M); The Ising machine selection device selects an allowable calculation time T that is closest to the allowable time for calculating the Ising Hamiltonian to be selected. k_0 (However, k 0 is 1≦k 0 ≦K) and select the relation R 1 Using the value V m_0,n,k_0 a second selection step of selecting a predetermined number of Ising machines corresponding to the smallest number of Ising machines; An Ising machine selection method including:

3. A program for causing a computer to function as the Ising machine selection device according to claim 1.