本发明涉及任务分配、激励机制领域,特别涉及一种基于协商的重叠联盟形成下的任务分配方法。
背景技术:
在基于贪心算法的任务分配中,工人加入能够获得更高报酬的联盟。在基于合同网算法的任务分配中,任务请求者只选择提供当前任务所缺技能的工人加入联盟,并且工人同样只选择加入能够获得更高报酬的联盟。通过基于协商的机制,工人加入贡献自身组合技能使得收益提高的联盟中,能够在短时间内建立专业的,高合作性的工人联盟。
在本发明作出之前,现有的基于协商的重叠联盟形成下的任务分配方法存在如下几个难点:
1)任务分配根据任务请求者和工人的收益情况,从最大化社会福利(任务请求者和工人的收益的总和)的角度进行联盟的形成。但是在现实情况中,二者的目标是不同且通常是冲突的,所以应当考虑到二者异质的目标,设计一种协商策略来分别最大化二者的收益。
2)面对具体的应用时,需要考虑多种约束条件和目标。任务分配的过程中不仅要满足技能的需求,还应考虑到工人之间的关系,比如相邻的工人更愿意形成联盟来完成相应的任务,因为他们彼此之间熟悉,或者说有过合作。大多数现有的工人联盟形成没有考虑到工人之间的结构,只是单纯的找一组工人满足某一任务需求。
3)已有的工人联盟形成方法研究主要致力于设计具有保证近优性的中心式近似算法,但是这些方法假设存在一个中心协调者,协调者知道所有工人的信息,然而设计这样一个中心协调者具有较高的计算复杂度,所以我们这里以一种自组织的方式建立联盟,联盟的形成方法是一种分布式的自治模式。
技术实现要素:
本发明的目的就在于克服上述问题,研发一种基于协商的重叠联盟形成下的任务分配方法。
本发明的技术方案为:
一种基于协商的重叠联盟形成下的任务分配方法,其主要技术特征在于步骤如下:
(1)任务请求者提交任务完成所需的特定技能以及完成这些技能的报价,从而进行技能请求;
(2)工人提交拥有的技能以及每个技能的要价,从而进行技能请求响应;
(3)任务请求者根据工人的响应情况进行调整,工人根据调整后的情况做出最后的决定,从而进行响应确认。
所述的技能请求,将工人所能提供的技能分为非冗余技能和冗余技能,根据技能请求者的收益决定请求哪些技能。
所述的技能请求响应,请求响应阶段将工人的状态分为完全合同,半合同和无合同状态,根据工人的收益决定提供哪些技能。
所述的响应确认,任务请求者根据工人的响应情况做出调整,和工人签订最终合同。
所述一个工人在技能条件满足的情况下可以参加多个任务。
本发明的优点和效果在于因为任务请求者和工人目标的不同,所以应该考虑任务请求者以及工人的异质的目标,制定相应的协商策略,使得双方满意。
本发明采用重叠联盟的方式进行工人的选择,与传统的一个工人参与一个任务的情况不一样,考虑一个工人在参与某个任务的情况下,可以将自身闲置的技能提供给其他任务,这样可以提高资源的利用率。这里考虑到计算复杂性,假定一个工人最多加入两个任务。
附图说明
图1——本发明工人结构示意图。
图2——本发明非冗余技能提供者与冗余技能提供者提供技能示意图。
图3——本发明协商过程示意图。
具体实施方式
本发明的技术思路是:
任务请求者提交他的技能请求,包括请求技能集合,即完成该任务所需要的技能、阈值th,即某一技能被满足,任务请求者期望收益的增加量。阈值也可以用来判断一个技能是否值得被请求。工人提交他的要价信息,包括其所拥有的的技能信息,以及对每个技能的要价。通过双方协商,最终决定任务请求者雇佣哪些工人,以及给予提供相应技能的工人多少报酬。该协商策略从任务请求者收益和工人收益的角度出发,满足分配过程中两者异质性的目标,为任务请求者形成专业的,合作高效的,并且对于任务请求者来说是比较经济的工人群组。
下面具体说明本发明。
图1为一个工人结构图,也可以看成是一个简单的社会网络实例,每个工人提供技能信息及相应技能的要价,如图1上工人a1对应的(s1,3)(s2,7)表示工人a1拥有技能s1和s2,分别对应其要价3,7。工人之间存在连接边,表明互相连接的工人之间能够进行高效的合作。
在技能请求阶段,如图2所示。将工人分为非冗余技能提供者和冗余技能提供者,非冗余技能指的是工人可利用的技能都是当前任务所需的技能。冗余技能,即工人可利用的技能已经被其他工人满足,rk为任务k所需要的技能,tk为形成任务k所需技能的工人集合,所以向拥有技能集合q(ai)的非冗余技能工人ai请求技能时,ai可利用技能可以表示为as(ai,rk)=q(ai)∩rk,usk为tk中未被满足的技能。如果ai的可利用技能是tk未被满足的技能的子集,即图2右上所述的
处于请求响应阶段时,当工人处于完全合同,即当前任务的技能已经全部被满足,则拒绝其他请求者的技能请求。当工人处于半合同的状态,如果当前工人的期望收益大于工人接收请求的期望收益,则拒绝,否则询问请求者对于技能集ns中的每个技能是否愿意提高报酬到p′。当工人处于无合同状态,则接受任务请求者的技能请求。另外在重叠联盟的情况下,假设有群组tk需要ai的技能集cs,另有群组tl需要ai的技能集ns。如图3所示,cs表示请求者1请求的技能集合,ns表示请求者2请求的技能集合(加限制:一个工人最多只能参加两个任务)。,当tk处于无合同和半合同的状态下,图3右部分表明,如果
在响应确认阶段,对于要提高报酬的,比较提高报酬后的请求者的期望收益ep和移除该工人的期望收益ep′,如果ep>ep′,接受提高报酬的提议,否则拒绝。工人ai接受请求者的技能请求,签订临时合同;如果变成完全群组,则签订正式合同。整个协商过程offer,response,confirm如图3所示。
正是由于任务请求者和工人双方自主协商的过程,能够满足社会个体异质性的目标,而不仅仅是从最大化社会福利的角度解决任务分配问题。这个机制使得任务请求者决定雇佣哪些工人的哪些技能并且应该获得多少技能服务的报酬,总能为任务请求者找到个体最经济的技能提供。