← Back to Patent Explorer
US5136538A Expired / Lapsed US ⏱️ 0.0 years remaining

Preconditioned conjugate gradient system

Assignee: Nokia Bell Labs
•
Filing: 1990-02-12
•
Granted: 1992-08-04
•
Expires: 2010-02-12
📄 Original PDF 🌐 Google Patents

Abstract

Abstract Apparatus for optimizing the operational state of a system, which follows the Karmarkar method, and which in the course of carrying out this method, obtains a solution to the linear system of equations AD2ATu=p in accordance with a modified conjugate gradient method that incorporates a preconditioning operation. The preconditioning operation includes pre-drop and post-drop procedures that reduce the number of non-zero terms in the matrix to be preconditioned by judiciously discarding values that are smaller than a certain threshold. Use of the preconditioned conjugate gradient method reduces the processing time required for carrying out each iteration in the Karmarkar method. Further improvement in the operating speed of our apparatus is achieved by employing an asymmetric conjugate gradient method, where the preconditioning parameters are adjusted to obviate the need for square root operations in obtaining the above solution; performing matrix product operations in accordance with an outer product procedure and tailoring the code to the specific attributes of the A matrix.

Inventors

  • 👤 Narendra K. Karmarkar
  • 👤 Kajamalai G. Ramakrishnan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 05:20
CPC Classifications
G; G06; G06F; G06F17/00; G06F17/10; G06F17/11; G06F17/12

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 412 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expresses one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to aid preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred value of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, vector u.sup.(i) to zero, a direction vector d.sup.(i) to AD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =AD 2 A T d.sup.(i) ; third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i).spsp.T q.sup.(i)); fourth means for updating the vector u, the gradient vector g and the direction vector d by evaluating u.sup.(i+1) =u.sup.(i) +αd.sup.(i) g.sup.(i+1) =g.sup.(i) +αq.sup.(i), and; d.sup.(i+1) =-g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; fifth means for setting i=i+1 and returning control to said second means when said iteration count index is below a preselected value and the vector u.sup.(i+1) developed in said fourth means is such that AD 2 A T u.sup.(i+1) is within a chosen threshold of AD, and for setting said u.sup.(i+1) to u and applying said vector u to said parameter modifications means, otherwise; where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix of the vector, respectively.
Claim 2
Dependent Claim 412 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expresses one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to aid preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred value of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, vector u.sup.(i) to zero, a direction vector d.sup.(i) to AD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =AD 2 A T d.sup.(i) ; third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i).spsp.T q.sup.(i)); fourth means for updating the vector u, the gradient vector g and the direction vector d by evaluating u.sup.(i+1) =u.sup.(i) +αd.sup.(i) g.sup.(i+1) =g.sup.(i) +αq.sup.(i), and; d.sup.(i+1) =-g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; fifth means for setting i=i+1 and returning control to said second means when said iteration count index is below a preselected value and the vector u.sup.(i+1) developed in said fourth means is such that AD 2 A T u.sup.(i+1) is within a chosen threshold of AD, and for setting said u.sup.(i+1) to u and applying said vector u to said parameter modifications means, otherwise; where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix of the vector, respectively.
Claim 3
Dependent Claim 114 words
The controller of claim 1 wherein said A matrix is stored within said means for storing in a list that groups columns of said A matrix into sets and maintains row references of non-zero valued entries of said sets, where one set consists of singleton columns where a singleton column is a column that contains a single non-zero valued entry with that entry having the value 1; another set consists of doubleton columns that contain two non-zero valued entries with those entries having the value 1 of like sign; and still another set consists of a doubleton columns that contain two non-zero valued entries with those entries having the value 1 of opposite sign.
Claim 4
Dependent Claim 113 words
The controller of claim 2 wherein said processing means further comprises: means ε for dividing each of said sets into subgroups of columns characterized by each column in each of said subgroups having a non-zero in a common row; means β responsive to said means ε for deleting from storage duplicate instances of said common row references to form a reduced stored list of row references; and means λ responsive to said reduced stored list for evaluating ##EQU8## wherein u is a vector, each d i is a scalar, and each a i is a column in matrix A; where n is a scalar constant and a T is the transpose of a.
Claim 5
Dependent Claim 131 words
The controller of claim 1 wherein said processing means evaluates the expression AD 2 A T u with apparatus comprising: means for developing a dot product of each column in said A matrix, a i , with vector u to yield a scalar a i T u, where it is a summation index; means for multiplying said scalar a i T u, with the diagonal entry in row i of said D matrix, d i , squared; means for developing a vector signal d i 2 (a i T u)a i ; and means for accumulating the vector signals developed by said means for developing a vector signal to produce a resultant vector from the sum ##EQU9## where n is a scalar constant and a T is the transpose of a.
Claim 6
Independent Claim 481 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that impose on said system values for said controllable parameters x, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of said matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as said vector x, and where specified constraint limits are expressed as said vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modifications means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, for force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector u.sup.(i) to zero, a direction vector d.sup.(i) to AD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =AD 2 A T d.sup.(i) ; third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i) T q.sup.(i)); fourth means for updating the vector u, the gradient vector g and the direction vector d by evaluating u.sup.(i+1) =u.sup.(i) +αd.sup.(i) g.sup.(i+1) =g.sup.(i) +αq.sup.(i), and; d.sup.(i+1) =-g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; and fifth means for setting i=i+1 and returning control to said second means when said iteration count index is below a preselected value and the vector u.sup.(i+1) developed in said fourth means is such that AD 2 A T u.sup.(i+1) is within a chosen threshold of AD, and for setting said u.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise; where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 7
Independent Claim 481 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that impose on said system values for said controllable parameters x, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of said matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as said vector x, and where specified constraint limits are expressed as said vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modifications means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, for force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector u.sup.(i) to zero, a direction vector d.sup.(i) to AD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =AD 2 A T d.sup.(i) ; third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i) T q.sup.(i)); fourth means for updating the vector u, the gradient vector g and the direction vector d by evaluating u.sup.(i+1) =u.sup.(i) +αd.sup.(i) g.sup.(i+1) =g.sup.(i) +αq.sup.(i), and; d.sup.(i+1) =-g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; and fifth means for setting i=i+1 and returning control to said second means when said iteration count index is below a preselected value and the vector u.sup.(i+1) developed in said fourth means is such that AD 2 A T u.sup.(i+1) is within a chosen threshold of AD, and for setting said u.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise; where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 8
Independent Claim 646 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that impose on said system values for said controllable parameters X, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, wherein said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) to zero, a direction vector d.sup.(i) to G -1/2 LAD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =G -1/2 LAD 2 A T L T G -1/2 d.sup.(i), third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i).spsp.T q.sup.(i)); fourth means for updating the vector v, the gradient vector g and the direction vector d by evaluating g.sup.(i+1) =g.sup.(i) +αq.sup.(i), v.sup.(i+1) =v.sup.(i) +αd.sup.(i) and d.sup.(i+1) =g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) developed in said fourth means is such that AD 2 A T v.sup.(i+1) is within a chosen threshold of AD, and for setting said v.sup.(i+1) to us and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off-diagonal terms in AD 2 A T/ each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold, G is a matrix that equals LAD 2 A T L T G is the diagonal of LAD 2 A T L T G -1/2 is such that G -1/2 GG -178 =I, where I is the identity matrix; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 9
Independent Claim 646 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that impose on said system values for said controllable parameters X, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, wherein said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) to zero, a direction vector d.sup.(i) to G -1/2 LAD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =G -1/2 LAD 2 A T L T G -1/2 d.sup.(i), third means for computing a scalar α=(g.sup.(i).spsp.T g.sup.(i))/d.sup.(i).spsp.T q.sup.(i)); fourth means for updating the vector v, the gradient vector g and the direction vector d by evaluating g.sup.(i+1) =g.sup.(i) +αq.sup.(i), v.sup.(i+1) =v.sup.(i) +αd.sup.(i) and d.sup.(i+1) =g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i).spsp.T g.sup.(i)))d.sup.(i) ; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) developed in said fourth means is such that AD 2 A T v.sup.(i+1) is within a chosen threshold of AD, and for setting said v.sup.(i+1) to us and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off-diagonal terms in AD 2 A T/ each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold, G is a matrix that equals LAD 2 A T L T G is the diagonal of LAD 2 A T L T G -1/2 is such that G -1/2 GG -178 =I, where I is the identity matrix; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 10
Independent Claim 651 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that imposed on said system values for said controllable parameters x, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in term of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) ' to zero, a direction vector d.sup.(i) ' to L T G -1 LAD, and a gradient vector g.sup.(i) ' to -d.sup.(i) '; second means for computing a vector q.sup.(i) '=L T G -1 LAD 2 A T d.sup.(i) ', third means for computing a scalar α=(g.sup.(i).spsp.T 'g.sup.(i) ')/d.sup.(i).spsp.T 'q.sup.(i) '); fourth means for updating the vector v', the gradient vector g' and the direction vector d' by evaluating g.sup.(i+1) '=g.sup.(i) '+αq.sup.(i) ', v.sup.(i+1) '=v.sup.(i) '+αd.sup.(i) ' and d.sup.(i+1) '=g.sup.(i+1) '+((g.sup.(i+1).spsp.T 'g.sup.(i+1) ')/(g.sup.(i).spsp.T 'g.sup.(i) '))d.sup.(i) '; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) ' developed in said fourth means is such that AD 2 A T v.sup.(i+1) ' is within a chosen threshold of AD, and for setting said v.sup.(i+1) ' to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of off-diagonal terms in AD 2 A T , each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold, G is a matrix that equals LAD 2 A T L T , G is a diagonal of LAD 2 A T L T G -1/2 is the inverse of matrix G; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 11
Independent Claim 651 words
A system including a) a large plurality of controllable parameters that affect the operation of said system and affect a preselected cost measure of said system, expressible as a vector x, b) constraint relationship related to said parameters, expressible in the form of a matrix A associated with said parameters, and with a set of constraint limits, b, such that Ax=b, and a controller for optimizing the operational state of said system by applying control signals to said system that imposed on said system values for said controllable parameters x, THE IMPROVEMENT IN SAID CONTROLLER COMPRISING: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in term of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) ' to zero, a direction vector d.sup.(i) ' to L T G -1 LAD, and a gradient vector g.sup.(i) ' to -d.sup.(i) '; second means for computing a vector q.sup.(i) '=L T G -1 LAD 2 A T d.sup.(i) ', third means for computing a scalar α=(g.sup.(i).spsp.T 'g.sup.(i) ')/d.sup.(i).spsp.T 'q.sup.(i) '); fourth means for updating the vector v', the gradient vector g' and the direction vector d' by evaluating g.sup.(i+1) '=g.sup.(i) '+αq.sup.(i) ', v.sup.(i+1) '=v.sup.(i) '+αd.sup.(i) ' and d.sup.(i+1) '=g.sup.(i+1) '+((g.sup.(i+1).spsp.T 'g.sup.(i+1) ')/(g.sup.(i).spsp.T 'g.sup.(i) '))d.sup.(i) '; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) ' developed in said fourth means is such that AD 2 A T v.sup.(i+1) ' is within a chosen threshold of AD, and for setting said v.sup.(i+1) ' to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of off-diagonal terms in AD 2 A T , each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold, G is a matrix that equals LAD 2 A T L T , G is a diagonal of LAD 2 A T L T G -1/2 is the inverse of matrix G; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 12
Dependent Claim 581 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) to zero, a direction vector d.sup.(i) to G -1/2 LAD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =G -1/2LAD 2 A T L T G -1/2 d.sup.(i), third means for computing a scalar α=(g.sup.(i) T g.sup.(i))/d.sup.(i) T q.sup.(i)); fourth means for updating the vector v, the gradient vector g and the direction vector d by evaluating g.sup.(i+1) =g.sup.(i) +αq.sup.(i), v.sup.(i+1) =v.sup.(i) +αd.sup.(i) and d.sup.(i+1) =g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i)))d.sup.(i) ; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) developed in said fourth means is such that AD 2 A T v.sup.(i+1) is within a chosen threshold of AD, and for setting said v.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off-diagonal terms in AD 2 A T each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold G is a matrix that equals LAD 2 A T L T , G is the diagonal of LAD 2 A T L T G -1/2 is such that G -1/2 GG -1/2 =I, where I is the identity matrix; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 13
Dependent Claim 581 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expressed one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameters, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) to zero, a direction vector d.sup.(i) to G -1/2 LAD, and a gradient vector g.sup.(i) to -d.sup.(i) ; second means for computing a vector q.sup.(i) =G -1/2LAD 2 A T L T G -1/2 d.sup.(i), third means for computing a scalar α=(g.sup.(i) T g.sup.(i))/d.sup.(i) T q.sup.(i)); fourth means for updating the vector v, the gradient vector g and the direction vector d by evaluating g.sup.(i+1) =g.sup.(i) +αq.sup.(i), v.sup.(i+1) =v.sup.(i) +αd.sup.(i) and d.sup.(i+1) =g.sup.(i+1) +((g.sup.(i+1).spsp.T g.sup.(i+1))/(g.sup.(i)))d.sup.(i) ; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below a preselected value and the vector v.sup.(i+1) developed in said fourth means is such that AD 2 A T v.sup.(i+1) is within a chosen threshold of AD, and for setting said v.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off-diagonal terms in AD 2 A T each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold G is a matrix that equals LAD 2 A T L T , G is the diagonal of LAD 2 A T L T G -1/2 is such that G -1/2 GG -1/2 =I, where I is the identity matrix; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 14
Dependent Claim 113 words
The controller of claim 8 wherein said A matrix is stored within said means for storing in a list that groups columns of said A matrix into sets and maintains row references of non-zero valued entries of said sets, where one set consists of singleton columns where a singleton column is a column that contains a single non-zero valued entry with that entry having the value 1; another set consists of doubleton columns that contain two non-zero valued entries with those entries having the value 1 of like sign; and still another set consists of doubleton columns that contain two non-zero valued entries with those entries having the value 1 of opposite sign.
Claim 15
Dependent Claim 588 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expresses one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameter, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) ' to zero, a direction vector d.sup.(i) ' to L T G -1 LAD, and a gradient vector g.sup.(i) ' to -d.sup.(i) '; second means for computing a vector q.sup.(i) '=L T G -1 LAD 2 A T d.sup.(i) ', third means for computing a scalar α=(g.sup.(i).spsp.T 'g.sup.(i) ')/d.sup.(i).spsp.T 'q.sup.(i) '); fourth means for updating the vector v', the gradient vector g' and the direction vector d' by evaluating g.sup.(i+1) '=g.sup.(i) '+αq.sup.(i) ', v.sup.(i+1) '=v.sup.(i) '+αd.sup.(i) ' and d.sup.(i+1) '=g.sup.(i+1) '+((g.sup.(i+1).spsp.T 'g.sup.(i+1) ')/(g.sup.(i).spsp.T 'g.sup.(i) '))d.sup.(i) '; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below is below a preselected value and the vector v.sup.(i+1) ' developed in said fourth means is such that AD 2 A T v.sup.(i+1) ' is within a chosen threshold of AD, and for setting said v.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation, matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off diagonal terms in AD 2 A T . each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold G is a matrix that equals LAD 2 A T L T G is the diagonal of LAD 2 A T L T G 1 is the inverse of matrix G; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.
Claim 16
Dependent Claim 588 words
A controller for optimizing the operational state of a system characterized by a set of controllable parameters that interact with each other subject to specified constraint relationships, said controller comprising: means for storing said constraint relationships in the form of a matrix A, where each row in A expresses one of said constraint relationships in terms of the inter-relationship of said controllable parameters, where said set of parameters is expressed as a vector x, and where specified constraint limits are expressed as a vector b; processing means coupled to said means for storing for determining preferred values of said set of controllable parameter, x, such that the matrix relationship Ax=b is substantially satisfied and a preselected cost function is improved, where said processing means includes parameter modification means responsive to a vector u for developing a set of intermediate values of x and setting said set of intermediate values of x to said preferred values of x when said cost function is sufficiently improved, and matrix inversion means responsive to said parameter modification means for developing said vector u such that AD 2 A T u=AD, where D is a diagonal matrix with the elements of the intermediate values of x on the diagonal; and interface means responsive to said processor means for imparting control signals to said system, to force said controllable parameters of said system to the preferred values of x determined by said processing means; wherein said matrix inversion means further comprises first means for setting an iteration count index i to zero, a vector v.sup.(i) ' to zero, a direction vector d.sup.(i) ' to L T G -1 LAD, and a gradient vector g.sup.(i) ' to -d.sup.(i) '; second means for computing a vector q.sup.(i) '=L T G -1 LAD 2 A T d.sup.(i) ', third means for computing a scalar α=(g.sup.(i).spsp.T 'g.sup.(i) ')/d.sup.(i).spsp.T 'q.sup.(i) '); fourth means for updating the vector v', the gradient vector g' and the direction vector d' by evaluating g.sup.(i+1) '=g.sup.(i) '+αq.sup.(i) ', v.sup.(i+1) '=v.sup.(i) '+αd.sup.(i) ' and d.sup.(i+1) '=g.sup.(i+1) '+((g.sup.(i+1).spsp.T 'g.sup.(i+1) ')/(g.sup.(i).spsp.T 'g.sup.(i) '))d.sup.(i) '; and fifth means for incrementing said iteration count index and returning control to said second means when said iteration count index is below is below a preselected value and the vector v.sup.(i+1) ' developed in said fourth means is such that AD 2 A T v.sup.(i+1) ' is within a chosen threshold of AD, and for setting said v.sup.(i+1) to u and applying said vector u to said parameter modification means, otherwise where L is a product of a plurality of elementary transformation, matrices E j , where j=1,2, . . . N and N is related to the number of non-zero off diagonal terms in AD 2 A T . each E j is a matrix with a zero upper triangular half, 1's on the diagonal and one non-zero term in the lower triangular half such that the matrix product E j AD 2 A T has one more zero term than said matrix product AD 2 A T , and L is a product of a plurality of those elementary transformation matrices E j with the element in the lower triangular half being larger than a preselected threshold G is a matrix that equals LAD 2 A T L T G is the diagonal of LAD 2 A T L T G 1 is the inverse of matrix G; and where the superscript, T, associated with any matrix or any vector represents the transpose of the matrix or the vector, respectively.

References Cited (Backward Citations)

US3974481A Cited
US4744028A Cited
US4744026A Cited
US4744027A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-08-04 1996-02-03 1996-08-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-08-04 2000-02-03 2000-08-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-08-04 2004-02-03 2004-08-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag