We consider a geometric optimization problem that arises in network design. Given a set P of n points in the plane, source and destination points s, t ∈ P , and an integer k > 0, one has to locate k Steiner points, such that the length of the longest edge of a bottleneck path between s and t is minimized. In this paper, we present an O(n log 2 n)-time algorithm that computes an optimal solution, for any constant k. This problem was previously studied by Hou et al. [11], who gave an O(n 2 log n)-time algorithm. We also study the dual version of the problem, where a value λ > 0 is given (instead of k), and the goal is to locate as few Steiner points as possible, so that the length of the longest edge of a bottleneck path between s and t is at most λ.Our algorithms are based on two new geometric structures that we develop -an (α, β)-pair decomposition of P and * a floor (1 + ε)-spanner of P . For real numbers β > α > 0, an (α, β)-pair decomposition of P is a collection W = {(A1, B1), . . . , (Am, Bm)} of pairs of subsets of P , satisfying: (i) For each pair (Ai, Bi) ∈ W, the radius of the minimum enclosing circle of Ai (resp. Bi) is at most α, and (ii) For any p, q ∈ P , such that |pq| ≤ β, there exists a single pair (Ai, Bi) ∈ W, such that p ∈ Ai and q ∈ Bi, or vice versa. We construct (a compact representation of) an (α, β)-pair decomposition of P in time O((β/α) 3 n log n).Finally, for the complete graph with vertex set P and weight function w(p, q) = |pq| , we construct a (1 + ε)-spanner of size O(n/ε 4 ) in time O((1/ε 4 )n log 2 n), even though w is not a metric.