Faster min–max resource sharing in theory and practice

Mathematical Programming Computation(2011)

引用 29|浏览13
暂无评分
摘要
We consider the (block-angular) min–max resource sharing problem, which is defined as follows. Given finite sets ℛ of resources and 𝒞 of customers, a convex set ℬ_c , called block, and a convex function g_c:ℬ_c→ℝ_+^ℛ for every c∈𝒞 , the task is to find b_c∈ℬ_c (c∈𝒞) approximately attaining λ^*:=inf{max_r∈ℛ∑_c∈𝒞(g_c(b_c))_r | b_c∈ℬ_c (c∈𝒞)} . As usual we assume that g c can be computed efficiently and we have a constant σ ≥ 1 and oracle functions f_c : ℝ_+^ℛ→ℬ_c , called block solvers, which for c ∈𝒞 and y ∈ℝ_+^ℛ return an element b_c ∈ℬ_c with y^⊤g_c(b_c)≤σinf_b ∈ℬ_c y^⊤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(θ(|𝒞|+|ℛ|) log|ℛ|(loglog|ℛ|+ω^-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.
更多
查看译文
关键词
Min–max resource sharing,Fractional packing,Fully polynomial approximation scheme,Parallelization,Global routing,Chip design
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要