Analog computing circuit for solving linear programming problems

By using an analog computing circuit based on a variable resistor array and utilizing the principles of projection neural networks and global feedback loops, the high computational complexity and high cost of linear programming problems in traditional digital computing are solved, achieving efficient, low-latency and low-energy linear programming solutions.

CN119598086BActive Publication Date: 2025-10-24PEKING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411688764.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-10-24
Estimated Expiration
2044-11-25

AI Technical Summary

Technical Problem

Solving linear programming problems in traditional digital computing has high computational complexity and high time and space costs, making it difficult to meet the latency and energy consumption requirements of new application scenarios such as the Internet of Things and artificial intelligence.

Method used

An analog computing circuit based on a variable resistor array is used to realize the structural mapping of the neural network by constructing analog neurons and analog matrix computing modules. The linear programming problem is solved using the projection neural network principle. The global feedback loop and conductance compensation are constructed in combination with the operational amplifier (OPA) to realize the matrix right inversion.

Benefits of technology

It achieves efficient solution of linear programming problems, reduces latency and energy consumption, improves computing area efficiency, and avoids the data transfer bottleneck caused by storage and computing separation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119598086B_ABST
    Figure CN119598086B_ABST
Patent Text Reader

Abstract

The application provides a simulation calculation circuit for solving a linear programming problem, and belongs to the technical fields of semiconductors, simulation calculation and integrated circuits. The circuit is based on an analog matrix calculation circuit of a variable resistance array, and comprises an analog neuron, an analog matrix right inverse module and a matrix vector multiplication module. The analog neuron is constructed by using peripheral circuits such as an operational amplifier (OPA), and realizes functions such as a nonlinear function; the input vector of the analog matrix vector multiplication module comes from the analog neuron, and the output is connected to the analog matrix right inverse module; the input of the analog matrix right inverse module is simultaneously connected in parallel with the input of a constraint vector, and the matrix right inverse calculation is completed based on the idea of conductance compensation; the output is connected to the analog neuron to realize overall closed-loop feedback; and the result vector of the linear programming problem is obtained at the buffer output end of the analog neuron. The application realizes efficient simulation calculation of the linear programming problem, reduces the calculation delay and hardware overhead, and has a wide application prospect.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application provides an analog computing circuit based on a variable resistance array for solving a standard linear programming problem, in particular to an analog computing circuit design based on variable resistance devices (such as resistive random access memory, phase change memory, magnetic memory, ferroelectric memory, etc.), including its working principle and parameter design method, belonging to the field of semiconductor, analog computing and integrated circuit. BACKGROUND

[0002] Linear programming problems are widely used in various scientific and engineering fields, such as control theory, image processing, model control, etc. In traditional digital computing, the solution of linear programming problems often needs to use numerical iteration, which generally has a relatively high computational complexity and generates a large amount of time and space cost. In the context of the continuous development of the Internet of Things and artificial intelligence, new application scenarios such as edge computing and Internet of Things devices have higher requirements for the solution of linear programming problems in terms of latency, energy consumption and area. Under the condition of limited computing resources, analog computing technology based on a variable resistance array is expected to provide an efficient and fast solution for the solution of linear programming problems. The principle of projection neural network introduces neural network into the solution method of linear programming problems, and the analog matrix computing circuit based on a variable resistance array can well map the structure of the projection neural network. By using peripheral circuits such as operational amplifier OPA to construct an analog neuron, the functions of nonlinear functions, etc. can be realized; by connecting the analog neuron with the analog matrix computing module to construct a closed loop feedback, the structure mapping of the neural network can be realized. Benefiting from the high parallelism of the variable resistance array, the basic physical law in the array can be used to realize complex matrix computation with extremely low time complexity, further improving the speed of solving linear programming problems. On the other hand, the non-volatility of the variable resistance device enables the circuit itself to have the in-memory computing feature of completing the computing function in the memory, overcoming the data transfer bottleneck caused by the separation of storage and calculation in traditional digital computers, and further improving the computing power and energy consumption of solving linear programming problems. Therefore, it is of great significance to research an analog computing circuit based on a variable resistance array for realizing efficient solution of linear programming problems. SUMMARY

[0003] In order to realize efficient solution of standard linear programming problems, the present application provides an analog computing circuit for solving a standard linear programming problem, an analog matrix computing circuit based on a variable resistance array, which realizes nonlinear functions, etc. by using peripheral circuits such as operational amplifier OPA to construct an analog neuron; realizes structure mapping of the neural network by connecting the analog neuron with the analog matrix computing module to construct a closed loop feedback.

[0004] The technical scheme of the present application is as follows:

[0005] An analog computing circuit for solving linear programming problems, for a linear programming problem of an n*m (m>n) constraint matrix A, A is a non-negative matrix, an n*1 constraint vector b, and an m*1 objective function vector c, characterized in that the circuit comprises m analog neurons, a matrix-vector multiplication module, and a matrix right inverse module; the analog neuron comprises two analog subtractors and an analog buffer, the matrix-vector multiplication module is an n*m variable resistor array composed of n rows and m columns of variable resistors, and the matrix right inverse module comprises an array of (2n+1)*m variable resistors and n operational amplifiers (OPAs); the m outputs of the matrix right inverse module are sequentially connected to the inputs of the m analog neurons through m analog buffers, and the outputs of the m analog neurons are sequentially connected to the m inputs of the matrix-vector multiplication module, and the n outputs of the matrix-vector multiplication module are sequentially connected to the n inputs of the matrix right inverse module; by mapping the constraint matrix A as the conductance values of the variable resistor arrays in the matrix-vector multiplication module and the matrix right inverse module, mapping the constraint vector b as the input voltage vector of the matrix right inverse module, and mapping the objective function vector c as the input voltage vector of the analog neuron, reading the output voltage vector y of the analog buffer in the analog neuron + That is, the optimal solution vector of the linear programming problem.

[0006] Further, in the analog neuron, for the first analog subtractor, an operational amplifier OPA1 is included, the output voltage of the matrix right inverse module, the inverted objective function voltage vector -c, and the output voltage of the analog buffer are connected to the positive input terminal of OPA1 through input resistors, while a grounded unit resistance is connected; a unit resistance and a capacitor for feedback are connected to the negative input terminal and the output terminal of OPA1, while a 3 times conductance value grounded resistance is connected; for the analog buffer, an operational amplifier OPA2 is included, the output voltage of the first analog subtractor is connected to the positive input terminal of OPA2, and the negative input is connected to the output terminal of OPA2 to form feedback, at the same time, OPA2 of the analog buffer only provides positive power supply, and the negative power supply is grounded, realizing the range constraint of the feasible solution of the linear programming problem, and the output voltage vector y of OPA2 +The optimal solution vector of the linear programming problem; for the second analog subtractor, including operational amplifier OPA3, the voltage output of the analog buffer is connected to the positive input of OPA3 through an input resistance with a 2-gain conductance, and the inverted objective function voltage vector-c is also connected to the positive input of OPA3 through an input resistance, while a grounded unit resistance is connected; the output voltage of the first analog subtractor is connected to the negative input of OPA3 through a unit resistance, while the negative input of OPA3 is connected to a 2-gain conductance grounded resistance; the negative input and output of OPA3 are connected through a unit resistance to realize feedback; at the same time, the optimal solution vector of the linear programming problem is obtained from the output voltage of the analog buffer of the analog neuron.

[0007] Further, the variable resistance device is a resistive random access memory (RRAM), a phase change memory (PCM), a magnetic memory (MRAM), or a ferroelectric memory (FJT, FeFET).

[0008] Further, in the matrix vector multiplication module, the n×m constraint matrix A is mapped to the conductance values of the n×m variable resistance devices in the variable resistance array, the inputs on the m column lines of the variable resistance array are connected in turn to the outputs of the m analog neurons to form the input vector of the matrix vector multiplication module, and the current outputs on the n row lines are connected in turn to the n inputs of the matrix right inverse module.

[0009] Further, in the matrix right inverse module, the n×m constraint matrix A is respectively mapped to two n×m variable resistance arrays with the same conductance value, the current output vector of the matrix vector multiplication module is connected in turn to the row lines of the first variable resistance array, while the inverted constraint voltage vector-b is also connected in turn to the row lines of the first variable resistance array through an input resistance, and the row lines of the first variable resistance array are connected to the negative inputs of the n OPAs; the output ends of the n OPAs are connected in turn to the row lines of the second variable resistance array to form a global negative feedback loop, the column lines of the two variable resistance arrays are connected in turn, and the output voltage vector of the matrix right inverse module is obtained from the column lines.

[0010] Further, in the above analog computing linear programming problem solving circuit based on a variable resistance array, the connection of the m analog neurons with the matrix vector multiplication module and the matrix right inverse module is disconnected, the voltage input of the constraint vector b is kept suspended, the voltage input vector is applied from the input port of the matrix vector multiplication module, and the voltage output vector is read from the output port of the matrix right inverse module to realize the multiplication calculation of the projection matrix and the input vector.

[0011] The beneficial effects of the present application are as follows:

[0012] The present application provides a simulation computing circuit for solving linear programming problems based on a variable resistance array, a nonlinear function is realized by using an operational amplifier OPA and other peripheral circuits to construct an analog neuron, a closed-loop feedback is constructed by connecting the analog neuron with a simulation matrix computing module to realize the structure mapping of a neural network, the optimal solution of a linear programming problem can be efficiently obtained by using the principle of a projection neural network, compared with other computing circuits or methods for linear programming problems, the circuit completes problem solving in the simulation computing domain without numerical iteration, and has lower latency, higher area efficiency and lower energy consumption. BRIEF DESCRIPTION OF DRAWINGS

[0013] Figure 1 is the i-th analog neuron structure diagram of the simulation computing circuit for solving linear programming problems of the present application;

[0014] Figure 2 is the structure diagram of the matrix vector multiplication module, the matrix right inverse module and the projection matrix multiplication calculation of the present application;

[0015] Figure 3 is the structure diagram of the simulation computing circuit for solving linear programming problems of the present application;

[0016] Figure 4 is the linear programming problem calculation example of the present application. DETAILED DESCRIPTION

[0017] In order to more clearly illustrate the object, technical scheme and advantages of the present application, the present application will be further clearly and completely described below by specific embodiments in combination with the drawings. The description here is only used to explain the present application, and is not used to limit the present application.

[0018] The present application provides a simulation computing linear programming problem solving circuit based on a variable resistance array, which is suitable for solving standard linear programming problems, and is realized based on the principles of projection neural network, OPA constructed global feedback loop and conductance compensation for realizing matrix right inverse. By mapping the constraint matrix A of the linear programming problem into the conductance value of the variable resistance array in the matrix vector multiplication module and the matrix right inverse module, mapping the constraint vector b into the input voltage vector of the matrix right inverse module, mapping the objective function vector c into the input voltage vector of the analog neuron, reading the output voltage vector y of the analog neuron + is the optimal solution vector of the linear programming problem.

[0019] Figure 1 is the i-th analog neuron structure diagram of the simulation computing linear programming problem solving circuit based on a variable resistance array, wherein, V in,iAn input voltage applying port for connecting the i-th column output of the matrix right inverse module. V in,i The positive input of the first operational amplifier OPA1 is connected through a unit resistance. In this invention, the conductance value of the input resistance is defined as unit conductance, i.e. g0 = 1, and the conductance value of other resistance devices or the conductance value of the variable resistance device is the ratio of the conductance value of the input resistance. In addition, in order to ensure the correctness of the neuron calculation result, the i-th element c i of the objective function vector is inputted in advance with the voltage of -c i , which is connected to the positive input of OPA1 through a unit resistance. The output voltage of the analog follower is also connected to the positive input of OPA1 through a unit resistance, and a unit resistance connected to ground is also connected to the positive input of OPA1. The negative input of OPA1 is connected to a ground resistance with a conductance value of 3g0, and is connected to the output through a unit resistance and a capacitor in parallel. Figure 1 In this case, according to Kirchhoff's current law, the potentials at the positive and negative inputs of OPA1 are and V 1,- = y i g0 / 4h0 = y i / 4, respectively. Due to the "virtual short" property of OPA, the potentials at the positive and negative inputs are equal, i.e. , which enables OPA1 to realize the function of an analog subtractor, and the formula (1) in Figure 1 is obtained, i.e.

[0020]

[0021] Figure 1 The second operational amplifier OPA2 of the analog neuron adopts the connection method of the analog follower, and the output y i of OPA1 is connected to the positive input of OPA2, and the negative input of OPA2 is connected to the output to form a feedback loop, thereby realizing the following of y i . However, the negative power supply of OPA2 is directly connected to ground, so when y i <0, the output will remain at 0 voltage, and when y i ≥0, the output can normally follow y i , thereby realizing the nonlinear function of the neuron, and the formula (2) in Figure 1 is obtained, i.e.

[0022]

[0023] The output vector of OPA2 is the i-th element of the optimal solution vector of the linear programming problem solved by the present invention.

[0024] Figure 1The output voltage of OPA2 The output voltage of OPA2 i The output voltage of OPA2 i The output voltage of OPA2 The output voltage of OPA2 Figure 1 The output voltage of OPA2

[0025]

[0026] Figure 1 The output voltage of OPA2 i The output voltage of OPA2 out,i The output voltage of OPA2 in,i The output voltage of OPA2

[0027] Figure 2 The structure diagram of the matrix vector multiplication module, the matrix right inverse module and the calculation of the projection matrix multiplication of the application. For the matrix vector multiplication module, the n*m (n<m) matrix A in the standard linear programming problem is mapped to the device conductance value of the variable resistance array in the matrix vector multiplication module. The m column lines of the variable resistance array are connected to the output voltage V out,i of the m analog neurons in turn, constituting the input vector V MVM of the matrix vector multiplication module. According to Ohm's law, the current collected on the jth row line of the variable resistance array is j=1, 2, …, n. By synthesizing n equations, the matrix expression is obtained as

[0028] I MVM =A·V MVM (4)

[0029] For the matrix right inverse module, the constraint matrix A is mapped to the conductance values of two identical variable resistance arrays. The column lines of the two variable resistance arrays are connected in one-to-one correspondence and also serve as the output voltage vector V RINV of the matrix right inverse module. The output end of the matrix right inverse module is connected to m analog buffers. The n row lines of the lower variable resistance array are connected to the output row lines I MVM of the matrix vector multiplication module in correspondence. At the same time, the jth element b jAfter taking the negative, the jth row of the lower variable resistance array is connected to the unit input resistance for applying constraints. The n rows of the lower variable resistance array are connected to the negative input of the n OPAs, and the outputs of the n OPAs are connected to the n rows of the upper array in turn, forming a global negative feedback loop. In addition, a row of grounded variable resistance devices g c,i for conductance compensation. According to Kirchhoff's current law and the "virtual short" characteristic of the OPA, the jth row potential of the lower variable resistance array can be expressed as that is, j = 1, 2, …, n. By combining n equations, the matrix form expression is obtained

[0030] (I MVM -g0b)+AV RINV = 0. (5)

[0031] For the ith column potential of the upper variable resistance array, that is, V RINV,i can be expressed as where V z,j is the jth row potential of the upper variable resistance array, is the sum of the conductances of all variable resistance devices connected in the ith column. According to the value of s determined by the maximum sum of the array rows, the value of the compensation conductance g c,i can be made so that the sum of the variable resistance devices connected in each column is equal, denoted as s. Therefore, V RINV,i is By combining m equations, the matrix form expression is obtained

[0032]

[0033] where V z is the row voltage vector of the upper variable resistance array. By combining formulas (5) and (6), we get

[0034]

[0035] V z = s(AA T ) -1 (g0b-I MVM ), (8)

[0036] V RINV = A T (AA T ) -1 (g0b-I MVM ). (9)

[0037] If only the matrix-vector multiplication module and the matrix right inverse module are connected, the voltage input of the constraint vector is kept suspended while the negated voltage input vector V in is applied from the m column lines of the matrix-vector multiplication module out , and the voltage output vector V

[0038] V out is read from the m column lines of the matrix right inverse module T , then T ) -1 MVM T T -1 MVM in . (10)

[0039] The matrix P = A T T -1 A is a projection matrix. At this time, the circuit calculates the projection matrix-vector multiplication.

[0040] Figure 3 is the structure diagram of the simulation calculation circuit for solving a linear programming problem according to the present application. For the first operational amplifier OPA1 of the analog neuron, the m equations in formula (1) and the transient characteristics of the feedback capacitor can be combined to obtain

[0041]

[0042] wherein ∈ is the final output stabilization time constant, which is determined by the gain-bandwidth product of OPA1 in the analog neuron and the feedback resistor-capacitor network, y is a voltage vector composed of the output voltages of OPA1 of the m analog neurons, and y + is a voltage vector composed of the output voltages of OPA2 of the m analog neurons and is also the optimal solution vector of the linear programming problem, and c is the objective function vector. Combining formulae (3), (4) and (9), we can obtain V in = V RINV = A T (AA T ) -1 (g0b-A·V MVM ) = A T (AA T ) -1 [g0b-A(2y + -y-c)] = q-2Py + + Py+ Pc, wherein q = g0A T (AA T ) -1 b, and combining formula (11), we have​​​​​​​​

[0043]

[0044] wherein u = -(I-P)c+q. Formula (12) completes the network structure mapping of the projection neural network for solving the linear programming problem.

[0045] Figure 4 An example of the circuit for solving the standard linear programming problem by simulating the calculation of the linear programming problem is shown. The optimal solution y of the example linear programming problem is obtained by the circuit according to the principle of the projection neural network + , which is very close to the theoretical optimal solution . Compared with the circuit or method for solving the linear programming problem in the digital calculation field, the circuit completes the problem solving in the analog calculation field without numerical iteration, and has lower delay, higher area efficiency and lower energy consumption.

[0046] Finally, it should be noted that the purpose of publishing the embodiments is to help further understand the present application, but those skilled in the art can understand that various replacements and modifications are possible without departing from the spirit and scope of the present application and the appended claims. Therefore, the present application should not be limited to the disclosed content of the embodiments, and the scope of the present application is defined by the scope of the claims.

Claims

1. An analog computational circuit for solving a linear programming problem, for the linear programming problem of constraint matrix , m > n , is a non-negative matrix, the constraint vector , the objective function vector characterized in that The circuit includes A simulated neuron, a matrix vector multiplication module and a matrix right inverse module; the simulated neuron includes two simulated subtractors and an analog buffer, the matrix vector multiplication module is A variable resistor device OK The variable resistor array of the column, the matrix right inversion module includes An array of variable resistor devices and operational amplifier OPA; the matrix right inverse module Output through The analog buffers are connected in sequence to The input of a simulated neuron, The outputs of the simulated neurons are connected in turn to the matrix-vector multiplication module. inputs, matrix-vector multiplication module The outputs are connected to the matrix right inverse module in sequence. input; by constraining the matrix Mapped to the conductance value of the variable resistor array in the matrix-vector multiplication module and the matrix right inverse module, the constraint vector Mapped to the input voltage vector of the matrix right inverse module, the objective function vector Mapped to the input voltage vector of the simulated neuron, read the analog buffer output voltage vector in the simulated neuron This is the optimal solution vector for the linear programming problem.

2. The analog computation circuit for solving a linear programming problem of claim 1, wherein, The analog neural In the Yuan Dynasty, for the first analog subtractor, including operational amplifier OPA1, the output voltage of the matrix right inverse module, the negated target function vector- And the output voltage of the analog buffer is connected to the positive input terminal of OPA1 through an input resistance, while a grounded unit resistance is connected; The negative input terminal and the output terminal of OPA1 are connected with a unit resistance and a capacitor for feedback, and a ground resistance with a 3 times conductance value; for the analog buffer, including operational amplifier OPA2, the output voltage of the first analog subtractor is connected to the positive input terminal of OPA2, and the negative input is connected to the output terminal of OPA2 to form feedback, at the same time, the analog buffer is only provided with positive power supply for OPA2, and the negative power supply is grounded, thereby realizing the range constraint of the feasible solution of the linear programming problem, and the output voltage vector of OPA2 is namely, the optimal solution vector of the linear programming problem; for the second analog subtractor, including operational amplifier OPA3, the voltage output of the analog buffer is connected to the positive input terminal of OPA3 through an input resistance with a 2 times conductance value, and the inverted target function vector is also connected to the positive input terminal of OPA3, and a unit ground resistance is connected thereto; the output voltage of the first analog subtractor is connected to the negative input terminal of OPA3 through a unit resistance, and a ground resistance with a 2 times conductance value is connected to the negative input terminal of OPA3; the negative input terminal and the output terminal of OPA3 realize feedback through a unit resistance; at the same time, the optimal solution vector of the linear programming problem is obtained from the output voltage of the analog buffer of the analog neuron.

3. The analog computation circuit for solving a linear programming problem of claim 1, wherein, The variable resistance The device is a resistive random access memory, a phase change memory, a magnetic memory, or a ferroelectric memory.

4. The analog computation circuit for solving a linear programming problem of claim 1, wherein, The matrix vector multiplication module, The constraint matrix The mapping is variable resistance array The conductance value of the variable resistance device, the variable resistance array The input on the column line is connected in turn The output of the analog neuron, the input vector of the matrix vector multiplication module, The current output on the row line is connected in turn to the The input end of the matrix right inverse module.

5. The analog computational circuit for solving a linear programming problem of claim 1, wherein, The matrix right inverse module, The constraint matrix The two same conductance values are respectively mapped to The variable resistance array, the current output vector of the matrix vector multiplication module is connected to the row line of the first variable resistance array in turn, and the constraint vector is taken inversely The input resistance is also connected to the row line of the first variable resistance array in turn, and the row line of the first variable resistance array is connected to The negative input end of the OP A; The output end of the OP A is feedback connected to the row line of the second variable resistance array in turn, constituting a global negative feedback loop, the column lines of the two variable resistance arrays are connected in turn, and the output voltage vector of the matrix right inverse module is obtained from the column line; in addition to In addition to the variable resistance device, there is an additional row of ground variable resistance device for conductance compensation, which makes the sum of the conductance values of all variable resistance devices connected by each column line equal. The compensated conductances can be obtained by pre-computing the sum of the columns of the constraint matrix .

6. The analog computation circuit for solving a linear programming problem of claim 1, wherein, disconnection The connection of the analog neuron with the matrix vector multiplication module and the matrix right inverse module, while keeping the voltage input of the constraint vector suspended, applies the voltage input vector from the input port of the matrix vector multiplication module, and reads the voltage output vector from the output port of the matrix right inverse module, to realize the multiplication calculation of the projection matrix and the input vector.

Citation Information

Patent Citations

  • Analog calculation method for solving large-scale linear equation set based on variable resistor array

    CN113901387A

  • Variable resistor array forming method and analog matrix calculation circuit realized based on variable resistor array forming method

    CN114756814A