I have a system with 72 nodes.
I have a binary adjacency matrix S of size 72\times 72. If S_{i,j}=1, then node I is adjacent to node j. So, we also have S_{i,j}=S{j,i}. So, S is a binary symmetric matrix.
D is an another matrix of same size. It is the distance matrix. D_{i,j} is the distance between node i and node j, so, D_{i,i}=0.
Now, my target is to form 12 adjacent groups of nodes where we have exactly 6 nodes in each group/cluster. The group elements are adjacent, i.e, every node of a group must be adjacent to at least one of the remaining nodes in that cluster. The group elements should be as close as possible, i.e., the sum of distances needs to be minimize.
Can this problem be modeled in CVX?
Some Thoughts:
If possible can we consider a variable binary integer matrix B\in 72\times 12? So, B_{i,j} defines the association of nodes in a cluster. If B_{i,j}=1, it means that node i is in cluster j. The summation of all the elements in each column is 6.
Let W=S.*D is a weighted adjacent matrix.
Lets say, vector U\in 1\times 12 contains all the summations of distances in a cluster and we can solve a min-max problem as
Minimize Max U
W==SD; % (element-wise multiplication)
U==sum(W B); % (matrix multiplication)
sum(B)=6*ones(1,12);
But, the question is how to formulate the constraints required to form the clusters? That is each node is a cluster must be adjacent to at least one one of the remaining nodes in that cluster
So, we need some constraint based on the relationship between S and A.