Submodular maximization arises in many applications, and has attracted a lot of research attentions from various areas such as artificial intelligence, finance and operations research. Previous studies mainly consider only one kind of constraint, while many real-world problems often involve several constraints. In this paper, we consider the problem of submodular maximization under the intersection of two commonly used constraints, i.e., $k$-matroid constraint and $m$-knapsack constraint, and propose a new algorithm SPROUT by incorporating partial enumeration into the simultaneous greedy framework. We prove that SPROUT can achieve a polynomial-time approximation guarantee better than the state-of-the-art algorithms. Then, we introduce the random enumeration and smooth techniques into SPROUT to improve its efficiency, resulting in the SPROUT++ algorithm, which can keep a similar approximation guarantee. Experiments on the applications of movie recommendation and weighted max-cut demonstrate the superiority of SPROUT++ in practice.
翻译:子模最大化在许多应用中均有出现,并已吸引了人工智能、金融和运筹学等多个领域的大量研究关注。以往的研究主要考虑单一类型的约束,而许多实际问题往往涉及多种约束。本文研究了在两种常用约束(即$k$-拟阵约束和$m$-背包约束)交集下的子模最大化问题,并提出了一种新算法SPROUT,该算法通过将部分枚举融入同步贪心框架中实现。我们证明了SPROUT能够获得优于现有最先进算法的多项式时间近似保证。接着,我们将随机枚举和平滑技术引入SPROUT以提升其效率,从而得到SPROUT++算法,该算法能保持相似的近似保证。在电影推荐和加权最大割应用上的实验表明,SPROUT++在实际中具有优越性。