An O(Nm) Time Algorithm for Finding the Min Length Directed Cycle in a Graph
Author(s)
Sedeno-Noda, Antonio; Orlin, James B
DownloadTime-Algorithm-James-Orlin.pdf (1.900Mb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
In this paper, we introduce an O(nm) time algorithm to determine the minimum length directed cycle (also called the "minimum weight directed cycle") in a directed network with n nodes and m arcs and with no negative length directed cycles. This result improves upon the previous best time bound of O(nm + n² og log n). Our algorithm first determines the cycle with minimum mean length λ* in O(nm) time. Subsequently, it chooses node potentials so that all reduced costs are λ* or greater. It then solves the all pairs shortest path problem, but restricts attention to paths of length at most nλ*. We speed up the shortest path calculations to O(m) per source node, leading to an O(nm) running time in total. We also carry out computational experiments comparing the performance of the proposed methods and other state-of-the-art methods. Experiments confirmed that it is advantageous to solve the minimum mean cycle problem prior to solving shortest path problems. Analysis of our experiments suggest that the running time to solve the minimum length directed cycle problem was much faster than O(n² on average.
Date issued
2016-10Department
Sloan School of ManagementJournal
Proceeding SODA '17 Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms
Publisher
Society for Industrial and Applied Mathematics
Citation
Orlin, James B. and Antonio Sede ̃no-Noda. "An O(nm) time algorithm for finding the min length directed cycle in a graph." In Proceeding SODA '17 Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, Barcelona, Spain, January 16-19 2017, pp. 1866-1879.
Version: Author's final manuscript
ISSN
0368-4245