解决十亿规模的背包问题
Solving Billion-Scale Knapsack Problems
摘要:
背包问题(Knapsack Problem,KPs)在工业中很常见,但解决KPs是NP难的,并且仅在相对较小的规模上易于处理。本文研究了KP在一个稍微广义的形式,并表明,他们可以通过分布式算法解决规模接近最优。所提出的方法可以用现成的分布式计算框架(例如MPI、Hadoop、Spark)相当容易地实现。作为一个例子,我们的实现导致了迄今为止已知的最有效的KP求解器之一-能够以前所未有的规模求解KP(例如,具有10亿个决策变量和10亿个约束条件的KP可以在1小时内解决)。该系统已部署到生产环境中,并每天被调用,对蚂蚁金服产生了重大的业务影响。
英文摘要:
Knapsack problems (KPs) are common in industry, but solving KPs is known to be NP-hard and has been tractable only at a relatively small scale. This paper examines KPs in a slightly generalized form and shows that they can be solved nearly optimally at scale via distributed algorithms. The proposed approach can be implemented fairly easily with off-the-shelf distributed computing frameworks (e.g. MPI, Hadoop, Spark). As an example, our implementation leads to one of the most efficient KP solvers known to date -- capable to solve KPs at an unprecedented scale (e.g., KPs with 1 billion decision variables and 1 billion constraints can be solved within 1 hour). The system has been deployed to production and called on a daily basis, yielding significant business impacts at Ant Financial.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。