Abstract

The minimum-cost flow (MCF) problem is a fundamental optimization problem with many applications and seems to be well understood. Over the last half century many algorithms have been developed to solve the MCF problem, and these algorithms have varying worst-case bounds on their running time. However, these worst-case bounds are not always a good indication of the algorithms’ performance in practice. The Network Simplex (NS) algorithm needs an exponential number of iterations for some instances, but it is among the best algorithms in practice and performs very well in experimental studies. On the other hand, the Minimum-Mean Cycle Canceling (MMCC) algorithm is strongly polynomial, but performs badly in experimental studies. To explain these differences in performance in practice we apply the framework of smoothed analysis to NS and MMCC. We show an upper bound of O(mn2 log(n) log(φ)) for the number of iterations of the MMCC algorithm. Here, n is the number of nodes, m is the number of edges, and φ is a parameter limiting the degree to which the edge costs are perturbed. We also show a lower bound of Ω(m log(φ)) for the number of iterations of the MMCC algorithm, which can be strengthened to Ω(mn) when φ = Θ(n2 ). For the number of iterations of the NS algorithm we show a smoothed lower bound of Ω(m · min{n, φ} · φ).

Highlights

  • The minimum-cost flow (MCF) problem is a well-studied problem with many applications, for example, modeling transportation and communication networks [1, 7]

  • We believe that the reason for this difference is that the time needed per iteration is much less for the Network Simplex (NS) algorithm than for the Shortest Path (SSP) algorithm

  • The spanning tree structure allows for fast updating of the flow and node potentials, in particular when the flow changes on only a small fraction of the edges

Read more

Summary

Introduction

The minimum-cost flow (MCF) problem is a well-studied problem with many applications, for example, modeling transportation and communication networks [1, 7]. They provide a lower bound of Ω(m · min{n, φ} · φ) for the number of iterations that the SSP algorithm needs, which is tight for φ = Ω(n) These bounds show that the SSP algorithm needs only a polynomial number of iterations in the smoothed setting, in contrast to the exponential number it needs in the worst case, and explains why the SSP algorithm performs quite well in practice. For the MMCC algorithm we provide an upper bound (Section 2) for the expected number of iterations that the MMCC algorithm needs of O(mn log(n) log(φ)) For dense graphs, this is an improvement over the Θ(m2n) iterations that the MMCC algorithm needs in the worst case, if we consider φ a constant (which is reasonable if it models, for example, numerical imprecision or measurement errors). In the rest of our paper, all logarithms are base 2

Minimum-Cost Flow Problem
Minimum-Mean Cycle Canceling Algorithm
Network Simplex Algorithm
Upper Bound for the MMCC Algorithm
General Lower Bound
Lower Bound for φ Dependent on n
Lower bound for the Network Simplex Algorithm
Discussion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call