Cities A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">1</inf> , …, A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">n</inf> in the plane are to be interconnected by two-way communication channels. N(i, j) channels are to go between A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</inf> and A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</inf> . One could install the N(i, j) channels along a straight line, for every pair i, j. However it is usually possible to save money by rerouting channels over longer paths in order to group channels together. In this way, large numbers of channels share such preliminary expenses as real estate, surveying, and trench digging. The geometry of the least expensive network will depend on the numbers of channels N(i, j) and on the function f(N) which represents the cost per mile of installing N channels along a common route. If the preliminary expenses are the only expenses then f(N) is a constant, independent of N. In that case the best network is obtained by routing channels along lines of the “Steiner minimal tree”, a graph which has been studied extensively and which can be constructed by ruler and compass. In part, this paper generalizes Steiner minimal trees for the case of an arbitrary function f(N). One again obtains a ruler and compass construction for a minimizing tree, which is likely to provide a best or good solution when preliminary costs are a significant part of the total cost. However the minimizing tree need not be the best solution in general because further cost reductions may now be possible by using graphs which have cycles. Other properties of Steiner minimal trees generalize only part way, and some examples illustrate the new complications. The remainder of the paper considers functions f(N) with special properties. A convexity property <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$f(N+2)-2F(N+1)+f(N)\leqq 0, N\ =\ 1,2,\ldots$</tex> ensures that there is a minimizing solution in which all N(i, j) channels between A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</inf> and A <inf xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">i</inf> take the same path (no split routing). If f(N) is a linear function (f(N) = a + bN), one can obtain simple bounds on the minimum cost. The lower bound is fairly accurate.