-
Approximate Bipartite $b$-Matching using Multiplicative Auction
Authors:
Bhargav Samineni,
S M Ferdous,
Mahantesh Halappanavar,
Bala Krishnamoorthy
Abstract:
Given a bipartite graph $G(V= (A \cup B),E)$ with $n$ vertices and $m$ edges and a function $b \colon V \to \mathbb{Z}_+$, a $b$-matching is a subset of edges such that every vertex $v \in V$ is incident to at most $b(v)$ edges in the subset. When we are also given edge weights, the Max Weight $b$-Matching problem is to find a $b$-matching of maximum weight, which is a fundamental combinatorial op…
▽ More
Given a bipartite graph $G(V= (A \cup B),E)$ with $n$ vertices and $m$ edges and a function $b \colon V \to \mathbb{Z}_+$, a $b$-matching is a subset of edges such that every vertex $v \in V$ is incident to at most $b(v)$ edges in the subset. When we are also given edge weights, the Max Weight $b$-Matching problem is to find a $b$-matching of maximum weight, which is a fundamental combinatorial optimization problem with many applications. Extending on the recent work of Zheng and Henzinger (IPCO, 2023) on standard bipartite matching problems, we develop a simple auction algorithm to approximately solve Max Weight $b$-Matching. Specifically, we present a multiplicative auction algorithm that gives a $(1 - \varepsilon)$-approximation in $O(m \varepsilon^{-1} \log \varepsilon^{-1} \log β)$ worst case time, where $β$ the maximum $b$-value. Although this is a $\log β$ factor greater than the current best approximation algorithm by Huang and Pettie (Algorithmica, 2022), it is considerably simpler to present, analyze, and implement.
△ Less
Submitted 8 March, 2024;
originally announced March 2024.
-
Semi-Streaming Algorithms for Weighted $k$-Disjoint Matchings
Authors:
S M Ferdous,
Bhargav Samineni,
Alex Pothen,
Mahantesh Halappanavar,
Bala Krishnamoorthy
Abstract:
We design and implement two single-pass semi-streaming algorithms for the maximum weight $k$-disjoint matching ($k$-DM) problem. Given an integer $k$, the $k$-DM problem is to find $k$ pairwise edge-disjoint matchings such that the sum of the weights of the matchings is maximized. For $k \geq 2$, this problem is NP-hard. Our first algorithm is based on the primal-dual framework of a linear program…
▽ More
We design and implement two single-pass semi-streaming algorithms for the maximum weight $k$-disjoint matching ($k$-DM) problem. Given an integer $k$, the $k$-DM problem is to find $k$ pairwise edge-disjoint matchings such that the sum of the weights of the matchings is maximized. For $k \geq 2$, this problem is NP-hard. Our first algorithm is based on the primal-dual framework of a linear programming relaxation of the problem and is $\frac{1}{3+\varepsilon}$-approximate. We also develop an approximation preserving reduction from $k$-DM to the maximum weight $b$-matching problem. Leveraging this reduction and an existing semi-streaming $b$-matching algorithm, we design a $(\frac{1}{2+\varepsilon})(1 - \frac{1}{k+1})$-approximate semi-streaming algorithm for $k$-DM. For any constant $\varepsilon > 0$, both of these algorithms require $O(nk \log_{1+\varepsilon}^2 n)$ bits of space. To the best of our knowledge, this is the first study of semi-streaming algorithms for the $k$-DM problem.
We compare our two algorithms to state-of-the-art offline algorithms on 95 real-world and synthetic test problems, including thirteen graphs generated from data center network traces. On these instances, our streaming algorithms used significantly less memory (ranging from 6$\times$ to 512$\times$ less) and were faster in runtime than the offline algorithms. Our solutions were often within 5% of the best weights from the offline algorithms. We highlight that the existing offline algorithms run out of 1 TB memory for most of the large instances ($>1$ billion edges), whereas our streaming algorithms can solve these problems using only 100 GB memory for $k=8$.
△ Less
Submitted 5 July, 2024; v1 submitted 3 November, 2023;
originally announced November 2023.
-
Interweaving Real-Time Jobs with Energy Harvesting to Maximize Throughput
Authors:
Baruch Schieber,
Bhargav Samineni,
Soroush Vahidi
Abstract:
Motivated by baterryless IoT devices, we consider the following scheduling problem. The input includes $n$ unit time jobs $\mathcal{J} = \{J_1, \ldots, J_n\}$, where each job $J_i$ has a release time $r_i$, due date $d_i$, energy requirement $e_i$, and weight $w_i$. We consider time to be slotted; hence, all time related job values refer to slots. Let $T=\max_i\{d_i\}$. The input also includes an…
▽ More
Motivated by baterryless IoT devices, we consider the following scheduling problem. The input includes $n$ unit time jobs $\mathcal{J} = \{J_1, \ldots, J_n\}$, where each job $J_i$ has a release time $r_i$, due date $d_i$, energy requirement $e_i$, and weight $w_i$. We consider time to be slotted; hence, all time related job values refer to slots. Let $T=\max_i\{d_i\}$. The input also includes an $h_t$ value for every time slot $t$ ($1 \leq t \leq T$), which is the energy harvestable on that slot. Energy is harvested at time slots when no job is executed. The objective is to find a feasible schedule that maximizes the weight of the scheduled jobs. A schedule is feasible if for every job $J_j$ in the schedule and its corresponding slot $t_j$, $t_{j} \neq t_{j'}$ if ${j} \neq {j'}$, $r_j \leq t_j \leq d_j$, and the available energy before $t_j$ is at least $e_j$. To the best of our knowledge, we are the first to consider the theoretical aspects of this problem.
In this work we show the following. (1) A polynomial time algorithm when all jobs have identical $r_i, d_i$ and $w_i$. (2) A $\frac{1}{2}$-approximation algorithm when all jobs have identical $w_i$ but arbitrary $r_i$ and $d_i$. (3) An FPTAS when all jobs have identical $r_i$ and $d_i$ but arbitrary $w_i$. (4) Reductions showing that all the variants of the problem in which at least one of the attributes $r_i$, $d_i$, or $w_i$ are not identical for all jobs are NP-Hard.
△ Less
Submitted 13 December, 2022;
originally announced December 2022.