Capacity design of an optical network for demands of connections forms a
linear programming sizing problem for a optimal routing. A dual of the
linear programming sizing problem is formed and solved with an
approximation algorithm. Edge lengths are initialized based on i) the
inverse of the edge's capacity and ii) a scalar constant. Then, the
approximation algorithm proceeds in phases to route each commodity over
the edges of a graph. During each phase, the demand's flow is sent from
the source to destination via multiple iterations. During each iteration,
the shortest length-bounded path from the source to the destination is
determined, a portion of the flow is sent, and the lengths of the edges
that carry the flow are updated. The value employed to scale the network
is generated after the last phase from the maximum ratio of edge flow to
edge capacity.