首页> 中国专利> 一种面向移动群体感知的多任务工作者选择方法

一种面向移动群体感知的多任务工作者选择方法

摘要

一种面向移动群体感知的多任务工作者选择方法,其特征在于:包括以下步骤:S1:任务分类,组合;S2:初始化任务和工作者的参数;S3:对任务采用贪心策略和工作者进行分配;S4:种群进行初始化;S5:演化,得到结果。本发明的技术方案中充分考虑了任务的时空特性,并解决多任务的工作者选择问题,这对于大规模的移动群体感知任务平台来说具有重大意义,能够得到多任务工作者选择的一个较优的结果。考虑到多任务工作者选择问题的解空间非常巨大,本发明所使用的融合贪心算法和遗传算法的方法能够在较短时间内求得次优解。

著录项

  • 公开/公告号CN106056214A

    专利类型发明专利

  • 公开/公告日2016-10-26

    原文格式PDF

  • 申请/专利权人 西北工业大学;

    申请/专利号CN201610328835.9

  • 申请日2016-05-18

  • 分类号G06N3/12(20060101);H04L29/08(20060101);

  • 代理机构西安利泽明知识产权代理有限公司;

  • 代理人刘伟

  • 地址 710068 陕西省西安市友谊西路127号

  • 入库时间 2023-06-19 00:43:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-26

    未缴年费专利权终止 IPC(主分类):G06N 3/12 专利号:ZL2016103288359 申请日:20160518 授权公告日:20180817

    专利权的终止

  • 2018-08-17

    授权

    授权

  • 2016-11-23

    实质审查的生效 IPC(主分类):G06N3/12 申请日:20160518

    实质审查的生效

  • 2016-10-26

    公开

    公开

说明书

技术领域

本发明属于群体感知技术领域,特别涉及一种面向移动群体感知的多任务工作者选择方法。

背景技术

移动群体感知是一种新兴的感知方式,它利用人们随身携带的移动设备作为感知终端来获取人、社会和物理世界的动态。移动设备内置有丰富的传感器,且其计算能力、通信能力、存储能力等不断增强,将大量的移动设备通过移动网络组织起来,实现感知任务的分发和感知数据的收集,成为获取大规模感知数据的有效途径。

移动群体感知的重大挑战之一就是如何选择合适的工作者去完成感知任务。专利CN104917812A公开了一种应用于群智计算的服务节点选择方法,通过对服务节点各个服务因素进行测定和计算,能够快速地为用户筛选出最佳的服务节点并进行服务请求的发送。该方法综合考虑服务节点的距离参数、服务预期满意度、完成时间系数以及服务节点与任务节点友好度来计算服务节点的适配系数,从而实现用户满意的服务节点的选择。专利CN102448123B则是一种无线传感器网络中基于节点性能的任务分配算法,该方法根据节点处理任务的能量消耗、速率以及成功率构建节点任务处理性能参数,通过量化节点性能来简化任务分配策略,实现系统的能源高效和任务的实时响应。专利CN101815326A公开了一种基于协商的无线传感器网络任务分配方法,发布任务的节点和执行任务的节点分别参与招标和竞标,招标方采用多属性效用函数来评价与竞标方的协商过程中各竞标方的出价方案,然后选择中标者。该发明在任务分配过程中就考虑节点的剩余电量和任务预期能耗等因素,采用多属性效用函数来评价分配方案的优劣,提高了分配的综合效用值。上述专利没有对移动群体感知任务最重要的地理位置这一因素进行考虑,因为任务分布在物理环境中,任务和工作者之间的地理位置关系对于工作者的选择有着重要的影响。同时,任务的时间要求也很少在已有的专利中考虑,而时间因素会影响工作者选择的策略。此外,相比为工作者一次分配单个任务,一次分配多个任务给工作者不仅能提高工作者参与任务获取的收益,也能提高任务的完成速度,而多任务的工作者选择问题在已有的专利中较少涉及。

发明内容

针对以上缺陷,本发明提供一种为多个移动群体感知任务分配合适的参与者的方法。

本发明的技术方案为:一种面向移动群体感知的多任务工作者选择方法,包括以下步骤:

S1:将任务分类,组合:根据任务的时间要求将任务分为即时任务和容延任务,然后将同类的任务分别组合为即时任务集合、容延任务集合;

S2:初始化任务和工作者的参数:所述的参数包括任务备选工作者集合、工作者的位置、历史轨迹等;

S3:对任务采用贪心策略和工作者进行分配;

S4:对遗传算法种群进行初始化:首先确定种群中个体的基因表达,然后用S3的分配结果对种群进行初始化;

S5:演化,得到结果:在S4的基础上经过特定的选择、交叉和变异操作,得到工作者选择的最终结果。

优选地,面向移动群体感知的多任务工作者选择方法,所述S3中对于即时任务使用最短距离优先的贪心策略对任务和工作者进行分配,计算所有的“任务-工作者”之间的距离,选择距离最近的一个“任务-工作者”,将该任务分配给该工作者;所述的距离计算使用曼哈顿距离计算方式:

dist(l1,l2)=|lat1-lat2|*α+|lon1-lon2|*β,

其中l1和l2表示两个地理位置,l1由维度lat1和经度lon1组成,l2由维度lat2和经度lon2组成,α和β分别是单位纬度和单位经度的距离。

优选地,面向移动群体感知的多任务工作者选择方法,所述S3中对于容延任务采用任务数优先的贪心策略对任务和工作者进行分配,是指选择可以完成任务数目最多的工作者,将其可以完成的任务分配给该工作者。

优选地,面向移动群体感知的多任务工作者选择方法,所述S3中容延任务中任务分配前,先初始化工作者经过即时任务地点的概率,用下式计算:

p(w,t)=|{rti|tl=rli}||{rt|rt{rt1,rt2,...rts}}|,

其中,工作者w拥有历史地理位置记录lr={r1,r2,…,rs},每一个地理位置记录ri由时间rti和地理位置rli组成,任务t的位置用tl来表示,|{rt|rt∈{rt1,rt2,…rts}}|是工作者拥有地理位置记录的所有时间段数目,|{rti|tl=rli}|是时间段内工作者位置记录出现任务地点的所有时间段数目。

优选地,面向移动群体感知的多任务工作者选择方法,设定概率大于0.8值时,任务才可以被分配给该工作者。

优选地,面向移动群体感知的多任务工作者选择方法,所述的S4确定种群中个体的基因表达为:所述的即时任务的多任务分配用矩阵来表示基因,矩阵中的行代表工作者,列代表任务,矩阵中元素为‘1’则表示该元素对应的任务分配给该元素对应的工作者,为‘0’则表示不分配;所述的容延任务的多任务工作者选择用向量来表示基因,向量的维度等于工作者的数量,向量中元素为‘1’表示该元素对应的工作者被选择,为‘0’表示该元素对应的工作者不被选择。

优选地,面向移动群体感知的多任务工作者选择方法,所述的S4使用贪心算法来初始化种群:所述即时任务的多任务分配问题中,若贪心算法的结果中任务被分配给了某个工作者,则基因矩阵中任务和工作者相交位置的元素被置为‘1’,否则为‘0’;所述容延任务的多任务工作者选择问题中,若在贪心算法的结果中工作者被选择,则向量基因中该工作者对应的位置被置为‘1’,否则为‘0’。

优选地,面向移动群体感知的多任务工作者选择方法,所述S5中选择操作使用轮盘赌方法,即时任务的多任务工作者选择问题的交叉操作采用矩阵列交换的方式,容延任务的多任务工作者选择问题的交叉操作采用向量片段交换的方式,两种情形下的变异操作都采用矩阵或者向量元素值取反的操作。

优选地,面向移动群体感知的多任务工作者选择方法,所述的遗传算法的选择操作是指选择适应度优的个体保留到下一代,最终得到结果;所述即时任务的适应度用下式计算:

f(ik)=Td(ik)Σj=1nTd(ij)

Td(ik)是第k个个体对应的总移动距离,f(ik)值越小,适应度越优;

所述容延任务的适应度用下式计算:

f(ik)=ckΣj=1ncj

其中ck是第k个个体中值为‘1’的元素的个数,f(ik)值越小,适应度越优。

为了给多个移动群体感知任务分配合适的参与者,我们重点考虑任务的时空特性,针对一组即时任务选取完成任务时总移动距离最短的工作者,针对一组容延任务选择数量最少的工作者。在这两种情形中采用融合贪心算法和遗传算法的方法来求解工作者选择的组合优化问题。

在该方法中,即时任务要求在一段较短时间内完成,因此需要工作者特地移动到任务地点去完成任务,此时,任务完成的总移动距离成为完成任务的主要代价,因此需要最小化总移动距离。而容延任务可以在未来一段较长时间内完成,我们选取在未来这段时间内可能会经过任务地点的工作者,因此我们追求最小化工作者选择的数量以提高工作者获得的平均任务数。在两种情形的工作者选择问题中,我们根据问题的定义形式,分别设计贪心算法和遗传算法,高效地求解问题。

本发明的技术方案中充分考虑了任务的时空特性,并解决多任务的工作者选择问题,这对于大规模的移动群体感知任务平台来说具有重大意义,能够得到多任务工作者选择的一个较优的结果。考虑到多任务工作者选择问题的解空间非常巨大,本发明所使用的融合贪心算法和遗传算法的方法能够在较短时间内求得次优解。

附图说明

图1为本发明一种面向移动群体感知的多任务工作者选择方法的步骤示意图;

图2为本发明一种面向移动群体感知的多任务工作者选择方法的即时任务步骤示意图;

图3为本发明一种面向移动群体感知的多任务工作者选择方法的容延任务步骤示意图。

具体实施方式

为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

步骤1:任务分类,组合:将任务分为即时任务和容延任务,然后将同类的任务分别组合为即时任务集合TS、容延任务集合TD。

即时任务需要在3小时之内完成,容延任务可以在24小时之内完成。假设分别有起止时间一致的10个即时任务和10个容延任务,记为即时任务集合TS和容延任务集合TD。

步骤2:初始化任务和工作者的参数:初始化即时任务集合TS的即时任务工作者备选集合WS,容延任务集合TD的容延任务备选工作者集合WD;所述的即时任务工作者备选集合WS中初始化工作者的位置。

初始化TS的工作者备选集合WS,TD的备选工作者集合WD,WS和WD中工作者数量均为20。WS中初始化工作者的位置,设定工作者一次最多获取3个任务。WD中初始化工作者的历史轨迹,计算每个工作者经过TS中每个任务的地点的概率:设工作者w拥有历史地理位置记录lr={r1,r2,…,rs},每一个地理位置记录ri由时间rti和地理位置rli组成,任务t的位置用tl来表示。工作者w会经过tl的概率是式中,|{rt|rt∈{rt1,rt2,…rts}}|是工作者拥有地理位置记录的所有时间段数目,|{rti|tl=rli}|是时间段内工作者位置记录出现任务地点的所有时间段数目,p(w,t)等于后者与前者的比值。

设定概率大于0.8时,任务才可以被分配给该工作者。

步骤3:对任务采用贪心策略和工作者进行分配:对于一组即时任务,采用最短距离优先的贪心策略,每次选择地理距离最短的任务和工作者进行分配;对于一组容延任务,采用完成任务最多优先的贪心策略,每次选择能完成任务最多的工作者来进行任务分配。

在每次分配过程中,计算所有的“任务-工作者”元组之间的距离,选择距离最近的一个元组,将该元组的任务分配给工作者。然后将工作者的地点更新到任务地点,将工作者已有任务数加1,如果工作者已有数目达到3,则工作者不再获得任务;将任务需求的工作者数减1,如果工作者需求数量减为0,则该任务不再分配,如此重复上述分配过程。距离的计算使用曼哈顿距离计算方式:dist(l1,l2)=|lat1-lat2|*α+|lon1-lon2|*β,其中l1和l2表示两个地理位置,l1由维度lat1和经度lon1组成,l2由维度lat2和经度lon2组成,α和β分别是单位纬度和单位经度的距离。

使用最多任务数优先的贪心策略在工作者集合WD中分配任务集合TD:遍历所有的工作者,选择可以完成任务数目最多的工作者,将其可以完成的任务分配给她/他。将被分配的任务的工作者需求数量减1,如果任务需求人数达到0,则不再分配该任务。如此重复以上过程得到贪心算法的结果,结果可以用集合来表示,例如{{t1,t3},{},{t2,t1,t3},{t2}}表示第一个工作者分配到任务t1和t3,第二个工作者未分配到任务,第三个工作者分配到任务t2,t1和t3,第四个工作者分配到任务t2

步骤4:种群进行初始化:首先确定种群中个体的基因表达,然后用步骤3的分配结果对种群进行初始化。

首先确定种群中个体的基因表达,也就是如何表示一种分配方案。即时任务的多任务分配问题中,每个工作者可能完成若干个任务,因此可以用矩阵来表示基因,矩阵中的行代表工作者,列代表任务,矩阵中元素为‘1’则表示该元素对应的任务分配给该元素对应的工作者,为‘0’则表示不分配。例如这个矩阵表示在4个工作者中分配两个任务时的基因表达。为了满足问题的约束条件,基因矩阵需要满足任务可行性和工作者可行性:任务可行性表示每一列元素的和等于任务需求的工作者数量,工作者可行性表示每一行元素的和不大于工作者一次可获得的最大任务数3。容延任务的多任务工作者选择问题中,一个工作者一旦被选择,该工作者就获得他能完成的所有任务。因此可以使用向量来表示基因,例如使用向量(1,0,1,1)可以表示第1,3,4个工作者被选择,第2个工作者未被选择。向量的维度等于工作者的数量,向量中元素为‘1’表示该元素对应的工作者被选择,为‘0’表示该元素对应的工作者不被选择。

确立种群基因表达之后,使用贪心算法来初始化种群:在即时任务的多任务分配问题中,若贪心算法的结果中任务被分配给了某个工作者,则基因矩阵中任务和工作者相交位置的元素被置为‘1’,否则为‘0’。在容延任务的多任务工作者选择问题中,若在贪心算法的结果中工作者被选择,则向量基因中该工作者对应的位置被置为‘1’,否则为‘0’。

步骤5:演化,得到结果:指在S4的基础上经过特定的选择、交叉和变异操作,得到工作者选择的最终结果。

遗传算法的选择操作选择适应度优的个体保留到下一代。在即时任务的多任务分配问题中,因为优化目标是最小化总移动距离,因此适应度可以用下面的式子计算:Td(ik)是第k个个体对应的总移动距离。f(ik)值越小,适应度越优。

在容延任务的多任务工作者选择问题中,因为优化的目标是最小化工作者选择的数量,所以适应度可以用下面的式子计算:其中ck是第k个个体中值为‘1’的元素的个数。f(ik)值越小,适应度越优。

在两种算法中都使用轮盘赌方法来进行个体选择,即每次选择操作时将个体的适应度在总适应度中所占的比值作为个体在轮盘中的占比大小,轮盘旋转一次所选择的个体被淘汰,也就是适应度大的个体更容易被淘汰。

在即时任务的多任务分配问题中,个体的基因表达是矩阵,交叉操作采用矩阵对应列交换的方式来生成子个体,因为这样的方式至少使得任务可行性得到满足,我们只需精心挑选合适的列进行交换以保证工作者可行性也是满足的。在容延任务的多任务工作者选择问题中,交叉操作直接交换两个向量的基因片段得到子个体。

两种情形采用相同的变异操作,即将矩阵或者向量基因表达中的部分元素取反:‘1’变成‘0’,‘0’变成‘1’。

以上所述仅是本发明的实施过程,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号