Optimization method, information processing device, and information processing system

JP7637610B2Active Publication Date: 2025-02-28HITACHI VANTARA LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021186554
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-16
Publication Date
2025-02-28
Estimated Expiration
2041-11-16

AI Technical Summary

Benefits of technology

【0013】 本発明によれば、制約付きの2値2次最適化問題を効率良く解くことができる。上記以外の課題、構成、及び効果は、以下の発明を実施するための形態の説明により明らかにされる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007637610000009
    Figure 0007637610000009
  • Figure 0007637610000010
    Figure 0007637610000010
  • Figure 0007637610000011
    Figure 0007637610000011
Patent Text Reader

Abstract

To provide an optimization method capable of efficiently searching a ground state of a binary-secondary model having constraints, and an information processing device and an information processing system.SOLUTION: An information processing device retrieves a ground state of a binary-secondary model having constraints by substitutively executing search for a ground state of a binary-secondary model where interactive relations between variables are in a complete bipartite graph structure. In this case, the information processing device is capable of executing the ground state retrieval by separating, into groups which can be state updated where constraints are satisfied, a variable group corresponding to an apex set being separated into two by a complete bipartite graph and by updating groups of each of the variables in parallel on the basis of information of an energy function and variables.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an optimization method, an information processing device, and an information processing system. [Background technology]

[0002] Patent Document 1 describes a method for converting the interaction relationship of an Ising model with a quadratic energy function into a complete bipartite graph structure and efficiently performing unconstrained binary quadratic optimization based on simulated annealing.

[0003] Non-Patent Document 1 describes a method for converting various combinatorial optimization problems into binary quadratic optimization problems. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2019 / 216277 [Non-patent literature]

[0005] [Non-Patent Document 1] F. Glover, G. Kochenberger, and Y. Du, “A Tutorial on Formulating and Using QUBO Models”, preprint (arXiv:1811.11538). Summary of the Invention [Problem to be solved by the invention]

[0006] Many physical and social phenomena can be expressed by interaction models. An interaction model is defined by the multiple nodes that make up the model, the interaction relationships between the nodes, and the biases of each node. Various models have been proposed in the fields of physics and social science, and many of them can be interpreted as a form of interaction model.

[0007] Representative examples of interaction models include the Ising model or its equivalent binary quadratic model (BQM). In a BQM, each node takes two values, such as 0 / 1, and has an energy function expressed as a quadratic equation based on the interactions between the nodes and the bias of each node. The search for the lowest energy state (called the ground state) in a BQM is equivalent to an unconstrained binary quadratic optimization problem. One method for searching for this ground state is the Markov chain Monte Carlo method. The Markov chain Monte Carlo method is a calculation method that estimates the desired statistics by updating the state probabilistically and sampling the state.

[0008] Many real-world combinatorial optimization problems have not only an evaluation function that indicates whether a solution is good or bad, but also constraints that the solution must satisfy. When a combinatorial optimization problem is converted into a binary quadratic optimization problem, these constraints become constraints imposed between nodes. In order to search for a solution while satisfying the constraints, for example, state updates can be performed between states that satisfy the constraints according to the Markov chain Monte Carlo method. However, processing such state updates sequentially takes time, making it difficult to solve large-scale optimization problems within a practical time frame.

[0009] The present invention has been made in view of the above background, and has an object to provide an optimization method, an information processing device, and an information processing system that are capable of efficiently performing constrained binary quadratic optimization. [Means for solving the problem]

[0010] In order to achieve the above object, the following optimization method is provided as a first aspect of the present invention. That is, the optimization method is a method that utilizes an information processing device that executes a ground state search. This optimization method converts a binary quadratic model having constraint conditions into a complete bipartite graph that has an interaction relationship and has a connection between the i-th variable pair of a first variable set and a second variable set that makes the values ​​similar in the ground state. This optimization method divides variables in each variable set into groups that can be updated to a state that satisfies the constraint conditions, and executes state updates for each group in parallel.

[0011] Also, as a second aspect of the present invention, the following information processing device is provided. That is, the information processing device is a device for searching for a ground state. The information processing device includes a calculation device for updating variables of a variable set of a complete bipartite graph having a constraint condition. The calculation device includes an interaction coefficient memory, a bias coefficient memory, a first variable memory, a second variable memory, and a signal SW supply line. The interaction coefficient memory stores an interaction matrix J that summarizes interaction coefficients indicating an interaction acting between the first variable set and the second variable set, and a coupling λ that makes the i-th variable pair of the first variable set and the second variable set have similar values ​​in the ground state. The bias coefficient memory stores a bias coefficient h that indicates a bias acting on the variables. The first variable memory stores variables of the first variable set. The second variable memory stores variables of the second variable set. The signal SW supply line supplies a selection signal SW that selects the first variable set or the second variable set. Then, when the selection signal SW selects the d-th variable set (d=1, 2), the calculation device inputs the variable values ​​read from the memory that stores the corresponding variable set, the interaction coefficient values ​​in the interaction matrix J corresponding to the variables, the value of the coupling λ, and the value of the bias coefficient h, and calculates the next state for each group of variables organized by the constraint conditions.

[0012] In addition, as a third aspect of the present invention, the following information processing system is provided. That is, the information processing system is a system for searching for a ground state. The information processing system includes a user terminal and a calculation device. The user terminal is used for inputting information by a user. The calculation device executes updating of variables of a variable set of a complete bipartite graph having a constraint condition, and is located on a cloud different from the user terminal. The calculation device includes an interaction coefficient memory, a bias coefficient memory, a first variable memory, a second variable memory, and a signal SW supply line. The interaction coefficient memory stores an interaction matrix J that summarizes interaction coefficients indicating an interaction acting between the first variable set and the second variable set, and a coupling λ that makes the i-th variable pair of the first variable set and the second variable set have similar values ​​in the ground state. The bias coefficient memory stores a bias coefficient h that indicates a bias acting on the variables. The first variable memory stores variables of the first variable set. The second variable memory stores variables of the second variable set. The signal SW supply line supplies a selection signal SW that selects the first variable set or the second variable set. Then, when the selection signal SW selects the d-th variable set (d=1, 2), the calculation device inputs the variable values ​​read from the memory that stores the corresponding variable set, the interaction coefficient values ​​in the interaction matrix J corresponding to the variables, the value of the coupling λ, and the value of the bias coefficient h, and calculates the next state for each group of variables organized by the constraint conditions. Effect of the Invention

[0013] According to the present invention, it is possible to efficiently solve a binary quadratic optimization problem with constraints. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments of the invention. [Brief description of the drawings]

[0014] [Figure 1] A conceptual diagram of the BQM energy landscape. [Diagram 2] This is an example of a graph diagram that shows the interactions between BQM variables as a complete graph, where the solid lines show the interactions between the variables and the dashed lines show the groups that can be updated to satisfy the constraints. [Diagram 3] This is an example of a graph diagram that shows the interaction relationships of variables in BQM as a complete bipartite graph structure. [Figure 4] FIG. 13 is a diagram illustrating an example of a group for which a state update that satisfies the k-hot constraint is possible. [Diagram 5] FIG. 13 is a diagram illustrating an example of a group that can perform a state update that satisfies a matrix type constraint. [Figure 6] FIG. 1 is a block diagram showing an example of a configuration of an information processing device, and is a schematic configuration of the information processing device. [Figure 7] FIG. 2 is a block diagram showing an example of an arithmetic circuit. [Figure 8] FIG. 1 is a functional block diagram illustrating an example of a configuration of an information processing device, and shows main functions of the information processing device. [Figure 9] 13 is a flowchart illustrating an example of a ground state search process. [Figure 10] FIG. 2 is a block diagram showing a detailed configuration example of a calculation device. [Figure 11] FIG. 2 is a block diagram showing an example of a circuit configuration of one unit; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] Hereinafter, the embodiments will be described in detail with reference to the drawings. In the following description, the same or similar configurations may be given common reference numerals and duplicated descriptions may be omitted. Furthermore, when there are multiple elements having the same or similar functions, different subscripts may be given to the same reference numerals. Furthermore, when there is no need to distinguish between multiple elements, the subscripts may be omitted.

[0016] First, we will explain BQM. BQM is defined by multiple nodes that make up the model, the interaction relationships between the nodes, and the biases for each node. The variable x corresponding to each node i (i = 1 to N) is i x- i∈{0,1}. Based on the interaction relationship and bias of BQM, the energy function H(x) (also called Hamiltonian) is defined. An example of this energy function H(x) is shown below.

[0017]

number

[0018] Here, J is a real symmetric matrix with N rows and N columns, and h is an N-dimensional vector. The first term on the right-hand side of equation 1 expresses the interaction relationship, and the second term on the right-hand side expresses the energy function based on the bias. In general, BQM can be expressed as an undirected graph, and the interaction between pairs of variables in the interaction term is expressed as the edges of the graph. Therefore, J in equation 1 ij does not change its value when the subscripts are swapped. Also, x 2 i =x i So J ij The diagonal elements of can be set to zero by substituting the bias terms.

[0019] The binary quadratic optimization problem is to find the variable array {x i In this embodiment, the ground state of the interaction model is searched for by the Markov Chain Monte Carlo method (hereinafter referred to as MCMC).

[0020] Figure 1 shows a conceptual diagram of the energy landscape of BQM. The horizontal axis of the graph is the variable array, and the vertical axis is the total energy of the system. In MCMC, the current state x={x i} to another state. Methods for performing this type of stochastic state update include the heat bath method and the Metropolis method.

[0021] In the heat bath method, the energy of the update candidate n is E nAs the parameter T that controls the state update, the state update to the update candidate n is executed with the following probability r. Below is an example of the formula used in the heat bath method.

[0022]

number

[0023] In the Metropolis method, the energy difference between the update candidate state and the current state is ΔE, and the state is updated to the update candidate state with the following probability r. Below is an example of the formula used in the Metropolis method.

[0024]

number

[0025] Current state x = (x1,…,x N ), each variable x i The most common method is to update i one by one from 1 to N. By changing the variables one by one, the possible states of the variables as a whole are explored. For example, in the case of Figure 1, one 1 in state A is flipped to 0 to update to state B or state C.

[0026] Here, for example, by gradually decreasing T in Equation 2 from a large value to a small value, MCMC is executed while suppressing state updates, and the energy converges asymptotically to the lowest state. Simulated Annealing (hereafter referred to as SA) is a method that utilizes this to find the optimal solution to a minimization problem. Corresponding to real-world annealing, the parameter T is called the temperature parameter.

[0027] When applying MCMC or SA to BQM, the values ​​of variables are probabilistically updated according to the probability based on the energy function of Equation 2 or Equation 3. Here, variables that do not have an interaction or constraint relationship are independent in the energy function, and it is possible to simultaneously apply state updates based on Equation 2 or Equation 3. Therefore, by updating independent variables in parallel, it is possible to speed up the processing of MCMC or SA.

[0028] However, as described in Non-Patent Document 1, although many combinatorial optimization problems can be reduced to binary quadratic optimization problems, they also have constraints that the solutions must satisfy. For example, in Fig. 1, A has the lowest energy due to the influence of the constraints, but C becomes the optimal solution when the constraints to be satisfied are taken into consideration (here, in Fig. 1, black dots represent states that satisfy the constraints, and white dots represent states that do not satisfy the constraints).

[0029] Figure 2 is a diagram (graph) showing an example of a BQM with constraint relationships between such variables. In the example in Figure 2, two groups of variables with constraint relationships shown by dashed lines are shown. Furthermore, in general combinatorial optimization problems, the interaction relationships between variables generally become tightly coupled as shown in Figure 2 (as shown by solid lines in Figure 2, each variable is coupled to many other variables). Usually, variables are not independent due to constraint relationships and interaction relationships like this, and stochastic updates of each variable cannot be performed simultaneously, making it difficult to speed up the processing of MCMC or SA.

[0030] As a means for handling constraint conditions, as described in Non-Patent Document 1, the constraint relationship in BQM can be considered to be a penalty function method or a method using a Lagrangian function (extended Lagrangian method, etc.). In these methods, a penalty function or a Lagrangian function corresponding to the constraint condition is added to the objective function to configure a ground state that satisfies the constraint condition. However, in these methods, the influence of the penalty function, etc. is determined by the magnitude of the coefficient. If the coefficient is made too large, the influence of the original objective function is reduced and it becomes difficult to find a good solution, and if the coefficient is made too small, the constraint relationship cannot be satisfied, so careful adjustment of the coefficient was required. Furthermore, since SA needs to be repeatedly executed for adjustment, the effective processing time increases, which is also a problem.

[0031] If it were possible to simultaneously update multiple spins while taking into account the interactions and constraints and satisfying the theoretical background required by MCMC, it would be possible to speed up the processing of MCMC and SA. In fact, Patent Document 1 proposes a method for efficiently finding the ground state of a BQM (or an equivalent Ising model) that does not have constraints by converting the interactions into a complete bipartite graph structure.

[0032] In view of this background, in this embodiment, a method for efficiently searching for an optimal solution to a constrained binary quadratic optimization problem using SA that executes state updates in parallel while satisfying constraint relationships, without using a penalty function or a Lagrangian function, will be described.

[0033] The constrained binary quadratic optimization problem targeted in this embodiment is a problem of minimizing the BQM of Equation 1 within a range satisfying the following linear equality constraints.

[0034]

number

[0035]

number

[0036] Figure 3 is a graph showing H(x,y) in formula 5, and the interaction relationship in formula 5 has a complete bipartite graph structure. In other words, Figure 3 shows a structure in which a binary quadratic model is converted into a complete bipartite graph. Here, the groups of variable sets x and y shown by dashed lines correspond to the groups in Figure 2. The two variable sets are called the first variable set x and the second variable set y, respectively. x in the first variable set i and y in the second set of variables j Between them is the size J ij The interactions between these two are at work.

[0037] The third term on the right-hand side of equation 5 acts as an interaction that aligns the values ​​of the i-th (i = 1 to N) pair of variables in the first and second variable sets. If the bond λ>0 is set to a sufficiently large value, the optimal solution to equation 5 will exist in the range of x = y, and will therefore match the optimal solution to equation 4, the original problem. In fact, it is possible to show sufficient conditions for the bond λ for the optimal solutions of equations 4 and 5 to match. One of these is that the following equation 6 holds for any μ>0.

[0038]

number

[0039] Here, by setting an appropriate coupling λ and searching for a solution to Equation 5, a solution search for Equation 4 can be performed. Since Equation 5 has an interactive relationship of the complete bipartite graph structure shown in FIG. 3, there is no interactive relationship between different variables in the variable set. Therefore, if the variable set x(y) is divided into groups that can be updated to satisfy the constraint conditions and updated, it is possible to simultaneously update the variable set x(y) while satisfying the constraint relationship. In other words, the processing efficiency of SA can be improved by parallel processing. Therefore, in this embodiment, the original problem, Equation 4, is solved by solving Equation 5 based on SA.

[0040] 4 and 5 depend on constraint conditions. Therefore, in this embodiment, examples of such update methods are shown for k-hot constraints and matrix-type constraints that often appear in combinatorial optimization problems.

[0041] The k-hot constraint is a constraint that requires k variables in a variable group to be 1 and the other variables to be 0. When the number of variables included in the variable group is m, this constraint condition is expressed by Equation 7.

[0042]

number

[0043] The state candidates that satisfy this constraint are m C k For example, Fig. 4 shows state candidates when k = 1 and m = 6. As an example, to perform a state update that satisfies the constraint conditions for such a k-hot constraint, the energy can be calculated for each state candidate and the state candidate can be selected based on the probability of Equation 2.

[0044] A matrix constraint is a variable x ij This imposes a 1-hot constraint on each of the subscripts i and j of . This constraint is expressed in Equation 8.

[0045]

number

[0046] As an example, Fig. 5 shows the case where i, j = 1 to 6. In order to perform a state update while satisfying this constraint, it is possible to consider, for example, dividing into groups (pairs of two rows) as shown in Fig. 5 (i.e., constructing pairs that allow a state update that satisfies the matrix-type constraint as shown in Fig. 5), and updating to swap columns having elements of 1. Here, whether or not to perform this update may be determined probabilistically based on, for example, Equation 3.

[0047] Here, we have shown examples of variable groups and update methods that can be updated to satisfy the constraints for k-hot constraints and matrix type constraints, but other update methods can be used as long as they satisfy the requirements of MCMC. Also, similar procedures can be applied to other constraint conditions by dividing them into variable groups in the same way.

[0048] Next, an embodiment of an information processing device that executes state updates in parallel while satisfying the above-mentioned constraint relationship will be described. The information processing device 10 shown in FIG. 6 includes a processor 11, a main storage device 12, an auxiliary storage device 13, an input device 14, an output device 15, a communication device 16, one or more arithmetic devices 20, and a system bus 5 that communicatively connects these devices. The information processing device 10 may be realized, for example, by using virtual information processing resources such as a cloud server provided in part or in whole by a cloud system. As an example, a part that executes the update process and a part that is used to store data in the update process may be placed on a cloud, and the process may be executed based on information input via an input device on the user terminal side. In addition, the information processing device 10 may be realized, for example, by a plurality of information processing devices that are communicatively connected and operate in cooperation with each other.

[0049] The processor 11 is configured using, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The main storage device 12 is a device that stores programs and data, and is, for example, a ROM (Read Only Memory), an SRAM (Static Random Access Memory), an NVRAM (Non Volatile RAM), a mask ROM (Mask Read Only Memory), a PROM (Programmable ROM), a RAM (Random Access Memory), a DRAM (Dynamic Random Access Memory), etc. The auxiliary storage device 13 is a hard disk drive, a flash memory, an SSD (Solid State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc)), etc. The programs and data stored in the auxiliary storage device 13 are read into the main storage device 12 at any time.

[0050] The input device 14 is a user interface that accepts information input from a user, and is, for example, a keyboard, a mouse, a card reader, a touch panel, etc. The output device 15 is a user interface that provides information to a user, and is, for example, a display device (LCD (Liquid Crystal Display)) that visualizes various information, an audio output device (speaker), a printer, etc. For display, for example, a graphics card may be provided. The communication device 16 is a communication interface that communicates with other devices, and is, for example, a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Interface) module, a serial communication module, etc.

[0051] The arithmetic device 20 is a device that executes a ground state search. The arithmetic device 20 may take the form of an expansion card that is attached to the information processing device 10, such as a GPU (Graphics Processing Unit). The arithmetic device 20 is configured by hardware such as a CMOS (Complementary Metal Oxide Semiconductor) circuit, an FPGA (Field Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit). The arithmetic device 20 includes a control device, a storage device, an interface for connecting to a system bus 5, and transmits and receives commands and information to and from the processor 11 via the system bus 5. The arithmetic device 20 may be communicably connected to another arithmetic device 20 via a communication line, for example, and may operate in cooperation with the other arithmetic device 20. The functions realized by the arithmetic device 20 may be realized by, for example, having a processor (CPU, GPU, etc.) execute a program.

[0052] 7 is a diagram for explaining the operating principle of the arithmetic device 20, and is a block diagram of a circuit (hereinafter referred to as an arithmetic circuit 700) constituting the arithmetic device 20. The arithmetic circuit 700 realizes calculation of an energy function based on Equation 5 and a probabilistic state update process based on Equation 2 and Equation 3. The operating principle of the arithmetic device 20 will be explained below with reference to the diagram.

[0053] As shown in the figure, the arithmetic circuit 700 includes an interaction coefficient memory 711 , a bias coefficient memory 712 , a d-th variable memory 713 .d (d=1, 2), a product-sum calculation unit 714 , and a comparison calculation unit 715 .

[0054] Information representing the interaction matrix J and the coupling λ is stored in the interaction coefficient memory 711. As described above, since the interaction matrix is ​​a real symmetric matrix, the amount of memory 711 used can be reduced by utilizing this symmetry.

[0055] The bias coefficient memory 712 stores information about a vector h that defines the bias term.

[0056] The d-th variable memory 713.d (d=1, 2) stores information on an N-dimensional vector indicating the state of the d-th variable group of the complete bipartite graph structure described above.

[0057] Signals SW, SR, and ST are input to the arithmetic circuit 700. A mathematical function arithmetic unit (comparison arithmetic unit 715 in FIG. 7) outputs a signal SP.

[0058] The signal SW is a signal that periodically repeats the integers 1 and 2, and designates the variable memory 713.d (d=1, 2) to be updated. The signal SW is supplied via a signal SW supply line of the arithmetic unit 20.

[0059] The signal ST inputs the temperature parameter T in Equation 2 or Equation 3. The signal ST is supplied to the arithmetic unit 20 via a signal ST supply line.

[0060] The signal SR is a signal that provides a uniform random number between 0 and 1. The signal SR is used to determine updates in the formulas 2 and 3. The signal SR is supplied via a signal SR supply line of the arithmetic unit 20.

[0061] As described above, the coupling λ is set to a sufficiently large value based on the interaction matrix J, the matrix A that specifies the constraint conditions, and the vector b. The numerical evaluation based on Equation 6 may be performed outside the calculation device 20, for example, by the processor 11. The calculation can also be performed within the calculation device 20. For example, when calculating the maximum eigenvalue by the power method or the like, this calculation involves repeatedly executing a matrix-vector product, and the product-sum calculation device 714 can be used.

[0062] Data from the interaction coefficient memory 711, bias coefficient memory 712, and d-th variable memory 713.d (d=1, 2), and a signal SW are input to the product-sum calculation device 714. The energy when updating the state of the d-th variable group is calculated by performing the product-sum calculation of Equation 5, and is output.

[0063] Equations 2 and 3 require probabilistic processing based on the energy value, and this part is executed by comparison calculation device 715. The group of variables to be updated is specified by signal SW. Furthermore, the temperature parameter T included in equations 2 and 3 is input from signal ST. Selection of the next state in equation 2 or acceptance / rejection of the next state in equation 3 is determined based on the value of the uniform random number input from signal SR. The value of the variable, which is the output value, is output to signal SP.

[0064] The calculation of the arithmetic circuit 700 can be executed independently for each group for which state updating satisfying the constraint conditions as shown in Fig. 3 is executable. In other words, the speed of MCMC and SA can be increased by executing multiple arithmetic circuits 700 in parallel.

[0065] 8 shows main functions (software configuration) of the information processing device 10. As shown in the figure, the information processing device 10 includes a storage unit 800, an interaction coefficient setting unit (model coefficient setting unit 811 in the figure), a coupling strength calculation unit 812, a variable value initialization unit 813, a temperature parameter control unit 814, an interaction calculation execution unit (energy calculation execution unit 815 in the figure), and a variable value reading unit 816. These functions are realized by the processor 11 reading and executing a program stored in the main storage device 12, or by hardware included in the calculation device 20. In addition to the above functions, the information processing device 10 may include other functions such as an operating system, a file system, a device driver, and a DBMS (DataBase Management System).

[0066] Among the above functions, the storage unit 800 stores BQM-format problem data 801 and a calculation device control program 802 in the main storage unit 12 or the auxiliary storage unit 13. The BQM-format problem data 801 is data in which a combinatorial optimization problem is input in a predetermined description format. That is, it relates to data on the interaction matrix J of Equation 4, which is the problem to be solved, the bias coefficient vector h, and the matrix A and vector b that specify the constraint conditions. The BQM-format problem data 801 is set, for example, by a user via a user interface (input device, output device, communication device, etc.). The calculation device control program 802 is a program that is executed when the energy calculation execution unit 815 controls the calculation device 20, or that loads the energy calculation execution unit 815 into each calculation device 20 and causes the calculation device 20 to execute processing.

[0067] The model coefficient setting unit 811 sets the interaction matrix J in the interaction coefficient memory 711 and the vector h in the bias coefficient memory 712 based on the BQM format problem data 801 .

[0068] The connection strength calculation unit 812 calculates the value of the connection λ in Equation 5 from the BQM-format problem data 801 based on Equation 6, and sets it in the interaction coefficient memory 711 .

[0069] The variable value initialization unit 813 initializes the values ​​stored in the variable memory 713.d (d=1, 2) of the calculation device 20 to appropriate values ​​that satisfy the constraint conditions.

[0070] The temperature parameter control unit 814 controls the temperature parameter T in Equation 2 or 3.

[0071] The interaction calculation execution unit (energy calculation execution unit 815) performs a ground state search by SA using the value of the energy function according to Equation 2 or 3.

[0072] When SA is executed by the energy calculation execution unit 815, the variable value reading unit 816 reads the value stored in the variable memory 713.d (d=1, 2) and outputs the read value to the output device 15 or the communication device 16, thereby completing the ground state search.

[0073] 9 is a flowchart for explaining the process performed by the information processing device 10 when searching for the ground state of BQM (hereinafter referred to as ground state search process S900). Below, the ground state search process S900 will be explained with reference to the same figure. In the following description, the letter "S" before the reference numerals indicates a processing step. The ground state search process S900 is started, for example, by receiving an instruction from the user via the input device 14.

[0074] First, the model coefficient setting unit 811 sets values ​​in the interaction coefficient memory 711 and the bias coefficient memory 712 from the BQM format problem data 801 in the storage unit 800 (S911). Note that the user can also set or edit the memory values ​​via a user interface (realized by, for example, the input device 14, the output device 15, the communication device 16, etc.).

[0075] Next, the connection strength calculation unit 812 sets the connection λ from Equation 6 based on the values ​​of the interaction matrix J, the matrix A defining the constraint conditions, and the vector b stored in the BQM-format problem data 801 in the storage unit 800, and stores the connection λ in the interaction coefficient memory 711. As described above, this calculation may be performed in the arithmetic unit 20 or the processor 11 (S912).

[0076] Next, variable value initialization unit 813 initializes the values ​​stored in variable memory 713.d (d=1, 2) (S913).

[0077] Next, energy calculation execution unit 815 updates the value of variable memory 713.d (d=1, 2) by executing SA based on the value of the energy function according to equation 2 or equation 3 (S914).

[0078] Next, the energy calculation execution unit 815 (interaction calculation execution unit) determines whether the SA end condition is met (for example, whether state update has been performed while changing the temperature parameter T a predetermined number of times) (S915). If the interaction calculation execution unit 815 determines that the SA end condition is met (S915: YES), the process proceeds to S916. On the other hand, if the interaction calculation execution unit 815 determines that the stop condition is not met (S915: NO), the process returns to S914.

[0079] Next, variable value reading unit 817 reads out the value stored in variable memory 713.d (d=1, 2) and stores it as the result of the ground state search (S916), and the ground state search process S900 ends.

[0080] 10 is a block diagram showing a detailed configuration example of the arithmetic device 20, and is a block diagram showing a circuit configuration example when SRAM technology is applied to the arithmetic circuit 700 of this embodiment. In this configuration example, a plurality of units 1001 constitute an array unit 1002. Such a configuration can be manufactured by applying semiconductor manufacturing technology.

[0081] Fig. 11 shows an example of the circuit configuration of one unit 1001. One unit 1001 includes a variable memory 1101 that stores one variable group, and a configuration for updating the values ​​of the variable memory 1101, which will be described later. That is, the same number of units 1001 as the number of groups indicated by the dashed lines in Fig. 3 are prepared, and in the example of Fig. 3, four units 1001 are prepared for each constraint condition.

[0082] The configuration example of FIG. 10 will be described with reference to the generalized configuration of FIG. 7. Data stored in the interaction coefficient memory 711 and the bias coefficient memory 712 are set by the model coefficient setting unit 811 and the coupling strength calculation unit 812. The interaction coefficient memory 711 stores the values ​​of the interaction matrix J and coupling λ, and the bias coefficient memory 712 stores the value of the vector h, but these are used in common by all the units 1001 to reduce the circuit scale. Therefore, the interaction coefficient memory 711 and the bias coefficient memory 712 supply the coefficients J, h, and λ to all the units 1001 (i.e., they supply the values ​​of the interaction coefficients used in the processing of the interaction matrix J, the bias values ​​used in the processing, and the coupling λ values ​​used in the processing to all the units 1001), but the signal lines for this purpose are omitted in FIG. 10. Note that FIG. 10 is just an example, and in principle, each unit 1001 may have the interaction coefficient memory 711 and the bias coefficient memory 712.

[0083] 3, the variable set selection driver 1003 selects one of the first and second variable sets, and inputs an update permission signal SW to each unit 1001. As a result, only the specific variable set is updated.

[0084] The SRAM interface 1004, which has a configuration described later, writes to and reads from a variable memory 1101 that stores variables of the unit 1001 created by applying the circuit configuration of an SRAM. The values ​​of the variables read after the processing in the arithmetic circuit 700 is completed are sent to a variable value reading unit 816. The variable value reading unit 816 outputs the result of the ground state search by appropriately storing and outputting the read values.

[0085] The controller 1005 initializes the arithmetic circuit 700 and reports the end of processing in response to instructions from the energy calculation execution unit 815 .

[0086] Fig. 11 is a diagram showing an example of a circuit configuration of one unit 1001. One unit includes a variable memory 1101 that stores one of the variable groups obtained by further dividing two variable groups. Here, a variable group is a collection of variables that can be updated while satisfying constraints as in Figs. 4 and 5. In this example (the example in Fig. 3), one variable memory 1101 of one unit 1001 stores, as a first variable memory, one variable group having a common constraint condition among the first variable group, or stores, as a second variable memory, one variable group having a common constraint condition among the second variable group.

[0087] The current values ​​of variables are input to the product-sum calculation unit 714. These variables are generated by reading them from the variable memory 1101 of the other unit 1001 by the SRAM interface 1004. In addition, values ​​stored in the interaction coefficient memory 711 and the bias coefficient memory 712 are input.

[0088] The output of the product-sum calculation unit 714, the signal ST, and the signal SR are input to the comparison calculation unit 715. Then, the comparison calculation unit 715 outputs the next state of the variable group based on the formula 2 or formula 3, and stores it in the variable memory 1101.

[0089] As described above in detail, according to the information processing device 10 of the present embodiment, the variables are divided into groups that can be updated to satisfy the constraint conditions, and the updates of each group are parallelized, thereby making it possible to efficiently perform a ground state search of the constrained BQM. Also, as described above, it is possible to efficiently execute a ground state search based on SA. The information processing device 10 (including the arithmetic device 20) has a simple configuration and can be manufactured inexpensively and easily. The information processing device 10 can be used in various fields, and as one example, it is also possible to contribute to economy and energy conservation by obtaining an optimal solution of an objective function that is set from the viewpoint of economy and energy conservation.

[0090] Although one embodiment has been described above in detail, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the spirit of the present invention. For example, the above embodiment has been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the configurations described. In addition, it is possible to add, delete, or replace part of the configuration of the above embodiment with other configurations.

[0091] In addition, the above-mentioned configurations, functional units, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. In addition, the above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC card, an SD card, a DVD, or other recording medium.

[0092] In addition, in each of the above figures, the control lines and information lines are shown as those considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the actual implementation. For example, it may be considered that almost all the components are actually connected to each other.

[0093] The above-described layout of the various functional units, processing units, and databases of the information processing device 10 is merely an example. The layout of the various functional units, processing units, and databases may be changed to an optimal layout in terms of the performance, processing efficiency, communication efficiency, and the like of the hardware and software included in the information processing device 10.

[0094] Furthermore, the configuration (schema, etc.) of the database that stores the various types of data described above can be flexibly changed from the perspective of efficient use of resources, improved processing efficiency, improved access efficiency, improved search efficiency, and the like.

[0095] As described above, a part having a calculation function in the information processing device 10 may be arranged on a cloud, and an information processing system including a user terminal having a user interface function such as an input device and the calculation device 20 arranged on the cloud may be provided. In this information processing system, the calculation device 20 is configured to be able to communicate with an external device such as a user terminal via an appropriate interface. Then, a user can set or edit BQM-format problem data 801 (i.e., values ​​related to interaction coefficients and biases, constraint conditions, etc.) via the user terminal. In addition, data used in the processing of the calculation device 20 and processing results may be stored by the calculation device 20 or may be stored outside the calculation device 20. [Industrial Applicability]

[0096] The optimization method, the information processing device, and the information processing system can be used. [Explanation of symbols]

[0097] 5 system bus, 10 information processing device, 11 processor, 12 main memory device, 13 auxiliary memory device, 14 input device, 15 output device, 16 communication device, 12 main memory device, 20 arithmetic device, 711 interaction coefficient memory, 712 bias coefficient memory, 713.d (d = 1, D) dth variable memory, 714 product-sum calculation device, 715 comparison calculation device, 800 memory unit, 801 BQM format problem data, 802 arithmetic device control program, 811 model coefficient setting unit, 812 coupling strength calculation unit, 813 variable value initialization unit, 814 temperature parameter control unit, 815 energy calculation execution unit, 816 variable value reading unit, 1001 unit, 1002 unit array, 1003 variable selection driver, 1004 SRAM interface, 1005 controller, 1101 variable memory

Claims

1. An optimization method using an information processing device that performs a ground state search, comprising: A binary quadratic model having constraints is converted into a complete bipartite graph having an interaction relationship and a connection between an i-th variable pair of a first variable set and an i-th variable pair of a second variable set that makes the values ​​of the i-th variable pair of the first variable set and the i-th variable pair of the second variable set similar in a ground state; In each set of variables, the variables are divided into groups for which state updates that satisfy the constraints are possible, and the state updates of each group are executed in parallel; The information processing device includes: a first variable memory for storing values ​​of 0 / 1 variables of the first variable group; a second variable memory for storing values ​​of 0 / 1 variables of the second variable group; a signal SW supply line for supplying a selection signal SW for selecting one of the group of variables when updating a value; Equipped with updating the state of the variable of the memory selected by the selection signal SW according to an update method that satisfies the constraint condition imposed on the variable; The information processing device includes: A simulated annealing-based operation is performed to search for the ground state, The information processing device includes: an interaction coefficient memory for storing an interaction matrix J that defines an interaction relationship of the two-value quadratic model and a coupling strength λ that is a value related to the coupling; a bias coefficient memory for storing a vector h relating to the biases of the variables; a signal ST supply line for supplying a temperature signal ST related to a temperature parameter T; a signal SR supply line for supplying a random number signal SR that provides a uniform random number between 0 and 1; Equipped with Calculating a next state based on the interaction matrix J, the coupling strength λ, the vector h, the temperature signal ST, and the random number signal SR; Optimization method according to claim 1,

2. The optimization method according to claim 1, The interaction matrix J is is a real symmetric matrix, The bond strength λ is It can be determined by a numerical calculation based on the interaction matrix J and the constraint conditions. Optimization method according to claim 1,

3. The optimization method according to claim 1, Update the state based on the heat bath method or the Metropolis method. Optimization method according to claim 1,

4. An information processing apparatus for searching a ground state, comprising: A calculation device for updating variables of a variable group of a complete bipartite graph having a constraint condition, The computing device includes: An interaction coefficient memory that stores an interaction matrix J that summarizes interaction coefficients that indicate interactions between a first variable set and a second variable set, and a coupling λ that makes the i-th variable pair of the first variable set and the second variable set have similar values ​​in the ground state; A bias coefficient memory for storing a bias coefficient h indicating a bias acting on a variable; a first variable memory for storing variables of a first variable group; a second variable memory for storing variables of a second variable set; a signal SW supply line for supplying a selection signal SW for selecting the first variable set or the second variable set; Equipped with The computing device includes: When the selection signal SW selects the d-th variable group (d=1, 2), the values ​​of the variables read from the memory storing the corresponding variable group, the values ​​of the interaction coefficients in the interaction matrix J corresponding to the variables, the value of the coupling λ, and the value of the bias coefficient h are input, and the next state is calculated for each group of variables organized under the constraint conditions.

23. An information processing apparatus comprising:

5. An information processing device according to claim 4, The computing device includes: A unit for performing a variable update process, The unit comprises: There are multiple constraints for each condition. Each of the plurality of units includes: The first variable memory or the second variable memory is arranged; The first variable memory and the second variable memory are Store a group of variables grouped together by constraints, 23. An information processing apparatus comprising:

6. An information processing device according to claim 4, The computing device includes: a multiply-and-accumulate unit for performing the calculation of the next state based on a multiply-and-accumulate operation; 23. An information processing apparatus comprising:

7. An information processing device according to claim 4, The computing device includes: A comparison calculation device is provided for calculating a next state of an updated state by performing a probabilistic update.

23. An information processing apparatus comprising:

8. An information processing device according to claim 7, The computing device includes: a signal ST supply line for supplying a temperature signal ST related to a temperature parameter T; a signal SR supply line for supplying a random number signal SR that provides a uniform random number between 0 and 1; Equipped with The comparison operation device includes: The output value by the calculation, the temperature signal ST, and the random number signal SR are used as input values, and a calculation based on simulated annealing is performed, and the next state of the variable group is used as an output value.

23. An information processing apparatus comprising:

9. An information processing system for searching a ground state, comprising: a user terminal used by a user to input information; A computing device that updates variables of a set of variables of a complete bipartite graph having a constraint condition and is located on a cloud different from the user terminal; Equipped with The computing device includes: An interaction coefficient memory that stores an interaction matrix J that summarizes interaction coefficients that indicate interactions between a first variable set and a second variable set, and a coupling λ that makes the i-th variable pair of the first variable set and the second variable set have similar values ​​in the ground state; A bias coefficient memory for storing a bias coefficient h indicating a bias acting on a variable; a first variable memory for storing variables of a first variable group; a second variable memory for storing variables of a second variable set; a signal SW supply line for supplying a selection signal SW for selecting the first variable set or the second variable set; Equipped with The computing device includes: When the selection signal SW selects the d-th variable group (d=1, 2), the values ​​of the variables read from the memory storing the corresponding variable group, the values ​​of the interaction coefficients in the interaction matrix J corresponding to the variables, the value of the coupling λ, and the value of the bias coefficient h are input, and the next state is calculated for each group of variables organized under the constraint conditions. An information processing system comprising:

10. An information processing system according to claim 9, The computing device includes: A unit for performing a variable update process, The unit comprises: There are multiple constraints for each condition. Each of the plurality of units includes: The first variable memory or the second variable memory is arranged; The first variable memory and the second variable memory are Store a group of variables grouped together by constraints, An information processing system comprising:

11. An information processing system according to claim 9, The computing device includes: A comparison calculation device is provided for calculating a next state of an updated state by performing a probabilistic update. An information processing system comprising:

12. An information processing system according to claim 11, The computing device includes: a signal ST supply line for supplying a temperature signal ST related to a temperature parameter T; a signal SR supply line for supplying a random number signal SR that provides a uniform random number between 0 and 1; Equipped with The comparison operation device includes: The output value by the calculation, the temperature signal ST, and the random number signal SR are used as input values, and a calculation based on simulated annealing is performed, and the next state of the variable group is used as an output value. An information processing system comprising:

13. An information processing system according to claim 9, Data relating to the problem to be solved can be set by the user via the user terminal; An information processing system comprising:

Citation Information

Patent Citations

  • Scheduling program, scheduling method, and scheduling device

    JP2020071779A

  • Information processing device, calculation device, and information processing method

    WO2019216277A1

  • Information processing device, calculation device, and information processing method

    WO2020202312A1