Network architecture: We use a Graph Convolutional Network [1]}, [2]}, [3]}, [4]}, [5]} to represent the policy. Let the input to the GCN be a graph \(G = (\mathcal {V}, \mathcal {E}, \mathcal {A})\)  defined by the set of nodes \(\mathcal {V}\) , the set of edges \(\mathcal {E}\) , and the graph adjacency matrix \(\mathcal {A}\) . In the case of MIP bipartite graphs, \(\mathcal {V}\)  is the union of \(n\)  variable nodes and \(m\)  constraint nodes, of size \(K := |\mathcal {V}| = n+m\) . \(\mathcal {A}\)  is an \(K\times K\)  binary matrix with \(\mathcal {A}_{ij}=1\)  if nodes indexed by \(i\)  and \(j\)  are connected by an edge, 0 otherwise, and \(\mathcal {A}_{ii}=1\)  for all i. Each node has a \(D\) -dimensional feature vector, denoted by \(u_i \in \mathbb {R}^{D}\)  for the \(i^\text{th}\)  node. Let \(U \in \mathbb {R}^{K \times D}\)  be the matrix containing feature vectors of all nodes as rows, i.e., the \(i^\text{th}\)  row is \(u_i\) .
A single-layer GCN learns to compute an \(H\) -dimensional continuous vector representation for each node of the input graph, referred to as a node embedding. Let \(z_i \in \mathbb {R}^{H}\)  be the node embedding computed by the GCN for the \(i^\text{th}\)  node, and \(Z \in \mathbb {R}^{K \times H}\)  be the matrix containing all node embeddings as rows. We define the function computing \(Z\)  as follows:
\(Z = \mathcal {A}g_\phi (U),\) 
