An Algorithm for Finding Two Node-Disjoint Paths in Arbitrary Graphs (original) (raw)

Finding Two Disjoint Paths Between Two Pairs of Vertices in a Graph

Journal of the ACM, 1978

^SSTnXcr. Gwen a graph G = (V, E) and four verttces s~, tx, s~, and t2, the problem of finding two disjoint paths, P~ from s~ to tt and P2 from s2 to t2, is considered This problem may arise as a transportation network problem and m printed clrcmts routing The relations between several vemons of the problem are discussed Efficient algorithms are gwen for the following special cases-acyche directed graphs and 3-connected planar and chordal graphs.

Algorithms for determining a node-disjoint path pair visiting specified nodes

Optical Switching and Networking, 2016

The problem of calculating the shortest path that visits a given set of nodes is at least as difficult as the traveling salesman problem, and it has not received much attention. Nevertheless an efficient integer linear programming (ILP) formulation has been recently proposed for this problem. That ILP formulation is firstly adapted to include the constraint that the obtained path can be protected by a node-disjoint path, and secondly to obtain a pair of node disjoint paths, of minimal total additive cost, each having to visit a given set of specified nodes. Computational experiments show that these approaches, namely in large networks, may fail to obtain solutions in a reasonable amount of time. Therefore heuristics are proposed for solving those problems, that may arise due to network management constraints. Extensive computational results show that they are capable of finding a solution in most cases, and that the calculated solutions present an acceptable relative error regarding the cost of the obtained path or pair of paths. Further the CPU time required by the heuristics is significantly smaller than the required by the used ILP solver.

A quick method for finding shortest pairs of disjoint paths

Networks, 1984

Let G be a directed graph containing n vertices, one of which is a distinguished source s, and m edges, each with a non-negative cost. We consider the problem of finding, for each possible sink vertex u, a pair of edge-disjoint paths from s to u of minimum total edge cost. Suurballe has given an O(n2 1ogn)-time algorithm for this problem. We give an implementation of Suurballe's algorithm that runs in O(m log(, +,+)n) time and O(m) space. Our algorithm builds an implicit representation of the n pairs of paths; given this representation, the time necessary to explicitly construct the pair of paths for any given sink is O(1) per edge on the paths.

Efficient heuristics for determining node-disjoint path pairs visiting specified nodes

Networks, 2017

A new recursive heuristic is proposed to calculate a shortest simple path, from a source node to a destination node, that visits a specified set of nodes in a network. To provide survivability to failures along the path, the proposed heuristic is modified to ensure that the calculated path can be protected by a node-disjoint backup path. Additionally, the case when both paths in the disjoint path pair are required to visit specific sets of nodes is studied and effective heuristics are proposed. An evaluation of the solutions of the heuristics is conducted by comparing with results from an integer linear programming (ILP) formulation for each of the considered problems, and also with previous heuristics. The ILP solver may require a significant amount of time to obtain a solution, especially in large networks, which justifies the need for effective, computationally efficient heuristics for solving these problems.

Finding Arc and Vertex-Disjoint Paths in Networks

2009 Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing, 2009

Multipath Routing plays an important role in communication networks. Multiple disjoint paths can increase the effective bandwidth between pairs of vertices, avoid congestion in a network and reduce the probability of dropped packets. In this paper, we build mathematical models for arc-disjoint paths problem and vertex-disjoint paths problem respectively, and prove that they are both Linear Programming Problem. Then we propose polynomial algorithms for finding the shortest pair of arc and vertex-disjoint paths, both with the time complexity of () Om . Furthermore, we extend these algorithms to find any k disjoint paths, whose sum-weight is minimized in time () O km .

On the disjoint paths problem

Operations Research Letters, 2007

Using flow and matching algorithms to solve the problem of finding disjoint paths through a given node, and with a technique of Chekuri and Khanna, we give an O( √ n) approximation for the edge-disjoint paths problem in undirected graphs, directed acyclic graphs and directed graphs with edge capacity at least 2.

Distributed algorithms for computing shortest pairs of disjoint paths

IEEE Transactions on Information Theory, 1993

Distributed algorithms are presented for finding two disjoint paths of minimum total length from each node to a destination. The algorithms have both node-disjoint and link-disjoint versions, and provide each node with information sufficient to forward data on the disjoint paths. It is shown that this problem can be reduced to the problem of finding a "minimal" shortest path from each node to the destination in a modified network, and a distributed algorithm is presented on the original network that simulates a shortest-paths algorithm running on the modified network. The distributed algorithm has a smaller space complexity than any previous distributed algorithm for the same problem, and a method for forwarding packets is presented that does not required any additional space complexity. A synchronous implementation of the algorithm is presented that has better communication and time complexities than any previous distributed algorithm for the same problem except the "full-information" algorithm that requires each node to know the entire network topology. In dense networks, the synchronous algorithm has the same communication complexity as, and a better time complexity than, the full-information algorithm.

Note on the problem of partially link disjoint paths

This paper discusses the problem of partially link disjoint paths in communication networks. The problem is situated in between the well-known shortest path generation and the synthesis of two disjoint paths. The contributions of this paper are twofold: firstly, topologies and relevant graph properties are investigated and the degree of divergence is defined as a metric to distinguish the degree of commonality for the two partially disjoint paths. Secondly, heuristic approaches are introduced that solve the problem of generating partly disjoint paths.

Finding disjoint paths with different path‐costs: Complexity and algorithms

Networks, 1992

Consider a network G = (V,E) with distinguished vertices s and t, and with k different costs on every edge. We consider the problem of finding k disjoint paths from s to t such that the total cost of the paths is minimized, where the jth edge‐cost is associated with the jth path. The problem has several variants: The paths may be vertex‐disjoint or arc‐disjoint and the network may be directed or undirected. We show that all four versions of the problem are strongly NP‐complete even for k = 2. We describe polynomial time heuristics for the problem and a polynomial time algorithm for the acyclic directed case.

Shortest node-disjoint paths on random graphs

Journal of Statistical Mechanics: Theory and Experiment, 2014

A localized method to distribute paths on random graphs is devised, aimed at finding the shortest paths between given source/destination pairs while avoiding path overlaps at nodes. We propose a method based on message-passing techniques to process global information and distribute paths optimally. Statistical properties such as scaling with system size and number of paths, average path-length and the transition to the frustrated regime are analyzed. The performance of the suggested algorithm is evaluated through a comparison against a greedy algorithm.