ENGRI 1101 Engineering Applications of OR
Fall 2008 Handout 4
The minimum spanning tree problem
A communication network design problem
Consider the following problem. The company that you
work for wishes to install dedicated fiber optic cable links between its offices in New York, San Francisco,
Paris, London, and Ithaca. Of course, one possibility is to install such a cable between each pair of offices:
between NY and SF, between NY and Paris, between NY and London, between NY and Ithaca, between SF
and Paris, between SF and London, between SF and Ithaca, between Paris and London, between Paris and
Ithaca, and between London and Ithaca.
This communication network is more than is needed.
All that is really needed is to install links (and
some so-called switching circuits) so that for any pair of offices, there is a sequence of links between them.
So, for example, we could simply make do with the link between NY and SF, between SF and Paris, between
Paris and London, and between London and Ithaca. But is this the cheapest network to install?
We want to formulate a model for the problem of determining the cheapest network that connects up
these offices. To do this, we first introduce the notion of an
undirected graph
. An undirected graph consists
of nodes and edges. So in our example, we will have a node set with five nodes, one corresponding to each
of the five cities. Suppose that
N
=
{
1
,
2
,
3
,
4
,
5
}
. Unlike a directed graph, where an arc is an ordered pair
of nodes, in an undirected graph, each edge is just a pair of nodes
{
i,j
}
; there is no orientation of the edge
from one node to the other; it merely connects the two nodes. In fact, if we write
{
i,j
}
, then that denotes
the same edge as
{
j,i
}
; the order in which the endpoints are given does not matter.
3
4
5
1
2
3
20
30
50
21
22
23
22
51
21
Figure 1: An undirected graph with 5 nodes
As we did before, we draw a graph by representing each node with a circle containing its name, and by
representing each edge with a line connecting its two endpoints. Once again, the fact that we draw a graph
differently does not make it a different graph; if it has the same nodes, and the same pairs of nodes are
connected by an edge, then it is the same graph. If
E
is the set of edges in the graph, we shall denote the
graph by
G
= (
N,E
) . A path in an undirected graph is exactly analogous to the directed case: however,
an undirected edge can be traversed in either direction.
We shall assume that in any path, each edge is
traversed at most once.
The input for our communication network problem can now be described as follows: for each pair of cities
1