The motivation of this post is to answer the question
How can I decide for a given graph $G = (V,E)$ and $x \in \mathbb{R}^E$ whether $\sum_{e \in E[X]}x_e \leq |X| -1$ for all non-empty $X \subseteq V$ (where $E[X]$ denotes the subset of edges that lie completely inside of $X$).
In my lecture, we proved the following results
For a given graph $G=(V,E)$ the spanning tree polytope, i.e. convex hull of all incidence vectors $x \in \mathbb{R}^E$ of spanning trees, is given by the set $$ P=\{x \in [0,1]^E \mid \sum_{e \in E} x_e = n-1, \quad \sum_{e \in E[X]} x_e \leq |X| - 1 \ \forall X \subseteq V, X \neq \emptyset\}. $$
There is a polynomial time algorithm that minimizes a submodular function $f:2^S \to \mathbb{R}$.
Now, in order to solve LPs over the polytope above, one would like to be able to seperate these inequalities. I gave this a thought and came up with the following:
Lemma. Let $G =(V,E)$ be a graph and $x \in \mathbb{R}^E_+ $. Then there is some non-empty $X \subseteq V$ such that $\sum_{e \in E[X]}x_e > |X| -1$ if and only if there is some $A \subseteq E$ such that $\sum_{e \in A} x_e > r(A)$ where $r$ denotes the rank function of the cycle matroid of $G$.
Proof. Assume that there is such a set $X$. Set $A := E[X]$. Then $$ \sum_{e \in A} x_e = \sum_{e \in E[X]} x_e > |X| - 1 \geq r(A). $$
Now suppose that there is such a set $A$. Let $A_1 , \dots , A_k \subseteq A$ be the edge sets of the connected components of $(V,A)$. Since $r(A) = r(A_1) + \dots + r(A_k)$, there is some $i \in \{1 , \dots , k \}$ such that $\sum_{e \in A_i} x_e > r(A_i)$. So assume w.l.o.g. that $A = A_i$. Set $X$ to be the set of endpoints of edges in $A$. In particular, $r(A) = |X| - 1$ (by connectivity of $A$). Using that all entries of $x$ are non-negative, we have $$ \sum_{e \in E[X]} x_e \geq \sum_{e \in A} x_e > r(A) = |X| - 1 $$ finishing the proof.
Note that by this lemma it therefore suffices to check whether there is some $A \subseteq E$ with $\sum_{e \in A} x_e > r(A)$. This can be done as the function $r(A) - \sum_{e \in A} x_e $ is submodular and hence we only need to minimize this (in poly. time).
My questions regarding this are the following:
- Is the lemma and its proof above correct?
- Is there an easier way to seperate these inequalities? I feel like reducing this to submodular function minimization seems a bit like an overload to me. I believe there should be an easier reduction to some other problem.