文献阅读01-空间众包-最大化任务分配数量
Posted fangzhiyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文献阅读01-空间众包-最大化任务分配数量相关的知识,希望对你有一定的参考价值。
空间众包:任务发起者利用智能手机等移动设备的定位信息,请求与具体位置紧密相 关的数据,自愿参与完成任务的用户行驶到任务指定的具体地点收集相关的数据, 然后将数据返回给任务请求者。(①空间众包平台上的工人只能参与完成分布在其附近的一小部分任务②完成任务的必要条件是在任务过期之前,实际行驶到任务指定的地点)
空间众包应用:新闻、旅游、情报、灾害响应和城市规划等
空间众包分类:
- 工人的动机: ①基于奖励的众包机制 ②自我激励的众包机制
- 任务发布模式:①以用户为中心的模式(WST)
优点:工人可自主选择附近的任何任务,无需为每次任务向 服务器透露自己的位置。
缺点:①SC服务器对空间任务分配没有任何的控制权,这 可能导致某些空间任务从未被分配,而其他任务则被 冗余分配。
②工人根据自己的目标选择任务,这不一定是SC服 务器的的最终目标
②以平台为中心的模式(SAT)
优点:可以在最大化整体任务分配(即,全局优化)的同时为 每个工人分配他的附近任务。
缺点:工作人员应为每项任务向SC服务器报告其位置,这 可能构成隐私侵犯
- 任务分配方法(验证空间任务的有效性):
①基于单人的任务分配
在此分配方法中,一般假设工人是受信任的,他们可以正确完成 空间任务,而且没有恶意意图。因此,每个空间任务仅分配给一 个工人(最好分配给最近的工人)
②带冗余的任务分配
在此分配方法中,基于群体智慧的直观假设,大多数人都可以信 任。因此,具有多数票的数据是正确的。每个空间任务应由k个 附近的工人完成,其中k由发出任务的请求者定义。因此,k值 越大,任务完成的正确率就越大。
本论文要解决的问题是什么?
前提条件:SAT模式、自我激励、基于单人的任务分配
众包从业者,将其任务查询请求发送到SC服务器。工人的任务查询请求包括其位置以及一些约束条件(例如,区域),以告知SC服务器他有空工作。因此,接受到工人请求的SC服务器将其附近的任务分配给每个工人。在此类空间众包中,主要的优化目标是在符合工人的约束条件的同时最大化总体的任务分配数量。
最大化任务分配数量(MTA)
(SC服务器不断接收空间任务,并从工人那里不断地接收任务查询请求,因此,SC服务器只能在每一个时间点最大化任务分配(即,局部优化),无法知晓未来)
预备工作:
空间任务:<l,q,s,δ>表示需在二维空间位置l处应答查询q,查询q在时间s时被发出,并将在时间s+δ过期。(只有当工人实际位于位置l时,才能应答空间任务的查询q)
空间众包查询:(<t1,t2,..>,k)是请求者发出的一组空间任务和参数k,其中每个空间任务ti将被完成k次。
(注意,在单人任务分配模式下,SC服务器应将每个空间任务仅分配给一个工人,即k=1)
工作者:用w表示工人,工人是自愿完成空间任务的移动设备的载体。工人可以处于在线状态或者离线状态。工人要在在线状态接收任务。
(请注意,在自我激励机制下,工人自愿执行空间任务,工人一旦上线,他就会向SC服务器发送任务查询请求)
任务查询:任务查询是当在线工人w准备去工作得时候向SC服务器发送的一个请求。请求中含有w的位置信息l,以及两个约束空间区域R和可接受任务的最大数目maxT。工人在矩形表示的空间区域R中接受任务,该区域以外的任何任务都将被工人拒绝。maxT是工人愿意执行的任务的最大数量。
(任务查询是针对SAT模式定义的,在此模式下,工人将其位置发送给SC服务器以正确的分配任务。工人还可以在他们的任务查询请求中指定其他约束(例如,任务的类别,他们有多少时间)。但在此文中我们将考虑两个约束(R和maxT))
任务分配实例集:记Wi={w1,w2,...}为时间si时的在线工作者集,同时记Ti={t1,t2,...}为时间si时的可用的的任务集。Ii表示的任务分配实例集,由<w,t>形式的元组组成。元组表示空间任务t被分配给工人w,并且满足工人w的约束条件。|Ii|表示在时间si时分配的任务数。
(任务分配实例集必须符合工人的约束条件。对于每个元组<w,t>∈Ii,空间任务t的位置必须在工人w的空间区域R内。此外,每个工人最多可以分配maxT个任务(即,Ii中包含w的元组的数量最多为maxT))
最大任务分配:给定一个时间集合∅={s1,s2,...,sn},让|Ii|为时间时刻si上分配的任务数。最大任务分配是一个在时间∅内向工人分配任务,使总的任务数量(即,)最大化。
(理想情况下,所有任务都将分配给所有工人。但是由于,工人的约束条件,这不太可能实现。因此,本文的目标是使分配的的任务数量最大化)
本论文解决问题的方法:
- 贪婪策略(GR):通过在每个时间点最大化任务分配来达到局部优化策略。贪婪策略在工人的约束条件下分配给每个工人其附近的任务。
在时间si时,给定一组工作者集Wi={w1,w2,...},以及一组可用任务集Ti={t1,t2,...},
目标是在每个时刻si,最大化分配给Wi中的工人的在Ti中的任务的数量,等效于最大化|Ii|。称此为最大化任务分配实例问题。
这种方法的目标是通过解决每个时间当前时刻的最大化任务分配实例问题来达到最大化总体分配。
l 最大任务分配实例问题可以归结为最大流问题。记,在时间si时,给定一组工作者集Wi={w1,w2,...},以及一组可用任务集Ti={t1,t2,...},Gi=(V,E)为网络流图,V为si时顶点集,E为si时的边集。
集合V包含|Wi|+|Ti|+2个顶点。每个工人wj映射到一个顶点vj,每个空间任务tj映射到顶点v|Wi|+j。记v0为新源顶点src,v|Wi|+|Ti|+1为新目标顶点dst。 集合E包含|Wi|+|Ti|+m条边。有|Wi|条边将src顶点与从Wi映射的顶点连接,将每条与src相连的边(src,vj)的容量设置为maxTj(即c(src,vj)=maxTj)。有|Tj|条边将dst与从Ti映射的顶点连接,将每条与dst相连的边(v|Wi|+j,dst)的容量设置为1,因为每个任务都分配给一个工人(即单人任务分配)。
每个工人都有一个空间约束Rj,只能在其空间区域内执行任务。对于每一个由wj映射来的顶点vj,构造其与其空间区域内顶点相连的边,将这m(每个工人的最大分配任务的和,)条边的容量设置为1。
Ford-Fulkerson算法等计算最大流量的算法。
- 最小区域信息熵优先级(LLEP):利用区域信息熵来改进贪婪策略。如果空间任务位于工人数量较多的区域(即,较高的区域信息熵),则将来更有可能执行该空间任务。因此,LLEP方法将较高的优先级分配给区域信息熵较低将来不太可能完成的空间任务,从而改善总体任务分配。
区域信息熵:用来衡量该位置的工人总数,以及他们未来访问该位置的相对比例。
对给定的位置l,记Ol为对位置l的访问集合,|Ol|为对位置l的总访问次数,记Wl为访问位置l的不同工人的集合。记Ow,l为工人w对位置l的访问集合。从集合Ol中随机抽取一个访问属于Ow,l的概率为Pl(w)=|Ow,l|/|Ol|。
位置l的区域信息熵计算如下:Entropy(l)=-
通过计算每个区域信息熵,可以将一定成本,即表示位置li的熵,与<li,qi,si,δi>形式的任务ti相关联。因此,具有较低成本的任务具有较高的优先级,因为它们被完成的机会较小。此方法的目标是在每个时间实例中分配最大数量的任务,而与分配任务相关的总成本最低。此问题称为最小成本最大任务分配实例问题,可以通过将其简化为最小成本最大流量问题来解决。
l 最小成本最大任务分配实例问题可以归结为最小成本最大流问题。
在最小成本最大任务分配实例问题中,每个任务都与成本相关。在线工作集Wi={w1,w2...},可用任务集Ti={t1,t2...}。记Gi=(V,E)为定理一中构造的网络流图。
对于每个任务tj,记Vj为所有与从tj映射的顶点v|Wi|+j相连的从Wi映射的点的集合。对于每个顶点v∈Vj记(v, v|Wi|+j)为连接v与v|Wi|+j的边,将边与|tj|的成本联系起来(即,a(v, v|Wi|+j)= Entropy(lj))。此外,将E中所有其他边的成本设置为0。因此,在图Gi中寻找到最小成本最大流,即以最小的代价分配了最大的任务数。
先通过计算最大流量的算法来找到网络的最大流量,然后,可以通过应用线性编程将流量的成本降至最低。
记Gi=(V,E)是定理2中时间实例si时构造的网络流图。对于每条边(u,v)∈E的容量为c(u,v)>0,流量f(u,v)>=0,成本a(u,v)>=0,其中发送流量f(u,v)的成本为f(u,v)*a(u,v)。记fmax是使用Ford-Fulkerson算法计算出的从src发送到dst的最大流量,目标是使流的总成本最小化,记为,约束为f(u,v)=<c(u,v),f(u,v)=-f(u,v)。对所有的u!=src,dst,=0,=fmax,=fmax。由于所有的约束都是线性的,并且我们的目标是优化线性函数,因此可以通过线性编程来解决此问题。
LLEP策略通过计算每个时间实例的最小成本最大流来解决MAT问题,其中成本是根据任务的区域信息熵来定义的。
- 最近邻优先级(NNP):由于工人应亲自前往某个位置以执行任务,因此工人的差旅成本也是一个重要因素。此方法通过为差旅成本较低的任务分配更高的优先级,将工人的差旅成本纳入任务分配。
用工人w和空间任务t之间的欧几里得距离表示工人w到任务t的旅行成本,记为d(w,t)。因此,通过计算每个工人与其空间区域内的任务的距离,可以将较高的优先级与较接近的任务相关联。可以将一定成本,即工人w与任务t之间的距离,与工人w和空间任务t之间的每条边相关联。因此,问题为在每个时间实例中分配最大数量的任务,而分配的总成本最低。在此方案下,问题变成最小成本最大任务分配实例问题,可以使用与2类似的解决方案,但具有不同的成本函数来解决此问题。
评估方法:
性能指标:①分配的任务总数 ②工人执行空间任务的平均差旅成本,差旅成本根据工人与任务位置的之间的欧几里得距离(其他指标也时用,例如网络距离)来衡量。
整个的空间面积为50km*50km,时间集合∅={s1,s2,...,sn}为100天,时间实例的粒度为1天,每个空间任务的持续时间设置为40天(即δ=40),任务数量默认为100k(变化范围50k~200k),工人数量固定为10k,maxT范围1~20,R范围整个区域的0.01~0.05。区域信息熵范围30m*30m。
- 第一组实验:改变空间任务的数量
- 第二组实验:最大可接受任务约束的影响
- 第三组实验:空间区域约束的影响
代码:
思路:求解某一时刻的最大任务分配,从文件中读取数据,点数,边数,源点序号,汇点序号,每边的起点,终点,容量。依据数据构建网络流图是,使用dinic算法求解最大流。
想法和体会:
- 实验中未考虑任务的时效性
- 工人接受任务的最大数量和行动范围应该是不确定的
以上是关于文献阅读01-空间众包-最大化任务分配数量的主要内容,如果未能解决你的问题,请参考以下文章
文献阅读:Finetuned Language Models Are Zero-Shot Learners
文献阅读与想法笔记13Pre-Trained Image Processing Transformer