You are on page 1of 1

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).

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 (1) (2) (3)
for all edges eE.

eE(S) xe |S| -1 for any nonempty set SV of nodes


xe {0,1} Sub-tour elimination formulation.

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. Psub = {x|E| | 0 x 1, eE xe = n-1, eE(S) xe |S| -1 for any nonempty set SV of nodes}. Theorem 1: The polyhedron Psub is integral.

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)
for all edges eE.

e(S) xe 1 for any nonempty set SV of nodes


xe {0,1}

(4) (3)

Pcut = {x|E| | 0 x 1, eE xe = n-1, e(S) xe |S| -1 for any nonempty set SV of nodes}.

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).

You might also like