0

次の論文Randomized Gossip Algorithms, Page 10 Eq 53から次の最適化問題を実装したいと思います。

最適化問題のスクリーンショット。

1- この問題でW, P, and P_{ij}は、n-by-n行列です。CVX で次の制約を実装するのを手伝っていただければ幸いです。

W=\frac{1}{n}\sum_{i,j=1}^{n}P_{i,j}W_{i,j}

2- また、この問題でEは、うなずきの隣人のセットですi。制約とは、ノードとが隣接していない場合、 がゼロP_{ij}=0 if {i,j}\not\in{E}であることを意味します。この近隣関係を実装する方法を手伝ってくれる人はいますか?P_{ij}ij

$n=3$ の場合、neighbors.xlsx次のようになります。

neighbors.xlsx のスクリーンショット

これは、ノード 1 がノード 2 と隣接し、ノード 2 がノード 1 および 3 と隣接し、ノード 3 がノード 2 と隣接することを意味します。

そのための次のコードをMatlabで作成しました。

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

動作せず、次のエラーが発生します。どんな助けでも大歓迎です。

Error using  .*  (line 262)
Disciplined convex programming error:
    Invalid quadratic form(s): not a square.


Error in lambda (line 35)
            W = P(i,j).*W_ij;
4

0 に答える 0