【論文閱讀】Solving Billion-Scale Knapsack Problems

Solving Billion-Scale Knapsack Problems
Ant Financial Services Group, San Mateo, CA 94402

ABSTRACT

揹包問題(Knapsack problems,KPs)在工業中很常見,但求解KPs是NP-hard問題,只能在較小的規模下求解。本文以一種稍微廣義的形式研究了KPs,並證明通過分佈式算法可以近似最優地求解KPs。提出的方法可以在現成的分佈式計算框架(如MPI、Hadoop、Spark)中很容易地實現。本文的實現帶來了迄今爲止已知最高效的KP求解器之一——能夠求解前所未有的規模KP(具有10億決策變量和10億約束的KP可以在1小時內求解)。該系統已部署到生產環境中,每天都會被調用,對Ant Financial產生重大的業務影響。

1 INTRODUCTION

揹包問題(KPs)常見於現實應用中,例如預算分配和調整(如廣告和營銷)、在線流量控制(如搜索引擎和推薦系統)、物流優化(如電子商務)、資產管理(如金融)等。不幸的是,求解KPs是衆所周知的NP-hard問題,並且在實踐中只有在相對較小的規模下才是可行的,即使是商業求解者。
主要動機是在互聯網行業中經常出現KPs,在這種情況下,需要在每個用戶的基礎上做出決定,而用戶數量可能很大(例如數十億)。KP中要分配的“資源”可以是財務的(如貸款、營銷推廣、廣告支出、資產組合)或非財務的(如用戶印象、點擊、停留時間)。通常,我們希望在一組約束條件下優化目標(例如,在營銷活動中的預期用戶轉換),這些約束條件大致可以分爲兩類:一類是全局約束條件,通常在全局級別上限制資源的最大允許量,以及對個別用戶/用戶組施加進一步限制的局部限制。實際上,雖然全局約束的規模通常很小(例如幾百個),但是決策變量和局部約束的典型規模都可以達到數十億級。不幸的是,在這樣的規模下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章