2
$\begingroup$

Consider a graph $G=(V,E)$ and a source-destination pair $(s,t)$. A set of edges $E'\subseteq E$ are vulnerable in the sense that at most $k$ of them may fail. My problem is to find a set of $(s,t)$ paths of minimum total cost such that no matter which subset of $k$ edges in $E'$ fail, we can ensure that there exist at least a functional $(s,t)$ path. My questions are: (1) Is this problem NP-hard? (2) If yes, how to design approximation algorithm?

$\endgroup$
2
  • $\begingroup$ By fail, you mean that one of your paths still exists in the smaller gragh graph $G'$ with those edges removed? $\endgroup$ Commented Jun 13, 2024 at 12:08
  • $\begingroup$ @JoshuaZ By fail I mean that the path traversing the edge is broken. I want to ensure that no matter which $k$ edges in $E'$ are broken, there is a non-broken $st$-path. $\endgroup$ Commented Jun 14, 2024 at 3:26

1 Answer 1

0
$\begingroup$

For $(i,j)\in A$, let $c_{ij}$ be the arc cost. Let $P$ be the set of all $(s,t)$ paths. Let binary decision variable $\lambda_p$ indicate whether path $p\in P$ is selected, with arc set $A_p$ and cost $c(P) = \sum_{(i,j)\in A_p} c_{ij}$. The problem is to minimize $$\sum_{p\in P} c(P) \lambda_p \tag0\label0$$ subject to \begin{align} \sum_{p\in P: A_p \cap S = \emptyset} \lambda_p &\ge 1 &&\text{for all $S\subseteq E'$ such that $|S|\le k$} \tag1\label1\\ \lambda_p &\in\{0,1\} &&\text{for all $p\in P$} \tag2\label2 \end{align} Equivalently, you can replace $|S|\le k$ with $|S|=k$ in \eqref{1} and relax \eqref{2} to $\lambda_p \in \mathbb{Z}^+$.

There are an exponential number of variables, so you might use column generation to solve the problem exactly.

I suspect that you can demonstrate NP-hardness by reduction from weighted set cover. In any case, this problem is a special case of weighted set cover, so you can use any approximation algorithms for that problem, such as https://en.wikipedia.org/wiki/Set_cover_problem#Greedy_algorithm.

$\endgroup$
4
  • $\begingroup$ Thank you Rob for your comments. I suppose by set cover, you probably mean mapping each set into a path. However, there is an exponential number of paths, so set cover algorithms may not lead to polynomial approximation algo in my case. $\endgroup$ Commented Jun 16, 2024 at 8:30
  • $\begingroup$ To implement an approximation algorithm, you need not explicitly enumerate all paths. Where the algorithm specifies to “choose a set that…” you would instead “construct a path that…” $\endgroup$ Commented Jun 16, 2024 at 11:42
  • $\begingroup$ I still cannot see how to map my problem to set cover. Could you pls provide more details on the mapping. Thank you anyway. $\endgroup$ Commented Jun 17, 2024 at 2:06
  • $\begingroup$ In the notation of en.wikipedia.org/wiki/…, the universe $\mathcal{U}$ corresponds to the $k$-subsets of vulnerable edges, and each member of the family $\mathcal{S}$ corresponds to the set of $(s,t)$ paths that avoid a given $k$-subset. $\endgroup$ Commented Jun 17, 2024 at 2:25

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.