Abstract
We consider the (block-angular) min–max resource sharing problem, which is defined as follows. Given finite sets $${\mathcal{R}}$$ of resources and $${\mathcal{C}}$$ of customers, a convex set $${\mathcal{B}_c}$$ , called block, and a convex function $${g_c:\mathcal{B}_c\to\mathbb{R}_{+}^{\mathcal{R}}}$$ for every $${c\in\mathcal{C}}$$ , the task is to find $${b_c\in\mathcal{B}_c\ (c\in\mathcal{C})}$$ approximately attaining $${\lambda^*:=\inf\{\max_{r\in\mathcal{R}}\sum_{c\in\mathcal{C}}(g_c(b_c))_r \mid b_c\in\mathcal{B}_c\ (c\in\mathcal{C})\}}$$ . As usual we assume that g c can be computed efficiently and we have a constant σ ≥ 1 and oracle functions $${f_c : \mathbb{R}_{+}^{\mathcal{R}} \rightarrow \mathcal{B}_c}$$ , called block solvers, which for $${c \in \mathcal{C}}$$ and $${y \in \mathbb{R}_{+}^{\mathcal{R}}}$$ return an element $${b_c \in \mathcal{B}_c}$$ with $${y^{\scriptscriptstyle\top}{g_c(b_c)} \leq \sigma \inf_{b \in \mathcal{B}_c} y^{\scriptscriptstyle\top}{g_c(b)}}$$ . We describe a simple algorithm which solves this problem with an approximation guarantee σ(1 + ω) for any ω > 0, and whose running time is $${O(\theta(|\mathcal{C}|+|\mathcal{R}|) \log|\mathcal{R}|(\log\log|\mathcal{R}|+\omega^{-2}))}$$ for any fixed σ ≥ 1, where θ is the time for an oracle call. This generalizes and improves various previous results. We also prove other bounds and describe several speed-up techniques. In particular, we show how to parallelize the algorithm efficiently. In addition we review another algorithm, variants of which were studied before. We show that this algorithm is almost as fast in theory, but it was not competitive in our experiments. Our work was motivated mainly by global routing in chip design. Here the blocks are mixed-integer sets (whose elements are associated with Steiner trees), and we combine our algorithm with randomized rounding. We present experimental results on instances resulting from recent industrial chips, with millions of customers and resources. Our algorithm solves these instances nearly optimally in less than two hours.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.