TL;DR
This paper introduces reroutable flows in networks, analyzing their properties, computational complexity, and approximation algorithms, with a focus on robustness against link failures and ensuring no flow loss.
Contribution
It defines and studies reroutable and strictly reroutable flows, providing LP formulations, approximation algorithms, and hardness results for maximum flow under failure scenarios.
Findings
Max flow/min cut gap is bounded by 2 for reroutable flows.
Maximum reroutable flow computation is NP-hard, even with capacities {1,2}.
A simple algorithm finds half-integral strictly reroutable flows or certifies impossibility.
Abstract
We introduce and investigate reroutable flows, a robust version of network flows in which link failures can be mitigated by rerouting the affected flow. Given a capacitated network, a path flow is reroutable if after failure of an arbitrary arc, we can reroute the interrupted flow from the tail of that arc to the sink, without modifying the flow that is not affected by the failure. Similar types of restoration, which are often termed "local", were previously investigated in the context of network design, such as min-cost capacity planning. In this paper, our interest is in computing maximum flows under this robustness assumption. An important new feature of our model, distinguishing it from existing max robust flow models, is that no flow can get lost in the network. We also study a tightening of reroutable flows, called strictly reroutable flows, making more restrictive assumptions…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
Rerouting Flows when Links Fail· youtube
\NewEnviron
reptheorem[1]
Theorem 1**.**
\BODY
Rerouting flows when links fail111An extended abstract of this work appears in the proceedings of ICALP 2017.
Jannik Matuschke TUM School of Management and Department of Mathematics, Technische Universität München
S. Thomas McCormick Sauder School of Business, University of British Columbia
Gianpaolo Oriolo Dipartimento di Ingegneria Civile e Ingegneria Informatica, Università di Roma “Tor Vergata”
Abstract
We introduce and investigate reroutable flows, a robust version of network flows in which link failures can be mitigated by rerouting the affected flow. Given a capacitated network, a path flow is reroutable if after failure of an arbitrary arc, we can reroute the interrupted flow from the tail of that arc to the sink, without modifying the flow that is not affected by the failure. Similar types of restoration, which are often termed “local”, were previously investigated in the context of network design, such as min-cost capacity planning. In this paper, our interest is in computing maximum flows under this robustness assumption. An important new feature of our model, distinguishing it from existing max robust flow models, is that no flow can get lost in the network.
We also study a tightening of reroutable flows, called strictly reroutable flows, making more restrictive assumptions on the capacities available for rerouting. For both variants, we devise a reroutable-flow equivalent of an --cut and show that the corresponding max flow/min cut gap is bounded by . It turns out that a strictly reroutable flow of maximum value can be found using a compact LP formulation, whereas the problem of finding a maximum reroutable flow is -hard, even when all capacities are in . However, the tightening can be used to get a -approximation for reroutable flows. This ratio is tight in general networks, but we show that in the case of unit capacities, every reroutable flow can be transformed into a strictly reroutable flow of same value. While it is -hard to compute a maximal integral flow even for unit capacities, we devise a surprisingly simple combinatorial algorithm that finds a half-integral strictly reroutable flow of value , or certifies that no such solutions exits. Finally, we also give a hardness result for the case of multiple arc failures.
1 Introduction
Network infrastructures for transportation, communication, or energy transmission are an important backbone of our society. However, they are also prone to failure or intentional sabotage, and in such cases it is desirable to quickly recover the service provided through the network. A crucial frequent requirement of actual network restoration techniques is that restoration is handled locally [16]. As a motivating example, consider a communication network in which data packets are routed along paths. When a link in the network fails, it is desirable to only reroute the traffic that is actually affected by the failure, i.e., those paths that traverse the failing link, without changing or rerouting any part of the flow that is not affected by the failure. Note that arbitrary rearrangement of the flow after a failure is in general more powerful, but it is both undesirable to interrupt customer service and hard to do so reliably and safely [11, 20].
To cope with such a situation, we introduce the concept of reroutable network flows: A flow on --paths is reroutable if after failure of any arc in the network, we can reroute all flow that was traversing from to the sink , while not changing any flow that was not affected by the interruption. Similar concepts were previously discussed in a few other papers [8, 9, 22, 23], but with an emphasis on network design issues, e.g., minimizing the cost of the installed capacity. In contrast, our interest is in computing maximum flows (but we point out that a potential application are feasibility/separation subroutines for capacity reservation). Note that in this setting, we cannot simply send a standard maximum flow, as we need to leave space for rerouting. Before we discuss our findings and better relate them to existing literature, let us formalize the definition of our model.
Network flows
Let be a digraph with source , a sink and arc capacities . Let be the set of simple222All our results also work for the case that contains non-simple paths, but we restrict to simple paths for ease of notation. --paths in . For arcs , define
[TABLE]
where means that traverses before . An --flow is a vector that assigns a flow value to each such that the arc flow values fulfill the capacity constraint for all . The value of a flow is .
Reroutable flows
Let be an --flow. If an arc fails, all flow on paths containing the failing arc gets interrupted when it reaches . For any , we define the available capacity of after failure of by
[TABLE]
A rerouting of for the failing arc is a --flow of value in with capacities . The flow is reroutable if for every failing arc there is a rerouting of .
Strictly reroutable flows
A rerouting of a flow for a failing arc is strict if for every . We say that is strictly reroutable if for every failing arc there is a strict rerouting of .
Strictly reroutable flows are both a helpful tool for computing reroutable flows and interesting in their own right, in situations where more conservative assumptions have to be made on the capacities available for rerouting. A natural question is what is the maximum flow value that can be sent by a (strictly) reroutable flow in a given network. We denote the corresponding optimization problem as Max RF and Max SRF, respectively.
Path flows vs. arc flows
Our reroutable flow model is defined for path flows, which is a common assumption in many robust flow models [2, 4, 15, 19]. It is well-known that network flows allow for two different representations: By specifying a value for each path, as is done in this paper, or by specifying the flow on each arc and requiring flow conservation at each node of the network. Arc flow values can easily be obtained from a given path flow. Conversely, every arc flow can be decomposed into flow on paths, but in general this decomposition is not unique; see, e.g., [3]. There are flow problems where the path decomposition does not play a role, e.g., the maximum flow problem or the minimum cost flow problem, and others where it does, e.g., robust flows [4], length-bounded flows [5], or the computation of earliest arrival flows [21]. For our model, it turns out that Max RF falls into the first category, whereas Max SRF falls into the second.
1.1 Our results
Complexity of the problems (Sections 2.1 and 2.2)
We observe that Max SRF can be solved in polynomial time by formulating it as a linear program. In contrast, Max RF is -hard, even when for all . On the positive side, by showing that the maximum value of a reroutable flow is at most twice as large as the maximum value of a strictly reroutable flow, we obtain a -approximation for Max RF for arbitrary capacities. The problem can further be solved exactly in unit capacity networks (see below).
Max flow/min cut gap (Section 2.3)
Max flow/min cut results play a central role in network flow theory. We devise a combinatorial upper bound for the maximum reroutable flow value, called R-cut, and prove that the corresponding flow/cut gap for both reroutable and strictly reroutable flows is bounded by . In fact, our proof is constructive and provides a combinatorial -approximation algorithm for the minimum capacity R-cut problem.
Unit capacity networks (Section 3)
We consider the case of unit capacities. It turns out that in this case, Max RF and Max SRF are equivalent. Our proof is based on a careful uncrossing argument that allows to transform any reroutable flow into a strictly reroutable flow.
Computing (half-)integral solutions (Section 4)
A common property of many flow problems is the existence of an integral optimal solution when capacities are integral. In the case of reroutable flows, this property does not hold. In fact, if we require flow to be integral, the problem becomes -hard, even for sending a single unit of flow in a unit capacity network. However, for this special case, we devise a simple combinatorial algorithm that computes a half-integral solution or certifies that no flow of value exists. Via our max flow/min cut analysis we also show how to compute -approximate half-integral solutions.
Multiple arc failures (Section 5.3)
We consider the natural generalization of our problems to multiple simultaneous arc-failures. We show that in this case both variants of the problem are -hard, even when only two arcs can fail and all arcs have unit capacity. All hardness results in this paper are based on reduction from an intermediary problem, called Forbidden Pairs --Path. They are therefore grouped together in Section 5.
1.2 Related work
As we already pointed out above, “local” rerouting schemes, i.e., schemes that only change flow affected by the failure, have been investigated in network design. A routing scheme in which flow has to be sent along arc-disjoint paths was investigated in [8], see also [23]. The problem of finding a local rerouting from the tail to the head of a failed arc was investigated in [9] and [22]. However, in all these papers the focus was on min-cost capacity planning.
Concepts that deal with the maximization of flow subject to robustness constraints commonly fall under the moniker of robust flows. Aggarwal and Orlin [2] studied -route flows. Such a flow is a conic combination of elementary flows, each of which consists of a uniform flow along disjoint paths. Because of this structure, the failure of any arc can only destroy a fraction of the flow. A maximum -route flow can be computed in polynomial time by means of a parametric max flow problem. Another classic model is the maximum robust flow problem: Here, the goal is to find a path flow that maximizes the surviving flow after a worst-case failure of arcs. Aneja et al. [4] showed that for both an optimal fractional and an optimal integral solution can be found in polynomial time. If is not bounded by a constant the problem is -hard [12], but the complexity for any constant value is open. Bertsimas et al. [6] provide an -approximation algorithm for the maximum robust flow. Robust flows are closely related to network flow interdiction, which takes a dual perspective: The goal is to find a subset of arcs whose removal minimizes the maximum flow value in the remaining network; see the recent article by Chestnut and Zenklusen [10] for an up-to-date overview of this topic.
To the best of our knowledge, the only other flow maximization model that allows for adjustment after the failure are adaptive flows, first introduced by Bertsimas et al. [7]: In the first step, an arc flow is specified. After failure of arcs, a new flow is sent, with the flow value on every arc being bounded by the original flow value. Note that adaptive flows differ from reroutable flows in two important aspects: Adaptive flows allow flow to be ‘lost’ (the flow value after the failure is lower than the original flow value), whereas in reroutable flows all flow has to reach the sink. Furthermore, adaptive flows can reconfigure the flow in the entire network, whereas in reroutable flows, only the flow affected by the failure can be rerouted.
Another model closely related to reroutable flows is the online replacement path problem (ORP) introduced by Adjiashvili et al. [1]. The ORP is a generalization of the shortest path problem: Given a digraph with costs on the arcs, we have to specify an --path. Along the path, we may encounter a failing arc , and we have to find a replacement path from to avoiding . The goal is to minimize the total traveled distance, assuming is chosen by an adversary. Adjiashvili et al. [1] show that the ORP can be solved in polynomial time, even when a constant number of arcs fail.
2 LP formulation, approximation, and
max flow/min cut
In this section, we discuss the complexity of the two problems and provide bounds on the gap between Max RF and Max SRF. We also introduce an analogue to minimum cuts for reroutable flows and bound the corresponding duality gap. At the end of the section, we show that all our bounds are tight.
2.1 Complexity of Max RF and Max SRF
We now consider an LP formulation for Max SRF. For , let be the set of all --paths in , which are exactly the paths that a rerouting for failing arc can use.
[TABLE]
The first set of constraints bound the capacities for each rerouting; note in particular that for , the second term becomes [math], ensuring for all . The second set of constraints ensures that the rerouting flow has value .
For our discussion, it will also be useful to consider the dual of . We introduce dual variables for every and for every .
[TABLE]
Although has an exponential number of variables, it can be solved in polynomial time via dual separation.
Theorem 2**.**
Max SRF* can be solved in polynomial time.*
Proof.
We observe that the separation problem to can be solved by a sequence of shortest path computations: Consider a point . A violation of the first set of constraints can be detected by computing the shortest --paths with respect to arc costs . If the shortest path has cost smaller than , it corresponds to a violated inequality, otherwise fulfills the inequalities. A violation of the second set of constraints can be detected by computing a shortest --path for every with respect to arc costs . If the shortest path for some has cost smaller than the constraint is violated for that path. Otherwise fulfills the inequalities.
Hence we can obtain an optimal solution for using the equivalence of optimization and separation. By restricting to the paths corresponding to inequalities generated during the solution of the dual, we obtain a primal solution of equal value. ∎
Remark 3**.**
An alternative way to obtain a polynomial algorithm for Max SRF is to observe that the capacities available for strict rerouting only depend on the arc flow values. Hence, we can formulate Max SRF as a compact LP with arc flow variables. Then any path decomposition of the resulting arc flow is a maximum strictly reroutable flow.
For the special case of unit capacity networks, we show in Section 3 that an optimal solution to is also optimal for Max RF.
Theorem 4**.**
For , Max RF can be solved in polynomial time.
An LP formulation for Max RF can be obtained by replacing the term by in the capacity constraints of . Unfortunately, this modification prevents the dual separation approach from working. In fact, it turns out that Max RF is hard as soon as two different capacities occur. The proof of this result is discussed in Section 5.1.
{reptheorem}
thmGeneralCapacities Max RF is -hard, even when for all .
2.2 Reroutable flows vs. strictly reroutable flows
As Max SRF is a tightening of Max RF, the optimal value of the former is at most that of the latter. We show that the gap between the two values cannot be larger than . As we can compute maximum strictly reroutable flows, we obatain a -approximation for Max RF.
Lemma 5**.**
Let be an --flow. If is strictly reroutable, then is reroutable. If is reroutable, then is strictly reroutable.
Proof.
The first statement follows from the fact that for all . For the proof of the second statement, assume is reroutable and consider any . Let be the rerouting of in case of failure of . Now observe that is a strict rerouting of in case of failure of , because it is a --flow of value and
[TABLE]
where the second inequality follows from . ∎
Corollary 6**.**
There is a -approximation algorithm for Max RF.
2.3 Max flow/min cut gap for reroutable flows
An --cut is a set of arcs that intersects every --path. Its capacity is the sum of capacities of its arcs. A fundamental result in network flow theory is that the value of a maximum --flow is equal to the capacity of a minimum --cut. This result has been successfully generalized to many variants of network flows, such as abstract flows [17] or flows over time [13]. However, in other cases, such as multicommodity flows, the equality does not hold and instead, researchers investigate the worst case ratio between maximum flow and minimum cut; see, e.g., [18].
We present a counterpart to an --cut for reroutable flows. It turns out that max flow and min cut are not necessarily equal and we give a tight bound on the corresponding max flow/min cut gap. An R-cut is a set of arcs together with a collection of cuts , where each is a --cut containing . We denote by for short. The capacity of the R-cut is
[TABLE]
where is the capacity of a minimum --cut in .
The intuition behind this definition is the following: For every , all flow that crossed the cut must cross the if fails. If a flow path does not cross any cut in , then it crosses the minimum --cut in . Therefore the capacity of an -cut is an upper bound on the value of any reroutable flow.
Lemma 7**.**
* for any reroutable flow and any R-cut .*
Proof.
Let . As is a --cut, units of flow have to be rerouted across the arcs in when fails. Therefore
[TABLE]
This implies for all . Now let be a minimum --cut in . Then
[TABLE]
At the end of this section, we further show that R-cuts correspond to integral solutions to . We now give a constructive proof bounding the duality gap between maximum strictly reroutable flow and minimum R-cut (or, equivalently, the integrality gap of the dual LP). In Section 2.4 we give an example showing that the bound is tight.
Theorem 8**.**
Let be a strictly reroutable flow of maximum value and let be an R-cut of minimum capacity. Then .
Proof.
For , let be minimum --cut in containing and define . Let be a minimum --cut in with respect to the capacities and let be a corresponding maximum flow. Now define . Observe that and define an R-cut and that . We obtain
[TABLE]
Now let . It is sufficient to show that is a strictly reroutable flow. By contradiction assume that there is for which there is no strict rerouting of . By the max flow/min cut theorem, there must be a --cut in with . Note that for every by construction of . Thus
[TABLE]
However, this implies that is a smaller --cut than , a contradiction. ∎
Computing a minimum capacity R-cut
Let us denote the problem of finding an R-cut of minimum capacity by Min R-Cut. The proof of Theorem 8 describes how to compute a -approximate solution to this problem.
Corollary 9**.**
There is a -approximation algorithm for Min R-Cut.**
Proof.
For every the capacity and the corresponding cut can be computed by a standard minimum --cut computation. Given the values of , also can be computed by a min cut computation. ∎
2.3.1 R-cuts and integral dual solutions
As mentioned above, R-cuts correspond to integral solutions of . We give a formal argument of this correspondence.
Given an R-cut , let be a minimum --cut in . We set for every , for every , and for every . All other variables are set to [math]. It is easy to check that corresponds to a feasible solution to with objective value .
Conversely, consider an integral dual solution . Note that we can assume that all variables take values in : If we can set it to [math] without losing feasibility. If any variable is takes a value larger than , we can reduce it to without losing feasibility. Let . By the second set of constraints, for every , every - path must be covered, i.e., there must be a --cut with for all . By the first set of constraints, for every there is an such that either or for some . Thus the support of contains an --cut in . We conclude that is at most the objective value of the solution .
2.4 Summary of the bounds and tightness
Putting the bounds from Lemma 5 and Theorem 8 together, we obtain the following corollary.
Corollary 10**.**
*Let be a minimum capacity R-cut and let and be maximal reroutable and strictly reroutable flows, respectively. Then
[TABLE]
The following gadget will be useful throughout the paper in order to construct examples and reductions.
Backup links
A backup link from to is a --path of length in which the intermediate node is incident only to the two arcs of the path and . Note that for any reroutable flow, because when fails, there is no --path for rerouting the flow on that arc. A bidirected backup link between and consists of two distinct backup links, one from to and one from to .
Tightness of bounds
The network depicted in Fig. 1 shows that the bounds given in Lemma 5 and Theorem 8 are tight. Note that any reroutable flow is completely determined by the value it sends along the path , as backup links can only be used for rerouting.
For the bound on gap between max reroutable flow and max strictly reroutable flow, we set the capacities and for all . We show that defines a reroutable flow. Failure of is not a problem, as has a backup link to . If fails, flow can use the backup link to and traverse , as , to reach the backup link from to . If fails, flow can be rerouted from using the backup link and the arc , as and thus . However, in a strictly reroutable flow, this last rerouting is no longer possible, as . Hence, for any strictly reroutable flow . The maximum strictly reroutable flow value therefore is . 2. 2.
For the bound on the flow/cut gap, set all capacities to . Then both the maximum reroutable flow value and the maximum strictly reroutable flow value are . Consider any R-cut . As capacities are integral, . An R-cut with is, e.g., and .
Note that Fig. 1 also shows that optimal solutions to both Max RF and Max SRF can be fractional, even when capacities are integral.
Remark 11**.**
Note that the worst-case for the bounds in Corollary 10 cannot be attained simultaneously, i.e., in any given instance either the max flow/min cut gap or the gap between reroutable and strictly reroutable flow has to be significantly smaller than —in fact, at least one of them has to be within .
3 Unit capacity networks
Throughout this section, we assume . We will show that in this case, any reroutable flow can be transformed into a strictly reroutable flow of the same value. While this closes the gap between the two reroutable flow variants, note that the flow/cut gap can still be in unit capacity networks, as can be seen in Fig. 1. We start by giving an alternative characterization for strictly reroutable flows in unit capacity networks.
Cuts separating
For , let denote the cut induced by . We define and let be the set of -separating cuts. W.l.o.g. we assume for all , as no vertex in a set with can be on an --path.
Lemma 12**.**
Let be an --flow for capacities . Then is strictly reroutable if and only if for all .
Proof.
We first show sufficiency of the condition. By contradiction assume that for all but is not strictly reroutable. Because is not strictly reroutable, there must be an arc such that there is no rerouting of for . This means that the maximum flow value that can be sent in with capacities from to is strictly smaller than . By max flow/min cut, this implies there is a --cut with , which implies , contradicting our initial assumption.
To see necessity, assume is a strictly reroutable flow and let be any -separating cut. Now let . Since is strictly reroutable, there is an --flow of value in with capacites . By max flow/min cut this implies . ∎
In the following, we identify those cuts that might violate the condition given in Lemma 12 for a (non-strictly) reroutable flow. We then show that this class of cuts forms a semi-lattice. This allows us to apply an uncrossing of the flow paths that iteratively eliminates the problematic cuts while maintaining reroutability.
Bad cuts
Let be an --flow and let be a -separating cut. An arc is -bad if there is an arc and a path with . A cut is -bad if all arcs are -bad.
Lemma 13**.**
Let be a reroutable flow for capacities . Let be a -separating cut. If then is -bad.
Proof.
By contradiction assume is not -bad. Then there must be an arc that is not -bad. This implies that for every . In particular, for all . Since all flow in the rerouting of for failure of needs to cross , we obtain . Adding to both sides of this inequality yields a contradiction. ∎
Lemma 14**.**
Let be a flow and let be such that and are both -bad. Then is an -bad -separating cut as well.
Proof.
Define , , and . Let . We will show that is -bad, proving the lemma. Note that and hence or . Without loss of generality assume the former. Because, is -bad, is -bad. Therefore there must be an arc and a path with . Consider the suffix of starting with arc . Observe that starts in but ends in . Hence crosses , i.e., there is . Observe that , i.e., , showing that is -bad. ∎
Uncrossing paths
Let . For two nodes visited by (in that order), we let denote the subpath of path starting at and ending at . Given another path and an arc , let be a simple --path in the concatenation of and .
Theorem 15**.**
Let be a reroutable flow for capacities . Then there is a strictly reroutable flow with and for all .
Proof.
W.l.o.g., assume that minimizes among all reroutable flows with and for all (if this is not the case, we can replace by the flow minimizing the total arc flow).
Define \mathcal{S}^{\prime}:=\{S\in\mathcal{S}\,:\,\delta^{+}(S)\text{ is an x-bad cut}\}. If , Lemmas 12 and 13 imply that is strictly reroutable and we are done. Thus assume and define and . Note that Lemma 14 implies , and that further, by construction, defines the rightmost bad cut, i.e., no cut for with is -bad.
Next we construct a digraph as follows. We let , i.e., the nodes of are the arcs of . For every pair of distinct arcs , we introduce the arc in if and only if there is a path such that is the last arc of on . Observe that, because is -bad, every node of has an outgoing arc. Hence contains a simple directed cycle . Let be the arcs corresponding to the nodes of the cycle , and let be paths corresponding to the arcs of , i.e., the paths fulfill that arc is the last arc of that crosses , and for each (for ease of notation we identify and if ).
Now define for . Let ; see Fig. 2 for an illustration. We construct a new flow as follows:
[TABLE]
We show that is also a reroutable flow. First observe that and that for all . Now let and let with and define . First observe that if , then is not -bad and therefore by Lemma 13, implying , and therefore is reroutable. Thus we consider the case . We will show that in this case for all , and therefore is again reroutable. To this end, observe that the definition of implies
[TABLE]
We show that implies and therefore , which proves our claim. Consider any . We observe that , as and no arc in has its tail in (recall that is the last arc of crossing ). This further implies that and thus as . Therefore , i.e., . Now implies and hence is reroutable.
Finally, we show that . To this end, consider any fixed . Observe that
[TABLE]
Note that and hence implies , i.e., . Further note that does not contain , as . Hence the above containment is strict and .
We thus have constructed a reroutable flow with and for all and , contradicting our initial assumption. ∎
Remark 16**.**
The proof of Theorem 15 preserves integrality. Therefore, if is an integer multiple of for every , then can be chosen such that also is an integer multiple of for every .
Remark 17**.**
The characterization of strictly reroutable flows for unit capacities given in Lemma 12 can be extended to instances with arbitrary capacities as follows: An --flow is strictly reroutable if and only if for all and all . Furhtermore, if flow violates this constraint for some cut and an arc , then is -bad. However, this no longer implies that is an -bad cut. Indeed, consider the example given in Fig. 1 when setting and for all . Let be the reroutable (but not strictly reroutable) flow sending one unit of flow along the path . The cut is not -bad, but and violate the above constraint, preventing a strict rerouting.
4 Computing (half-)integral solutions
In some application contexts, flow cannot be split into arbitrarily small pieces. This is the setting we consider in this section. We say a flow is integral, if for all . We say that is half-integral if is integral.
For many fundamental flow problems, such as Max Flow or Min Cost Flow, integrality comes for free, i.e., as long as capacities are integral, there exists an optimal integral solution. In the case of reroutable flows, this property does not hold, see, e.g., Fig. 3. In fact, it turns out to be -hard to decide whether there is a non-zero integral reroutable flow in a network.
{reptheorem}
thmIntegralHardness It is -hard to decide whether there is an integral (strictly) reroutable flow of value , even when restricted to instances with .
Note that this problem corresponds to sending a unit of flow along a single --path. The hardness stems from a problem named Forbidden Pairs --Path. The reduction is described in Section 5. While it seems that Fig. 3 does not give much space for positive algorithmic results, we can do much better if we relax the integrality requirement slightly.
{reptheorem}
thmCombAlgo Given a network with , the algorithm given in LABEL:alg:unit-demand computes in polynomial time either a half-integral strictly reroutable flow of value , or correctly determines that no reroutable flow of value exists.
In particular, this implies that if we are interested in sending a single unit of flow, we never need to split our flow in more than two paths. Before we discuss the algorithm from Fig. 3, let us shortly discuss the case of arbitrary capacities. As a consequence of the max flow/min cut result proven in Section 2.3, we obtain the following approximation.
Theorem 18**.**
If is integral, then there is a strictly reroutable half-integral flow with , where is the value of a maximum reroutable flow. The flow can be computed in polynomial time.
Proof.
Recall that in the proof of Theorem 8 we computed an --flow that was maximal with respect to capacities . We then showed that the flow is strictly reroutable and within a factor of of a corresponding R-cut. In particular, is within a factor of of the maximum reroutable flow value. Note that if is integral, also is integral, and hence we can choose to be integral, ensuring that is half-integral. ∎
Algorithm for computing a half-integral flow for unit demand
A natural starting point for an algorithm is to identify arcs such that is disconnected from in . Obviously, no reroutable flow can send a positive amount of flow along such arcs, as after failure of , the flow cannot be rerouted to . Surprisingly, this simple preprocessing step can be generalized to an iterative procedure that solves the problem.
The algorithm, which is formally given in Listing LABEL:alg:unit-demand, maintains two sets and . In every iteration, it identifies an arc that cannot carry any flow in any reroutable flow and adds it to . The set contains the --bridges in the graph , i.e., all arcs whose removal disconnects from in that graph. Clearly, if for all , then every arc in must carry unit of flow. If at some point becomes an --cut, we know that no reroutable flow of value exists. On the other hand, if the algorithm finds no more arcs to add to while and are still connected in , it computes two paths that only intersect at the bridges, and sends units of flow along each of them.
Proof of LABEL:thmCombAlgo.
To see that Algorithm LABEL:alg:unit-demand terminates in polynomial time, observe that is increased in every iteration of the while-loop and the loop thus terminates after at most iterations, each of which can be carried out in polynomial time.
Case 1: No flow exists. We now show that if Algorithm LABEL:alg:unit-demand denies the existence of a reroutable flow of value , this is indeed correct. By contradiction assume contains an --cut but there exists a reroutable flow of value . We prove by induction that at any step of algorithm the set fulfills the property that for all , yielding a contradiction. The claim is clearly true initially, when . Now consider any iteration of the while-loop, considering arc . By induction hypothesis, every --path with must be a path in . Note that there is an order of the set of --bridges of such that every such flow-carrying path contains all of these bridges in exactly that order. In particular . Now consider the next arc added to and assume by contradiction that . By choice of there is a --cut in . Note that if , there is no rerouting of in case of failure of arc , as there is no --path in . Thus, let be the bridge with the highest index on the cut. We distinguish two cases:
- (i)
Assume appears before on every flow-carrying path. Note that is a --cut because and that . Therefore, the one unit of flow on cannot be rerouted when fails.
- (ii)
Now assume occurs after on every flow-carrying path. But then, when fails, the flow on cannot be rerouted as all edges in occur before on every flow-carrying path and thus .
We thus deduce that , completing the induction.
Case 2: Algorithm returns flow. Finally, we show that if contains an --path after completing the while-loop, then the flow returned by the algorithm is a strictly reroutable flow. First observe that two --paths in with exist by the max flow/min cut theorem, as contains exactly the bridges of . Now consider the failure of any arc . Let be a --cut in minimizing . We show that , which by max flow/min cut implies that there is a rerouting of in case of failure of . By termination condition of the while-loop, there is at least one arc . Note that and thus . If , then . If , we distinguish two cases.
- (i)
If then and the one unit of flow on can be rerouted.
- (ii)
If , then . Note that is a --cut in and thus there is by termination condition of the while-loop. Note that, because , we have and . Thus also in this last case.
We conclude that is indeed strictly reroutable. ∎
Remark 19**.**
Note that our proof of Fig. 3 does not make use of Theorem 15. Instead, it gives a simple alternative argument for the equivalence of reroutable and strictly reroutable flows in unit capacity networks, for the special case of unit value flows.
Remark 20**.**
Fig. 3* implies that, for networks with , if there exists any reroutable flow of value , then there exists a half-integral strictly reroutable flow of value . The example given in Fig. 3, however, reveals that this is no longer true for flows of higher value. To see this, consider any reroutable flow of value in the depicted network. Recall that backup links can only be used for rerouting. Thus, all nominal flow (i.e., before failure) must pass one of the three --paths or the arc . Let be the flow values on these three paths and be the flow value on the arc . Also, all flow must pass one of the three --paths. Let be the arc flow values on these paths. We obtain . We further show that for every : To see this, consider the rerouting when the th arc of the th --path fails. Observe that the only backup link leads to a node on the th --path. Hence . We deduce that . For this yields the unique solution , , and , which can be verified to be a strictly reroutable flow. Note that the example can be generalized to arbitrarily small fractional values by introducing instead of only parallel paths in each of the two segments.*
5 Hardness results
In this section, we give hardness results for Max RF and some variants of the problem.
Paths avoiding forbidden pairs
Our hardness results are based on reductions from Forbidden Pairs --Path, which is defined as follows: We are given a digraph , two nodes , and a set of forbidden arc pairs . The task is to find an --path that does not contain both arcs of any pair, i.e., for all . It is not hard to see that Forbidden Pairs --Path is -hard [14].
In all reductions that follow, we will implicitly make the following three assumptions on the digraph given in the Forbidden Pairs --Path instance.
Forbidden pairs are disjoint, i.e., for . 2. 2.
If for some , then . 3. 3.
If and for some , then .
It is easy to see that these assumptions are without loss of generality. They can be ensured by subdividing arcs, without changing the feasibility of the Forbidden Pairs --Path instance.
5.1 General capacities
Theorem LABEL:thmGeneralCapacities.
Proof.
We are given an instance of Forbidden Pairs --Path. We construct an instance of Max RF as follows. Denote the forbidden pairs in by in some arbitrary order. We introduce new nodes , , and define , , and . We then introduce arcs and for every . We also add the arc . Furthermore, we introduce backup links from to for every and from to for every . For every forbidden pair of arcs , we introduce four backup paths: from to and vice versa and from to and vice versa. Finally, we set capacities for all and for all other arcs . See Fig. 4 for an illustration of the construction.
We show that the Max RF instance constructed above allows for a reroutable flow of value if and only if there is an --path avoiding the forbidden pairs in . In the following, we call a node safe if there is a backup link from to .
Sufficiency
Assume there is an --path in avoiding all forbidden pairs. We will construct a reroutable flow of value . First, we extend to an --path as follows. For , attach and to if , and attach and otherwise. As for every , the path uses either or , there is another --path in that is arc-disjoint from (starting with and then using the complement of from to ). We set .
We now verify that is a reroutable flow. As the nodes , , , and for are the only nodes that are not safe, we only need to check that there is a rerouting for failure of the arcs , , and . Because , we can concatenate the backup link from to with the arc and the backup link from to to obtain a path with residual capacity . This is enough to reroute the flow in case of failure of . An identical argument applies for failure of . Further note that implies by construction of . Therefore, either or . In the former case, rerouting is trivial. In the latter case, we can concatenate the backup link from to with and the backup link from to to reroute the one unit of flow on . Likewise, we observe that implies , because implies . Hence we can construct a rerouting for in the same manner.
Necessity
Now assume there exists a reroutable flow of value . Observe that for all (as the flow cannot use the backup links and thus has to traverse these arcs). Let be any path with and . Let be the projection of to . We claim that avoids all forbidden pairs in . By contradiction assume this is not the case, i.e., for some . Consider the rerouting for failure of . Note that assumptions (i) and (ii) from the beginning of the proof imply that the only --path in contains . Hence all flow in the rerouting has to traverse , and therefore
[TABLE]
We conclude that all the above inequalities must be fulfilled with equality, and hence , and in particular . By a symmetric argument, we conclude that implies . However there is no --path that contains both and . This yields the desired contradiction. Hence is a path avoiding all forbidden pairs. ∎
5.2 Computing integral flows
In Section 4 we provided an algorithm that was able to decide whether a -integral reroutable flow of value exists in a unit capacity network. If however, we require the flow to be integral, this question suddenly becomes -hard. Note that this problem corresponds to finding a single ‘reroutable’ path.
Theorem LABEL:thmIntegralHardness.
Proof.
Let be an instance of Forbidden Pairs --Path. We construct an instance of Max RF as follows. We let and . For every forbidden pair , we add a backup path from to and vice versa. For every node that is not the tail of an arc that appears in a forbidden pair, we add a backup link to . We set unit capacities to all arcs.
Let be an --path path avoiding all forbidden pairs. Then the flow with is a reroutable flow. To see this, observe that the only nodes that are not safe are the tails of arcs participating in forbidden pairs. Consider a forbidden pair . Observe that or and hence a rerouting exists in case of failure of either of the two arcs.
Now assume there is an integral reroutable flow of value . This means that for an --path that does not use any backup link. Assume that for some . W.l.o.g. assume . Note that is a --cut in . Hence, when fails, the rerouting must use , i. e., , a contradiction.
Because of Theorem 15 and Remark 16 the constructed instance allows for an integral strictly reroutable flow of value if and only if it allows for a reroutable flow of value . Hence the hardness result carries over to Max SRF. ∎
5.3 Multiple arc failures
A natural generalization of Max RF and Max SRF allows multiple simultaneous arc failures. When a set of arcs fails, flow is interrupted where it first encounters an arc from and has to be rerouted from that point to the sink.
To formalize this, we introduce the following notation. For and we define and . Let be an --flow. We extend the notion of capacity available after failure of by defining
[TABLE]
A rerouting of for failure of consists of a collection of flows in , such that is a --flow for each , with
[TABLE]
A rerouting is strict if for all . A flow is (strictly) -reroutable if it has a (strict) rerouting for failure of any set with . We denote the corresponding problem of finding a (strictly) -reroutable flow of maximum value by Max (Strictly) -Reroutable Flow. It turns out that dealing even with only arc failures in unit capacity networks is -hard in both cases.
Theorem 23**.**
Max (Strictly) -Reroutable Flow* is -hard, even when restricted to instances with and .*
Proof.
Let be an instance of Forbidden Pairs --Path. We construct an instance of Max -Reroutable Flow as follows. Let be the forbidden pairs in in some arbitrary order. For we add vertices and , and define . We add arcs as well as . We generalize the concept of backup links to -backup links, which are simply two parallel internally node-disjoint backup links. We add -backup links from each of , , and to , thus making them safe nodes. We further add -backup links to , from to , and from to , as well as from to , from to , and from to . For every node that is not the tail of an arc that participates in a forbidden pair, we add a -backup link from to . We also add an additional --path of length consisting of the arcs . We add -backup links from to , from to , and from to . We also add -backup links from each of , and to . Finally, we define , , and .
We show two implications: (i) If there is an --path in avoiding all pairs, then there is a strictly reroutable flow of value in the constructed network . (ii) If there is a reroutable flow of value in the constructed network , then there is an --path in avoiding all pairs. Note that (i) and (ii) together also imply that a strictly reroutable flow of value exists in if and only if there is a reroutable flow of value . Therefore, both Maximum -Reroutable Flow and Maximum Strictly -Reroutable Flow can be used to solve Forbidden Pairs --Path.
- (i)
Let be an - path in avoiding all forbidden pairs. Let be the --path defined by the following rule: For , if , then use the segment , otherwise use the segment . Let be the concatenation of and to an --path. Further, let be the --path that uses the segments not used by and let be the concatenation of and . We define the flow and .
Consider the failure of any set with . Note that for all . It is also easy to see that for any there are three disjoint --paths in and hence at least one such path in . If or , we have to reroute at most unit of flow, which is possible by the above observations. Hence, consider the case that with and . If there is no rerouting for , then there must be an arc such that separate and from . It is easy to see that this is only possible if or for some —w.l.o.g., we assume the former. Note that and that are both on the same path. But implies by construction of and the fact that avoids forbidden pairs. Hence there must be a rerouting for .
- (ii)
Let be a reroutable flow of value . We first observe that for every , . To see this, note that the nominal flow cannot use backup links and hence . Now assume that . Then consider the failure of . Note that all flow on and must be rerouted via in this case, i.e.,
[TABLE]
But , a contradiction. Analogously, we can see that is not possible. By similar arguments, namely the failure of we can observe that . Hence there must be an --path in with and . Consider the suffix . By contradiction assume contains a forbidden pair of arcs for some . Again consider the failure of . By (1), we obtain . Since , this implies that implies for all with . In particular, . By a symmetric argument we obtain . But is not possible by construction of the digraph . Thus we arrived at the desired contradiction. ∎
Acknowledgments
We thank David Adjiashvili and Marco Senatore for helpful discussions. This work was supported by the Alexander von Humboldt Foundation with funds of the German Federal Ministry of Education and Research (BMBF) and by an NSERC Discovery Grant.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] David Adjiashvili, Gianpaolo Oriolo, and Marco Senatore. The online replacement path problem. In Algorithms – ESA 2013 , volume 8125 of Lecture Notes in Computer Science , pages 1–12. Springer, 2013.
- 2[2] Charu C. Aggarwal and James B. Orlin. On multiroute maximum flows in networks. Networks , 39(1):43–52, 2002.
- 3[3] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network flows: theory, algorithms, and applications . Prentice Hall, 1993.
- 4[4] Y. P. Aneja, R. Chandrasekaran, and K. P. K. Nair. Maximizing residual flow under an arc destruction. Networks , 38(4):194–198, 2001.
- 5[5] Georg Baier, Thomas Erlebach, Alexander Hall, Ekkehard Köhler, Heiko Schilling, and Martin Skutella. Length-bounded cuts and flows. In Automata, Languages, and Programming , volume 4051 of Lecture Notes in Computer Science , pages 679–690. Springer, 2006.
- 6[6] Dimitris Bertsimas, Ebrahim Nasrabadi, and James B. Orlin. On the power of randomization in network interdiction. Operations Research Letters , 44(1):114–120, 2016.
- 7[7] Dimitris Bertsimas, Ebrahim Nasrabadi, and Sebastian Stiller. Robust and adaptive network flows. Operations Research , 61:1218–1242, 2013.
- 8[8] Graham Brightwell, Gianpaolo Oriolo, and F. Bruce Shepherd. Reserving resilient capacity in a network. SIAM Journal on Discrete Mathematics , 14(4):524–539, 2001.
