CVXGEN with sparse matrices


(Zejiang Wang) #1

We are using CVXGEN (https://cvxgen.com/docs/mpc.html) to implement an MPC problem.

As you know, CVXGEN can only treat convex QP problems. So we use classical LTV-MPC to solve our problem with:

A_k+1 = A_k X_k+B_k u_k,

where matrices A_k and B_k get updated as simulation continues, because of successive online linearization.

Then, we found that we can use some mathematical techniques to convert A_k and B_k, these two matrices into two Linear Time Invariant (LTI) constant matrices, with many zeros therein.

For instance, A_k = [1 0 0 0;0 0 1 0; 0 0 0 0; 0 0 0 1]; and B_k = [0 0; 0 1; 0 0; 1 0].

And we want to use CVXGEN to solve both problems, with LTV fashion or our new fashion.

So, the question is that, will the computational time get reduced owing to the sparse structure of A_k and B_k? Or, if CVXGEN exploits the sparsity of the matrices?

Thank you so much for your attentions and potential responses.


(Mark L. Stone) #2

This forum deals with CVX, not with CVXGEN. Perhaps you can contact the CVXGEN developer per https://cvxgen.com/docs/license.html .Have you seen the Sparse parameters section of https://cvxgen.com/docs/parameters.html ?


(Zejiang Wang) #3

Hello Mark. Thanks for the response.
OK,I’ll contact jem.
Yes, I looked through the sparse parameters section. But it seems like nothing to do with the speed improvement. Maybe I need to dig into the depth by referring the CVXGEN paper.