2. Maximum Weight Stable Set¶
2.1. Problem definition¶
Given a simple undirected graph \(G=(V,E)\) and weights \(w \in \mathbb{R}^V\), the problem is to find a stable set \(S \subseteq V\) that maximizes $ \sum_{v \in `V} w_v$. We recall that a subset :math:`S \subseteq V is a stable set if no two vertices of \(S\) are adjacent. This is one of Karp’s 21 NP-complete problems.
2.2. Random instance generator¶
The class MaxWeightStableSetGenerator
can be used to generate random instances of this problem, with user-specified probability distributions. When the constructor parameter fix_graph=True
is provided, one random Erdős-Rényi graph \(G_{n,p}\) is generated during the constructor, where \(n\) and \(p\) are sampled from user-provided probability distributions n
and p
. To generate each instance, the generator independently samples each \(w_v\) from the user-provided
probability distribution w
. When fix_graph=False
, a new random graph is generated for each instance, while the remaining parameters are sampled in the same way.
2.3. Challenge A¶
Fixed random Erdős-Rényi graph \(G_{n,p}\) with \(n=200\) and \(p=5\%\)
Random vertex weights \(w_v \sim U(100, 150)\)
500 training instances, 50 test instances
[ ]:
MaxWeightStableSetGenerator(
w=uniform(loc=100., scale=50.),
n=randint(low=200, high=201),
p=uniform(loc=0.05, scale=0.0),
fix_graph=True,
)