Method for solving control problems
AssigneeMitsubishi Electric Research Laboratories, Inc.
InventorsMatthew Brand, Vijay Shilpiekandula, Scott A Bortoff
Life of this patent
Estimating the term…
Abstract
A method solves a quadratic programming (QP) problem in real-time implementations of model predictive control for automation applications. The method can be implemented for fine-grained parallel solutions. Due to the extreme simplicity of the method, even serial implementations offer considerable speed advantages. The method solves the problem by formulating, over a predetermined time interval, an optimization problem with a quadratic cost function, and linear state and control constraints as a quadratic program for the application. Then, the quadratic program is solved by applying a parallel quadratic programming update law starting from a positive initial estimate to obtain control actions for the application.
Claims18
A method for solving a control problem for an application, comprising the steps of:
- formulating, over a predetermined time interval, the control problem with a quadratic cost function, linear state equations and control constraints as a quadratic program for the application;
- and
- applying, an update law to an optimization variable vector, starting from a positive initial estimate to obtain control actions for the application, wherein the update law is constructed from the quadratic program based on
- y
- i
- ←
- y
- i
-
- [
- h
- i
- -
- +
- (
- Q
- -
-
- y
- )
- i
- h
- i
- +
- +
- (
- Q
- +
-
- y
- )
- i
- ]
- ,
- wherein ith element yi of the optimization variable vector y starting from the positive initial estimate, Q is a square matrix, Q+=max (Q, 0)+diag(r), Q−=max (−Q, 0)+diag(r);
- h+=max (h, 0);
- h−=max (−h, 0), diag (r) is a diagonal matrix formed from a nonnegative vector r, max is a function that returns a maximum, wherein the steps are performed in a processor.
A method for solving a control problem for an application, comprising the steps of:
- formulating the control problem as a quadratic program including
- min
- y
-
- {
- F
-
- (
- y
- )
- =
- 1
- 2
-
- y
- T
-
- Qy
- +
- y
- T
-
- h
- }
- ,
- y
- ≥
- 0
- ,
- where y is an optimization variable vector, T is a transpose operator, Q is a square matrix, h is a vector, and min is a function that returns a minimum;
- and
- applying iteratively an update law to the optimization variable vector to obtain control actions for the application, wherein the update law includes
- y
- i
- ←
- y
- i
-
- [
- h
- i
- -
- +
- (
- Q
- -
-
- y
- )
- i
- h
- i
- +
- +
- (
- Q
- +
-
- y
- )
- i
- ]
- ,
- wherein ith element yi of the optimization variable vector y starting from a positive initial estimate, Q+=max (Q, 0)+diag(r), Q−=max (−Q, 0)+diag(r);
- h+=max (h, 0);
- h−=max (−h, 0), diag (r) is a diagonal matrix formed from a nonnegative vector r, max is a function that returns a maximum, wherein the steps are performed in a processor.
A system for solving a control problem including a quadratic cost function of an optimization variable vector, the system comprising a plurality of processors for:
- minimizing the cost function subject to linear constraints to obtain control actions for an application by applying an update law to the optimization variable vector, wherein the update law is multiplicative update law applied in parallel on the plurality of processors.
Dependencies are inferred from the claim text.