Claims
- 1. A method for formulating and optimizing a quadratic programming problem including the steps of:
a) in each of a plurality of time steps, formulating a problem of achieving a desired dynamic response for a window spanning multiple time steps as a solution to a quadratic programming problem; b) solving the quadratic programming problem in each time step using an iterative algorithm which searches for an optimal active set; c) in each subsequent time step of the plurality of time steps, initializing a search for the best active set based on a final active set of a prior time step of the plurality of time steps.
- 2. The method of claim 1 wherein the active set comprises a set of constraints that are binding at an optimized solution.
- 3. The method of claim 2 wherein said step e) further includes the procedure of dropping only one constraint with a negative Lagrange multiplier.
- 4. The method of claim 2 wherein said step e) further includes the procedure of dropping all constraints that are not binding irrespective of signs of Lagrange multipliers of the constraints.
- 5. The method of claim 2 further including the steps of:
Determining that the final active set of the prior time step is not feasible in a current timestep; Minimizing a weighted sum of the original QP problem and a measure of infeasibility.
- 6. The method of claim 2 further including the steps of:
Determining that the feasible point is largely inconsistent with the active set; and Retaining inconsistent constraints in the active set while continuing the optimization.
- 7. The method of claim 1 further including the step of performing a QR factorization in each iterate of the iterative algorithm of said step e).
- 8. The method of claim 7 wherein a first iterate of the iterative algorithm includes the step of performing a full QR factorization and subsequent iterates include the step of performing a QR factorization update.
- 9. The method of claim 7 further including the step of detecting degeneracy during each QR factorization.
- 10. The method of claim 9 further including the step of dropping a degenerate constraint.
- 11. The method of claim 10 further including the step of detecting linear dependency in the active constraints in each of the iterations without pre-processing.
- 12. A method for controlling a multivariable system using the method of claim 1 and further including the steps of:
d) receiving a plurality of sensor signals indicating current conditions of the system; e) receiving a plurality of commands; f) determining the desired dynamic response of the system based upon the commands and the sensor signals; g) in said step a), formulating the problem of achieving the desired dynamic response.
- 13. A method for iteratively solving a quadratic programming problem, the method including the steps of:
performing a Cholesky factorization of H in a first iteration; reusing the Cholesky factorization in iterations subsequent to the first iteration; computing an unconstrained solution in one of the iterations; and reusing the unconstrained solution in iterations subsequent to the one of the iterations.
- 14. The method of claim 13 further including the step of performing a QR factorization in each iterate of the iterative algorithm.
- 15. The method of claim 14 wherein an initial iterate of the iterative algorithm includes the step of performing a full QR factorization and subsequent iterates include the step of performing a QR factorization update.
- 16. The method of claim 14 further including the step of detecting degeneracy during each QR factorization.
- 17. The method of claim 16 further including the step of dropping a degenerate constraint.
- 18. The method of claim 17 further including the step of detecting linear dependency in the active constraints in each of the iterations without pre-processing.
- 19. A method for iteratively solving a quadratic programming problem where the set of indices of constraints in the active set is denoted by W and the rows in the constraint matrix A corresponding to the active set are characterized by E, and wherein a feasible point uf is known, Auf≦b, the method including the steps of:
a) choosing an initial guess active set; b) in iteration k, given a guess E for the active constraints, solving the Equality-Constrained QP (EQP) 21minu12uTHu+cTus.t. Eu=r, where r represents the sub-vector of right hand sides for the active constraints; c) determining the optimal u*, and Lagrange multipliers λ* as 22[HETE0][u*λ*]=[-cr]
- 20. The method of claim 19 further including the steps of:
Determining a largest α ∈ [0,1] such that uk−1+αs is feasible, where s=u*−u−1, u−1 denotes the prior iterate and u0=uf.
- 21. The method of claim 20 where α is given by
- 22. The method of claim 21 further including the step of updating the guess for the active set in the next iterate.
- 23. The method of claim 22 further including the step of adding to W the first index iB corresponding to which α achieves its minimum value in the ratio test, the guess for the active indices in the next iterate.
- 24. The method of claim 23 further including the step of dropping the constraint with the most negative multiplier from the active set.
- 25. The method of claim 24 further including the step of: in the first iteration, dropping all constraints that are not consistent if α<1.
- 26. A model predictive control system comprising:
a desired trajectory generator for creating a desired trajectory; a linearization module deriving a linearized model about the desired trajectory; a quadratic programming module in each of a plurality of time steps formulating a problem of achieving the desired trajectory for a multiple timestep window as a solution to a quadratic programming problem; a quadratic programming solver for solving an optimization problem established by the quadratic programming module to generate a profile of optimal controls, the quadratic programming solver solving the quadratic programming problem in each time step using an iterative algorithm which searches for an optimal active set and in each subsequent time step of the plurality of time steps, initializing a search for the best active set based on a final active set of a prior time step of the plurality of time steps.
- 27. The system of claim 26 wherein the active set comprises a set of constraints that are binding at an optimized solution.
- 28. The system of claim 27 wherein the quadratic programming solver drops only one constraint with a negative Lagrange multipliers.
- 29. The system of claim 27 wherein the quadratic programming solver drops all constraints that are not binding irrespective of signs of Lagrange multipliers of the constraints.
- 30. The system of claim 26 the quadratic programming solver performs a QR factorization in each iterate of the iterative algorithm of said step e).
- 31. The system of claim 30 wherein a first iterate of the iterative algorithm includes performing a full QR factorization and subsequent iterates include performing a QR factorization update.
- 32. The system of claim 30 wherein the quadratic programming solver detects degeneracy during each QR factorization.
- 33. The system of claim 32 wherein the quadratic programming solver drops a degenerate constraint.
- 34. The system of claim 33 wherein the quadratic programming solver detects linear dependency in the active constraints in each of the iterations without pre-processing.
- 35. A method for optimizing a quadratic programming problem using an iterative algorithm which searches for an optimal active set to solve the quadratic programming problem, the method including the steps of:
Determining that an initial starting point set is not feasible; and Reformulating the problem to obtain a feasible iterate.
- 36. The method of claim 35 further including the step of using an iterative algorithm which searches for an optimal active set to solve the quadratic programming problem.
- 37. The method of claim 35 further including the step of minimizing a weighted sum of the original QP problem and a measure of infeasibility.
Government Interests
[0001] This invention was conceived in performance of work under U.S. Government Contract N00421-01-2-0131.