Model Predictive Control Toolbox™ Previous page   Next Page 
qpdantz
 Provide feedback about this page

Solve convex quadratic program using Dantzig-Wolfe's algorithm

Syntax

Description

[xopt,lambda,how]=qpdantz(H,f,A,b,xmin) solves the convex quadratic program

using Dantzig-Wolfe's active set method [1]. The Hessian matrix H should be positive definite. By default, xmin=1e-5. Vector xopt is the optimizer. Vector lambda contains the optimal dual variables (Lagrange multipliers).

The exit flag how is either 'feasible', 'infeasible' or 'unreliable'. The latter occurs when the solver terminates because the maximum number maxiter of allowed iterations was exceeded.

The solver is implemented in qpsolver.mex. Dantzig-Wolfe's algorithm uses the direction of the largest gradient, and the optimum is usually found after about n+q iterations, where n=dim(x) is the number of optimization variables, and q=dim(b) is the number of constraints. More than 3(n+q) iterations are rarely required (see Chapter 7.3 of [2]).

Examples

Solve a random QP problem using quadprog from the Optimization Toolbox™ software and qpdantz.

References

[1]  Fletcher, R. Practical Methods of Optimization, John Wiley & Sons, Chichester, UK, 1987.

[2]  Dantzig, G.B. Linear Programming and Extensions, Princeton University Press, Princeton, 1963.


 Provide feedback about this page 

Previous page plot set Next page

 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS