We consider the problem of sending flow from a source to a destination where there are flow costs on each arc and fixed costs toward the purchase of capacity. Capacity can be purchased in batches of C units on each arc. We show the problem to be NP-hard in general. If d is the quantity to be shipped from the source to the destination, we give an algorithm that solves the problem in time polynomial in the size of the graph but exponential in [d/C\. Thus, for bounded values of [d/C] the problem can be solved in polynomial time. This is useful since a simple heuristic gives a very good approximation of the optimal solution for large values of [d/C]. We also show a similar result to hold for the case when there are no flow costs but capacity can be purchased either in batches of 1 unit or C units. The results characterizing optimal solutions with a minimum number of free arcs are used to obtain extended formulations in each of the two cases. The LP-relaxations of the extended formulations are shown to be stronger than the natural formulations considered by earlier authors, even with a family of strong valid inequalities added.
- Integer programming
- Min cost flow