Capacitated minimum spanning tree
Capacitated minimum spanning tree is a minimal cost spanning tree of a graph that has a designated root node and satisfies the capacity constraint . The capacity constrain ensures that all subtrees (maximal subgraphs connected to the root by a single edge) incident on the root node have no more than nodes. If the tree nodes have weights, then the capacity constraint may be interpreted as follows: the sum of weights in any subtree should be no greater than . The edges connecting the subgraphs to the root node are called gates. To find the optimal solution, one has to go through all the possible spanning tree configurations for a given graph and pick the one with the lowest cost; such search requires an exponential number of computations.
Algorithms
Suppose we have a graph , with a root . Let be all other nodes in . Let be the edge cost between vertices and which form a cost matrix .
Esau-Williams heuristic[1]
Esau-Williams heuristic finds suboptimal CMST that are very close to the exact solutions, but on average EW produces better results than many other heuristicsCite error: The opening <ref>
tag is malformed or has a bad name (see the help page)..
Initially, all nodes are connected to the root (star graph) and the network's cost is ; each of these edges is a gate. At each interation, we seek the closest neighbor for every node in and evaluate the tradeoff function: . We look for the greatest among the positive tradeoffs and, if the resulting subtree does not violate the capacity constraints, remove the gate connecting the -th subtree to by an edge . We repeat the iterations until we can not make any further improvements to the tree.
Esau-Williams heuristics for computing a suboptimal CMST:
function CMST(c,C,r): T = {, , ..., } while have changes: for each node = closest node in a different subtree = - t_max = max() k = i such that = t_max if ( cost(i) + cost(j) <= c) T = T - T = T union return T
It is easy to see that EW finds a solution in polynomial time.
Sharma's heuristic
Sharma's heuristic [2].
Applications
CMST problem is important in network design: when many terminal computers have to be connected to the central hub, the star configuration is usually not the minimum cost design. Finding a CMST that organizes the terminals into subnetworks can lower the cost of implementing a network.