In the
Steiner Forest
problem, we are given a graph and a collection of source-sink
pairs, and the
goal is to find a subgraph of minimum total length such that all
pairs are connected. The problem is
APX-Hard and can be
2
-approximated by, e.g., the elegant primal-dual algorithm
of Agrawal, Klein, and
Ravi from 1995.
We give a local-search-based constant-factor approximati
on for the problem. Local search brings in
new techniques to an area that has for long not seen any improv
ements and might be a step towards
a combinatorial algorithm for the more general survivable n
etwork design problem. Moreover, local
search was an essential tool to tackle the dynamic MST/Stein
er Tree problem, whereas dynamic Steiner
Forest is still wide open.
It is easy to see that any constant factor local search algori
thm requires steps that add/drop many edges
together. We propose natural local moves which, at each step
, either (a) add a shortest path in the current
graph and then drop a bunch of inessential edges, or (b) add a s
et of edges to the current solution. This
second type of moves is motivated by the potential function w
e use to measure progress, combining the
cost of the solution with a penalty for each connected compon
ent. Our carefully-chosen local moves and
potential function work in tandem to eliminate bad local min
ima that arise when using more traditional
local moves.
Our analysis first considers the case where the local optimum
is a single tree, and shows optimality w.r.t.
moves that add a single edge (and drop a set of edges) is enough
to bound the locality gap. For the
general case, we show how to “project” the optimal solution o
nto the different trees of the local optimum
without incurring too much cost (and this argument uses opti
mality w.r.t. both kinds of moves), followed
by a tree-by-tree argument. We hope both the potential funct
ion, and our analysis techniques will be
useful to develop and analyze local-search algorithms in ot
her contexts.
We study a natural generalization of the maximum weight
many-to-one matching problem. We are given an undirected bipartite
graph G = (A∪P,E) with weights on the edges in E, and with lower and
upper quotas on the vertices in P. We seek a maximum weight many-to-one
matching satisfying two sets of constraints: vertices in A are incident
to at most one matching edge, while vertices in P are either unmatched or
they are incident to a number of matching edges between their lower and
upper quota. This problem, which we call maximum weight many-to-one
matching with lower and upper quotas (wmlq), has applications to the
assignment of students to projects within university courses, where there
are constraints on the minimum and maximum numbers of students that
must be assigned to each project.
In this paper, we provide a comprehensive analysis of the complexity
of wmlq from the viewpoints of classical polynomial time algorithms,
fixed-parameter tractability, as well as approximability. We draw the
line between NP-hard and polynomially tractable instances in terms of
degree and quota constraints and provide efficient algorithms to solve
the tractable ones. We further show that the problem can be solved in
polynomial time for instances with bounded treewidth; however, the corresponding
runtime is exponential in the treewidth with the maximum
upper quota u_max as basis, and we prove that this dependence is necessary
unless FPT = W[1]. The approximability of wmlq is also discussed:
we present an approximation algorithm for the general case with performance
guarantee umax + 1, which is asymptotically best possible unless
P = NP. Finally, we elaborate on how most of our positive results carry
over to matchings in arbitrary graphs with lower quotas.