背景
货运行业正处于迅猛发展的快车道上,其业务扩张之迅速与市场环境之多变令人瞩目。以货拉拉2023年的招股说明书为例,其年收入增长率达到了28.8%[6],凸显了持续加速的增长态势。另一方面由于市场价格波动大,用车需求非标,很难动态定准价格,议价是市场主流模式。议价虽然可以解决定价过高导致的用户不下单,但往往出价过低导致的司机响应低,因此需要引导司机加价来提响应。在此背景下,推荐价格策略在货运领域的应用面临着前所未有的挑战,即如何在外界环境波动频繁的情况下保持高效、稳定且适应性强,从而确保为用户和司机带来更加优化的体验。
针对这一挑战,我们创新性地设计了一套自适应遗传算法框架[5],旨在赋能货运业务,在成本可控的前提下,实现算法的自我进化与优化。该框架不仅促进了策略的动态调整,还保障了在不断变化的市场环境中,能持续收获稳定的高效益。通过这一智能化方法,我们力求构建出一个更为健壮、可靠且高度适应变化的解决方案生态系统,全方位提升货运动态价格建议的效率与质量。
方案对比
一般常用的策略总结下来,有以下三种,每种框架针对不同的业务条件和挑战:
1. 业务专家主导的策略演进
此策略依赖于行业专家知识与经验,通过精心规划的多维度AB测试,逐步优化货运策略。该方法的一大特点在于它能清晰解释收益来源,在数据资源有限的情况下,仍能高效推进策略改进。然而,当应用在如货运O2O平台的司机加价建议优化时,面对高达9万种起终点组合、10类车型、4个里程段、0~180分钟的推荐时间范围及1%~200%的价格弹性空间,策略空间膨胀至数百万维度,需实施成千上万次实验,实操难度大。
2. 精确算法策略
针对高日订单量环境,许多公司倾向于采用因果推断模型来辅助策略制定,利用动态规划、整数规划等来最优化业务目标。此类算法策略,能够创建精细化的配对策略,但对数据质量要求较高。而货运O2O市场需求往往非标,假定每个场景需至少10份订单数据作为训练素材,意味着在处理货运O2O市场的数百万种独特场景时,需大量数据支持。同时,我们在实际数据收集常中发现,该方法呈现出明显的偏态与长尾现象,导致关键场景数据缺失,采用一般的因果推断方法(PSM、SEM、DAGs)难以彻底解决有偏性问题,严重阻碍了模型的有效训练。
3. 启发式算法策略
鉴于数据不完整性与样本稀少的实际情况,另一种方法是采用启发式的算法,不断逼进和探索最优的策略,例如模拟退火策略、禁忌搜索策略、进化算法、蚁群算法、遗传算法等。我们在之前的文章中[5],将遗传算法(GA)与因果推断(CI)相结合,提出CI-GA策略优化方案,特别适用于货运O2O领域的动态定价难题。此方案设计初衷即是应对数据偏斜和小样本量的挑战,展示出比常规方法更为出色的效能,极大提升了策略迭代的灵活性与环境适应性,有效拓展了其在货运O2O复杂场景中的应用范畴。
遗传算法的业务挑战
尽管遗传算法有诸多优点,我们在实践过程中,也发现存在一些业务挑战,比如:
1. 局部最优问题:遗传算法虽然是一个全局搜索策略,但它容易过早陷入局部更优解,导致搜索过程过早收敛,无法找到全局更优解或满意解。
2. 噪声环境优化性能评估:遗传算法容易受波动的实验结果,尤其是在数据量小或噪声较大的初期阶段,可能导致对算法适应度评估的不准确,在噪声环境下,适应度函数中包含着不可测的随机噪声,使得适应度函数不能真实反映个体适应环境的能力,由此得到的优化结果都是不可靠的.那些在搜索过程中由于适应度高而被保留下的个体,不一定是真正优秀的,从而使搜索迷失方向。
3. 种群多样性维持:为了防止遗传漂移,即避免算法过早收敛到局部更优解,需要采取措施保持种群的多样性。这通常涉及到调整交叉和变异操作的概率,以及采用如免疫原理等策略来维持种群多样性。
总之,尽管遗传算法在策略优化中展现出了巨大的潜力,但仍然存在一些关键问题需要解决,包括局部最优问题、收敛速度慢、种群多样性维持等。特别是由于问题1和2,在业务发展迅速,环境变化剧烈的条件下,对新环境的适应性问题需要重点考量。
多臂老虎机
多臂老虎机(Multi-Armed Bandit,简称MAB)是一种经典的决策问题,常用于描述在不确定性的环境中进行序列决策的情境。问题背景如下,面对一台有多个拉杆的老虎机,每个拉杆代表一个可能的选择或行动,当你拉动任一拉杆时,可能会得到不同数量的奖励。目标是通过有限次数的尝试,找到平均奖励最高的那个拉杆(即最优策略),同时平衡探索(exploration)和利用(exploitation)的矛盾:既要尝试不同的拉杆以发现最好的选项,又要尽可能多地从已知的好拉杆中获取奖励。
多臂老虎机问题有一些基本的解决策略,包括但不限于:
1. ε-贪心算法(ε-Greedy Algorithm):这是最简单的策略之一。在每次决策时,以1-ε的概率选择当前估计更优的拉杆(利用),以ε的概率随机选择其他任意拉杆(探索)。ε是一个介于0和1之间的参数,用来控制探索与利用的平衡。
2. Boltzmann Exploration:类似于ε-贪心,但采用概率方式选择拉杆,每个拉杆的选择概率与其预期奖励成正比,同时也受到温度参数的影响,温度越高,选择越随机,有利于探索。
3. 上置信界(Upper Confidence Bound, UCB)算法:UCB策略在每次选择时会考虑每个拉杆的平均奖励以及其不确定性,选择具有最高上置信界限的拉杆。这个界限反映了对拉杆期望奖励的乐观估计,鼓励探索那些尚未充分了解但可能有高回报的选项。
利用多臂老虎机擅长的探索(exploration)和利用(exploitation)变化中的平衡能力,可以帮助遗传算法更快地探索环境、适应变化并加速收敛,包括
1. 增强多样性和探索能力:多臂老虎机通过调整探索和利用的概率,缓解探索和利用不平衡的问题。这种自适应的策略可以增加遗传算法在搜索空间中的多样性,有助于避免早期收敛,并提高找到全局更优解的能力。
2. 提高评估效率:多臂老虎机算法通过分配流量到候选解决方案来优化设计,特别是在成本高昂和噪声大的实际环境中。帮助识别出最有用的候选方案,从而提高遗传算法的评估效率,使其能够更快地找到优质解。
通过动态调整搜索策略以适应环境的变化,从而保持算法的适应性和效率,动态适应环境变化。
自适应遗传算法
为了解决遗传算法的过早局部最优、收敛速度控制以及种群多样性维持问题,我们提出一种低成本的样本自适应遗传算法的解决方案,并有以下三个改进
1. 适应度函数,融入多臂老虎机的UCB算法,平衡策略探索(exploration)和利用(exploitation)。
为了避免过早收敛,在适应度评估中嵌入UCB算法逻辑,为每个候选解(视为老虎机的一个“臂”)分配一个结合了实际适应度与探索价值的加权得分。此策略通过设定上置信界限鼓励对潜在高收益但当前适应度评估较低的解进行探索,从而拓宽搜索空间。
2. 统计学显著性阶段识别
为了评估噪声环境优化性能,利用统计学显著性测试(如t检验、ANOVA等)来确定当前种群的性能是否已达到稳定状态或显著提升。在每个代际结束时,使用显著性测试判断当前最好的N个策略,是否有和对照组有显著差异。如果统计学显著性不够,则认为算法仍处于探索期,可以适当降低收敛速度,引入更多随机性;反之,则认为接近更优解,应增加收敛速度,减少变异概率,加强选择压力。
3. 引入专家策略多样性机制。
针对样本多样性维持,持续实施业务专家保留策略,确保算法在任何情况下都能保有试探策略,以此减轻动态环境变化可能引发的策略失效风险,保障算法长期的优化效能与稳定性。
应用
为了验证自适应遗传算法在司机加价动态推荐价中的有效性,我们设计了一组实验,来说明自适应遗传算法的应用。我们首先会简单介绍一下问题背景、自适应遗传算法核心策略,包括初始策略(染色体、初始化种群)、策略自适应、选择操作、交叉和变异、迭代和更新,最后介绍一下实验结论。
问题背景
在货运平台中,一种定价的主流模式是议价,包含用户加价、司机加价和用户出价。在某些场景中,平台会对长时间未响应订单开放司机加价能力,即为了提高配对,司机可以对用户发出的订单进行加价,用户可以选择是否同意。为了避免价格过高用户不接受或者价格过低司机不接受的情况出现,平台会根据实际情况给司机推荐不同的加价金额;
综上,为了保护司机和用户双方以及平台的权益,这一策略需要考虑
1. 推荐加价要尽可能准确,不能太低或者太高,同时司机和用户均有自主出价权和拒绝权益;
2. 推荐价策略也要兼顾司机用户和平台利益,拉齐司乘价格认知,帮助平台创造更多的配对和GTV,提高平台司机的收入,为更多的司机和用户服务;
需要注意,算法只改变司机加价中的推荐金额;且会综合考虑司机权益后进行推荐。若司机不认可推荐金额,仍然可以自定义的输入加价金额。
在这一货运领域中的典型问题中,我们会遇到几个问题
1. 货运订单数量有限且分布不均,导致针对订单维度的配对模型训练成本较高,难以规模化训练模型。
2. 策略僵化现象:加价决策受多种因素影响,而过往策略调整频次低,难以直接学习到动态treatment和配对的定量关系。
3. 推荐价和配对率属于弱相关,例如我们发现大多数司机,不会受加价推荐价的影响。
因此我们摒弃订单模型训练方式,主要参考各个场景下,某定价模型学习并输出的历史成交价和其分布。同时,为了方便遗传算法寻优,我们用0~1的参数P,代表着该定价水平的配对概率,来衡量某一场景下某推荐价的高低,例如P越高意味着价格越低,用户越容易同意,反之则推荐价越高,用户越容易拒绝,如下图。
下图为定价模型对配对订单的加价比率分布图,x为加价比率,y为对应加价比率的配对单占比,x1为推荐价格,其中P(x)为覆盖配对单占比,推荐加价比率x1越大,覆盖配对单占比就越小。
需要注意,用户同意率高的P并不代表该订单最终的配对率高,因为用户同意率高的推荐价由于可能推荐价过低,导致司机无响应或者不受该推荐价影响。
所以,需要对各个场景,利用自适应遗传算法来找到最优策略对应的P,来最大化配对单收益:
自适应遗传算法核心策略
下面我们介绍一下自适应遗传算法在司机加价场景策略优化中的具体应用,我们首先介绍了初识策略,分别介绍了该策略收益自适应、样本自适应、样本多样性和显著性,然后通过伪代码详细介绍了计算过程,并给出了策略概率上线表的样例,最后给出了实验结果,对比了初识策略和最优策略,验证了这一方法的有效性。
初始策略
在进行遗传算法迭代之前,我们已经进行过多轮的实验迭代,积累了部分的实验数据,因此,我们参考这些策略作为初始策略,减少遗传算法的迭代轮次。
收益自适应
实验的目标是提升订单的配对率,因此可以使用ab实验的配对率提升做为策略的适应度;除了考虑配对率提升之外,我们也考虑其他的一些次要指标。直观上理解,历史收益效果越好,适应度应该越高,继续上线概率越大
可考虑的收益指标
具体计算
1. 对各场景中的收益进行归一化(公式如下),所有的收益值 在[0,1]的区间
2. 配对率提升、额外gtv作为函数输入,进行加权求和
样本自适应
实验样本数过少会策略的历史收益不准确,这里考虑策略的实验样本数相对于其他策略的多少,我们希望随着实验的进行,那些积累数据量少策略能够有更大的概率被选中。
参考多臂老虎机中的UCB算法,其中T是对应场景中已经收集到的所有策略的实验数据,n_a是该场景中的a策略收集到的数据
样本多样性
从生物学的角度来看,超级个体的出现可能会导致种群多样性的降低。这是因为,当一个群体中的某些个体因为某些优势而脱颖而出时,它们可能会占据更多的资源,从而限制其他个体的生存和繁殖机会。这种现象在自然选择中被称为“利基竞争”(niche competition),其中优势个体占有绝对的资源。在遗传算法中,为了避免超级个体的出现,一种方法是通过结合Logistic函数和余弦函数,对交叉和变异算子的曲线进行非线性化处理,可以实现交叉算子和变异算子的非线性自适应调整。这种方法可以有效提高算法的自适应能力,使其在不同阶段具有不同的表现形式[4],但是也会导致策略不够稳定。
我们的方案是引入业务专家候选集合,这部分策略是业务专家认为有潜力的策略。这些策略初始的历史收益为0,为了让这些策略也机会进行上线,在计算适应度需要适当的倾斜
1. 设置超参数x,x为上线未测试过策略的上线的概率
2. eg:x=10%,则测试过的策略上线概率p=(1-x)p
样本显著性
统计显著性中的P值(P-value)是一个重要的统计指标,用于假设检验中。P值代表在原假设为真的情况下,观察到的样本结果或更极端结果出现的概率。具体来说,P值是当原假设(H0)为真时,比所得到的样本观察结果更极端的结果出现的概率。在实际应用中,P值通常用来判断数据是否具有统计显著性。一般来说,P值小于0.05被认为是有统计学差异,即结果具有统计显著性;P值小于0.01则被认为是非常显著;而P值小于0.001则被认为是极其显著。这些标准帮助研究者确定样本间的差异是否由抽样误差引起,还是由实验条件引起的真实效应。
如上文所介绍的样本自适应方法,它能评估策略之间实验样本的差异,给予实验样本数相比其他策略较大的策略更高的权重,从而使得策略有更大的上线概率。这种方法在刚开始实验的时候有较好 的效果,但是随着实验的持续进行,问题随之而来,举个例子
策略A:配对率收益+0.88pp,实验样本数量1000000,UCB分数 0.005
策略B:配对率收益-0.6pp,实验样本数100000,UCB分数0.016
考虑配对率收益,应该选择策略A,但是考虑UCB之后,仍然会给予策略B更大的分数,从而B策略上线的概率更大。因为实验样本数100000已经可以得到一个比较置信的结果,策略B 效果负向的结果也是可信的,此时策略B上线概率应该更小。因此我们引入样本的显著性概念,当策略显著时,我们缩减UCB分数在计算score时的权重。
同时为了提高遗传算法的运行效率,我们通过调整种群大小、交叉概率、变异概率等参数来找到更好的平衡点。通过多次运行,尝试不同的参数组合,找到最优的参数设置,具体过程如下,其中p为某分支实验的P-value:
交叉和变异
交叉
遗传算法采用基因交叉和变异的方法增加种群的多样性,从而避免模型陷入局部更优解。其基因交叉算法有多种类型,常见的包括部分匹配交叉(PMX)、有序交叉(OX)、循环交叉(CX)、模拟二进制交叉(SBX)等。这些交叉算法通过模拟生物学中的基因交叉过程,生成新的个体,从而在种群中保持多样性和提高优化效率。
综合业务背景,我们采用模拟二进制交叉(SBX),可以通过调整交叉分布指数η来控制基因重组的程度,从而在保持种群多样性的同时提高算法的效率,在模拟二进制交叉(SBX)中,η(eta)是一个关键参数,它决定了子代基因值如何在两个父代基因值之间进行插值。η的值通常在[0, 1]区间内,其大小直接影响子代的生成方式,从而影响搜索过程中的探索与利用平衡,我们一般取η=0.5。
我们对推荐金额比率进行二进制的转换,随机对两个策略推荐金额比率的二进制位置编码进行交换,η=0.5,生成新的推荐金额比率二进制数
eg:10%:01010;20%:10100 -> 编码位置交叉生成两个新的系数 -> 11010 && 00100 -> 26%&&4
变异
在遗传算法中,变异(mutation)是通过随机改变个体的基因来生成新的个体,从而增加种群的多样性和探索能力。常见的变异策略包括不限于以下几种:
1. 随机变异:在个体的某些基因座上用其它等位基因替换,以形成新的个体。
2. 逆变异:将个体的某些基因值反转或相反。
3. 逆序变异:改变个体基因的顺序。
4. 单点变异:只在个体编码串中的一个位置进行变异。
5. 高斯变异:使用高斯分布来生成新的基因值。
综合业务背景和成本,考虑使用单点变异,即对推荐金额比率二进制的随机位置进行01变化,生成一个新的新的推荐金额比率二进制数:
eg:12%:01100->随机编码发生01变化 -> 01101 -> 13%
自适应遗传算法伪代码
综合以上关于初始策略、收益自适应、样本自适应、样本多样性和显著性的考虑自适应遗传算法伪代码如下。
通过以上过程,得到策略概率上线表:
实验结果
根据多组严格的AB实验结果,重复上述过程,每代结束后根据自适应机制调整算法参数,生成新的子代。我们发现,在不考虑UCB、专家策略等改进的时候,遗传算法策略在进行策略选择时,有较大概率会选择一些不合理实验,导致实验效果负向,影响迭代转正的时间。在考虑前面提到的几个改进后,算法能够2周就收敛到一个比较令人满意的结果。
实验描述
实验分组
对照组:人工策略
实验组1:因果推断策略,推荐加价系数固定
实验组2:遗传算法策略,动态调整推荐加价系数
分流方式:订单id随机分流
进化频率:2-3天进化一次
实验周期:20240524-20230608
实验结论
1. 比较了对照组和因果推断策略的结果,实验组2实验效果最优(遗传算法组),响应率+0.77pp,配对率+0.63pp,取消率-0.64pp
响应率:响应单量/订单量
配对率:配对单量/订单量
取消率:取消单量/订单量
2. 进化配对率收益趋势
自适应遗传算法主要从三个方面提升最终的实验结果
参考历史实验结果,辅助决策,使得实验结果有稳定的收益结果。
同时为了避免历史实验结果可能存在的波动和不准确性,引入了样本显著性的方法,使得算法不会过度依赖历史实验结果。
遗传算法原有的交叉和变异能力结合样本多样性的方法,使得未实验过策略亦有几率上线实验,避免算法陷入局部更优解。
通过上述三个方法,使得遗传算法在迭代周期中效果稳定提升,配对率从最开始的负向,到最终显著正向,超过了历史最好策略。
总结
本文进一步探讨了遗传算法在实际货运策略中遇到的业务挑战,如局部最优问题、噪声环境下优化性能评估的困难,以及维持种群多样性的重要性。为解决上述挑战,我们提出了自适应遗传算法的改进方案,包括三个方面:一是通过融入UCB算法到适应度函数,促进策略的平衡探索与利用;二是应用统计学显著性测试识别算法的收敛状态,动态调整收敛速度;三是引入专家策略多样性机制,确保算法在动态环境中的长期稳定性和优化效能。最后,为了验证自适应遗传算法在货运O2O平台司机加价动态推荐中的应用效果,我们详细介绍了实验流程和评估方法,对比实验一般的方法(因果推断策略)、自适应遗传算法以及人工策略,证明了该方法能持续稳定达到相对更优,展示了该算法的实际效益和可行性。
展望
回顾团队在动态定价策略领域的发展历程,初期我们核心依赖的是精密算法方案,该方案借力于因果推理及弹性模型来精准应对最优化匹配与总交易额(GTV)提升的挑战 [7]。然而,实践表明,这一方法高度依赖于全面且高质量的数据支撑,而在实际情境中,数据完备性往往难以达到理想状态,从而限制了策略效能的充分释放。
面对这一局限,我们提出了“精密算法奠基,启发式方法精进”的混合策略思路。通过结合因果推理与自适应遗传算法,我们能够持续监控市场动态并迭代优化策略。尽管如此,遗传算法的运用亦非无懈可击,它在利用深厚业务洞察及透明化策略成效解释方面存在短板,导致策略迭代效率与直观性受限。一个典型现象是,在纳入精心设计专家策略作为种子策略之前,遗传算法往往会消耗大量资源探索那些违背业务逻辑的策略方向。
从实战角度审视,若策略制定者缺乏对业务深度的认知,很容易陷入业务误区,难以实现策略收益的突破。因此,仍然建议在策略演进过程中,深度融合业务考量,确保策略设计紧贴业务实际。技术层面上,过往难以融合专家知识及清晰解释策略收益,部分原因在于非生成式学习模型(例如深度神经网络模型、树模型等)在解释预测方面的固有限制。值得庆幸的是,大规模语言模型(LLM)的进展为此类问题提供了新的解决方案。
展望未来,为克服解释性差和初期迭代低效的难题,我们计划探索集成LLM技术的路径,旨在创建一个定价策略智能体(LLM Agent)。这一智能体不仅能够吸纳业务专家的智慧,加速算法策略迭代进程,还能够为业务成果提供更加透彻的阐释,架起技术与业务之间的桥梁,助力双方更紧密地协同作业,推动策略效能迈向新台阶。