Lecture 18: Minimum Spanning Tree Problem

Lecture 18: Minimum Spanning Tree Problem#

General Description#

For a network modeled as a directed graph \(G=(N,A)\), with \(N\) and \(A\) representing the set of nodes and arcs, respectively, the objective of a Minimum Spanning Tree is to find a subset of arcs (tree) that connects all nodes with a minimum total cost, given that each arc \((i,j) \in A\) has a cost \(c_{ij}\).

Objective:

\[ \min_{\mathbf{x}} z = \sum_{(i,j)\in A} c_{ij}x_{ij} \]

Subject to:

\[\begin{split} \begin{aligned} \sum_{(i,j) \in E} x_{ij} & = |N| - 1 \\ \sum_{(i,j) \in S} x_{ij} & \leq |S| - 1 & \ \forall \ S \subset N, \ |S| \geq 3 \\ x_{ij} & \in \{0,1\} & \ \forall \ (i,j) \in A \\ \end{aligned} \end{split}\]

Here, \(x_{ij}\) represents connectivity of node \(i\) with node \(j\) in the spanning tree.

Example#

The Sid Meier’s Railroad Company (SMRC) is contracted to connect 5 cities with rail lines. Based on topoligcal features of the region, the Engineering team at the firm projects the following cost of connecting each city,

From

To

Cost (₹Cr)

1

2

100

1

3

400

1

4

600

1

5

200

2

3

300

2

4

700

2

5

200

3

4

500

3

5

200

4

5

400

Determine the network plan for the railroad company that minimises the total cost.

  1. Formulate a linear optimisation model for this problem.

    Objective:

    \[ \min_{\mathbf{x}} z = 100x_{12} + 400x_{13} + 600x_{14} + 200x_{15} + 300x_{23} + 700x_{24} + 200x_{25} + 500x_{34} + 200x_{35} + 400x_{45} \]

    Subject to:

    \[\begin{split} \begin{aligned} x_{12} + x_{13} + x_{14} + x_{15} + x_{23} + x_{24} + x_{25} + x_{34} + x_{35} + x_{45} & = 4 \\ x_{12} + x_{13} + x_{14} + x_{23} + x_{24} + x_{34} & \leq 3 \\ x_{12} + x_{13} + x_{15} + x_{23} + x_{25} + x_{35} & \leq 3 \\ x_{12} + x_{14} + x_{15} + x_{24} + x_{25} + x_{45} & \leq 3 \\ x_{13} + x_{14} + x_{15} + x_{34} + x_{35} + x_{45} & \leq 3 \\ x_{23} + x_{24} + x_{25} + x_{34} + x_{35} + x_{45} & \leq 3 \\ x_{12} + x_{13} + x_{23} & \leq 2 \\ x_{12} + x_{14} + x_{24} & \leq 2 \\ x_{12} + x_{15} + x_{25} & \leq 2 \\ x_{13} + x_{14} + x_{34} & \leq 2 \\ x_{13} + x_{15} + x_{35} & \leq 2 \\ x_{14} + x_{15} + x_{45} & \leq 2 \\ x_{23} + x_{24} + x_{34} & \leq 2 \\ x_{23} + x_{25} + x_{35} & \leq 2 \\ x_{24} + x_{25} + x_{45} & \leq 2 \\ x_{34} + x_{35} + x_{45} & \leq 2 \\ x_{12}, x_{13}, x_{14}, x_{15}, x_{23}, x_{24}, x_{25}, x_{34}, x_{35}, x_{45} & \in \{0,1\} \end{aligned} \end{split}\]
  2. Solve the above linear optimisation model using a spreadsheet to find the optimal solution.

    Sid Meier’s Railroad Company should connect cities 1-2, 1-5, 3-5, and 4-5, rendering a total cost of ₹900Cr.

  3. Having established the optimal rail network, the regional economy experiences a decade of boom, resulting in growth of cities in the region. The railroad company is now contracted to connect an additional city (#6) to this network. Again, based on topoligcal features of the region, the Engineering team at the firm projects the following cost of connecting each city,

    From

    To

    Cost (₹Cr)

    1

    6

    500

    2

    6

    400

    3

    6

    300

    4

    6

    200

    5

    6

    100

    City #6 should be connected to City #5. The total investment in the rail network amount to ₹1000Cr.

  4. Had the original development plan entailed connecting these 6 cities, would the current network be optimal rail network?

    The optimal rail network connects cities 1-2, 1-5, 3-5, 4-6, and 5-6, rendering a total cost of ₹800Cr, less than the cost of modified suboptimal rail network.