Let V be a finite set with . A family is called laminar if for all two sets , implies or . Given a laminar family , a demand function , and a monotone concave cost function , we consider the problem of finding a minimum-cost such that for all . Here we do not assume that the cost function F is differentiable or even continuous. We show that the problem can be solved in time if F can be decomposed into monotone concave functions by the partition of V that is induced by the laminar family , where q is the time required for the computation of for any . We also prove that if F is given by an oracle, then it takes time to solve the problem, which implies that our time algorithm is optimal in this case. Furthermore, we propose an algorithm if F is the sum of linear cost functions with fixed setup costs. These also make improvements in complexity results for source location and edge-connectivity augmentation problems in undirected networks. Finally, we show that in general our problem requires time when F is given implicitly by an oracle, and that it is NP-hard if F is given explicitly in a functional form.
An extended abstract of this paper appeared in Proceedings of the 16th Annual International Symposium on Algorithms and Computation (ISAAC 2005), China, December 2005 [16].