The `heuristics` function takes as input a vector of node attributes (shape: n), a matrix of edge attributes (shape: n by n), and a constraint imposed on the sum of edge attributes. A special node is indexed by 0. `heuristics` returns prior indicators of how promising it is to include each edge in a solution. The return is of the same shape as the input matrix of edge attributes. 