This makes the search for an optimal tree an NP-hard problem (McDonald and Satta, 2007) as all possible trees must be considered to find an optimal solution.
we must choose a heuristic search algorithm for finding the locally optimum spanning tree.