Information processing system, information processing method, and information processing program

The information processing system uses an alternating direction multiplier method and feasibility pump algorithm to efficiently solve constrained optimization problems, enhancing the speed and quality of optimal solution finding for interaction models.

JP7624420B2Active Publication Date: 2025-01-30HITACHI LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022024260
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-18
Publication Date
2025-01-30
Estimated Expiration
2042-02-18

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently solving restricted optimization issues, particularly in optimizing portfolios in the financial field by maximizing returns while minimizing risk, often constrained by investment limits.

Method used

An information processing system that employs an alternating direction multiplier method and a feasibility pump algorithm to efficiently solve constrained optimization problems, utilizing a conversion process involving extended Lagrange functions and parallel updates of variables to optimize solutions.

Benefits of technology

This approach enhances the efficiency of solving restricted optimization problems, including basal state searches in interaction models, by improving the speed and quality of optimal solution finding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007624420000026
    Figure 0007624420000026
  • Figure 0007624420000027
    Figure 0007624420000027
  • Figure 0007624420000028
    Figure 0007624420000028
Patent Text Reader

Abstract

To sufficiently execute a search for an optimal solution of a constrained optimization problem including a search for a ground state of an interaction model.SOLUTION: An information processing system executes: conversion processing of converting a constrained mixed-binary quadratic programming problem to an augmented Lagrange function that includes an objective function, a constraint expression, a penalty term on the basis of the constraint expression, with a first variable vector and a second variable vector as variables; first search processing of performing a search for an optimal solution of the first variable vector that optimizes the augmented Lagrange function in an alternating direction method of multipliers, using an optimization algorithm of an unconstrained mixed-binary quadratic programming problem; and second search processing of performing a search for an optimal solution of the second variable vector that optimizes the augmented Lagrange function in the alternating direction method of multipliers, using another algorithm. The information processing system repeatedly executes the second search processing performed using the optimal solution of the first variable vector determined by the first search processing and the first search processing performed using the optimal solution of the second variable vector determined by the second search processing.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] Patent Document 1 discloses a semiconductor device having "a plurality of units each including a first memory cell storing a value expressing one spin of an Ising model in three or more states, a second memory cell storing an interaction coefficient indicating an interaction from other spins that interacts with one spin, and a logic circuit that determines a next state of one spin based on a value expressing the states of the other spins and a function having the interaction coefficient as a constant or variable."

[0003] Furthermore, Patent Document 2 discloses a method for searching for an optimal solution for an Ising model having any coupling by simultaneously probabilistically updating all spins while satisfying the theoretical background required by the Markov chain Monte Carlo method. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2016-51314 A [Patent Document 2] International Publication No. 2019 / 216277 [Non-patent literature]

[0005] [Non-Patent Document 1] Okuyama, T., Sonobe, T., Kawarabayashi, KI, & Yamaoka, M. (2019). Binary optimization by momentum annealing. Physical Review E, 100(1), 012111. [Non-Patent Document 2] Botev, ZI (2017). The normal law under linear restrictions: simulation and estimationvia minimax tilting. Journal of the Royal Statistical Society: Series B(Statistical Methodology), 79(1), 125-148. [Non-Patent Document 3] Neal, RM (1998). Suppressing random walks in Markov chain Monte Carlo using orderedoverrelaxation. In Learning in graphical models (pp. 205-228). Springer,Dordrecht. [Non-Patent Document 4] C. Hildreth. (1957). A quadratic programming procedure, NavalResearch Logistics Quarterly, vol. 4, no. 1, pp. 79-85. [Non-Patent Document 5] Matteo Fischetti, Fred Glover,Andrea Lodi (2005).The feasibility pump. MathematicalProgramming volume 104, pages91-104. 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 multiple nodes that make up the model, the interactions between the nodes, and, if necessary, coefficients acting on each node. In the fields of physics and social science, various models including the Ising model have been proposed, and all of them can be interpreted as a form of interaction model.

[0007] Finding node states that minimize or maximize indicators related to this interaction model is important in solving social issues. Examples include the problem of detecting cliques in social networks and portfolio optimization problems in the financial field. Many problems that need to be solved practically are subject to constraints. For example, in the portfolio optimization problem mentioned above, the goal is to invest in multiple financial products and maximize the return, that is, the profit, while reducing the risk of a decrease in valuation. In this problem, there is generally a constraint that "the total investment amount must be a specified amount."

[0008] The present invention has been made in view of the above-mentioned background, and has an object to provide a technique for efficiently executing an optimal solution search for a constrained optimization problem, including a ground state search for an interaction model. [Means for solving the problem]

[0009] In order to solve the above-mentioned problems, one aspect of the present invention is an information processing system for searching for an optimal solution to a constrained mixed binary quadratic programming problem, the information processing system including a processing unit that executes processing in cooperation with a storage unit, the processing unit executing a conversion process for converting the constrained mixed binary quadratic programming problem into an augmented Lagrangian function having a first variable vector and a second variable vector as variables, the first variable vector including an objective function of the constrained mixed binary quadratic programming problem, a constraint equation of the constrained mixed binary quadratic programming problem, and a penalty term based on the constraint equation, and The method is characterized in that a first search process is performed to search for an optimal solution of a variable vector by using a predetermined optimization algorithm for an unconstrained mixed binary quadratic programming problem, and a second search process is performed to search for an optimal solution of the second variable vector that optimizes the augmented Lagrangian function in an alternating direction multiplier method by using an algorithm other than the predetermined optimization algorithm, and the second search process is performed using the optimal solution of the first variable vector obtained by the first search process, and the first search process is performed using the optimal solution of the second variable vector obtained by the second search process is repeatedly performed. Effect of the Invention

[0010] According to the present invention, it is possible to speed up the search for an optimal solution to a constrained optimization problem including a ground state search for an interaction model. Problems, configurations and effects other than those described above will become apparent from the following description of the preferred embodiment of the invention. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a conceptual diagram illustrating a relationship between a variable array and an objective function value of an optimization problem. [Diagram 2] FIG. 2 is a diagram illustrating an example of the relationship between variables of an objective function of an optimization problem. [Diagram 3] FIG. 2 is a diagram illustrating an example of the relationship between variables of an objective function of an optimization problem. [Figure 4] FIG. 2 is a diagram illustrating hardware of a computer that realizes the information processing device according to the embodiment. [Diagram 5] 1 is a functional block diagram illustrating a configuration of an information processing apparatus according to an embodiment. [Figure 6] 1 is a flowchart illustrating an overall process executed by an information processing apparatus according to an embodiment. [Figure 7] 11 is a flowchart illustrating an optimal solution search process executed by the information processing device according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The embodiment is an example for explaining the present invention, and appropriate omissions and simplifications are made for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.

[0013] When there are multiple components having the same or similar functions, they may be described by using the same reference numerals with different subscripts, or when there is no need to distinguish between these multiple components, the subscripts may be omitted.

[0014] In the embodiment, the processing performed by executing a program may be described. Here, the computer executes the program using a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU)), and performs processing defined by the program while using storage resources (e.g., a memory) and an interface device (e.g., a communication port). Therefore, the subject of the processing performed by executing the program may be the processor. Similarly, the subject of the processing performed by executing the program may be a controller, device, system, computer, or node having a processor. The subject of the processing performed by executing the program may be a calculation unit, and may include a dedicated circuit that performs specific processing. Here, the dedicated circuit is, for example, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a complex programmable logic device (CPLD), a quantum computer, or the like.

[0015] The program may be installed in the computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server may include a processor and a storage resource for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. In addition, in an embodiment, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0016] In the following description, for example, the notation "A~" is equivalent to "~" written directly above "A".

[0017] (A solution method using parallel computing for mixed binary quadratic programming problems) Here, we assume a mixed binary quadratic programming problem as the interaction model. Let the variables of the optimization problem be s1,…,s N Let N be the number of variables, and each variable s i Domain D of i Let be either the binary value {-1, +1} or the continuous value [-1, +1]. i Domain D of i Which is the case is determined for each problem. The objective function H of the optimization problem is expressed as Equation 1. In other words, the objective function H is expressed as a quadratic function of the variable s.

[0018]

number

[0019] In Equation 1, s = [s1, …, s N ] is an N-dimensional vector, J is an N × N symmetric matrix, and h is an N-dimensional vector. As mentioned above, since the domain of definition is different for each variable, the optimization problem is expressed as in Equation 2.

[0020]

number

[0021] Here, the set of indices Λ b , Λ c is defined as Equation 3.

[0022]

number

[0023] set S mixed ={s|s i ∈D i Using these notations, Equation 2 can be expressed as Equation 4.

[0024]

number

[0025] From now on, for all i∈Λ b The element in the i-th row and i-th column of matrix J is set to 0 because this transformation does not change the optimal solution of Equation 2.

[0026] If for all i, D i ={-1, +1}, this optimization problem is a combinatorial optimization problem called a ground state search problem of the Ising model. In this embodiment, in an optimization problem including a ground state search of the Ising model, an optimal solution or an approximate solution is searched for by an algorithm using the Markov Chain Monte Carlo method (hereinafter referred to as MCMC).

[0027] Figure 1 is a conceptual diagram illustrating the relationship between variable arrays and objective function values ​​in an optimization problem, and shows the landscape of objective function values ​​versus variable arrays. The horizontal axis of the graph is variable array s, and the vertical axis is the value of objective function H(s). MCMC repeats probabilistic transitions from the current state s to a state s' that is in the vicinity of state s. The probability of transitioning from state s to state s' is called the transition probability P(s,s'). Examples of transition probability P include the Metropolis method and the heat-bath algorithm.

[0028] The transition probability has a parameter called temperature, which indicates the ease of transition between states. When MCMC is performed while gradually decreasing the temperature from a large value, the objective function value asymptotically converges to the state with the lowest value (the state with the lowest energy, X in Figure 1). Methods that utilize this to find the optimal solution or approximate solution to a minimization problem include simulated annealing (hereinafter referred to as SA (Simulated Annealing)) and momentum annealing (hereinafter referred to as MA (Momentum Annealing)) proposed in Non-Patent Document 1.

[0029] Instead of solving the minimization problem shown in Equation 4, consider solving the minimization problem shown in Equation 5, where S relaxed ={s|s i ∈[-1,+1]}.

[0030]

number

[0031] The optimal solution of Eq. 5 is * =[s1 * ,…,s N * ]. We will not go into the proof here, but the s obtained from Eq. 6 is + =[s1 + ,…,s N + ] is one of the optimal solutions of Equation 4. The goal of this embodiment is to find the optimal solution of Equation 2, but the optimal solution s * Even if we obtain the transformation of Eq. 6 after solving + Here, the function sgn returns +1 if the argument is 0 or greater, and -1 otherwise.

[0032]

number

[0033] Here, N-dimensional vector v=[v 1, …,v N ] is introduced to define the function H' shown in Equation 7.

[0034]

number

[0035] Here, the function V(v) is defined as shown in Equation 8.

[0036]

number

[0037] Matrix W=diag(w1,…,w N ) is an arbitrary diagonal matrix, and v i is a real number that ranges from [-1, +1]. Instead of the minimization problem shown in Equation 5, we introduce Equation 9, which is the minimization problem of H'(s, v).

[0038]

number

[0039] Define two N-dimensional vectors, x = s + v and y = sv. The objective function of the optimization problem to be solved is originally only H, but by introducing a function called V, it becomes possible to obtain a new function that can be updated in parallel using MCMC. Then, the function H' can be rewritten as Equation 10.

[0040]

number

[0041] In other words, the minimization problem of Equation 5 can be rephrased as the minimization problem of Equation 11.

[0042]

number

[0043] The optimal solution of Equation 11 is x * , y * Then, s * =(x * +y * ) / 2. These arguments also hold when W is a zero matrix.

[0044] From the above, the optimal solution to the optimization problem expressed by Equation 2 can be obtained from the solution to the constrained quadratic programming problem shown in Equation 11. MCMC is used to obtain this solution.

[0045] FIG. 2 is a diagram illustrating the relationship between each variable of the objective function of an optimization problem, and shows a graphical model showing the relationship between each variable of function G in Equation 11. FIG. 2 illustrates the case of N=6, but the same applies for general N. The relationship between each variable of function G can be expressed as a complete bipartite graph. If there is a variable x i The variables multiplied by are y1,…,y N and x i When MCMC stochastically updates a variable value, it uses the values ​​of variables related to that variable. In other words, when updating the value of variable x1, y1,…,y N and x1, and the other variables (here, x2,…,x N ) is not referenced. This is also true for updating other variables, such as the value of x2. Therefore, if the value of the variable array y is constant, the theoretical requirements of MCMC are not violated even if each value of the array x is independently and simultaneously updated stochastically.

[0046] Similarly, the variable y i The variables multiplied by are also x1,…,x N andy i Therefore, when the value of the variable array x is constant, each value of the array y can be independently and simultaneously updated probabilistically.

[0047] From the above, "x1, ..., x N Simultaneous update of y1,…,y N By executing MCMC, which is composed of a procedure of repeating "simultaneous update of G", it is possible to search for arrays x and y that minimize the function G while taking advantage of the speedup achieved by parallelization.

[0048] It should be noted that in the discussion of this embodiment, no constraints are placed on the matrix J. For example, even if all elements of the matrix J are nonzero, the above discussion still holds, and parallel updating is possible.

[0049] Fig. 3 is an example of a fully connected graph, illustrating the relationship between the variables of the objective function of an optimization problem. Fig. 3 illustrates the case of N=6, but the same applies to general values ​​of N. On the other hand, when directly applying MCMC to the original problem, the minimization problem of Equation 2, the relationship of the variable array s is expressed by a fully connected graph as shown in Fig. 3, so that the probability of only one variable at a time can be updated, and updates are limited to sequential updates.

[0050] From here, we will describe the probabilistic update procedure for each variable. Let x i Let variables y1,…,y N For a given value of , the variable x in the Boltzmann distribution at temperature T i The probability of existence of p(x i ) satisfies Equation 12.

[0051]

number

[0052] However, variable A i is the value calculated using Equation 13.

[0053]

number

[0054] Variable x i andy i is |x i |+|y i |≦2, so x i The range in which it can be moved is -(2-|y i |) or more (2-|y i |) or less. Therefore, the variable x i is average A i / w i , distributed T / w i In the normal distribution of -(2-|y i |) or more (2-|y i Based on the truncated normal distribution with a domain of |), x i In this method, we can sample the next state of x iThis means that the next state is determined regardless of the current state of y i In this specification, when there is no distinction between the variables x and y, they may be expressed as s.

[0055] Random numbers following the standard normal distribution can be generated by the Box-Muller method. Since the domain of definition is limited, the algorithm shown in Non-Patent Document 2 can be used.

[0056] The search for an optimal solution can be regarded as sampling from an equilibrium state at temperature 0. Therefore, in order to realize a high-quality solution search, it is preferable to converge to the equilibrium state in a short time. In order to improve the convergence to the equilibrium state, various techniques have been proposed in MCMC, and these can also be utilized. For example, Non-Patent Document 3 proposes an overrelaxation method. This samples not just one, but K states from the Boltzmann distribution of temperature T as candidates for the next state. Then, in addition to the sampled K states, a total of (K+1) states of the current state are rearranged to obtain x c 0 <=…<=x c r =x i ≦x c K In other words, the current state is the (r+1)th smallest of the (K+1) values. And x c K+1-r is adopted as the next state. In this method, the next state is x i It depends on the current state of

[0057] (Solving Constrained Mixed Binary Quadratic Programming Problems Using the Alternating Direction Multiplier Method) So far, a method for solving unconstrained mixed binary quadratic programming problems (MCMC) has been explained. Hereafter, a method for solving constrained mixed binary quadratic programming problems, which is the subject of this application, will be explained.

[0058] Consider the following Equation 14 as a constrained mixed binary quadratic programming problem.

[0059]

number

[0060] set X:={{x i} i=1.···,n |x i ∈D i}, set D i is a closed interval. This formulation includes QUBO (Quadratic Unconstrained Binary Optimization) and mixed-binary QP (Quadratic Programming). For a set S, the indicator function I S is defined as follows:

[0061]

number

[0062] set Y:={y∈R n |ξ(y)≦0} is a convex set. Since ξ(y) may be a linear function of y, Y is not necessarily a closed set.

[0063] Using equation 15, equation 14 can be expressed as follows:

[0064]

number

[0065] We define the following augmented Lagrangian function:

[0066]

number

[0067] By introducing the vector v = λ / ρ, equation 17 can be rewritten as equation 18 below.

[0068]

number

[0069] It is known that by repeating the following optimization calculation in accordance with the alternating direction multiplier method, when ρ is sufficiently large, x and y will converge to a certain point, as shown in Equation 19.

[0070]

number

[0071] The specific calculation method for formula 19 will be shown below. The first equation of formula 19 can be transformed into formula 20. In other words, the coefficient matrix of the quadratic term in formula 1 is J~:=J-ρI, the coefficient vector of the linear term is h~:=h+ρ(yv), and it reduces to an unconstrained mixed binary quadratic programming problem in which y is fixed and x is moved. Here, I is a unit matrix. As mentioned above, this optimization problem can be solved efficiently by the above-mentioned MCMC.

[0072]

number

[0073] The second equation of Equation 19 can be expressed as Equation 21 by using vector c = x + v. However, this x is the x previously calculated from the first equation of Equation 19. In other words, this reduces to a constrained mixed binary quadratic programming problem where x is fixed and y is moved.

[0074]

number

[0075] The third equation in Equation 19 is a calculation equation for updating vector v using x and y previously calculated from the first and second equations in Equation 19 and vector v before the update.

[0076] Functions ξ1(y),…,ξ m Let (y) be convex. The function ξ(y)=max i=1,…,m ξ i (y) is convex. For these, ξ1(y)≦0,…,ξ m(y)≦0⇔ξ(y)≦0 holds. From now on, we will consider constraints expressed as convex functions. i ξ with m (y)=a i T xu i Considering a convex function, ξ(y)≦0⇔a i T x≦u i Also, for a finite real number l i ξ with i (y)=l i -a i T Consider a convex function x, ξ(y)≦0⇔l i ≦a i T It is x.

[0077] Therefore, for a finite real number l i ,u i ξ with i (y)=(a i T xl i )(a i T xu i ) in a convex function, ξ(y)≦0⇔l i ≦a i T x≦u i Therefore, the constraint L≦Ax≦U can be treated as ξ(y)≦0. This constraint includes equality constraints, and is an important inequality constraint that appears in many real problems.

[0078] ξ in Eq.21 i We address the optimization problem of the following equation 22, in which (y)≦0 is replaced by L≦Ax≦U.

[0079]

number

[0080] This linear inequality constrained minimum norm problem can be solved by the Hildreth algorithm shown in Non-Patent Document 4.

[0081] So far, we have presented a method for solving mixed binary quadratic programming problems with linear inequality constraints by alternating between optimization methods such as the annealing method, which efficiently solves unconstrained mixed binary quadratic programming problems, and a conventional continuous optimization algorithm called the Hildreth algorithm.

[0082] (Using gradient information to round to a feasible solution) By using the alternating direction method of multipliers, each component of the problem to be solved can be solved efficiently using an appropriate optimization method. However, the alternating direction method of multipliers guarantees convergence to a feasible solution only under certain conditions, and under general conditions, a feasible solution is not necessarily reached when the alternating direction method of multipliers is completed. Since this is not practical, we present a method to efficiently round to a feasible solution using gradient information for mixed binary quadratic programming problems.

[0083] The feasibility pump method is known as a heuristic for finding a feasible solution to an integer programming problem (Non-Patent Document 5). Here, we show how to apply the feasibility pump method to rounding to a feasible solution for the mixed binary quadratic programming problem described above.

[0084] First, we introduce the general concept of the feasibility pump method. Let us assume that we have a vector x~ as a solution candidate for the integer programming problem expressed by Equation 23.

[0085]

number

[0086] The feasibility pump method searches for the vector x~ with the shortest distance while respecting the constraints as one of the next places to search. This is obtained by solving Equation 24, and since this is a linear programming problem that does not include integer constraints, an exact solution can be easily obtained using the simplex method. However, Δ(x~,x) is the distance between vectors x~ and x, and generally the L1 norm is used.

[0087]

number

[0088] In the above formula 24, the objective function of formula 23 is not taken into consideration. As a method for finding a feasible solution with a smaller objective function value, there is also a method in which the solution of the linear programming problem of formula 25 is set as the next point to be searched after vector x~. The constant α is a parameter that determines the importance of the improvement range of the objective function value relative to the distance from the current position.

[0089]

number

[0090] So far, we have explained the conventional feasibility pump method. If we apply this concept to the search for a feasible solution to the mixed binary quadratic programming problem (Equation 1), we can solve the linear programming problem of Equation 25 after defining c: = -J~xh. This gradient vector is simply a matrix product and can be calculated quickly using a GPU or other device. In this way, in the alternating direction multiplier method, the optimal solution x obtained by the (m+1)th optimization process (m is a natural number) using Equation 19 is m+1 ,y m+1 The optimal solution x obtained by the mth optimization process is used when searching for m ,y m can be rounded down to a possible feasible solution.

[0091] (Hardware configuration of information processing device 10) 4 is a diagram illustrating hardware of a computer that realizes an information processing device 10 according to an embodiment. The information processing device 10 has, as hardware, 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 17, and a system bus 18 that communicatively connects these devices. The information processing device 10 may be realized, for example, by using a virtual information processing resource such as a cloud server, a part or whole of which is provided by a cloud system. The information processing device 10 may also be realized, for example, by a plurality of information processing devices that are communicatively connected and operate in cooperation with each other.

[0092] 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. For example, it is a ROM (Read Only Memory), SRAM (Static Random Access Memory), NVRAM (Non Volatile RAM), Mask ROM (Mask Read Only Memory), PROM (Programmable ROM), RAM (Random Access Memory), DRAM (Dynamic Random Access Memory), etc. The auxiliary storage device 13 is a HDD (Hard Disk Drive), a flash memory, SSD (Solid State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), etc. The programs and data stored in the auxiliary storage device 13 are read into the main storage device 12 as needed.

[0093] 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), a graphic card, etc.) that visualizes various information, an audio output device (speaker), a printer, etc. 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.

[0094] The arithmetic device 17 is a device that executes processing related to an optimal solution search for a combinatorial optimization problem. The arithmetic device 17 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 17 is configured by hardware such as a CMOS (Complementary Metal Oxide Semiconductor) circuit, FPGA, ASIC, etc.

[0095] The arithmetic device 17 includes a control device, a storage device, an interface for connecting to the system bus 18, and transmits and receives commands and information to and from the processor 11 via the system bus 18. The arithmetic device 17 may be communicably connected to another arithmetic device 17 via a communication line, for example, and may operate in cooperation with the other arithmetic device 17. The functions realized by the arithmetic device 17 may be realized, for example, by having a processor (CPU, GPU, etc.) execute a program.

[0096] In the information processing device 10, a program is read from the auxiliary storage device 13 and executed by the processor 11 and the main storage device 12 in cooperation with each other, thereby realizing the functions of the information processing device 10. Alternatively, the program for realizing the functions of the information processing device 10 may be acquired from an external computer by communication via the communication device 16. Alternatively, the program for realizing the functions of the information processing device 10 may be recorded on a portable recording medium (optical disk, magnetic disk, magneto-optical disk, semiconductor storage medium, etc.) and read by a medium reading device.

[0097] The information processing device 10 may be an information processing device in which a plurality of devices cooperate to execute processing. A program for realizing an information processing system realizes the same functions as the information processing device 10 by causing each device to realize each function by each program.

[0098] 5 shows the main functions (software configuration) of the information processing device 10. As shown in the figure, the information processing device 10 includes a storage unit 500, a model conversion unit 511, a model coefficient setting unit 512, a weight setting unit 513, a variable value initialization unit 514, a temperature setting unit 515, an arithmetic control unit 516, and a variable value reading unit 517. The arithmetic control unit 516 includes a first optimal solution search unit 516a, a second optimal solution search unit 516b, and a feasible solution candidate search unit 516c. 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 arithmetic device 17. 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).

[0099] Of the above functions, the storage unit 500 stores problem data 501, quadratic programming format problem data 502, domain data 503, and a calculation device control program 504 in the main storage device 12 or the auxiliary storage device 13. The problem data 501 is, for example, data in which an optimization problem or the like is described in a known predetermined description format. The problem data 501 is set, for example, by a user via a user interface (input device, output device, communication device, etc.).

[0100] The quadratic programming format problem data 502 is data generated by the model conversion unit 511 by converting the problem data 501 into data in a format conforming to the format of the constrained mixed binary quadratic programming problem shown in Equation 14. In this conversion, the domain of each given variable is written to the domain data 503. The domain data indicates, for example, whether each variable takes on a binary value or a real value. The calculation device control program 504 is a program that is executed when the calculation control unit 516 controls the calculation device 17, or that is loaded by the calculation control unit 516 into each calculation device 17 and executed by the calculation device 17.

[0101] The model conversion unit 511 converts the problem data 501 into quadratic programming style problem data 502, which is a format for a constrained quadratic programming problem. For this purpose, a function for deriving equation 16 from equation 14 may be implemented in the model conversion unit 511 as software or hardware. The function of the model conversion unit 511 does not necessarily need to be implemented in the information processing device 10, and the information processing device 10 may take in quadratic programming style problem data 502 generated by another information processing device or the like via the input device 14 or the communication device 16.

[0102] The model coefficient setting unit 512 sets the coefficient matrix J of Equation 1 based on the quadratic programming problem data 502 in the nonlinear coefficient memory, and sets the coefficient vector h in the linear coefficient memory. The weight setting unit 513 determines the weight values, as described later.

[0103] The variable value initialization unit 514 initializes the value of each variable stored in the variable memory of the arithmetic unit 17. For example, the variable value initialization unit 514 may uniformly determine the value of each variable by random sampling from -1 to +1. At this time, care must be taken to satisfy constraints on the variables. One of the constraints is that |x i |+|y i |≦2. Other constraints are also possible.

[0104] The temperature setting unit 515 sets the temperature T that is used when the calculation control unit 516 searches for an optimal solution.

[0105] The calculation control unit 516 causes the calculation device 17 to execute a calculation (hereinafter referred to as an interaction calculation by the alternating direction multiplier method) to search for variable arrays x and y that minimize the objective function expressed by Equation 16 for each temperature T set by the temperature setting unit 515. When executing the interaction calculation by the alternating direction multiplier method, the calculation control unit 516 changes the temperature T, for example, from high to low.

[0106] The calculation control unit 516 introduces a Lagrange multiplier (vector λ or vector v) to execute an interaction calculation by the alternating direction multiplier method, and defines an extended Lagrange function of Equation 17 or Equation 18. Then, the first optimal solution search unit 516a of the calculation control unit 516 derives an optimization problem of Equation 20 from the first equation of Equation 19, and solves this optimization problem to obtain an optimal solution x. The first optimal solution search unit 516a is a predetermined calculation device that executes annealing.

[0107] Further, the second optimum solution search unit 516b of the calculation control unit 516 derives the optimization problem of Equation 22 from the second equation of Equation 19 via Equation 21, and obtains the optimum solution y using an algorithm such as the Hildreth algorithm shown in Non-Patent Document 4. The second optimum solution search unit 516b is a different type of calculation device that executes a linear solver or the like and is different from the above-mentioned specific calculation device.

[0108] Then, the feasible solution candidate search unit 516c of the calculation control unit 516 obtains feasible optimal solution candidates x and y to be searched next time based on the optimal solutions x and y by solving an optimization problem such as that shown in Equation 24 or Equation 25 (rounding to a feasible solution). The feasible solution candidate search unit 516c is a calculation device that executes a local solution search algorithm or the like.

[0109] Then, the calculation control unit 516 updates the Lagrange multiplier (vector λ or vector v) based on the vector v used in the current optimum solution search and the feasible optimum solution candidates x and y obtained by rounding to a feasible solution, as in the third equation of equation 19. Then, the calculation control unit 516 executes the search for a solution to the optimization problem of equation 20 by the first optimum solution search unit 516a, the search for a solution to the optimization problem of equation 22 by the second optimum solution search unit 516b, and the rounding of the search solution to a feasible solution, until the termination condition is satisfied.

[0110] When the calculation control unit 516 finishes searching for the optimal solution, the variable value reading unit 517 reads out the variable arrays x and y stored in the variable memory. The values ​​read out here are the solutions to Equation 16. In accordance with the above discussion, the N-dimensional vector s * =(x+y) / 2. Then, the domain data 503 is read and the vector s obtained by the formula 6 is + is output as the final solution to the output device 15 or the communication device 16. In other words, if it is found that the i-th domain in the domain data 503 is {-1, +1}, then sgn(s * i ), if the i-th domain is [-1, +1], then s i In this way, a solution according to the domain is found.

[0111] (Overall processing flow) 6 is a flowchart for explaining the process (hereinafter referred to as overall process S600) performed by the information processing device 10 when searching for an optimal solution. The overall process S600 will be explained below with reference to the same figure. In the following, the letter "S" before the reference numerals indicates a processing step. The overall process S600 is started, for example, by receiving an instruction from the user via the input device 14.

[0112] As shown in the figure, first, the model conversion unit 511 converts the problem data 501 into quadratic programming format problem data 502 (S611). The quadratic programming format problem data expresses, for example, the matrix J and vector h in the function H expressed by Equation 14 in an arbitrary format. If the storage unit 500 has already stored the quadratic programming format problem data 502, the process S611 is omitted. The process of S611 and the process from S612 onwards may be executed by different devices. Furthermore, the process of S611 and the process from S612 onwards may be executed at different times (for example, the process of S611 may be executed in advance).

[0113] Next, the model coefficient setting unit 512 sets the values ​​of the matrix J and the vector h in the memory (S612). The memory values ​​can also be set or edited by the user via a user interface (realized by, for example, the input device 14, the output device 15, the communication device 16, etc.).

[0114] Next, the weight setting unit 513 determines the weight value. As explained in the above-mentioned formula 8, any value is allowed in searching for an optimal solution. Therefore, the value may always be set to 0. In this case, the calculation load can be reduced. Also, as shown in formulas 3 to 5 of Patent Document 2, the weight may be determined from the eigenvalues ​​of matrix J. Alternatively, the weight may be determined from the row sum of matrix J. This value calculation may be executed in the arithmetic unit 17 or the processor 11. Alternatively, the user may set it by himself (S613).

[0115] Next, the variable value initialization unit 514 initializes the values ​​of each variable stored in the memory (S614). The values ​​stored in the memory are continuous values. As mentioned above, the initial values ​​may be random. With the above, the parameters expressing the formula 16 are set.

[0116] Next, the temperature setting unit 515 sets a series T k (k=1, 2, 3, . . . ) is set (S615). Note that the subscript k above indicates the type of the set temperature T. As a method for setting the temperature T, for example, the method disclosed in Patent Document 1 can be adopted.

[0117] Next, the calculation control unit 516 executes an optimum solution search process (S616). Details of S616 will be described later with reference to FIG.

[0118] In S617, variable value reading unit 517 reads the values ​​of the variables stored in the variable memory and the domains of the variables in quadratic programming problem data 502 stored in domain data 503. Then, a vector is calculated through a transformation based on equation 6, and output as a solution to equation 2 or equation 4. This completes the overall processing S600.

[0119] (Flow of the optimal solution search process) FIG. 7 details the specific calculation of S616 in FIG.

[0120] First, the calculation control unit 516 updates the Lagrange multiplier (vector λ or vector v) of the extended Lagrange function of equation 17 or equation 18 (S616a).

[0121] Next, the calculation control unit 516 generates data for the optimization problem expressed by Equation 20 and Equation 21 (S616b). Then, the first optimum solution search unit 516a solves the optimization problem expressed by Equation 20 generated in S616b by an optimization technique such as the annealing method (S616c).

[0122] Next, the second optimal solution searching unit 516b solves the optimization problem shown in Equation 21 using the Hildreth algorithm or the like (S616d).

[0123] Next, the feasible solution candidate search unit 516c rounds up the optimal solutions obtained in S616c and S616d into feasible optimal solution candidates by employing the concept of the feasibility pump method (S616e).

[0124] Next, the calculation control unit 516 checks whether the termination condition is satisfied (S616f). If the predetermined condition is satisfied, such as the number of iterations of the optimal solution search process S616 reaching a predetermined number or a feasible solution already being reached, the calculation control unit 516 terminates the optimal solution search process S616. On the other hand, if the predetermined termination condition is not satisfied, the calculation control unit 516 returns to the process of S616a, updates the Lagrange multiplier (vector λ or vector v) based on the feasible optimal solution candidate obtained in the most recent execution of S616e, and executes S616b to S616e.

[0125] As described above in detail, the information processing device 10 of the present embodiment can efficiently search for an optimal solution to a constrained mixed binary quadratic programming problem. Therefore, the optimization problem can be efficiently solved. The information processing device 10 (including the arithmetic device 17) has a simple configuration and can be manufactured cheaply and easily.

[0126] (Other embodiments) The arithmetic circuit may be configured with software or hardware as long as it has a function of executing calculations to solve the optimization problem described above. Specifically, not only the hardware implemented with electronic circuits (digital circuits, etc.) in the annealing method, but also a method implemented with superconducting circuits, etc. may be used. Also, hardware that realizes the Ising model by a method other than the annealing method may be used. For example, a laser network method (optical parametric oscillation) and a quantum neural network are known. In addition, although the concept is partially different, a quantum gate method in which the calculations performed in the Ising model are replaced with gates such as a Hadamard gate, a rotation gate, and a controlled NOT gate can also be adopted as a configuration of this embodiment.

[0127] As an example of implementation of the arithmetic circuit, it can be implemented as a CMOS (Complementary Metal-Oxide Semiconductor) integrated circuit or a logic circuit on an FPGA. For example, as disclosed in Patent Document 1, a large number of units using SRAM (Static Random Access Memory) technology may be arranged, and each unit may be provided with a memory for storing variables and a circuit for updating the variables.

[0128] The present invention is not limited to the above-described embodiments, and includes various modified examples. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those having all of the configurations described. In addition, it is also possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and to add the configuration of another embodiment to the configuration of one embodiment, as long as there is no contradiction. In addition, it is possible to add, delete, replace, integrate, or distribute a part of the configuration of each embodiment. In addition, the configurations and processes shown in the embodiments can be appropriately distributed, integrated, or replaced based on processing efficiency or implementation efficiency. [Explanation of symbols]

[0129] 10: information processing device, 11: processor, 12: main memory device, 13: auxiliary memory device, 17: arithmetic device.

Claims

1. An information processing system for searching for an optimal solution to a constrained mixed binary quadratic programming problem, comprising: A processing unit that cooperates with the storage unit to execute processing, The processing unit includes: executing a conversion process for converting the constrained mixed binary quadratic programming problem into an extended Lagrangian function having a first variable vector and a second variable vector as variables, the first variable vector including an objective function of the constrained mixed binary quadratic programming problem, a constraint equation of the constrained mixed binary quadratic programming problem, and a penalty term based on the constraint equation; a first search process for searching for an optimal solution of the first variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using a predetermined optimization algorithm for an unconstrained mixed binary quadratic programming problem; a second search process for searching an optimal solution of the second variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using a continuous optimization algorithm; The second search process is performed using an optimal solution of the first variable vector obtained in the first search process, and the first search process is performed using an optimal solution of the second variable vector obtained in the second search process. An information processing system comprising:

2. An information processing system for searching for an optimal solution to a constrained mixed binary quadratic programming problem, comprising: A processing unit that cooperates with the storage unit to execute processing, The processing unit includes: executing a conversion process for converting the constrained mixed binary quadratic programming problem into an extended Lagrangian function having a first variable vector and a second variable vector as variables, the first variable vector including an objective function of the constrained mixed binary quadratic programming problem, a constraint equation of the constrained mixed binary quadratic programming problem, and a penalty term based on the constraint equation; a first search process for searching for an optimal solution of the first variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using a predetermined optimization algorithm for an unconstrained mixed binary quadratic programming problem; a second search process for searching for an optimal solution of the second variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using an algorithm different from the predetermined optimization algorithm; repeatedly executing the second search process using an optimal solution of the first variable vector obtained in the first search process and the first search process using an optimal solution of the second variable vector obtained in the second search process; The predetermined optimization algorithm is a conversion process for converting the unconstrained mixed binary quadratic programming problem into a quadratic programming problem expressed by an objective function including a product of a first state variable vector, a predetermined matrix, and a second state variable vector; a state update process for performing probabilistic updates of the first state variable vector and the second state variable vector by repeating a process of multiplying the predetermined matrix by the first state variable vector to calculate a first vector, performing a probabilistic update of the second state variable vector based on a probability distribution including a parameter based on the first vector, multiplying the predetermined matrix by the second state variable vector to calculate a second vector, and performing a probabilistic update of the first state variable vector based on a probability distribution including a parameter based on the second vector, The other algorithm is a continuous optimization algorithm. An information processing system comprising:

3. 3. The information processing system according to claim 1, The processing unit includes: searching for feasible solution candidates for the constrained mixed binary quadratic programming problem based on the optimal solution of the first variable vector and the optimal solution of the second variable vector using a local solution search algorithm; In the first search process and the second search process, a new optimum solution for the first variable vector and an optimum solution for the second variable vector are searched for using the feasible solution candidates. An information processing system comprising:

4. 4. The information processing system according to claim 3, The processing unit includes: Searching for a candidate for the feasible solution of the first variable vector and a candidate for the feasible solution of the second variable vector that have a shortest distance from an optimal solution of the first variable vector and an optimal solution of the second variable vector within a range that satisfies the constraint equation. An information processing system comprising:

5. 4. The information processing system according to claim 3, The processing unit includes: Searching for a candidate for the feasible solution of the first variable vector and a candidate for the feasible solution of the second variable vector that minimizes a weighted sum of a distance between the optimal solution of the first variable vector and the optimal solution of the second variable vector and an objective function of the constrained mixed binary quadratic programming problem within a range that complies with the constraint equation. An information processing system comprising:

6. 4. The information processing system according to claim 3, The processing unit includes: updating a Lagrange multiplier of the augmented Lagrange function based on the optimal solution of the first variable vector and the optimal solution of the second variable vector; The first search process and the second search process are performed on the extended Lagrangian function to which the updated Lagrangian multiplier has been applied to newly search for an optimal solution of the first variable vector and an optimal solution of the second variable vector. An information processing system comprising:

7. 7. The information processing system according to claim 6, The processing unit includes: The first search process and the second search process are repeatedly executed while updating the Lagrangian multiplier and the feasible solution candidates until a predetermined termination condition is satisfied. An information processing system comprising:

8. An information processing method executed by an information processing system for searching for an optimal solution to a constrained mixed binary quadratic programming problem, comprising: A processing unit included in the information processing system cooperates with a storage unit, executing a conversion process for converting the constrained mixed binary quadratic programming problem into an extended Lagrangian function having a first variable vector and a second variable vector as variables, the first variable vector including an objective function of the constrained mixed binary quadratic programming problem, a constraint equation of the constrained mixed binary quadratic programming problem, and a penalty term based on the constraint equation; a first search process for searching for an optimal solution of the first variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using a predetermined optimization algorithm for an unconstrained mixed binary quadratic programming problem; a second search process for searching an optimal solution of the second variable vector that optimizes the extended Lagrangian function in the alternating direction multiplier method by using a continuous optimization algorithm; The second search process is performed using an optimal solution of the first variable vector obtained in the first search process, and the first search process is performed using an optimal solution of the second variable vector obtained in the second search process.

23. An information processing method comprising:

9. A program for causing a computer to function as the information processing system according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Semiconductor device

    JP2016051314A

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

    WO2019216277A1