Skip to main content
Log in

Multiple facility location on a network with linear reliability order of edges

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

We study the problem of locating facilities on the nodes of a network to maximize the expected demand serviced. The edges of the input graph are subject to random failure due to a disruptive event. We consider a special type of failure correlation. The edge dependency model assumes that the failure of a more reliable edge implies the failure of all less reliable ones. Under this dependency model called Linear Reliability Order (LRO) we give two polynomial time exact algorithms. When two distinct LRO’s exist, we prove the total unimodularity of a linear programming formulation. In addition, we show that minimizing the sum of facility opening costs and expected cost of unserviced demand under two orderings reduces to a matching problem. We prove NP-hardness of the three orderings case and show that the problem with an arbitrary number of orderings generalizes the deterministic maximum coverage problem. When a demand point can be covered only if a facility exists within a distance limit, we show that the problem is NP-hard even for a single ordering.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Ageev AA, Sviridenko MI (2004) Pipage rounding: a new method of constructing algorithms with proven performance guarantee. J Comb Optim 8(3):307–328

    Article  MathSciNet  MATH  Google Scholar 

  • Ausiello G, Crescenzi P, Gambosi G, Kann V, Marchetti-Spaccamela A, Protasi M (1999) Complexity and approximation. Springer, Berlin

    Book  MATH  Google Scholar 

  • Colbourn CJ, Xue G (1998) A linear time algorithm for computing the most reliable source on a series-parallel graph with unreliable edges. Theoret Comput Sci 209:331–345

    Article  MathSciNet  MATH  Google Scholar 

  • Cornuejols G, Fisher M, Nemhauser G (1977) Location of bank accounts to optimize float: an analytic study of exact and approximate algorithms. Manag Sci 23:789–810

    Article  MathSciNet  MATH  Google Scholar 

  • Eiselt HA, Gendreau M, Laporte G (1992) Location of facilities on a network subject to a single-edge failure. Networks 22:231–246

    Article  MathSciNet  MATH  Google Scholar 

  • Eiselt HA, Gendreau M, Laporte G (1996) Optimal location of facilities on a network with an unreliable node or edge. Inf Process Lett 58(2):71–74

    Article  MATH  Google Scholar 

  • Feige U (1998) A threshold of ln n for approximating set cover. J ACM 45(4):634–652

    Article  MathSciNet  MATH  Google Scholar 

  • Gunnec D, Salman FS (2007) Assessing the reliability and the expected performance of a network under disaster risk. In: Proceedings of the international network optimization conference (INOC), April 22–25, Spa, Belgium

  • Hochbaum DS (1982) Approximation algorithms for the set covering and vertex cover problems. SIAM J Comput 11:555–556

    Article  MathSciNet  MATH  Google Scholar 

  • Jain K (1998) A factor \(2\) approximation algorithm for the generalized Steiner network problem. Combinatorica, 21:39–60, 2001. Preliminary version in Proceedings of 39th IEEE FOCS

  • Korte B, Lovasz L, Schrader R (1991) Greedoids, algorithms and combinatorics. Springer, Berlin

    MATH  Google Scholar 

  • Melachrinoudis E, Helander ME (1996) A single facility location problem on a tree with unreliable edges. Networks 27(3):219–237

    Article  MathSciNet  MATH  Google Scholar 

  • Nemhauser GL, Wolsey LA (1988) Integer and combinatorial optimization. Wiley, New York

    Book  MATH  Google Scholar 

  • Pardi F, Goldman N (2005) Species choice for comparative genomics: being greedy works. PLoS Genet 1(6):e71

    Article  Google Scholar 

  • Salman FS, Yucel E (2015) Emergency facility location under random network failures: insights from the Istanbul case. Comput Oper Res 62:266–281

    Article  MathSciNet  MATH  Google Scholar 

  • Singh M, Lau LC (2007) Approximating minimum bounded degree spanning trees to within one of optimal

  • Steel M (2005) Phylogenetic diversity and the greedy algorithm. Syst Biol 54(4):527–529

    Article  Google Scholar 

  • Wolle T (2002) A framework for network reliability problems on graphs of bounded treewidth. In: Proceedings of the 13th international symposium on algorithms and computation, LNCS, vol 2518, pp 137–149

  • Xue G (1997) Linear time algorithms for computing the most reliable source on an unreliable tree network. Networks 30:37–45

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to F. Sibel Salman.

Additional information

This research is supported by a NATO Collaborative Linkage Grant.

Appendices

Appendix 1: A dynamic programming algorithm for 1-LRO

We are given a rooted tree T with weights PEW(v) for all nodes v of T. \(T_v\) denotes the subtree of T rooted at v, and \(L_v\) the set of its leaves. For every nonnegative integer \(t \le k\), we denote EW(vt) as the maximum expected weight at \(T_v\) obtained by placing exactly t facilities in \(L_v\). We have \(EW(v,0) = 0\) at all nodes v of T. If v is a leaf, then \(EW(v,t) = PEW(v)\), for all \(1\le t\le k\). For a non-leaf node v, let \(v_l\) and \(v_r\) be the two children of v. For \(t \ge 1\), we have the following recursive relation.

$$\begin{aligned} EW(v,t) = \max _{0\le t'\le t} \{ EW(v_r,t')+EW(v_l,t-t')\} + PEW(v). \end{aligned}$$
(5)

The recurrence corresponds to allocating \(t'\) of the t facilities optimally in the right subtree and the remaining in the left and counting in the expected weight of the root node v as long as \(t \ge 1\) since in this case some leaf will have a facility and allow the expected weight at the root node to be counted in the objective. The recursion proceeds bottom-up from leaves to the root node.

Proposition 6.1

The dynamic programming algorithm solves the MAX-WT-k-LEAF-SUBTREE problem in O(kn) time.

Proof

As the component tree has \(2n-1\) nodes, the recursive equations in the DP algorithm are calculated in O(kn) time. \(\square \)

Corollary 6.1

The MAX-EXP-COVER-LRO problem is solved in \(O(m\log n + T(n)+ kn)\) time, where O(T(n)) is the time complexity of finding an MST of the input graph.

Proof

First the component tree is constructed in \(O(m\log n + T(n))\) time. Then the DP algorithm is applied in O(kn) time to the component tree CT with its weights defined as PEW(v), for v in CT. By Propositions 3.1 and 6.1, we obtain an optimal solution to the MAX-EXP-COVER-LRO problem. \(\square \)

The dynamic programming approach can be generalized to handle a version of the problem with uniform capacities at the facilities and another cost minimization version with penalties for unmet demand.

Solving the capacitated 1-LRO problem by dynamic programming

When the supply quantities at the facilities are limited and a shortage can possibly occur after the disruption, a capacitated problem can be defined. We assume that k facilities each with supply quantity C will be open and the objective is to maximize the expected total demand served. The capacitated k-facility problem of maximizing expected coverage with a single LRO is formulated as follows.

MAX-EXP-COVER-LRO-CAP: Find \(F \subseteq V,\; |F| = k\;\;\) to

\(maximize \; \sum _{q=0}^{m} \sum _{v_{i}\in V}\; P(q)\, w_i \, D_{v_i}(F,C,q)\),

where \(D_{v_i}(F,C,q)\) (taking values between 0 and 1) is the percentage of \(w_i\), namely demand of node \(v_{i}\), that can be covered by the facilities F, each with capacity C, in the network realization where the q strongest edges survive.

We next give a dynamic programming algorithm to solve this problem. The recursion is on the subtrees of the component tree CT and the number of facilities. For an interior node v of the component tree CT, let \(T_{v}\) be the subtree of CT rooted at node v. Associated with \(T_{v}\), we define \(ECC(T_v,t) =\) Maximum Expected Coverage in \(T_{v}\) when t facilities are located at the leaves of \(T_v\). Recall that when a disconnector edge fails, it disconnects \(T_v\) into two components and this is represented by its two children in CT. Let the corresponding two subtrees be \(T_{v,L}\) and \(T_{v,R}\) so that if a facility is located in \(T_v\), it will either be located in \(T_{v,L}\) or \(T_{v,R}\).

If \(t = 0\) we have \(ECC(T_v,0) = 0\) at all nodes v in the tree. If v is a leaf, we then have \(ECC(v,t) = \min \{Ct, w_v\} \cdot rel(v)\) for all \(1\le t\le k\).

For a non-leaf node v and for \(t > 0\), we have the following relation.

$$\begin{aligned} ECC(T_v,t)= & {} \max _{1\le t'\le t} \{ ECC(T_{v,L},t')+ECC(T_{v,R},t-t') \nonumber \\&+ rel(v)\min \{Ct, \sum _{l\in L_v}w_l \} \} \end{aligned}$$
(6)

The recurrence corresponds to allocating \(t'\) of the t facilities optimally in the left subtree and the remaining in the right. As a result of this recursion we obtain a solution with two properties: (1) the demand assignment in a component will be kept the same when this component is contained in a bigger component, in some network realization where more edges survive, and (2) any component which has a deficit will try to satisfy its deficit from the first surplus component that it connects to (the earliest) along the component tree (bottom-up).

Property 6.1

If node \(v_i \in V\) is assigned to some facility at node \(v_j\) which is a leaf in \(T_v\), it will also be assigned to the facility at \(v_j\) for any of the nodes \(v'\) whose subtree \(T_{v'}\) contains \(T_v\). We call this property the Monotonicity of Demand Assignment (MDA) property.

Property 6.2

A solution has the Bottom-up Demand Assignment (BDA) property, if the following holds:

For each component \(H \subset G\) with a deficit, and each node \(v_j\) with unsatisfied demand in this component, let \(H'\) be the first component that contains H with respect to the CT with surplus. Then, \(v_j\) is assigned to a facility in \(H'\).

By virtue of the above properties, an optimal solution can be constructed by satisfying the demands of all nodes at the first instance (going bottom-up) when there is enough capacity, leading to the recursion presented.

Lemma 6.1

There exists an optimal solution to the MAX-EXP-COVER-LRO-CAP problem with the MDA and BDA properties.

Proof

Take an optimal solution to the MAX-EXP-COVER-LRO-CAP problem such that the MDA property does not hold. Then, there must be some subtree \(T_v\) of CT representing a component \(H \subset G\) in a network realization such that some node \(v_i\) is assigned to some facility at node \(v_j\) of H, but in another component \(H'\) that contains H, \(v_i\) is assigned to a facility at a node outside H. Consider the edge whose failure leaves H as a component. We can reroute flow on this edge to be directed from a surplus component to a deficit component, satisfying the same set of demands with the MDA property.

Take an optimal solution to the MAX-EXP-COVER-LRO-CAP problem such that the BDA property does not hold. By satisfying the deficit in a component by the earliest surplus-component, we get the most partial expected weight. \(\square \)

Proposition 6.2

The dynamic programming algorithm solves the MAX-EXP-COVER-LRO-CAP problem in O(kn) time after the construction of the component tree.

Proof

As the component tree has \(2n-1\) nodes, the recursive equations in the algorithm are calculated in O(kn) time. \(\square \)

Appendix 2: Solving the cost minimization 1-LRO problem by dynamic programming

We consider a cost minimization version of the facility location problem for the 1-LRO case. We are given a fixed cost \(f_v\) for opening a facility at node v, a variable capacity cost \(c_v\) per unit of demand served from a facility at node v, for \(v\in V\). Furthermore, a variable shortfall cost s per unit of unserved demand is given. The objective is to minimize a weighted sum of the facility opening costs and the expected costs of capacity used and demand unserved. In this problem up to n facilities can be opened. We refer to the problem as MIN-EXP-COST, and formulate it below.

MIN-EXP-COST: Find \(F \subseteq V,\;\) to

\(maximize \; \sum _{v_i\in F}f_{v_i} + \sum _{q=0}^{m} P(q)\, \{ \sum _{v_i\in F} c_{v_i} x_{iq} + s \, \sum _{v_{i}\in V} y_{iq} \}\)

where \(x_{iq}\) is the amount of capacity used at the facility located at \(v_i\), and \(y_{iq}\) is the part of \(w_i\) that is not covered by the facilities F in the network realization where the q strongest edges survive.

This problem can be solved by a dynamic programming algorithm. The recursion is on the subtrees of the component tree CT. We use the same definitions of \(T_{v}\), \(T_{v,L}\), \(T_{v,R}\), \(L_v\) and PEW(v) as before. Associated with \(T_{v}\), we define \(MEC(T_v,UC) \) as the minimum expected cost in \(T_{v}\) when at least one facility is located at the leaves of \(T_v\) and the minimum unit capacity cost of the open facilities in \(T_v\) is at most UC. This is defined for each UC value that is equal to \(c_{l}\) for \(l \in L_v\). Let \(CV_{min}(v) = \min _{l \in L_v} c_{l}\). Then, \(MEC(T_v,CV) = \infty \) for all \(0< CV < CV_{min}(v)\). Similarly, we define \(MEC(T_v,0) =\) as the minimum expected cost in \(T_{v}\) when no facility is located at the leaves of \(T_v\).

For a leaf node v, we have the following relations.

$$\begin{aligned} MEC(v,CV)= & {} \left\{ \begin{array}{ll} f_v + c_v \, w_v \, rel(v), &{} \text{ for } \text{ all } CV \ge c_v \\ \infty , \text{ for } \text{ all } 0< CV < c_v . \end{array}\right. \end{aligned}$$
(7)
$$\begin{aligned} MEC(v,0)= & {} s\, w_v \,rel(v). \end{aligned}$$
(8)

For a non-leaf node v, we have the following two relations.

$$\begin{aligned} MEC(T_v,0)= & {} MEC(T_{v,L},0)+MEC(T_{v,R},0) + s\, PEW(v) \end{aligned}$$
(9)
$$\begin{aligned} MEC(T_v,UC)= & {} \min \{ \, MEC_1, MEC_2, MEC_3 \, \} \end{aligned}$$
(10)

where

$$\begin{aligned} MEC_1= & {} MEC(T_{v,L},0)+\min _{UC'\le UC} \{ MEC(T_{v,R},UC') + \min \{UC',s \} \, PEW(v)\} \\ MEC_2= & {} MEC(T_{v,R},0)+\min _{UC'\le UC} \{ MEC(T_{v,L},UC') + \min \{UC',s \} \, PEW(v)\} \\ MEC_3= & {} \min _{UC_L, UC_R \text{ s.t. } UC \ge \min \{UC_L, UC_R\}} \{ MEC(T_{v,L},UC_L)+MEC(T_{v,R},UC_R)\;\;\;\;\;\; \\&+ \min \{UC_L,UC_R,s\} \, PEW(v) \} \end{aligned}$$

Equation (9) considers the case when no facility exists in \(T_{v}\) so that none of the demand of \(T_v\) can be serviced and the corresponding shortfall cost is incurred. In Eq. (10) the minimum expected cost in \(T_v\) is calculated when a facility is located in one of the leaves of \(T_v\). We take the minimum of three terms that correspond to three cases: (1) A facility exists in \(T_{v,R}\) but not in \(T_{v,L}\); (2) A facility exists in \(T_{v,L}\) but not in \(T_{v,R}\); (3) A facility exists in both \(T_{v,R}\) and \(T_{v,L}\). Let us consider the first case. Here, at node v of CT, the partial expected weight is covered if the minimum unit capacity cost UC in \(T_v\) is less than or equal to the unit shortfall cost s. The second case is symmetric. In the third case, at least one of the two subtrees contains a facility with unit capacity cost at most UC (hence the condition \(UC \ge \min \{UC_L, UC_R\}\)). All nodes in \(T_v\) are either served by the smallest unit cost facility or the shortfall cost is incurred in the last term.

Proposition 6.3

The dynamic programming algorithm solves the minimum expected cost facility location problem MIN-EXP-COST in \(O(n^4)\) time after the construction of the component tree.

Proof

The component tree has \(2n-1\) nodes. For each node the recursive equations in the DP algorithm are calculated for each of the possible UC values. There are at most n possible UC values, one for each node where a facility can be placed. For any particular UC value, there are \(O(n^2)\) choices to check to compute the best combination for the minimum. \(\square \)

Appendix 3: Polynomial-time solution using an iterative argument

We next give an alternative LP formulation for the MAX-WT-k-LEAF-2-SUBTREES problem and show that an integral optimal solution can be obtained from an optimal extreme point solution of the LP using an iterative argument similar to the technique presented in Singh and Lau (2007).

To do this, we further reduce the problem to one of picking a set of k leaves such that the weight of the internal nodes not in the paths from these leaves to the roots in the two trees is as small as possible. We use an indicator variable \(x_l\) for each leaf to denote if it is chosen in the set of k leaves, for \(l \in L\). For every internal node v in each of the two trees, we have a variable \(y_v\) denoting if this node is not in a path from a chosen leaf to the corresponding tree’s root, and thus needs to be counted in the objective function to be minimized. We have the following LP relaxation for the problem.

$$\begin{aligned}&\text{(LP2) } \qquad Minimize \qquad \sum \limits _{v\in V_1 \cup V_2} w_v\,y_v + \sum \limits _{l\in L} w_l \,(1-x_l) \end{aligned}$$
(11)
$$\begin{aligned}&s.t. \qquad y_v + \sum _{l\in T_v \cap L} x_l \ge 1 \qquad \forall \, v\in V_1\cup V_2 \end{aligned}$$
(12)
$$\begin{aligned}&\sum \limits _{l \in L} x_l = k \end{aligned}$$
(13)
$$\begin{aligned}&y_v \ge 0 \qquad \forall \, v\in V_1 \cup V_2 \end{aligned}$$
(14)
$$\begin{aligned}&0 \le x_v \le 1 \qquad \forall \, v \in L \end{aligned}$$
(15)

We prove the following results for a slightly more general LP2 where \(T_1\) and \(T_2\) may be forests rather than trees, with common leaf set L.

First observe that if we find a variable \(y_v\) that is set to 1 in an optimal solution to LP2, we can simplify the problem as follows. For such an internal node v, all its non-leaf descendants also have y-value 1 and all its leaf descendants have x-value 0; thus we pick the highest such node and delete its subtree with the corresponding constraints (12) from the problem.

On the other hand, if we find a variable \(x_l\) that is set to 1 in an optimal solution to LP2, then we simplify as follows. The y-value of all nodes on the path from l to the root in both forests to zero (their constraints are satisfied). We delete this leaf l and these internal nodes with the corresponding constraints  (12). We now have a problem with at least one less leaf; hence constraint (13) is also modified with a right-hand side of \(k-1\).

In either case, the resulting problem has the same type of constraints and so we can continue to recursively find another variable set to 1 to finally find an integer solution. We summarize this self-reducibility property in the lemma below.

Lemma 6.2

If every extreme point solution to LP2 has a variable set to 1, then LP2 always has an integral optimal solution.

We can now get an integral solution to LP2 by proving the following key claim.

Proposition 6.4

Any extreme point solution to LP2 always has a variable set to 1.

Proof

We prove this by contradiction. Suppose at an extreme feasible point (or basic feasible or vertex solution) \(x',y'\) all positive variables are fractional and without loss of generality they are < 1. Consider a maximal set of independent tight constraints from LP2 corresponding to this extreme point (namely, a maximal set of constraints that are tight at this solution and are linearly independent of one another). The set of tight constraints (excluding nonnegativity) can be indexed by \(V'_1 \cup V'_2 \cup k\) where \(V'_1\) and \(V'_2\) are internal nodes in the forests \(T_1\) and \(T_2\) whose corresponding constraints (12) are tight and k is the index of the cardinality constraint (13).

Since we have a basic solution, the number of linearly independent tight constraints equals the number of fractional valued variables. We argue that if all variables are fractional, every tight constraint has many nonnegative variables involving it. However we can show that the total number of independent tight constraints cannot be as many as the number of such fractional variables contradicting the fact that this is an extreme point. To carry out the proof, we use a token argument as in Jain (1998), Singh and Lau (2007).

We give one token to each positive variable. We then redistribute these tokens among the independent tight constraints so that each tight constraint gets at least one token and there are some leftover tokens which will show a contradiction.

Here is how the redistribution works. If any tight constraint in \(V'_1\) or \(V'_2\) corresponding to an internal node v has \(y'_v > 0\), we assign the token of v to this constraint. Next, we look at tight constraints in \(V'_1\) or \(V'_2\) corresponding to nodes v such that \(y'_v =0\): we call these constraints leaf-tight. Note that any leaf can be only in one leaf-tight constraint in each tree since a set of independent leaf-tight constraints in a tree correspond to disjoint sets of leaves. In particular, if there are two leaf-tight constraints in the same tree containing a leaf, they correspond to two ancestors of the leaf; subtracting the constraint of the lower ancestor from that of the higher leaves a set of leaf variables which are all set to zero. However, these tight zero constraints and the lower ancestor’s constraint added together give the higher ancestor’s constraint (a contradiction). Therefore, for every leaf l such that \(x'_l > 0\), we assign half its token to a leaf-tight constraint in \(V'_1\) that contains \(x'_l\), if one exists, and the other half to a leaf-tight constraint in \(V'_2\) that contains \(x'_l\), if one exists. Also note that any leaf-tight constraint involves at least two leaves (since it is tight and no leaf has \(x'\)-value 1). Thus every leaf-tight constraint in each tree also gets at least one token.

Now consider the set of all leaf-tight constraints among \(V'_1 \cup V'_2\) in one of the forests, say \(T_1\). If their union contains all leaves that have fractional \(x'\)-value, then their sum is the same as the cardinality constraint (on all leaves) which must be linearly independent of them by our initial choice. Thus there is at least one leaf that is not spanned by these maximal leaf-tight constraints in \(V'_1\). However, note that the difference between the cardinality constraint and these leaf-tight sets in \(T_1\) is an integer which is not zero and since there is no leaf with \(x'\)-value 1 there are actually two leaves that are not spanned by leaf-tight constraints in \(T_1\) and thus their token assignments of \(\frac{1}{2}\) to constraints in \(T_1\) is unused. By a symmetric argument, there are two leaves that are not spanned by leaf-tight constraints in \(T_2\) and thus their token assignments of \(\frac{1}{2}\) each are not used in \(T_2\). We thus get a total of 2 unassigned tokens of which we can assign one to the cardinality constraint and the other extra one gives the desired contradiction. \(\square \)

As a result of Proposition 6.4 and Lemma 6.2, an integer optimal solution is obtained from LP2 recursively.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hassin, R., Ravi, R. & Salman, F.S. Multiple facility location on a network with linear reliability order of edges. J Comb Optim 34, 931–955 (2017). https://doi.org/10.1007/s10878-017-0121-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-017-0121-5

Keywords