CN110097478B - 一种基于按需服务的多对多需求分配方法 - Google Patents
一种基于按需服务的多对多需求分配方法 Download PDFInfo
- Publication number
- CN110097478B CN110097478B CN201910280813.3A CN201910280813A CN110097478B CN 110097478 B CN110097478 B CN 110097478B CN 201910280813 A CN201910280813 A CN 201910280813A CN 110097478 B CN110097478 B CN 110097478B
- Authority
- CN
- China
- Prior art keywords
- demand
- many
- service provider
- time
- distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 150
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 123
- 238000005457 optimization Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims description 32
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 230000008901 benefit Effects 0.000 claims description 16
- 238000007637 random forest analysis Methods 0.000 claims description 13
- 238000013145 classification model Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 5
- 230000009194 climbing Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002068 genetic effect Effects 0.000 claims description 3
- 238000007477 logistic regression Methods 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000002922 simulated annealing Methods 0.000 claims description 3
- 238000012706 support-vector machine Methods 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000003066 decision tree Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于按需服务的多对多需求分配方法;包括:确定多个待分配需求和多个待服务需求的服务提供者;采用预先建立的需求被响应时间概率分布预估模型,根据需求和服务提供者的特征获得该需求在一对一情况下的被响应时间概率分布;计算各需求在多对多下的被响应时间概率分布;基于各需求在多对多下的被响应时间概率分布和组合优化来确定多对多的需求分配方式;根据需求分配方式,向多个服务提供者推送所述需求;本发明在需求分配阶段,允许需求被推送给多个服务提供者,一个服务提供者也能接收到多个需求,并从中选取一个进行接受或是拒绝所有需求;有效降低需求的被响应时间,提高服务提供者的使用体验,取得最优的需求分配方式。
Description
技术领域
本发明涉及服务分配处理的研究领域,特别涉及一种基于按需服务的多对多需求分配方法。
背景技术
按需服务平台的出现,为人们的生活带来了巨大的便利。目前大多数的需求分配平台,在需求分配方面采用如下三种方式进行分配:
其一,当按需服务平台接受到需求后,在空闲服务提供者中为该需求寻找合适的服务提供者,并进行推送;服务提供者接收到该需求后,可以根据自己的喜好选择是否接受该需求。一个服务提供者是否能最终获得该需求,还需要考虑其他服务提供者对该需求的响应情况。
其二,当服务提供者进入按需服务平台后,通过为该服务提供者寻找合适的需求以进行需求分配。具体实施方式为分配系统在需求数据库中搜寻未成交需求,计算该服务提供者与各个需求的相关性,再选择多个最匹配的需求推送给该服务提供者,最后由服务提供者决定是否接受这些需求。
这两种需求分配方法都无法确保找到最优的供需匹配方式,因为这两种方法都始终以一方(需求或服务提供者)为中心,无法兼顾到其它个体,所以无法达到全局最优。
其三,以按轮分配的方式进行需求分配。在此模式下,每隔固定的时间段,需求分配系统将进行一次需求与订单之间的匹配。如果一个需求没有被任何一个司机接受,其将进入下一轮的分配直到其被接受或者被需求发出者取消。考虑到服务提供者可能会拒绝平台向其推送的需求,一个需求往往需要推送给多个服务提供者以增加该需求在此轮分配中被接受的可能性。在一轮分配中往往有不止一个需求需要被分配,所以需求分配系统需要综合考虑此轮分配中所有需求被接受的可能性,并使得所有需求被接受的总可能性最大。此种分配模式被称为一对多的分配模式,即一个需求可以被同时推送给多个服务提供者,但一个服务提供者同时只能接收到一个需求,其需要选择是接受还是拒绝该需求。当需求数量远远少于服务提供者数量时,这种需求分配模式可以取得较好的效果。然而,在服务提供者数量低于需求数量的高峰时间段,该分配模型的性能将大打折扣。在这种情况下,一轮分配并不能将所有需求分发给服务提供者,挂起的需求将等待多轮才能被分发给服务提供者,造成需求从发起到被服务提供者接受的时间间隔过长。由于在该分配模型中一个服务提供者一轮只能收到一个需求,如果其拒绝了一轮里分配给他(她)的需求,他(她)将只能等待下一轮的分配,造成了服务提供者的高空闲率。在按轮分配的方式中,还有一种基于一对多模式的改进需求分配方法,该方法需要首先根据具体技术场景人为确定一个服务提供者在一轮需求分配中接收需求的数量,使得一个服务提供者可以有更多的需求可以选择,从而在一定程度上克服了一对多需求分配模式中的缺陷。这种方法的缺陷是需要对一个服务提供者在一轮需求分配中接收需求的数量进行人为控制,在算法的实际部署中使用较为不方便。而且在这种方法中,一个服务提供者在接收到多个需求时,由于其只能服务一个需求,所以其对每个需求接受概率会由于需求间的竞争而发生变化,但这种方法没有考虑到这种变化,并简单认为该服务提供者对其接收到的各需求的接受概率没有发生变化。在按轮分配的方式中,最后还有一种基于多对一模式的需求分配算法,所谓多对一模式即为一个服务提供者可以同时接收到多个需求,其可以从这些需求中选择一个进行接受。但该方法中一个需求只能被推送给一个服务提供者,且要求每个服务提供者所能接收到的需求数量相等。这种方法在需求数量远远大于服务提供者数量的需求高峰时期可以取得较好表现,但当需求和服务提供者的数量比例不满足这种关系时,该方法的效果将大打折扣。并且这些方法都只是从需求被接受的概率角度对需求分配方案进行考虑,没有从降低需求的被响应时间角度,从而无法达到优化需求被响应时间的目的。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于按需服务的多对多需求分配方法;通过在需求分配阶段,首先预估各个需求的被响应时间的概率分布,进而允许一个需求被推送给多个服务提供者的同时,一个服务提供者也能接收到多个需求,并对一个服务提供者接收到多个需求时各需求间的竞争情况进行了建模分析;接收到一个需求的服务提供者数量和一个服务提供者能接收到的需求数量完全由需求分配算法自动确定,无需人为事先设定;有效地降低了需求的平均响应时间,并降低了服务提供者的平均空闲率,从而解决了现有技术中所存在的上述问题。
本发明的目的通过以下的技术方案实现:
一种基于按需服务的多对多需求分配方法,包括以下步骤:
S1、确定多个待分配的需求和多个待服务需求的服务提供者;
S2、采用预先建立的需求被响应时间概率分布预估模型,根据需求和服务者的特征获得该需求在一对一情况下的被响应时间概率分布;
S3、计算各需求在多对多下的被响应时间概率分布;
S4、基于各需求在多对多下的被响应时间概率分布和组合优化来确定多对多的需求分配方式;
S5、根据所确定的需求分配方式,向多个服务提供者推送所述需求。
进一步地,还包括步骤,在建立需求被响应时间概率分布预估模型之前,需要获取一对一情况下的历史需求响应数据;所述一对一情况为:服务提供者只能观察到一个需求。
进一步地,所述历史需求响应数据包含:成交需求的服务内容、出发地、目的地、被响应时间、服务提供者到达需求出发地的耗时、历史响应时间、接收需求的偏好。
进一步地,所述待分配的需求包括按需服务平台一轮分配中需要分配给服务提供者的所有需求;所述确定多个待服务需求的服务提供者包括:按需服务平台一轮分配中在线且空闲的所有服务提供者。
进一步地,所述步骤S2具体为:
S201、确定按需服务平台的需求分配时间间隔;
S202、将需求的被响应时间划分为多个时间段;对于需求被响应时间大于需求分配时间间隔的时间段划分为单独一类,即这类时间段表示服务提供者没有在有效时间段内响应其接收到的需求;对于需求被响应时间小于需求分配时间间隔的时间段,通过在历史数据中需求被响应时间分布的基础上使用聚类算法,获得多个响应时间段;
S203、训练需求被响应时间概率分布预估模型;将历史需求响应数据作为特征数据,采用多分类模型,并设定多分类模型以概率的形式输出多分类结果,进行训练,得到一对一情况下服务提供者对需求响应时间的概率分布;
S204、根据实时获取的需求响应数据,采用机器学习算法,对所述需求被响应时间概率分布预估模型进行优化;即不断在预估模型的训练数据中加入新的训练样本;
所述优化具体为:实时获取的需求响应数据按服务提供者是否出现接受行为进行划分,第一类数据为服务提供者接受了其所收到的需求中的一个,第二类数据为服务提供者没有接受其接收到的任何需求;
对于第一类数据,将服务提供者最终接受的需求的特征和该服务提供者的特征进行组合,将该数据标签置为具体的响应时间在多分类模型中对应的类别,并加入到训练集中;对于服务提供者有接收到但没有接受的需求,不能将该服务提供者对于这些需求的未响应数据添加进训练集中;对于第二类数据,分别将该服务提供者接收到的每个需求的特征和该服务提供者的特征进行组合,得到数量等于其接收到的需求数量的需求响应数据,将这些数据的标签置为多分类模型中的最后一类;最后将这些数据加入到训练集中;根据实时获取的需求响应数据,重新对预估模型进行训练进而得到新的预估模型。
进一步地,所述多分类模型为逻辑回归模型、支持向量机、随机森林、梯度提升树、神经网络模型的其中一种。
进一步地,所述步骤S3具体为:
S301、获取多对一情况下各需求被响应时间概率分布的变化模式;令Pds(t)表示在多对一情况下服务提供者s对其接收到的需求d响应时间的概率分布,Pds(Tb<t≤Tb+1)为在多对一情况下需求d被服务提供者最先在时间段(Tb,Tb+1]内响应的概率;Pds(Tb<t≤Tb+1)的计算方式为:
其中,d0为待计算Pd0s(Tb<t≤Tb+1)的一个特定需求,即d的一种取值,pds(t)为预估模型所输出的一对一情况下服务提供者对需求响应时间的概率分布,Tb为第b个响应时间边界,N为参与需求分配的需求数量,Xds为服务提供者s是否接收到了需求d;如果接收到了需求,则Xds=1;如果没接收到需求,则Xds=0;
S302、获取一对多情况下各需求被响应时间概率分布的变化模式:当一个需求被多个服务提供者接收到时,由最早响应该需求的服务提供者获得该需求,即在一对多的情况下,响应时间为接收到该需求的所有服务提供者中最早的响应时间,时间概率分布计算如下:
其中,
Md(t≤Tb)=Md(t≤Tb-1)+Md(Tb-1<t≤Tb),
其中,Md(Tb<t≤Tb+1)为在一对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率,M为参与需求分配的M个空闲服务提供者,b0为b的一种取值;
S303、获取多对多情况下各需求被响应时间概率分布的变化模式;在对多对多情况下各需求被响应时间概率分布建模时,通过将一对多情况下表达式中的一对一情况下需求被响应时间概率分布pds(t)替换为多对一情况下需求被响应时间概率分布Pds(t),得到多对多情况下各需求被响应时间概率分布:
其中,
Sd(t≤Tb)=Sd(t≤Tb-1)+Sd(Tb-1<t≤Tb),
其中,Sd(Tb<t≤Tb+1)为多对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率。
进一步地,所述步骤S4具体为:
S401、定义收益函数表示一个需求在一轮需求分配中所能获得的收益,收益函数取决于一个需求具体响应时间,则组合优化问题的目标函数为:
其中,Gd表示需求d在一轮需求分配中所能获得的期望收益,td表示需求d的响应时间;g(t)为一个需求在一轮需求分配中所能获得的收益;
由于td遵循多对多情况下的概率分布,则Gd的优化模型为:
其中,Gd为核心业务指标,G为核心指标之和,优化目标为核心指标之和最大;L为多分类预估模型中具体的类别数,g(t)被细化分为分段函数g(Tb<t≤Tb+1),在每个时间段(Tb,Tb+1]中,g(t)的取值为大于0的常数,且b越小,g(t)所取值的常数越大;
优化模型的结果为需求分配矩阵:
{Xds,d∈[1,N],s∈[1,M]},
优化模型的解即为在N个需求,M个服务提供者的情况下,按照需求被响应时间预估模型给出的需求被响应时间概率分布Pds(t),并根据优化算法,求出使核心指标之和最大的需求分配方法:X={Xds}。
进一步地,所述优化算法为穷举法、遗传算法、集束搜索算法、模拟退火算法、爬山算法的其中一种。
进一步地,所述步骤S5具体为:
根据各个需求在多对多情况下的分配结果,对于每个需求,向所确定的接收该需求的各个服务提供者推送该需求,并等待各个服务提供者对其接收到的需求发起抢单行为;
各个服务者在对其接收到的需求进行抢单时,只能选择对其中一个需求发起抢单;
对于每个需求,按需服务平台在接收到各个服务提供者对该需求的第一个响应结果后,将把该需求最终分配给产生该响应结果的服务提供者,并告知抢该需求的其余服务提供者抢单失败;
抢单失败的服务提供者,没有接受其接收到的任何一个需求的服务提供者以及未被任何服务提供者响应的需求将进入下一轮的分配过程。
本发明与现有技术相比,具有如下优点和有益效果:
本发明通过在需求分配阶段,允许一个需求被推送给多个服务提供者的同时,一个服务提供者也能接收到多个需求,不但使得需求的被响应时间尽可能地短,而且为服务提供者带来了更大的自主性,从而获得了对于按需服务平台整体而言最优的需求分配方式。
附图说明
图1是本发明所述一种基于按需服务的多对多需求分配方法的方法流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例:
一种基于按需服务的多对多需求分配方法,如图1所示,包括以下步骤:
第一步、确定多个待分配的需求和多个待服务需求的服务提供者;
所述待分配的需求包括按需服务平台一轮分配中需要分配给服务提供者的所有需求;所述确定多个待服务需求的服务提供者包括:按需服务平台一轮分配中在线且空闲的所有服务提供者。
其中,待分配的需求可以包括需求发出者通过按需服务平台创建但是尚未推送给服务提供者的需求;待分配需求也可以包括需求发出者通过按需服务平台创建并且已经向服务提供者推送但是在一段时间之后没有被抢单的需求;只要是按需服务平台在一轮需求分配中需要推送给服务提供者的需求,都属于这里的多个待分配需求。
待服务需求的多个服务提供者包括在按需服务平台的一轮需求分配中新到达平台的服务提供者。本领域的技术人员可以理解,待服务需求的服务提供者也可以包括在上一轮需求分配中抢单失败的服务提供者。本领域的技术人员还可以理解,只要是在按需服务平台的一轮需求分配中处于可接受需求的服务提供者,都属于这里的多个待服务需求的服务提供者。
第二步、在建立需求被响应时间概率分布预估模型之前,需要获取一对一情况下预设区域的历史需求响应数据;所述一对一情况为:服务提供者只能观察到一个需求。所述历史需求响应数据包含:成交需求的服务内容、出发地、目的地、被响应时间、服务提供者到达需求出发地的耗时、历史响应时间、接收需求的偏好。需要说明的是,上述预设区域表示地理区域,如不同城市,或同一城市的不同区域。
采用预先建立的需求被响应时间概率分布预估模型,根据需求和服务者的特征获得该需求在一对一情况下的被响应时间概率分布;
其中,建立需求被响应时间概率分布预估模型包括:
S201:确定按需服务平台的需求分配间隔。
由于在本发明的实施例中,按需服务平台的需求分配模式为每隔固定的时间段便进行一次需求分配,所以需求分配间隔是此类平台中一项很关键的因素,需要被首先确定。
S202:将需求的被响应时间划分为多个时间段。
确定了需求分配的时间间隔之后,便可以将需求被响应时间大于该时间间隔之后的时间段划分为单独一类,该类表示服务提供者没有在有效时间段内响应其接收到的需求;对于需求被响应时间小于需求分配时间间隔的时间段,通过在历史数据中需求被响应时间分布的基础上使用聚类算法,以获得多个响应时间段。
需要说明的是,根据所使用的聚类算法的不同,类的数量可以灵活指定,或者直接由聚类算法得出。在本实施例中,所述聚类算法可为K-Means聚类算法,K表示类的数量,k表示第几个响应时间段,Tb表示各响应时间短的时间边界。
S203:训练需求被响应时间概率分布预估模型。
具体的,由于整个需求被响应时间区间被划为了K+1个时间段,所以可以将所述历史需求响应数据作为特征数据,采用多分类模型,并设定此模型以概率的形式输出多分类结果,进而进行训练,得到一对一情况下服务提供者对需求响应时间的概率分布pds(t);d表示需求,s表示服务提供者,t表示需求的被响应时间。
本实施例中,所述多分类模型可为:逻辑回归模型,支持向量机,随机森林,梯度提升树和神经网络模型。
由于随机森林和梯度提升树在此类离散建模预测的问题上往往具有良好的表现,且随机森林具有良好的并行性,则下面将以随机森林模型作为多分类模型的具体实施例,对本发明的技术方案进行说明。
随机森林(Random Forest)模型广泛用于分类和回归问题。随机森林由n个决策树组成,在该多分类问题中,对于一个输入样本,各决策树首先得到该样本所属的类别;模型最终预测结果中各个类别的预测概率等于所有决策树预测结果中各类别出现次数的占比。
对于随机森林中的每一棵决策树,其使用的训练集为从历史需求响应数据中有放回采样得到;在训练每棵树的节点时,使用的特征为从所述所有特征中按照一定比例随机无放回抽取得到;确定了每棵决策树的训练集以及所涉及的特征后,便可执行决策树的训练过程;具体过程为每次从该决策树所涉及的特征集中选择最优划分特征,并根据该特征的取值情况生成当前决策树节点的分支;最优划分特征可由信息增益法及基尼指数法获得;每个分支中包含的训练集为在该最优划分特征上取值为某一特定值的训练集;当决策树的节点中所包含的训练集全为同一类别时,将该节点标记为该类叶节点;当决策树的节点为空集,或在所有特征上的取值相同时,将该节点标记为叶节点且其所属类别为该节点所含训练集中数量最多的类别;每棵决策树对于输入测试样本的预测结果取决于该测试样本最终落入的叶节点所代表的类别。
示例1:按需服务平台的需求分配时间间隔为30秒,将30秒之前的响应时间段通过K-Means划分为2类,30秒之后的响应时间段作为第3类。假设根据K-Means的聚类结果,前两个时间段分别为:0到10秒,10秒到30秒。此时K=2,T0=0秒,T1=10秒,T2=30秒。通过历史需求响应数据和随机森林模型得到一个3分类器后,将测试样本输入该分类器便可得到Pds(t),例如:pds(T0<t≤T1)=0.3,pds(T1<t≤T2)=0.3,pds(t>T3)=0.4。
S204:根据线上实时获取的需求响应数据,采用机器学习算法,对所述需求被响应时间概率分布预估模型进行优化。
所述优化具体为:当应用该多对多需求分配方法后,实时获取的需求响应数据可以按服务提供者是否出现接受行为进行划分,一类为服务提供者接受了其所收到的需求中的一个,另一类为服务提供者没有接受其收到的任何需求;对于第一类数据,将服务提供者最终接受的需求的特征和该服务提供者的特征进行组合,将该数据标签置为具体的响应时间在多分类模型中对应的类别,并加入到训练集中;虽然该响应时间为多对一情况下的响应时间,而非一对一情况下的响应时间,但直接使用具体的多对一响应数据来预测一对一情况下服务提供者的接受行为较为困难且服务提供者在多对一情况下的响应模式不一定符合本发明中所建立的响应模型,为了训练过程的便捷性,可以近似将多对一情况下的响应时间认为是一对一情况下的响应时间;对于第二类数据,分别将该服务提供者接收到的每个需求的特征和该服务提供者的特征进行组合,得到数量等于其接收到的需求数量的需求响应数据,将这些数据的标签置为多分类模型中的最后一类;最后将这些数据加入到训练集中;根据这些实时获取的需求响应数据,便可以重新对预估模型进行训练进而得到新的预估模型。
如此,通过不断在预估模型的训练数据中加入新的训练样本,进而不断地提高随机森林预估模型进行优化。
根据本发明的一些实施例,根据需求和服务提供者的特征获得该需求在一对一情况下的被响应时间概率分布包括:将服务提供者s的特征和需求d的特征组合成一条特征,输入离线训练得到的随机森林预测模型,以得到服务提供者s对需求d响应时间的概率分布。
第三步、计算各需求在多对多下的被响应时间概率分布;
具体为:
S301:得到多对一情况下各需求被响应时间概率分布的变化模式。
具体来说,所述多对一情况为一个服务提供者同时接收到多个需求时的情况。当一个服务提供者接收到多个需求时,由于其只能选择其中最多一个需求进行接受,所以此时其所接收到的多个需求之间势必会产生竞争现象。在建模此类需求间竞争行为对于各需求被响应时间的影响之前,先假设一轮需求分配中有N个需求和M个服务提供者。进而假设多对一情况下,该服务提供者可以对其接收到的各个需求同时进行响应。例如,当一个服务提供者s1接收到三个需求d1,d2,d3时,假设将有三个同样的服务提供者(s1,s1’,s1”)同时对这三个需求进行响应。即s1对d1进行响应,s1’对d2进行响应,s1”对d3进行响应。最终被该服务提供者接受的需求为其最先接受的需求,其接收到的其他需求将被拒绝。令Pds(t)表示在多对一情况下服务提供者s对其接收到的需求d响应时间的概率分布,Pds(Tb<t≤Tb+1)为在多对一情况下需求d被服务提供者最先在时间段(Tb,Tb+1]内响应的概率;Pds(Tb<t≤Tb+1)的计算方式为:
其中,d0为待计算Pd0s(Tb<t≤Tb+1)的一个特定需求,即d的一种取值,pds(t)为预估模型所输出的一对一情况下服务提供者对需求响应时间的概率分布,Tb为第b个响应时间边界,N为参与需求分配的需求数量,Xds为服务提供者s是否接收到了需求d;如果接收到了需求,则Xds=1;如果没接收到需求,则Xds=0;该公式的被积函数表示只有需求d0在t秒时被服务提供者响应,其余需求的被响应时间都在t秒之后被响应的概率。
示例2:需求分配的时间间隔为30秒,整个响应时间段被分为了3段,各时间边界分别为0秒,10秒和30秒。服务提供者s1接收到了需求d1,d2,d3,假设P11=(0.5,0.3,0.2),p21=(0.4,0.3,0.3),p31=(0.6,0.2,0.2)。通过Pds(Tb<t≤Tb+1)的计算公式,多对一情况下,需求1在各时间段内被首先响应的概率为:
P11(被拒绝)=1-0.29-0.042=0.668,
优选地,可以假设服务提供者在多对一情况下需要首先将其所接收到的所有需求都阅读完才能开始对过个需求的同时响应。此时,可以对阅读一个需求所需要的时间进行设定,其值可以为历史需求响应数据中最短的响应时间。
S302:得到一对多情况下各需求被响应时间概率分布的变化模式。
具体来说,所述一对多情况为一个需求同时被多个服务提供者接收到的情况。当一个需求被多个服务提供者接收到时,由于最早响应该需求的服务提供者将获得此需求,所以其在一对多情况下的响应时间为接收到该需求的所有服务提供者中最早的响应时间。假设各服务提供者对一个需求的响应过程是独立的,则需求在一对多情况下的被响应时时间概率分布Md(t)计算如下:
其中,
Md(t≤Tb)=Md(t≤Tb-1)+Md(Tb-1<t≤Tb),
其中,Md(Tb<t≤Tb+1)为在一对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率,M为参与需求分配的M个空闲服务提供者,b0为b的一种取值;
S303、获取多对多情况下各需求被响应时间概率分布的变化模式;多对多情况为一个需求被推送给多个服务提供者的同时,一个服务提供者也能接收到多个需求的情况。在多对多情况下各需求被响应时间概率分布建模时,通过将一对多情况下表达式中的一对一情况下需求被响应时间概率分布pds(t)替换为多对一情况下需求被响应时间概率分布Pds(t),得到多对多情况下各需求被响应时间概率分布:
其中,
Sd(t≤Tb)=Sd(t≤Tb-1)+Sd(Tb-1<t≤Tb),
其中,Sd(Tb<t≤Tb+1)为多对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率。
第四步、基于各需求在多对多下的被响应时间概率分布和组合优化来确定多对多的需求分配方式;
在按需服务平台中进行需求分配时,存在两个指标,分别为成功率和响应时间。
所述成功率指标表示:如果一个需求被接收到它的至少一个服务提供者接受,则称其被成功分配。如果一个需求没有被接受到它的任何一个服务提供者接受,则称其未被成功分配。按需服务平台希望一轮需求分配中被成功分配的需求越多越好。
所述响应时间指标表示:需求的响应时间定义为从该需求进入按需服务平台开始,到其被服务提供者接受所需的时间。服务提供者对需求的响应时间体现了其对需求的响应模式,其取决于需求的具体属性和服务提供者的接单偏好。按需服务平台希望一轮需求分配中所有被接受需求的响应时间越短越好。
为了在保证成功率指标的同时,降低需求的响应时间,本发明的实施例进行组合优化的目标为降低一轮分配中所有需求的期望响应时间。在该组合优化中,决策变量为各个需求将被分配给哪些服务提供者。
为了使得该组合优化问题的求解过程变得方便,定义收益函数g(t)表示一个需求在一轮需求分配中所能获得的收益。g(t)的值取决于一个需求具体的响应时间,如果一个需求在一轮分配中能够快速被服务提供者响应,则其将取得较大收益。
则在本发明实施例的一轮需求分配中,则组合优化问题的目标函数为:
其中,Gd表示需求d在一轮需求分配中所能获得的期望收益,td表示需求d的响应时间;g(t)为一个需求在一轮需求分配中所能获得的收益;
由于td遵循多对多情况下的概率分布,则Gd的优化模型为:
其中,Gd为核心业务指标,G为核心指标之和,优化目标为核心指标之和最大;L为多分类预估模型中具体的类别数,g(t)被细化分为分段函数g(Tb<t≤Tb+1),在每个时间段(Tb,Tb+1]中,g(t)的取值为大于0的常数,且b越小,g(t)所取值的常数越大;
优化模型的结果为需求分配矩阵:
{Xds,d∈[1,N],s∈[1,M]},
优化模型的解即为在N个需求,M个服务提供者的情况下,按照需求被响应时间预估模型给出的需求被响应时间概率分布Pds(t),并根据优化算法,求出使核心指标之和最大的需求分配方法:X={Xds}。其中使用以下算法中的至少一种来确定使得所述和最大的需求分配方式:穷举法、遗传算法、集束搜索算法、模拟退火算法以及爬山算法。
优化算法的执行过程如下:
1、对于每个服务提供者s,从N个需求中选择一个需求d能够使得:
2、根据步骤S4,计算此时各个需求的Gd,并得到所有Gd之和G;
3、从第一个需求d开始,找出没有接收到该需求的所有服务提供者集合U;
4、从集合U中的第一个服务提供者s开始,计算如果将该需求播送给该服务提供者,即将该需求添加到该服务提供者的需求接收列表中,是否能导致G变大;如果是,则暂存该服务提供者的需求接收列表,并将此时的G值保存到变量G1中,再将其需求接收列表恢复到添加需求前的状态;如果不是,则进入下一步;
5、将该服务提供者需求接收列表中的各需求按照下方公式的值从小到大排序:
将排序后的需求暂存到列表O中;
6、从该服务提供者的需求接收列表中分别将列表O中的前1个,前2个,…,前个需求替换为需求d,从/>个替换方案中找到能使得G增幅最大替换方案,并暂存该替换方案,
即暂存该替换方案下的服务提供者d的需求接收列表,以及将此时的G值保存到变量G2中,再将需求接收列表恢复到替换需求前的状态;
7、比较G1和G2的大小,选择其中较大者所暂存的服务提供者d的需求接收列表,并将服务提供者d目前的需求接收列表替换为该需求接收列表;
8、回到第4步并从集合U中的第二个服务提供者开始重新执行,直到遍历到集合U中的最后一个服务提供者为止;
回到第2步并从第二个需求开始,重新执行,直到遍历到第N个需求为止。
由于在实际的按需服务平台中,上述模型需要在线进行计算求解,综合性能和效果,所确定的使得总收益最大的需求分配方式为:基于预定规则来生成初始的需求分配方式;以及使用爬山算法对所述初始的需求分配方式进行优化,从而确定使得所述总和最大的需求分配方式。
S5、根据所确定的需求分配方式,向多个服务提供者推送所述需求。
具体来说,根据各个需求在多对多情况下的分配结果,对于每个需求,向所确定的接收该需求的各个服务提供者推送该需求,并等待各个服务提供者对其接收到的需求发起抢单行为。
各个服务提供者在对其接收到的需求进行抢单时,只能选择对其中一个需求发起抢单;其也可以对其接收到的所有需求都不发起抢单。
对于每个需求,按需服务平台在接受到各个服务提供者对该需求的第一个响应结果后,将把该需求最终分配给产生该响应结果的服务提供者,并告知抢该需求的其余服务提供者抢单失败;
抢单失败的服务提供者,没有接受其接收到的任何一个需求的服务提供者以及未被任何服务提供者响应的需求将进入下一轮的分配过程。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种基于按需服务的多对多需求分配方法,其特征在于,包括以下步骤:
S1、确定多个待分配的需求和多个待服务需求的服务提供者;
S2、采用预先建立的需求被响应时间概率分布预估模型,根据需求和服务者的特征获得该需求在一对一情况下的被响应时间概率分布;
所述步骤S2具体为:
S201、确定按需服务平台的需求分配时间间隔;
S202、将需求的被响应时间划分为多个时间段;对于需求被响应时间大于需求分配时间间隔的时间段划分为单独一类,即这类时间段表示服务提供者没有在有效时间段内响应其接收到的需求;对于需求被响应时间小于需求分配时间间隔的时间段,通过在历史数据中需求被响应时间分布的基础上使用聚类算法,获得多个响应时间段;
S203、训练需求被响应时间概率分布预估模型;将历史需求响应数据作为特征数据,采用多分类模型,并设定多分类模型以概率的形式输出多分类结果,进行训练,得到一对一情况下服务提供者对需求响应时间的概率分布;
S204、根据实时获取的需求响应数据,采用机器学习算法,对所述需求被响应时间概率分布预估模型进行优化;即不断在预估模型的训练数据中加入新的训练样本;
所述优化具体为:实时获取的需求响应数据按服务提供者是否出现接受行为进行划分,第一类数据为服务提供者接受了其所收到的需求中的一个,第二类数据为服务提供者没有接受其接收到的任何需求;
对于第一类数据,将服务提供者最终接受的需求的特征和该服务提供者的特征进行组合,将该数据标签置为具体的响应时间在多分类模型中对应的类别,并加入到训练集中;对于服务提供者有接收到但没有接受的需求,不能将该服务提供者对于这些需求的未响应数据添加进训练集中;对于第二类数据,分别将该服务提供者接收到的每个需求的特征和该服务提供者的特征进行组合,得到数量等于其接收到的需求数量的需求响应数据,将这些数据的标签置为多分类模型中的最后一类;最后将这些数据加入到训练集中;根据实时获取的需求响应数据,重新对预估模型进行训练进而得到新的预估模型;
S3、计算各需求在多对多下的被响应时间概率分布;
所述步骤S3具体为:
S301、获取多对一情况下各需求被响应时间概率分布的变化模式;令Pds(t)表示在多对一情况下服务提供者s对其接收到的需求d响应时间的概率分布,Pds(Tb<t≤Tb+1)为在多对一情况下需求d被服务提供者最先在时间段(Tb,Tb+1]内响应的概率;Pds(Tb<t≤Tb+1)的计算方式为:
其中,d0为待计算Pd0s(Tb<t≤Tb+1)的一个特定需求,即d的一种取值,pds(t)为预估模型所输出的一对一情况下服务提供者对需求响应时间的概率分布,Tb为第b个响应时间边界,N为参与需求分配的需求数量,Xds为服务提供者s是否接收到了需求d;如果接收到了需求,则Xds=1;如果没接收到需求,则Xds=0;
S302、获取一对多情况下各需求被响应时间概率分布的变化模式:当一个需求被多个服务提供者接收到时,由最早响应该需求的服务提供者获得该需求,即在一对多的情况下,响应时间为接收到该需求的所有服务提供者中最早的响应时间,时间概率分布计算如下:
其中,
Md(t≤Tb)=Md(t≤Tb-1)+Md(Tb-1<t≤Tb),
其中,Md(Tb<t≤Tb+1)为在一对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率,M为参与需求分配的M个空闲服务提供者,b0为b的一种取值;
S303、获取多对多情况下各需求被响应时间概率分布的变化模式;在对多对多情况下各需求被响应时间概率分布建模时,通过将一对多情况下表达式中的一对一情况下需求被响应时间概率分布pds(t)替换为多对一情况下需求被响应时间概率分布Pds(t),得到多对多情况下各需求被响应时间概率分布:
其中,
Sd(t≤Tb)=Sd(t≤Tb-1)+Sd(Tb-1<t≤Tb),
其中,Sd(Tb<t≤Tb+1)为多对多情况下需求d在时间段(Tb,Tb+1]内被响应的概率;
S4、基于各需求在多对多下的被响应时间概率分布和组合优化来确定多对多的需求分配方式;
S5、根据所确定的需求分配方式,向多个服务提供者推送所述需求。
2.根据权利要求1所述的一种基于按需服务的多对多需求分配方法,其特征在于,还包括步骤,在建立需求被响应时间概率分布预估模型之前,需要获取一对一情况下的历史需求响应数据;所述一对一情况为:服务提供者只能观察到一个需求。
3.根据权利要求2所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述历史需求响应数据包含:成交需求的服务内容、出发地、目的地、被响应时间、服务提供者到达需求出发地的耗时、历史响应时间、接收需求的偏好。
4.根据权利要求1所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述待分配的需求包括按需服务平台一轮分配中需要分配给服务提供者的所有需求;所述确定多个待服务需求的服务提供者包括:按需服务平台一轮分配中在线且空闲的所有服务提供者。
5.根据权利要求4所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述多分类模型为逻辑回归模型、支持向量机、随机森林、梯度提升树、神经网络模型的其中一种。
6.根据权利要求1所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述步骤S4具体为:
定义收益函数表示一个需求在一轮需求分配中所能获得的收益,收益函数取决于一个需求具体响应时间,则组合优化问题的目标函数为:
其中,Gd表示需求d在一轮需求分配中所能获得的期望收益,td表示需求d的响应时间;g(t)为一个需求在一轮需求分配中所能获得的收益;
由于td遵循多对多情况下的概率分布,则Gd的优化模型为:
其中,Gd为核心业务指标,G为核心指标之和,优化目标为核心指标之和最大;L为多分类预估模型中具体的类别数,g(t)被细化分为分段函数g(Tb<t≤Tb+1),在每个时间段(Tb,Tb+1]中,g(t)的取值为大于0的常数,且b越小,g(t)所取值的常数越大;
优化模型的结果为需求分配矩阵:
{Xds,d∈[1,N],s∈[1,M]},
优化模型的解即为在N个需求,M个服务提供者的情况下,按照需求被响应时间预估模型给出的需求被响应时间概率分布Pds(t),并根据优化算法,求出使核心指标之和最大的需求分配方法:X={Xds}。
7.根据权利要求6所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述优化算法为穷举法、遗传算法、集束搜索算法、模拟退火算法、爬山算法的其中一种。
8.根据权利要求1所述的一种基于按需服务的多对多需求分配方法,其特征在于,所述步骤S5具体为:
根据各个需求在多对多情况下的分配结果,对于每个需求,向所确定的接收该需求的各个服务提供者推送该需求,并等待各个服务提供者对其接收到的需求发起抢单行为;
各个服务者在对其接收到的需求进行抢单时,只能选择对其中一个需求发起抢单;
对于每个需求,按需服务平台在接收到各个服务提供者对该需求的第一个响应结果后,将把该需求最终分配给产生该响应结果的服务提供者,并告知抢该需求的其余服务提供者抢单失败;
抢单失败的服务提供者,没有接受其接收到的任何一个需求的服务提供者以及未被任何服务提供者响应的需求将进入下一轮的分配过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280813.3A CN110097478B (zh) | 2019-04-09 | 2019-04-09 | 一种基于按需服务的多对多需求分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280813.3A CN110097478B (zh) | 2019-04-09 | 2019-04-09 | 一种基于按需服务的多对多需求分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097478A CN110097478A (zh) | 2019-08-06 |
CN110097478B true CN110097478B (zh) | 2023-07-18 |
Family
ID=67444573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910280813.3A Active CN110097478B (zh) | 2019-04-09 | 2019-04-09 | 一种基于按需服务的多对多需求分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097478B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346774B2 (en) * | 2014-09-01 | 2019-07-09 | Accenture Global Services Limited | Inventory optimization tool |
US9834405B2 (en) * | 2014-11-10 | 2017-12-05 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for scheduling elevator cars in a group elevator system with uncertain information about arrivals of future passengers |
CN105096166A (zh) * | 2015-08-27 | 2015-11-25 | 北京嘀嘀无限科技发展有限公司 | 一种订单分配的方法及装置 |
CN105681096A (zh) * | 2016-01-29 | 2016-06-15 | 湖南大学 | 一种用于云平台利润最大化的服务器配置方法和装置 |
US20180032964A1 (en) * | 2016-08-01 | 2018-02-01 | Nec Europe Ltd. | Transportation system and method for allocating frequencies of transit services therein |
-
2019
- 2019-04-09 CN CN201910280813.3A patent/CN110097478B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110097478A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119847B (zh) | 一种配送时长的预测方法、装置、存储介质和电子设备 | |
CN109872036B (zh) | 基于分类算法的任务分配方法、装置及计算机设备 | |
CN105898087B (zh) | 全路由客服分配方法 | |
CN107203789B (zh) | 分配模型建立方法、分配方法以及相关装置 | |
US20230060713A1 (en) | Methods for recommending parking lots in smart cities, internet of things systems, and storage medium thereof | |
CN109816483B (zh) | 信息推荐方法及装置、可读存储介质 | |
CN111428137B (zh) | 一种电动汽车充电设施的推荐方法及推荐装置 | |
CN112418656A (zh) | 智能坐席分派方法、装置、计算机设备和存储介质 | |
CN111260161B (zh) | 一种众包任务下发的方法及设备 | |
US20220229926A1 (en) | Predictive update of profile database with update logic | |
CN115657616A (zh) | 一种基于agv调度系统的任务分配方法 | |
CN111325429A (zh) | 一种订单推送方法、装置、介质和设备 | |
JP2019074988A (ja) | 客室料金設定装置、客室料金設定方法、およびプログラム | |
CN110097478B (zh) | 一种基于按需服务的多对多需求分配方法 | |
CN111652471B (zh) | 名单分配控制方法、装置、电子设备及存储介质 | |
CN115002049B (zh) | 资源分配的方法及装置 | |
CN109145207B (zh) | 一种基于分类指标预测的信息个性化推荐方法及装置 | |
US20160239492A1 (en) | Process for Extracting Information from a Set of Data | |
CN114997532A (zh) | 不确定性环境下民事电话送达调度方法、终端及存储介质 | |
CN115564525A (zh) | 一种服务器标识的勾选显示方法、电子设备及存储介质 | |
KR20200001841A (ko) | Ai를 활용한 사용자 행동기반 렌터카 자동추천 서비스 제공방법 | |
CN109308565B (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN114037232A (zh) | 一种家庭维修订单在线分配方法、装置及终端设备 | |
CN113169888B (zh) | 用于分配现场技术人员的方法和技术人员分配系统 | |
CN117764370B (zh) | 一种枪支领用监测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |