KDD'24 | 合约广告中大规模多重线性约束库存分配问题的高效局部搜索算法

▐ 摘要

合约广告(Guaranteed Delivery Advertising)是在线广告的重要组成部分,合理的合约库存分配机制直接提升客户需求和平台收入。随着广告客户需求的越来越多样化和精细化,在业务场景中经常出现媒体偏好需求,即适合投放在指定媒体的广告在该媒体上分配的比例应该大于另一些不适合在该媒体投放的广告。然而,这些需求涉及到非凸的多重线性约束,会给合约广告的库存分配带来挑战,而数学规划求解器或现有基于约束的启发式求解方法无法在约束时间内产生高质量的解。本文提出一种局部搜索的框架来解决这个难题,该框架包含两阶段的搜索模式,并且集成了四种新的针对非线性约束设计的算子。实验结果表明,相比于其它算法或者求解器,我们的算法能够在业务要求的约束时间内产生高质量的解,并且该算法具备通用性,可以处理其它业务场景中存在的非线性约束,未来可以应用到更多类似的场景中。基于该项工作整理的论文已被KDD 2024接收,欢迎阅读交流。

论文:An Efficient Local Search Algorithm for Large GD Advertising Inventory Allocation with Multilinear Constraints

作者:Xiang He, Wuyang Mao, Zhenghang Xu, Yuanzhe GU, Yundu Huang, ZHONGLIN ZU, Liang Wang, Mengyu Zhao, Mengchuan Zou

1. 背景介绍 

合约广告是在线广告行业的重要组成部分,它在品牌的在线商业营销和推广中起着至关重要的作用。广告库存的分配是合约广告的关键组成部分。广告客户通常会在广告投放日期的几个月或几周前与平台签订合同,以预先锁定所需的广告展示次数。合同中明确规定了在特定定向条件下(如人群、频次控制、城市、渠道)的广告展示数量。如果库存过度出售,可能导致无法完成合同中的展示数量目标,平台需要进行赔偿;而库存少售卖则会损害平台的收入。在以往的广告库存分配工作中,研究的重点仅限于包含线性约束。通常会利用线性约束的性质,利用对偶和KKT条件,快速解决问题。然而,这些算法只能处理线性或凸性约束。随着商业需求的不断扩大,越来越多的细化需求被提出,其中一些需求可以自然地表达为非线性约束,并且在数学形式上是非凸形式。举例来说,假设一个客户有两种产品,一个是护肤精华液,一个是耳机,并指定美妆app作为护肤精华液的重点媒体,相对于耳机来说。广告主希望护肤精华液在美妆app上的分配比例比耳机更大,使其更多地集中展示在合适的媒体上。

de3067707ad1d5507a19ddfc313677ca.png

由于现有求解器和方法的效率或能力不足以处理商业场景中的这些非凸约束,这就需要探索新技术和新算法来有效解决这些问题。针对此问题,我们做了以下工作:

1)首次提出解决带有非线性约束的库存分配问题,将其建模为一个包含多线性约束的整数规划问题。

2)设计了一种轻量级局部搜索求解器LS-IMP来解决这个问题。提出了四种新的邻域操作来处理多线性约束,并设计了两种切换模式,以快速找到问题的近似最优解。LS-IMP可以轻松处理商业场景中的一般多线性约束。

3)我们在真实的在线广告应用数据上对保证交付库存分配进行了实验。实验结果表明,我们的求解器在更多实例中满足了要求,并在商业指标上具有更高质量的分配结果,优于数学规划或基于约束的启发式求解器。

2. 问题建模

2.1 二部图建模

GD广告库存分配问题是计算新合同的最大可能展示量(库存),同时确保展示量满足发布商和广告商的需求约束。该问题可以使用二部图来描述,它可以使用二部图表示,如下图所示。在左侧,供给节点集对应于基本维度(城市 媒体 操作系统)的展示次数。在右侧,需求节点集对应于销售系统中的合同。其中,需求节点代表新合同,而其他需求节点代表现有合同。决策变量表示从供给分配到需求的展示次数。

f2c41c20255c2a12c9fb2498ad0b18c8.png

问题的目标是求解以最大化分配给新合同的展示次数,并满足三种约束条件:

1)供给约束:每个供给节点的总分配量不应超过其供给量;

2)需求约束:分配到某个需求节点的展示次数不应少于其需求;

3)Focus约束:在关注媒体上,合同的关注比例不得低于另一个合同。此约束涉及同一广告主的两个合同和及一组选定的指定媒体集,代表相比的关注媒体。然后要求合同和在供给集上的关注比例符合广告主的优先级要求:合同在上的关注比例应大于合同的关注比例。

我们使用邻接矩阵()来表示供应节点和需求节点之间的连接,如果供应节点 和需求节点 之间存在连接,则8b6f3106331239aef417ce4f803d4f40.png

2.2 整数多重线性规划

整数多重线性规划 (IMP) 问题的形式如下:

6fd6556aa2018d8600118ce8a1539cbc.png

其中 , ,, 是输入, 是决策变量。 是多线性的,意味着任意变量的最高指数为 1。我们用 表示约束系统中的第 个约束为 : 。变量的边界表示为 ,并且我们表示 。在我们的问题中,, 是其对应供给节点的容量。给定变量 ,每个约束可以写成:

其中 是 中 的系数多项式, 是 中 的截距多项式。直观上,如果我们仅将 视为变量,那么 是 的系数, 是不包含 的单项式。

显然,我们的问题在公式可以转换为一般的 IMP 形式,因为线性约束是多线性的,并且关注比例约束等价于:

这是多线性的。在下文中,我们考虑一般情况下整数多重线性规划形式的问题。一个完整的赋值 对于 IMP 实例 是一个映射,它为每个变量赋予一个整数, 表示 下 的值。赋值 满足约束 如果 ,否则约束被违反。赋值 是可行的,当且仅当它满足 中的所有约束。赋值 的目标函数值表示为 。另外,我们表示 为 中 的系数多项式在赋值 下的值, 为截距多项式的值。

3. 问题求解

实现我们算法处理具有多线性约束的GD广告库存分配的关键创新包括局部搜索过程中四个新算子。此外,我们设计了两种模式的算法架构,以帮助算法找到高质量的解决方案。

3.1 算子设计

在局部搜索算法中,一个算子定义了如何修改变量以生成新的赋值,当一个算子实例化为一个变量时,我们得到一个操作。局部搜索算法逐步执行操作以生成新的赋值,并跟踪获得的最佳赋值。我们提出了四个用于一般整数多线性规划的新算子,包括三个单变量算子和一个双变量算子。它们旨在处理未满足的约束或优化目标函数,这些算子将在算法的不同模式中使用。

3.1.1 多重线性critical move(mc) 算子

我们的多重线性critical move(mc)算子考虑在违反的约束中修改变量,使其满足约束。多线性关键移动将变量的值修改为使约束为真的边界值。多线性关键移动可以通过以下方式构造:给定一个违反的多线性约束 ,变量 ,我们知道 。在赋值 下,我们表示:

,

一个 操作为 是:

  • 如果且:将增加。

  • 如果且:将减少。

  • 否则:保持不变。

3.1.2 边界移动(bm)算子

边界移动算子考虑在所有约束都满足时优化目标函数。减少目标函数值的基本思想是改变其中变量的值。设 为出现在目标函数中的变量集合,即 ,其中 是 在 中的系数。边界移动算子的思想是根据其在目标函数中的系数将变量移动到其上界或下界,这将使目标函数值的最快下降。我们设计边界移动算子表示为 如下:

  • 如果,则将赋值为其上界。

  • 如果,则将赋值为其下界。

3.1.3 降低移动(rd)算子

类似于边界移动的作用,减少移动也旨在优化目标函数。在某些情况下,将变量设置为其全局界限可能会导致更多约束被违反。对于目标函数中的变量,边界移动关注其界限,而减少移动关注其受制约的约束。对于一个变量 和一个包含 的已满足约束 ,我们设计减少移动算子,以保持 的满足状态并在不违反 的上界或下界的情况下实现目标函数值的减少。

给定变量 和其关联的已满足约束 ,。在赋值 下,我们表示 ,一个 操作为 是:

  • ,:增加,

  • ,:减少,

  • 否则:保持不变。

3.1.4 推进移动(pm)算子

不论是边界移动还是减少移动,这些算子都与目标函数中的变量相关联。然而,如果某些变量没有出现在目标函数中,它们可能不会直接影响目标函数。但是,如果这些变量与目标函数中的变量共享约束,它们可以通过改变其值来影响变量范围,进而影响目标函数。接下来,我们打算定义并搜索一对变量,类似于上面例子中的 和 ,以及相应的算子。

  • 有效辅助约束:给定一个赋值 和一个变量 ,如果 ,则约束 是变量 的有效辅助约束。

表明辅助约束限制 向减小目标的方向移动。我们定义 在约束 中的有效范围,即 可以移动并保持 满足的范围。对于多线性约束,这个范围是一个区间。现在我们来确定那些能够改变 在辅助约束中有效范围的变量。

  • 有效辅助变量:  给定一个赋值 ,对于任意 ,变量 是 的有效辅助变量,如果 满足以下条件:(1) (2) 存在约束 使得 是 的有效辅助约束, 和 都出现在 中。

直觉上,由于 和 在同一个约束中, 的值可能会影响 在 中的有效范围。现在我们试图找到改变 是否能够导致 在 中更广范围移动,从而减小目标函数。

  • 有效推进对: 给定一个赋值 ,一个有序变量对 , 是一个有效推进对,如果满足以下条件:

    1)存在约束使得,并且。

2)存在约束使得,,,并且固定为不会改变的符号。

3),其中是通过固定为更新的辅助赋值。

基于以上思想,推进移动算子定义如下:

  • 给定一个赋值 ,一个推进移动算子 接受一个有效推进对 以及定义的约束 和 ,如 有效推进对 的定义,推进移动算子通过以下步骤固定的值:

1)将的值固定为,得到一个新的辅助赋值。

2)执行操作,将的值固定。

3.2 双模式移动框架

我们的算法采用双模式搜索框架,当存在约束不满足时,算法进入infeasile模式,在该模式下,通过多重线性算子来试图满足约束。当所有约束都满足的时候,算法进入infeasible模式,在该模式下,算法通过三种算子来降低目标函数的值。同时通过加权技术和设计的评分函数来指引好的搜索方向,从而加速搜索。

b7d951bd9343d0d91b43c0906134063f.png e755a6ae3994b01a6fa8dc25f71fdc1a.png

4. 实验

4.1 实验说明

Baseline:将我们的求解器与两个数学求解器 Gurobi 10.0.0 (2022) 和 SCIP 8.0.1 (2021) 进行比较,它们分别是公认的最佳商业求解器和最佳开源求解器[@mittelmann-plots]。除了数学编程求解器,我们还比较了约束启发式求解器 Yuck,该求解器是 2022 和 2023 年 MiniZinc 挑战中局部搜索赛道的冠军,这是约束编程求解器的代表性竞赛[@minizic]。我们使用 Gurobi 的精确版和启发式版,分别记为 Exact 和 Heur。SCIP 和 Yuck 使用默认参数。

数据集:实验数据集来自阿里妈妈真实 GD 广告场景。通过对涵盖不同时间段(包括常规日和节假日)的实际在线请求数据进行采样和聚合生成 5 个数据集,以涵盖全面的业务场景。我们从所有样本中进行均匀随机抽样。实验数据的规模如下表:其中ins是例子的数量,ML Constraint是新引入的约束数量。

cba499669833e4b0b2d394fd2ceca860.png

4.2 评估指标

在本小节中我们比较了 5 个指标:

库存利用率(#UR):我们将所有供应节点的总库存水平记为 ,所有订单的总需求量记为 。。较高的 #UR 表示售出的广告数量更多,从而带来更多收入。

理想库存履约率(#FR):理想分配量记为,等于将目标函数中所有变量设置为其上限时的值。。#FR 代表库存与最优库存之间的差距较小,意味着在满足合同义务的同时尽可能多地销售广告。#FR 应尽可能接近 100% 以履行客户合同。

获胜解决方案(#win):表示求解器在所有测试求解器输出的解决方案中找到最佳解决方案的实例数量。这个指标衡量算法在目标值方面找到高质量分配的能力。

可行解决方案(#feas):表示求解器在时间限制内找到可行解决方案的实例数量。这个指标衡量求解器找到满足所有要求的分配方案的实例数量。

求解时间:比较 LS-IMP 与baseline求解器在找到相同目标值的解决方案时的运行时间。

4.3 结果分析

#UR 和 #FR 分析: 我们比较了每组实例的平均 #UR 和 #FR。结果下图所示。在商业场景中,GD 广告库存分配的销售实例通常需要在 60 秒内解决。可以看到,SCIP 和 Yuck 在解决这个问题上的效果相对较低,反映在业务解决时间内观察到的较低的 #UR 和 #FR 指标。为了验证和比较我们求解器的能力,还进行了求解时间延长到 300 秒和 1000 秒的实验。实验结果表明,尽管 Gurobi 在 #UR 和 #FR 上有所提高,LS-IMP 仍然是最具竞争力的算法。此外,从 300 秒和 1000 秒的求解时间结果来看,与 60 秒的 LS-IMP 结果相比,没有明显的改进。这表明 LS-IMP 基本在 60 秒内收敛,展示了我们算法的有效性。

99ad2c1f2c3f2a0ffbbf2d6953a21e6b.png f572eca246f419a2e54eed705c5085ef.png

#win 和 #feas 分析: 可以观察到,在 60 秒内,LS-IMP 在可行解决方案的数量和获胜解决方案的数量上都具有显著优势。显然,SCIP 和 Yuck 在应用于可用数据集时,大多数实例无法提供可行的解决方案。作为商业求解器,Gurobi 在 60 秒的时间范围内,在可行解决方案的数量和找到的解决方案的质量方面都远远落后于 LS-IMP。即使在更长的时间(300 秒和 1000 秒)内,这两个指标仍然未能超越 LS-IMP。

db7813835fd2adbb5c298602bffc5682.png

求解时间分析: 我们比较了 LS-IMP 和 Gurobi 求解器的求解时间,具体考察了它们在 300 秒和 1000 秒的运行时间,以验证我们算法的收敛速度。在这个分析中,我们比较了 Gurobi 的启发式和精确版本。可以观察到,无论在 300 秒还是 1000 秒的时间范围内,对于找到相同解决方案的实例,LS-IMP 始终能在更短的时间内获得解决方案。这表明了我们求解器的快速收敛速度。

30cf442d61d67f741c092a356b86dd8c.png

5. 结论

本文分享了 GD 广告库存分配问题的局部搜索算法。我们将具有偏好要求的 GD 广告库存分配建模为一个整数多线性规划问题,并提出了一种高效的双模式局部搜索算法来解决该问题。实验表明,与该问题的最先进求解器相比,我们的算法生成了更高质量的分配计划。该算法方案能够处理一般的多线性约束,并且可以应用于其他合同分配场景。未来,我们还考虑扩展该算法方案,以解决涉及其他业务指标比率要求的问题。局部搜索算法对于计算广告来说是新的方向,我们认为这是一个值得探索的领域。期待我们的新局部搜索算法能够为未来的研究提供一些灵感。

▐ 参考文献

[1] Tobias Achterberg. Scip: solving constraint integer programs. Mathematical Programming Computation, 1:1–41, 2009.

[2] Shipra Agrawal and Nikhil R Devanur. Fast algorithms for online stochastic convex programming. In Proceedings of the twenty-sixth annual ACM-SIAM symposium on Discrete algorithms, pages 1405–1424. SIAM, 2014.

[3] Shipra Agrawal, Zizhuo Wang, and Yinyu Ye. A dynamic near-optimal algorithm for online linear programming. Operations Research, 62(4):876–890, 2014.

[4] Anand Bhalgat, Jon Feldman, and Vahab Mirrokni. Online allocation of display ads with smooth delivery. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 1213–1221, 2012.

[5] Vijay Bharadwaj, Peiji Chen, Wenjing Ma, Chandrashekhar Nagarajan, John Tomlin, Sergei Vassilvitskii, Erik Vee, and Jian Yang. Shale: an efficient algorithm  SIGKDD international conference on Knowledge discovery and data mining, pages 1195–1203, 2012.

[6] Peiji Chen, Wenjing Ma, Srinath Mandalapu, Chandrashekhar Nagarjan, Jayavel Shanmugasundaram, Sergei Vassilvitskii, Erik Vee, Manfai Yu, and Jason Zien. Ad serving using a compact allocation plan. In Proceedings of the 13th ACM Conference on Electronic Commerce, pages 319–336, 2012.

[7] Liang Dai, Zhonglin Zu, Hao Wu, Liang Wang, and Bo Zheng. Fairness-aware guaranteed display advertising allocation under traffic cost constraint. In Proceedings of the ACM Web Conference 2023, pages 3572–3580, 2023.

[8] Nikhil R Devanur, Kamal Jain, Balasubramanian Sivan, and Christopher A Wilkens. Near optimal online algorithms and fast approximation algorithms for resource allocation problems. In Proceedings of the 12th ACM conference on Electronic commerce, pages 29–38, 2011.

[9] Zhen Fang, Yang Li, Chuanren Liu, Wenxiang Zhu, Yu Zheng, and Wenjun Zhou. Large-scale personalized delivery for guaranteed display advertising with real-time pacing. In 2019 IEEE International Conference on Data Mining (ICDM), pages 190–199. IEEE, 2019.

[10] Jon Feldman, Monika Henzinger, Nitish Korula, Vahab S Mirrokni, and Cliff Stein. Online stochastic packing applied to display ad allocation. In European Symposium on Algorithms, pages 182–194. Springer, 2010.

[11] Jon Feldman, Aranyak Mehta, Vahab Mirrokni, and Shan Muthukrishnan. Online stochastic matching: Beating 1-1/e. In 2009 50th Annual IEEE Symposium on Foundations of Computer Science, pages 117–126. IEEE, 2009.

[12] Vahideh H Manshadi, Shayan Oveis Gharan, and Amin Saberi. Online stochastic matching: Online actions based on offline statistics. Mathematics of Operations Research, 37(4):559–573, 2012.

[13] Wuyang Mao, Chuanren Liu, Yundu Huang, Zhonglin Zu, M Harshvardhan, Liang Wang, and Bo Zheng. End-to-end inventory prediction and contract allocation for guaranteed delivery advertising. In Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, pages 1677–1686, 2023.

[14] Hong Zhang, Lan Zhang, Lan Xu, Xiaoyang Ma, Zhengtao Wu, Cong Tang, Wei Xu, and Yiguo Yang. A request-level guaranteed delivery advertising planning: Forecasting and allocation. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pages 2980–2988, 2020.

END

a4ec855b70be10d439b8fe6dd107ffd6.gif

也许你还想看

合约广告中基于风险约束的Pacing算法优化

合约广告中端到端流量预估与库存分配

合约广告自适应统一分配框架

品牌保量技术在阿里妈妈外投场景的应用

 “喵糖”背后的商业化流量投放算法

阿里妈妈品牌广告价值建模

关注「阿里妈妈技术」了解更多~

c0564c668c4acd3d6298df0bd954a52f.gif

喜欢要“分享”,好看要“点赞”哦ღ~

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值