A method for constructing trees from distance data, which searches for the tree which minimizes the difference between the observed and the inferred distances.