Integer programming formulations
of the minimum spanning tree problem
Let G = (V,E) an undirected graph, |V| = n, |E| = m and
let each edge e=(i,j)E has a real valued cost cij.
A tree is a connected graph which has no cycles.
A spanning tree of a graph is a subset of n-1 edges
that form a tree.
A minimum spanning tree of G is defined to be a
spanning tree of G whose cost is minimum.
The corresponding problem is called the
minimum spanning tree problem (MST).
The constraint (1) is a cardinality constraint implying
that we choose exactly n-1 edges.
The constraints (2) imply that the set of chosen edges
contain no cycles (if the chosen solution contain a cycle
and S is the set of nodes on this cycle, then the solution
would violate this constraint).
This sub-tour elimination model of the MST contains
an exponential number of constraints.
In order to model MST as an integer program we
introduce the following binary variable:
xe = 1 if the edge e is selected as part of the chosen
tree
xe = 0 otherwise.
min eE cexe
s.t. eE xe = n-1
eE(S) xe |S| -1 for any nonempty set SV of nodes
(2)
xe {0,1}
(3)
for all edges eE.
Sub-tour elimination formulation.
Using another definition of a spanning tree: it is a
connected subgraph containing n-1 edges leads to the
following model of the MST, called cutset formulation:
min eE cexe
s.t. eE xe = n-1
(1)
e(S) xe 1 for any nonempty set SV of nodes
xe {0,1}
Psub = {x|E| | 0 x 1, eE xe = n-1, eE(S) xe |S| -1
for any nonempty set SV of nodes}.
(1)
for all edges eE.
(4)
(3)
Pcut = {x|E| | 0 x 1, eE xe = n-1, e(S) xe |S| -1
for any nonempty set SV of nodes}.
Theorem 1: The polyhedron Psub is integral.
Proposition 2: We have Psub Pcut . In general, Pcut has
fractional extreme points.
Proof. For any subset of nodes S we have:
E=E(S) (S) E(V \ S).