English

Efficient Algorithms for Interdicting Facilities in Trees and Bounded Treewidth Graphs

Data Structures and Algorithms 2026-05-28 v1 Discrete Mathematics

Abstract

Given a graph GG of nn nodes partitioned into facilities and customers, the rr-edge interdiction covering problem (REIC) is to remove up to rr edges so as to maximize the total weight of customers disconnected from all facilities, which is called the covering objective function. While REIC is known to be NP-complete for general graphs, Fr\"ohlich and Ruzika show that the problem can be solved in polynomial time when GG is a tree, providing an O(n7r)O(n^7 r)-time algorithm. We give an efficient O(nr2)O(nr^2)-time dynamic programming algorithm for REIC on trees that is fixed-parameter linear in nn. Evaluating our solution on a benchmark of randomly generated tree networks with baselines of the Fr\"ohlich and Ruzika algorithm and the Gurobi integer program solver, we demonstrate that in practice, our algorithm is both significantly faster and less sensitive to network topology and size. We extend our algorithm for REIC to graphs of bounded treewidth, a well-studied family of sparse graphs that generalizes trees, and obtain a matching runtime of O(nr2)O(nr^2). We also consider the rr-facility interdiction covering problem (RFIC), a novel variant of this network interdiction problem where the goal is to remove up to rr facilities to maximize the covering objective function over disconnected customers. We show that RFIC is NP-complete by observing it generalizes the small set bipartite vertex expansion problem (SSBVE), also known as the minimum pp-union problem. We give an O(nr2)O(nr^2)-time algorithm for RFIC on trees, which also gives an O(n3)O(n^3)-time algorithm for SSBVE on trees.

Keywords

Cite

@article{arxiv.2605.27998,
  title  = {Efficient Algorithms for Interdicting Facilities in Trees and Bounded Treewidth Graphs},
  author = {Ali Abbasi and Eli Friedman and Leana Golubchik and Samir Khuller and Marco Paolieri},
  journal= {arXiv preprint arXiv:2605.27998},
  year   = {2026}
}