Block sparsity: An example from bio-chemical reaction

connection 

Consider a network of N = 5 systems coupled through the following dynamics

     dot{x}_i     , = ,     [A]_{ii}     ,     x_i     , - ,      frac{1}{2}        sum_{     j ,=, 1     }^N     (i -  j)     ,     (x_i     , - ,     x_j)     , + ,     [B_1]_{ii}     ,     d_i     ,+,     [B_2]_{ii}     ,     u_i,

where [, cdot ,]_{ij} denotes the ijth block of a matrix and

     [A]_{ii}     , = ,     left[     begin{array}{rrr}     -1  & 0  & -3      3   & -1 & 0         0   & 3  & -1     end{array}     right],     ~~     [B_1]_{ii}     , = ,     left[     begin{array}{ccc}     3   & 0  & 0       0   & 3  & 0       0   & 0  & 3     end{array}     right],     ~~     [B_2]_{ii}     , = ,     left[     begin{array}{c}     3      0      0     end{array}     right].

Each system models a cyclic interconnection that arises in bio-chemical reactions (e.g., see Jovanovic et al. ’08). The performance weights Q and R are set to identity matrices.

block partitioned matrix 

Since each subsystem has 1 control input and 3 states, the feedback gain matrix can be partitioned into 1 times 3 submatrices as illustrated in the figure. We are interested in obtaining feedback gains with small number of block submatrices.

In this example, we use the weighted sum of Frobenius norms to design optimal block sparse feedback gains. To compare with elementwise sparsity, we also use the weighted ell_1 norm for optimal sparse feedback design. In both cases, we set { rho = 100, varepsilon = 10^{-3} } and select 50 logarithmically-spaced points for gamma in [0.1, , 5].

We next show the Matlab code and the computational results obtained using lqrsp.m.

Matlab code

% Block sparsity example

% number of systems
N = 5;

% size of each system
nn = 3;
mm = 1;

% use cyclic condition to obtain unstable system
a = ones(1,nn);
b = 1.5*(sec(pi/nn))*a;

% state-space representation of each system
Aa = -diag(a) + diag(b(2:nn),-1);
Aa(1,nn) = -b(1);
Bb1 = diag(b);
Bb2 = zeros(nn,1);
Bb2(1) = b(1);

% non-symmetric weighted Laplacian matrix

% adjacency matrix
Ad = toeplitz([1 0 0 1 0 0 1 0 0 1 0 0 1 0 0]);
for i = 1 : N
    for j = 1 : N
        if i ~= j
            cij = 0.5 * ( i - j );
        else
            cij = 0;
        end
        Ad( nn*(i-1)+1 : nn*i, nn*(j-1)+1 : nn*j) = cij * eye(nn);
    end
end

% take the sum of each row
d = sum(Ad,2);

% form the Laplacian matrix
L = Ad - diag(d);

% state-space representation of the interconnected system

A  = kron(eye(N), Aa) - L;
B1 = kron(eye(N), Bb1);
B2 = kron(eye(N), Bb2);
Q  = eye(nn*N);
R  = eye(N);

% compute block sparse feedback gains
options_blkwl1 = struct('method','blkwl1','gamval', ...
    logspace(-1,log10(5),50),'rho',100,'maxiter',1000,'blksize',[1 3], ...
    'reweightedIter',1);

tic
solpath_blkwl1 = lqrsp(A,B1,B2,Q,R,options_blkwl1);
toc

% compute element sparse feedback gains
options_wl1 = struct('method','wl1','gamval', ...
    logspace(-1,log10(5),50),'rho',100,'maxiter',1000,'blksize',[1 1], ...
    'reweightedIter',1);

tic
solpath_wl1 = lqrsp(A,B1,B2,Q,R,options_wl1);
toc

Computational results

Download Matlab code block_sparsity.m to reproduce these figures.

block_sparsity_nnz 

Number of nonzero block submatrices decreases with gamma.

block_sparsity_H2 

Quadratic performance deteriorates with gamma.

The following example illustrates two feedback gains resulting from the block sparse and sparse feedback designs. These feedback gains have close quadratic performance,  (J_{bs} , - , J_s)/J_s , < ,  1 %, and the same number of nonzero elements, but different number of nonzero block submatrices. Furthermore, as illustrated below, the optimal sparse feedback gain requires 4 more communication links than the optimal block sparse feedback gain.

block_sparse_gain 

Structure of the optimal block sparse feedback gain. The algorithm with the weighted sum of Frobenius norms and gamma = 3.6331 yields {bf card}_{rm b}(F) = 10 (black boxes) and {bf card} , (F) = 30 (blue dots).


Note that the first two rows are identically equal to zero (indicated by blank space). This implies that the subsystems 1 and 2 do not need to be actuated.

element_sparse_gain 

Structure of the optimal sparse feedback gain. The algorithm with the weighted ell_1 norm and gamma = 1.2869 yields {bf card}_{rm b}(F) = 14 (black boxes) and {bf card} , (F) = 30 (blue dots).

comm2 

Communication graph of the optimal block sparse feedback gain.

comm1 

Communication graph of the optimal sparse feedback gain.
Red color highlights the additional links (relative to the optimal block sparse feedback gain).