Method and apparatus for solving an optimization problem using an analog circuit
10423808 ยท 2019-09-24
Assignee
Inventors
Cpc classification
International classification
Abstract
An analog circuit design is described that solves Linear Programming (LP) or Quadratic Programming (QP) problems.
Claims
1. A method of solving an optimization problem with an analog circuit, the method comprising: (a) providing an optimization lattice comprising: (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) connecting one or more cost functions to corresponding cost function rows of the optimization lattice; (c) connecting zero or more equality constraints to the optimization lattice; (d) connecting zero or more inequality constraints to the optimization lattice; (e) providing voltage sources to each cost function, equality constraint, and inequality constraint; and (f) reading voltages from the columns of common voltage conductors of the optimization lattice after the optimization lattice has reached steady state; (g) wherein the voltages of the optimization lattice columns of common voltage conductors form a solution vector to the optimization problem; and (h) wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice; (i) wherein each equality constraint is a voltage supplied to a corresponding row in the rows of common voltage conductors of the optimization lattice through a negative resistance; and (j) wherein the negative resistance is implemented through an operational amplifier.
2. The method of claim 1: wherein each inequality constraint is a voltage supplied to a corresponding row in the rows of common voltage conductors of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode.
3. The method of claim 2, wherein the negative resistance is implemented through an operational amplifier.
4. The method of claim 2, wherein the perfect diode is implemented through an operational amplifier.
5. The of claim 1, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; (a) wherein element G.sub.ij is the i, j element of G; (b) wherein i(0, . . . , m); (c) wherein j(1, . . . , n); and (d)
6. The method of claim 1, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Quadratic Programming (QP) problems.
7. The method of claim 1, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
8. The method of claim 1, wherein each constraint negative resistance for a particular row is calculated as
9. The method of claim 1, wherein each constraint voltage source for a particular row is calculated as
10. The method of claim 1, further comprising: changing one or more of the voltage sources to the cost functions, the equality constraints, or the inequality constraints without otherwise changing the optimization lattice; and then re-reading voltages from the optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state.
11. The method of claim 1: (a) wherein the optimization problem is of the form:
12. An analog circuit for solving an optimization problem, comprising: (a) an optimization lattice comprising: (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) one or more cost functions connected to corresponding cost function rows of the optimization lattice; (c) zero or more equality constraints connected to the optimization lattice; (d) zero or more inequality constraints connected to the optimization lattice; (e) voltage sources connected to the cost functions, the equality constraints, the inequality constraints; (f) output voltages of optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state; (g) wherein the output voltages of the optimization lattice columns of common voltage conductors form a solution vector to an optimization problem:, (h) wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice; (i) wherein each equality constraint is a voltage supplied to a corresponding row of common voltage conductors of the optimization lattice through a negative resistance; (j) wherein each inequality constraint is a voltage supplied to a corresponding row of common voltage conductors of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode; and (k) wherein the negative resistance is implemented through an operational amplifier.
13. The analog circuit of claim 12, wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice.
14. The analog circuit of claim 12, wherein the perfect diode is implemented through one or more devices selected from a group of devices consisting of: an operational amplifier, a comparator, a switch, and a Field Effect Transistor (FET).
15. The analog circuit of claim 12, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; (a) wherein element G.sub.ij is the i, j element of G; (b) wherein i(0, . . . , m); (c) wherein j(1, . . . , n); and (d)
16. The analog circuit of claim 12, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Model Predictive Control (MPC) problems.
17. The analog circuit of claim 12, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
18. The analog circuit of claim 12, wherein each constraint negative resistance for a particular row has a value of
19. The analog circuit of claim 12, wherein each constraint voltage source for a particular row has a value of
20. The analog circuit of claim 12, wherein one or more of the voltage sources supplied to corresponding cost functions, equality constraints, or inequality constraints may be changed without otherwise changing the optimization lattice.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1) The invention will be more fully understood by reference to the following drawings which are for illustrative purposes only:
(2)
(3)
and a voltage source with a value of
(4)
(5)
(6)
(7)
and a voltage source with a value of
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
DETAILED DESCRIPTION OF THE INVENTION
(21) Introduction
(22) The present invention teaches a design methodology of an analog optimization lattice electric circuit that has an equilibrium point that is the solution of a particular problem. Generally, the problem is an optimization problem. However, it may instead comprise a zero cost optimization, which is a solution of algebraic equality or inequality equations.
(23) The problem solution is available after the settling time of the circuit. The settling time is usually much faster than corresponding digital computation time, and can be as low as a few nanoseconds. The method is potentially faster, and believed to be simpler, than any other presently known method.
(24) The circuit may be used in any application where fast solutions of a series of similar problems are required and somewhat lower solution accuracy is tolerable. Examples include, but are not limited to:
(25) (a) Model Predictive Control (MPC) for fast mechanical and electric systems, electric drives, microelectromechanical systems (MEMS);
(26) (b) Building blocks for solvers of integer optimization problems;
(27) (c) Optimal filters (such as Kalman Filters) that are embedded in sensor circuitry;
(28) (d) Fast analog decoding or encoding circuits;
(29) (e) Linear Programming (LP) problems;
(30) (f) Quadratic Programming (QP) problems; and
(31) (g) Image processing prior to analog to digital sampling.
(32) The Optimizing Analog Circuit
(33) Consider the optimization problem:
(34)
where [V.sub.1, . . . , V.sub.n] are the optimization variables, Q, A.sub.ineq, and A.sub.eq are matrices, and c, b.sub.eg and b.sub.ineq are column vectors. The equality and inequality operators are element-wise operators. It should be parenthetically noted that Q is positive semidefinite. If Q is a zero matrix, then the optimization problem is a Linear Programming (LP) problem, otherwise it is a Quadratic Programming (QP) problem.
(35) Without loss of generality, it is assumed that A.sub.ineg, A.sub.eq, and c have non-negative entries. Any LP described by Equations (1) through (3) can be transformed into this form by introducing an auxiliary vector
(36)
where A.sub.ineq, A.sub.eq, and c are split into positive and negative parts (A.sub.ineq=A.sub.ineq.sup.+A.sub.ineq.sup., A.sub.eq=A.sub.eq.sup.+A.sub.eq.sup. and c=c.sup.+c.sup.).
(37) Next in this section, the basic circuit building blocks are described that will be later used to create a circuit that solves a particular problem via an implementation of an optimization lattice. The first basic block enforces equality constraints of the form of Equation (5). The second building block enforces inequality constraints of the form of Equation (6). The penultimate basic block implements the cost function (here it is linear), and finally, the ultimate basic block implements Quadratic cost functions.
(38) The Equality Constraint
(39) Refer now to the circuit 100 of
(40)
is a negative resistance, and
(41)
is a voltage source.
(42) For simplicity, just the single variable b has been used. However, b may also be known as b.sub., or the constraint corresponding to the common node 106. Similarly, the voltage source U may also be known as U.sub., or the constraint voltage for the common node 106.
(43) Proposition 1 (Equality Constraint Circuit)
(44) The circuit in
(45)
(46) Refer now to the circuit 200 depicted in
(47)
where I.sub.k 206 is the current through branch k 208, and R.sub.k 210 is the resistance between node k 212 and common node 202. Equation (9) can be written as an equality constraint on potentials V.sub.k:
(48)
(49) If the right hand side (rhs) of Equation (10) is set to any desired value b, then Equation (10) enforces an equality constraint on a linear combination of V.sub.k. The voltage U is set to:
(50)
(51) The rhs in Equation (11) may be implemented by a negative resistance of
(52)
(thereby forming the IR, or
(53)
term of Equation (11) and a constant voltage source of magnitude
(54)
(55) Equation (11) taken together with Equation (10) yields the desired Equation (8). Therefore, the circuit shown in
(56) The Inequality Constraint
(57) Refer now to the circuit 300 of
(58) Finally, the common node 302 output current I passes through the forward biased ideal diode 304, through a negative resistance of
(59)
and then to a constant voltage source of
(60)
(61) As previously described in the section for equality constraints, for simplicity just the single variableb has been used. However, b may also be known as b.sub., or the constraint value for the common node 302. Similarly, the voltage source U may also be known as U.sub., or the constraint voltage source 308 for the common node 302.
(62) Proposition 2 (Inequality Constraint Circuit)
(63) The circuit in
(64)
(65) Proof.
(66) Kirchhoff's current law (KCL) implies Equation (9) as in the previous case. The ideal diode enforces U U. In
(67)
Equation (9) and the condition that UU yield:
(68)
which can be compactly rewritten as Equation (12). Therefore, the circuit shown in
(69) It should be noted that the ideal diode 304 in
I0(15)
I(UU)=0(16)
By using Equation (15) and rearranging its terms, Equation (16) can be rewritten as
(70)
This Equation (17) is useful for characterizing the analog optimization lattice electrical circuit in other contexts not described here.
(71) The Linear Cost Function
(72) Refer now to the circuit 400 in
(73)
where c=[1/R.sub.1 . . . 1/R.sub.n].sup.T, V=[V.sub.1 . . . V.sub.n].sup.T and J is the cost function. This part of the circuit implements the minimization of the cost function.
(74) A thorough explanation of the cost circuit requires the equations of the entire LP circuit, is presented outside of this patent application. Here, a brief intuitive interpretation is presented.
(75) It can be shown that the LP circuit is passive. This implies that when U.sub.cost is set to a low value, the voltages V.sub.k are driven in a direction that minimizes the current I.sub.cost. Consequently, the cost, J is decreased by decreasing U.sub.cost.
(76) The Quadratic Cost Function
(77) Refer now back to the circuit 300 of
(78) Unlike the equality and inequality constraints, the quadratic cost function requires neither a voltage source nor a negative resistor. Unlike the inequality constraints, the quadratic cost resistor network also has the ideal diode removed. Therefore, in actual implementation, these additional components are not needed, and only the resistors are necessary.
(79) However, for ease of description and limiting the complexity of the description in this invention, the quadratic cost functions may be more readily described as inequality constraints having a large positive voltage source.
(80) A thorough explanation of the quadratic cost circuit requires the equations of the entire LP circuit, which will be presented outside of this patent application.
(81) In short, where a quadratic cost is being used, the circuit 300 remains the same, except that: 1) the perfect diode 304, 2) negative resistor 306, and 3) constant voltage source 308 are all omitted.
(82) The dissipation of energy from a resistor is proportional to a square of current through the resistor E.sub.dissipated=I.sup.2R. The current through a resistor is proportional to difference of voltages between the attached columns of common voltage conductors. The distribution of voltages minimizes power dissipation from resistors, according to the physics of current distribution. Therefore, the circuit dynamically settles into a minimum power dissipation state that corresponds by design to the required quadratic cost matrix Q.
(83) Connecting the Basic Circuits
(84) This section presents how to construct the electrical circuit that solves a general LP or QP problem. A conductance matrix G.sup.(m+1)n is constructed as:
(85)
and denotes G.sub.ij as the i, j element of G. For a given LP or QP problem, previously described by Equations (1) through (3), the R.sub.ij resistor is defined as:
(86)
where the first row of G (corresponding to c.sup.T or the cost function) is indexed by i=0. Additional cost functions may be added to the optmization lattice by indexing negatively on i, such as [1, 2, 3, . . . ].
(87) Refer now to the optimization lattice circuit 500 shown in
(88) The circuit 500 of
(89) Although provision is made for each horizontal conductor 506 to intersect with each vertical conductor 504 via a resistor, a resistor at each intersection is not necessary when the constraint or cost function is independent of particular variables. In such instances, the resistance is effectively infinite, with a corresponding conductance of zero: i.e. the resistance is omitted.
(90) The optimization lattice is most generally presented as an implementation of a complete (m+1,n) array of conductances corresponding to the conductance matrix G previously discussed in Equation (19). However, it is understood that the optimization lattice may be populated with a number of zero conductance elements. Therefore, the lattice is taken as merely a generalization of the optimization problem, and not strictly limited to the population of each and every element with non-zero conductances.
(91) The constraint nodes are illustrated here by equality constraints 508 and inequality constraints 510. There may be as many equality or inequality constraints as necessary to describe the particular LP problem. There may also be zero equality or inequality constraints for particular problems.
(92) There is a cost function 512 that implements the LP problem cost (here indicated as a single row cost function), and quadratic cost resistors that implement the QP problem cost 514. The quadratic cost resistors are implemented in the optimization lattice with each row corresponding to one quadratic cost.
(93) There may be zero to QR numbers of quadratic costs in a particular QP problem. In the case of a non-zero number of QR quadratic costs, the optimization lattice increases in size to accommodate a quadratic resistor subarray of:
(94)
with corresponding conductances of:
(95)
(96) As previously discussed, the quadratic cost functions may also be implemented by simply setting an inequality constraint to have a large positive value voltage source. In this case, the subarrays would instead become part of the inequality constraints in the treatment above.
(97)
(98) Referring back to
(99) Note that one can easily change the rhs of equality constraints of Equation (8) or inequality constrains of Equation (12) to a different value
(100)
This allows one to solve parametric problems by simply changing the value of the external voltage sources.
(101) The circuit as shown in
(102) Negative Resistance Implementation
(103) Recall that in
(104) Refer now to
(105)
(106) Further analysis of the circuit is possible to account for limited gain bandwidth (GBW) products, as well as non-infinite operational amplifier input impedances.
(107) In this implementation, the input port of the circuit can be connected into another network as if it were a negative resistance component.
(108) Approximate Perfect Diode Implementation
(109) Recall that in
(110) Refer now to
(111) Refer now to
(112) Simulations and Experiments
(113) This section presents three examples where the approach proposed in this invention has been successfully applied. In the first example, a Quadratic Programming (QP) problem is solved by the disclosed modeling electrical circuit and simulated by the SPICE [Nagel and Pederson (1973)] simulator. In the second example, an analog Linear Programming (LP) problem is used to control a linear system by using Model Predictive Control (MPC). In the third and final example, an experiment is conducted by realizing the circuit for a small LP with standard electronic components.
(114) Quadratic Programming (QP) Example QPCBLEND
(115) Here, the method disclosed herein is demonstrated and its limits explored by solving the problem QPCBLEND from the Maros and Meszaros QP problem set [Maros and Meszaros (1999)]. The original problem has 83 variables, 43 equality constraints, and 114 inequality constraints. After translation to the all-positive form and the addition of constant variables (see above) the recast problem has 169 variables, 126 equality constraints, and 114 inequality constraints. The circuit that solves this problem was constructed with non-ideal components, including parasitic capacitances that roughly correspond to typical Very Large Scale Integration (VLSI) Complementary Metal Oxide Silicon (CMOS) analog design, and an operational amplifier with gain-bandwidth product (GBW) of 10 GHz.
(116) Refer now to
(117) The circuit transient can be partitioned into two phases. During the first 1000 ns (or first 100 ns for the high gain circuit), rapid convergence to a solution close to optimal can be observed. Afterwards, the circuit continues to improve the solution with a smaller change in the cost value. This behavior suggests that there are two main circuit modesfast modes are associated with components that move in the direction of the cost gradient, and slow modes are associated with voltages quasi-orthogonal to the cost gradient. The fast modes converge rapidly and provide a solution close to the optimum while the slow modes gradually improve the solution over a longer time period.
(118) Model Predictive Controller (MPC) Example
(119) This example demonstrates the implementation of a Model Predictive Controller (MPC) with an Linear Programming (LP) analog circuit model. For this example, the dynamical system
(120)
is used, where x is the system state and u is the input. It is desired that x follows a given reference trajectory while satisfying input constraints. The finite time optimal control problem at time t is formulated as:
(121)
where N is the prediction horizon, x.sub.ref(i) is the reference trajectory at step i, is the sampling time, and x(t) is the initial state at time t. Only the first input, u.sub.0, is applied at each time step t.
(122) With N=16, the LP in Equations (24) through Equations (27) has 96 variables, 63 equality constraints, and 49 inequality constraints. Both an electric circuit that implements the system dynamics together with the circuit that implements the MPC controller were constructed and simulated using Simulation Program with Integrated Circuit Emphasis (SPICE). The voltage value representing the system state was measured and enforced on the x.sub.0 node of the LP. The optimal input value u.sub.0 was injected as input to the simulated system dynamics. Note that in this setup there is no sample and hold. Rather, the two circuits continuously interact with each other.
(123) Refer now to
(124) In order to demonstrate system performance for imperfect analog devices, another simulation result with 1% random Gaussian errors in the values of the resistors is presented on the same
(125) Linear Programming (LP) Hardware Implementation Example
(126) A small Linear Programming (LP) problem was implemented using standard electronics components. The same problem was realized by Hopfield [Tank and Hopfield (1986)] and Chua [Kennedy and Chua (1988)]. The LP problem is defined as follows:
(127)
where c is a cost vector that is varied to get different solution points. The circuit was realized using resistors of 1% accuracy, operational amplifiers (OP27) for the negative resistance, and a comparator (LM311) with a switch (DG201) for implementing functionality of an ideal diode.
(128) Various values for the cost function c and test results are summarized in Table 1. Table 1 shows that the experimental results are accurate up to 0.5%. The circuit reaches an equilibrium 6 s after the cost voltage was applied. The convergence time is governed by a slew rate of the OP27 that is limited to 2.8 v/s.
(129) From the description herein, it will be appreciated that the invention can be embodied in various ways which include but are not limited to the following:
(130) 1. A method of solving an optimization problem with an analog circuit, the method comprising: (a) providing an optimization lattice comprising: (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) connecting one or more cost functions to corresponding cost function rows of the optimization lattice; (c) connecting zero or more equality constraints to the optimization lattice; (d) connecting zero or more inequality constraints to the optimization lattice; (e) providing voltage sources to each cost function, equality constraint, and inequality constraint; and (f) reading the voltages of the optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state; (g) wherein the voltages of the optimization lattice columns of common voltage conductors form a solution vector to the optimization problem.
(131) 2. The method of any of the previous embodiments, wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice.
(132) 3. The method of any of the previous embodiments, wherein each equality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance.
(133) 4. The method of any of the previous embodiments: wherein each inequality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode.
(134) 5. The method of any of the previous embodiments, wherein the negative resistance is implemented through an operational amplifier.
(135) 6. The method of any of the previous embodiments, wherein the negative resistance is implemented through an operational amplifier.
(136) 7. The method of any of the previous embodiments, wherein the perfect diode is implemented through an operational amplifier.
(137) 8. The method of any of the previous embodiments, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; wherein element G.sub.ij is the i, j element of G; wherein i(0, . . . , m); wherein j(1, . . . , n); and
(138)
wherein m is the sum of the number of equality constraints plus the number of inequality constraints.
(139) 9. The method of any of the previous embodiments, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Quadratic Programming (QP) problems.
(140) 10. The method of any of the previous embodiments, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
(141) 11. The method of any of the previous embodiments, wherein each constraint negative resistance for a particular row is calculated as
(142)
where R.sub.k=1/G.sub.k.
(143) 12. The method of any of the previous embodiments, wherein each constraint voltage source for a particular row is calculated as
(144)
where R.sub.k=1/G.sub.k and b.sub. is the corresponding constraint value for row .
(145) 13. The method of any of the previous embodiments, further comprising: changing one or more of the voltage sources to the cost functions, the equality constraints, or the inequality constraints without otherwise changing the optimization lattice; and then re-reading the voltages of the optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state.
(146) 14. A method of solving an optimization problem with an analog circuit, the method comprising: (a) providing an optimization problem of the form:
(147)
recasting the optimization problem so that A.sub.ineq, A.sub.eq, and c have non-negative entries; and (c) modeling the recast optimization problem in an optimization lattice; and (d) wherein V=[V.sub.1, . . . , V.sub.n].sup.T are solution voltages.
(148) 15. An analog circuit for solving an optimization problem, comprising: (a) an optimization lattice comprising (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) one or more cost functions connected to corresponding cost function rows of the optimization lattice; (c) zero or more equality constraints connected to the optimization lattice; (d) zero or more inequality constraints connected to the optimization lattice; (e) voltage sources connected to the cost functions, the equality constraints, the inequality constraints; and (f) output voltages of optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state; (g) wherein the output voltages of the optimization lattice columns of common voltage conductors form a solution vector to an optimization problem.
(149) 16. The analog circuit of any of the previous embodiments, wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice.
(150) 17. The analog circuit of any of the previous embodiments, wherein each equality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance.
(151) 18. The analog circuit of any of the previous embodiments, wherein each inequality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode.
(152) 19. The analog circuit of any of the previous embodiments, wherein the negative resistance is implemented through an operational amplifier.
(153) 20. The analog circuit of any of the previous embodiments, wherein the negative resistance is implemented through an operational amplifier.
(154) 21. The analog circuit of any of the previous embodiments, wherein the perfect diode is implemented through one or more devices selected from a group of devices consisting of: an operational amplifier, a comparator, a switch, and a Field Effect Transistor (FET).
(155) 22. The analog circuit of any of the previous embodiments, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; (a) wherein element G.sub.ij is the i, j element of G; (b) wherein i(0, . . . , m); (c) wherein j(1, . . . , n); and (d)
(156)
wherein m is the sum of the number of equality constraints plus the number of inequality constraints.
(157) 23. The analog circuit of any of the previous embodiments, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Model Predictive Control (MPC) problems.
(158) 24. The analog circuit of any of the previous embodiments, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
(159) 25. The analog circuit of any of the previous embodiments, wherein each constraint negative resistance for a particular row has a value of
(160)
where R.sub.k=1/G.sub.k.
(161) 26. The analog circuit of any of the previous embodiments, wherein each constraint voltage source for a particular row has a value of
(162)
where R.sub.k=1/G.sub.k and b.sub. is the corresponding constraint value for row .
(163) 27. The analog circuit of any of the previous embodiments, wherein one or more of the voltage sources supplied to corresponding cost functions, equality constraints, or inequality constraints may be changed without otherwise changing the optimization lattice.
(164) 28. A method of solving an optimization problem with an analog circuit, the method comprising: (a) providing an optimization lattice comprising: (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) connecting zero or more cost functions to corresponding cost function rows of the optimization lattice; (c) connecting zero or more equality constraints to the optimization lattice; (d) connecting zero or more inequality constraints to the optimization lattice; (e) providing voltage sources to each cost function, equality constraint, and inequality constraint; and (f) reading the voltages of the optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state; (g) wherein the voltages of the optimization lattice columns of common voltage conductors form a solution vector to the optimization problem.
(165) 29. The method of solving the optimization problem with the analog circuit of embodiment 28, further comprising: (a) connecting one or more quadratic cost functions to the optimization lattice; (b) wherein each quadratic cost function comprises one or more quadratic cost resistors connected from (i) a corresponding quadratic cost function row to (ii) one of the columns of common voltage conductors of the optimization lattice.
(166) 30. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 29, wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice.
(167) 31. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 30, wherein each equality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance.
(168) 32. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 31, wherein each inequality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode.
(169) 33. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 32, wherein the negative resistance is implemented through an operational amplifier.
(170) 34. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 33, wherein the perfect diode is implemented through an operational amplifier.
(171) 35. The method of solving the optimization problem with the analog circuit of embodiments 28 through 34, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; wherein element G.sub.ij is the i, j element of G; wherein i(0, . . . , m); wherein j(1, . . . , n); wherein
(172)
and wherein m is the sum of the number of equality constraints plus the number of inequality constraints.
(173) 36. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 35, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Quadratic Programming (QP) problems.
(174) 37. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 36, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
(175) 38. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 37, wherein each constraint negative resistance for a particular row is calculated as
(176)
where R.sub.k=1/G.sub.k.
(177) 39. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 38, wherein each constraint voltage source for a particular row is calculated as
(178)
where R.sub.k=1/G.sub.k and b.sub. is the corresponding constraint value for row .
(179) 40. The method of solving the optimization problem with the analog circuit of any of embodiments 28 through 39, further comprising: changing one or more of the voltage sources to the cost functions, the equality constraints, or the inequality constraints without otherwise changing the optimization lattice; and then re-reading the voltages of the optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state.
(180) 41. A method of solving an optimization problem with an analog circuit, the method comprising: (a) providing an optimization problem of the form
(181)
(b) recasting the optimization problem so that A.sub.ineq, A.sub.eq, and c have non-negative entries; and (c) modeling the recast optimization problem in an optimization lattice; (d) wherein V=[V.sub.1, . . . , V.sub.n].sup.T are solution voltages; (e) wherein Q is a matrix where each non-zero entry represents a quadratic cost resistor that forms one or more quadratic cost functions to the optimization lattice; and (f) wherein each quadratic cost function comprises one or more of the quadratic cost resistors connected from a corresponding quadratic cost function row to one of the columns of common voltage conductors of the optimization lattice.
(182) 42. An analog circuit for solving an optimization problem, comprising: (a) an optimization lattice comprising: (i) rows of common voltage conductors; (ii) columns of common voltage conductors; and (iii) a resistance R.sub.ij connected between row i and column j of the optimization lattice; (b) zero or more cost functions connected to corresponding cost function rows of the optimization lattice; (c) zero or more equality constraints connected to the optimization lattice; (d) zero or more inequality constraints connected to the optimization lattice; (e) voltage sources connected to the cost functions, the equality constraints, the inequality constraints; and (f) output voltages of optimization lattice columns of common voltage conductors after the optimization lattice has reached steady state; (g) wherein the output voltages of the optimization lattice columns of common voltage conductors form a solution vector to an optimization problem.
(183) 43. The analog circuit of embodiment 42, further comprising: (a) one or more quadratic cost functions connected to the optimization lattice; (b) wherein each quadratic cost function comprises one or more quadratic cost resistors connected from a corresponding quadratic cost function row to one of the columns of common voltage conductors of the optimization lattice.
(184) 44. The analog circuit of any of embodiments 42 through 43, wherein each cost function comprises a voltage supplied to a corresponding cost function row of the optimization lattice.
(185) 45. The analog circuit of any of embodiments 42 through 44, wherein each equality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance.
(186) 46. The analog circuit of any of embodiments 42 through 45, wherein each inequality constraint is a voltage supplied to one of the corresponding rows of the optimization lattice through a negative resistance, and then through an implementation of a perfect diode.
(187) 47. The analog circuit of any of embodiments 42 through 46, wherein the negative resistance is implemented through an operational amplifier.
(188) 48. The analog circuit of any of embodiments 42 through 47, wherein the perfect diode is implemented through one or more devices selected from a group of devices consisting of: an operational amplifier, a comparator, a switch, and a Field Effect Transistor (FET).
(189) 49. The analog circuit of any of embodiments 42 through 48, wherein the resistances R.sub.ij connected between row i and column j of the optimization lattice, when inverted, form elements of a conductance matrix G; wherein element G.sub.ij is the i, j element of G; wherein i(0, . . . , m); wherein j(1, . . . , n); wherein
(190)
and wherein m is the sum of the number of equality constraints plus the number of inequality constraints.
(191) 50. The analog circuit of any of embodiments 42 through 49, wherein the optimization problem is selected from a group of optimization problems consisting of: Linear Programming (LP) problems, and Quadratic Programming (QP) problems.
(192) 51. The analog circuit of any of embodiments 42 through 50, wherein absent all resistances R.sub.ij connected between row i and column j of the optimization lattice, each row and column of common voltage conductors in the optimization lattice are electrically isolated.
(193) 52. The analog circuit of any of embodiments 42 through 51, wherein each constraint negative resistance for a particular row has a value of
(194)
where R.sub.k=1/G.sub.k.
(195) 53. The analog circuit of any of embodiments 42 through 52, wherein each constraint voltage source for a particular row has a value of
(196)
where R.sub.k=1/G.sub.k and b.sub. is the corresponding constraint value for row .
(197) 54. The analog circuit of any of embodiments 42 through 53, wherein one or more of the voltage sources supplied to corresponding cost functions, equality constraints, or inequality constraints may be changed without otherwise changing the optimization lattice.
(198) Embodiments of the present invention may be described with reference to flowchart illustrations of methods and systems according to embodiments of the invention, and/or algorithms, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of a flowchart, and combinations of blocks (and/or steps) in a flowchart, algorithm, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and/or software including one or more computer program instructions embodied in computer-readable program code logic. As will be appreciated, any such computer program instructions may be loaded onto a computer, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer or other programmable processing apparatus create means for implementing the functions specified in the block(s) of the flowchart(s).
(199) Accordingly, blocks of the flowcharts, algorithms, formulae, or computational depictions support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and computer program instructions, such as embodied in computer-readable program code logic means, for performing the specified functions. It will also be understood that each block of the flowchart illustrations, algorithms, formulae, or computational depictions and combinations thereof described herein, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer-readable program code logic means.
(200) Furthermore, these computer program instructions, such as embodied in computer-readable program code logic, may also be stored in a computer-readable memory that can direct a computer or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s). The computer program instructions may also be loaded onto a computer or other programmable processing apparatus to cause a series of operational steps to be performed on the computer or other programmable processing apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable processing apparatus provide steps for implementing the functions specified in the block(s) of the flowchart(s), algorithm(s), formula(e), or computational depiction(s).
(201) Although the description above contains many details, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Therefore, it will be appreciated that the scope of the present invention fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the present invention is accordingly to be limited by nothing other than the appended claims, in which reference to an element in the singular is not intended to mean one and only one unless explicitly so stated, but rather one or more. All structural, chemical, and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the present claims. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the present invention, for it to be encompassed by the present claims. Furthermore, no element, component, or method step in the present disclosure is intended to be dedicated to the public regardless of whether the element, component, or method step is explicitly recited in the claims. No claim element herein is to be construed as a means plus function element unless the element is expressly recited using the phrase means for. No claim element herein is to be construed as a step plus function element unless the element is expressly recited using the phrase step for.
(202) TABLE-US-00001 TABLE 1 Experimental and theoretical results for an LP solution. cost x1 x2 direction simulated x1 exact simulated x2 exact 1 4.996 5.000 4.990 5.000 1 1 7.002 7.000 5.005 5.000 2 7.012 7.000 4.980 5.000 0 6.976 7.000 0.005 0.000