Constructing evolutionary trees for species sets is a fundamental problem in computational biology. One of the standard models assumes the ability to compute distances between every pair of species and seeks to find an edge-weighted tree T in which the distance dijT in the tree between the leaves of T corresponding to the species i and j fits the observed distance, dij. Sometimes the desired tree is ultrametric, so that the tree can be rooted with the root equidistant to each leaf. Many measures for evaluating the `fit' between a distance function d and the path-distance dT have been proposed, and most such measures have resulted in NP-hard optimization problems. In this paper we propose a measure of fit which models the inaccuracy in the data, and present several problems for constructing additive and ultrametric trees using this measure. Many of the resultant optimization problems are NP-hard, and one (finding a minimum size ultrametric tree which increments from an input matrix) is hard to approximate. Specifically, there is a constant c>0 such that unless P = NP, no polynomial time algorithm can exist which finds an approximate solution within the ratio of nc. However, we also present tight upper and lower bounds for the L∞-Minimum Increment to Ultrametric. Thus, we present perhaps the first algorithm for constructing phylogenetic trees from distance matrices which finds optimal trees for a reasonable criterion in polynomial time.