I want to implement the following optimization problem from the following paper [_Randomized Gossip Algorithms_, Page 10 Eq 53][1]

![The screenshot of the optimization problem.][2]

1. In this problem, $W$, $P$, and $P_{ij}$ are $n\times{n}$ matrices. I would appreciate if you help me with implementing the following constraint in CVX.
\begin{equation}
W=\frac{1}{n}\sum_{i,j=1}^{n}P_{i,j}W_{i,j}
\end{equation}

2. Also, in this problem, $E$ is a set of neighbors of a node $i$. Constraint "$P_{ij}=0$ if $\{i,j\}\not\in E$" means that $P_{ij}$ is zero if nodes $i$ and $j$ are not  neighbors. 
Does anyone can help with how to implement this neighborhood relationship? 

For $n=3$, `neighbors.xlsx` can look like:

![screenshot of neighbors.xlsx][3]

This means node 1 is neighbor with node 2, node 2 is neighbor with node 1 and 3, and node 3 is neighbor with node2.  

   
I have the written the following piece of code for that in Matlab. It does not work. Any help is greatly appreciated. 




 

    cvx_begin sdp
        agt = struct([]);
        neighbors = readcell('neighbors.xlsx');
        N = 2;
        for i = 1:N
          agt(i).neighbors = neighbors{i};
        end
        variable s
        variable P(N,N) symmetric
        variable W_ij(N,N) symmetric
        expression W
        
        minimize (s)
        
    subject to     

    P(:) >= 0;
    
        j = 1;
        for i = 1:N
            D =[i,j];
            if ~ismember(D,agt(i).neighbors)
                P(i,j)== 0;
            end
            j = j+1;
        end
    
    
        for i = 1:N
            for j = 1:N
                W = P(i,j).*W_ij;
            end    
        end
        W = (1/N).*W;
        W-(1/N)*ones(N,1)*ones(1,N) - s*eye(N) == semidefinite(N);
    
    cvx_end


  [1]: http://www.arpitaghosh.com/papers/gossip.pdf
  [2]: https://i.sstatic.net/tav7D.png
  [3]: https://i.sstatic.net/PAYnk.png