一种面向节能的移动Agent多步协商任务分配方法

文档序号:7893205阅读:166来源:国知局
专利名称:一种面向节能的移动Agent多步协商任务分配方法
技术领域
本发明涉及一种移动Agent的多步协商任务分配方法,特别涉及一种 基于Ad hoc网络面向节能的移动Agent多步协商任务分配方法。
背景技术
移动自组网(Mobile Ad hoc Network, MANET)是一种无基础设施的移 动网络,也被称为多跳无线网。由于在MANET中大部分设备都是无线设备, 它们的网络传输能力、计算能力以及电量都有一定的限制,因此如何保证 在有限的能力情况下让这些设备完成更多的任务成为了一个研究的热点。
移动Agent (Mobile Agent,简称MA)技术是分布式技术和人工智能发 展的结果。MA能在一个复杂的网络环境中自动地从一个节点移动到另一个 节点。当它移动的时候,它能暂停自己的执行过程并移动到另一个节点来 重新启动或者继续执行过程。并且MA能够在很大程度上减少网络的负荷 并且能够适应无线网络随时断连等正常状态(这些状态在有线网络是非正 常的,但在无线网络中这些情况却是经常发生的)。MA有移动性、自主性、 合作、安全以及智能这些特点。所以,MA和画ET具有自然的共性。
在MANET网中采用MA技术,通过MA的合作,使每个移动设备可以尽 可能少的发送数据,并且使用尽可能少的电量来维持路由。通过合作,使 每个移动设备在尽可能少的完成任务并消耗电量的情况下得到自己所需 的相应任务的完成结果,也能够延长无线网络的生存时间。
现有的MA协商策略往往是一步协商,也有多步协商,但协商之后的任务分配或资源分配的结果往往是相对固定的,在固定网络中,这些协商
方法得到较好应用,但在MANET网络中,由于网络拓扑结构的动态变化, MA完成任务所要消耗的资源也应该是动态变化的,因此基于固定网络或者 资源消耗固定的任务分配策略并不适合基于MANET网络中的MA的任务分 配。
而且,在一般的协商策略后得到的任务分配结果中,某些MA会分配 到相对多的任务,而另一些MA会分配到相对少的任务,如果以时间指标来 看,整个合作团体合作完成的时间应该是所有MA完成任务的时间,也就 是分配任务数量最多的MA完成分配任务的时间,这样会大大地增加系统 的执行时间,对于某些对时间有要求的情况,这种分配无疑有一定的问题。

发明内容
本发明的目的在于克服现有MA协商方法的不足,提出了一种能够保 证每个MA在每一步协商中只分配到一个任务,从而减少整个合作系统的 时间消耗,减少设备电量消耗,从而延长网络生存时间的面向节能的移动 Agent多步协商任务分配方法。
为达到上述目的,本发明采用的技术方案是
1)定义消耗函数矩阵
在某一时刻,每个Agent对每个相应任务的消耗可以建立一个矩阵,
称为消耗函数矩阵,矩阵形式如下
挑)……
……
因为在ad hoc网络中,网络拓扑结构不停地进行动态变化,所以上述矩阵中每个元素的值也是在不停地变化中;矩阵中Si (tj)表示Agent Ai
完成任务Tj的代价;
2)定义Agent消耗差
<formula>formula see original document page 6</formula>
对于上述等式<formula>formula see original document page 6</formula>
&,是Agents的任务中有次小消耗的任务与最小消耗任务的系统消 耗的差值,这个定义保证了整个系统的消耗尽可能的小;
—4)= min{《("l"T}表示Agent 4的任务中具有最小消耗的 任务消耗;
= min{S(。.)|&(。.) ^ 0} (/ = 1…w)表示完成任务^.的最小消耗; 分e/ s:表示每个算法中一个Agent最多需要完成任务的数量,这个 指标也间接表示了整个系统完成所有任务所需的时间; 3)算雜征
将Agent聚集在一起,对比任务并确定它们之间能否合作,确定任务 集合r,并确定公共任务和私有任务;
根据集合r,为合作Agent建立消耗函数矩阵,为每个Agent分配任
务;
计算出矩阵中每个元素的值、每个Agent的^并找到具有最小^的 Agent 4,将满足(^e7;n^.(G)二脂'fl(A》的任务4分配给Agent ^,如 果气=0 ,将满足(e r7 n )=附/fl(么)n ( ^具有最小的S; (,4) — —4) 值)的任务"分配给Agent 4,如果有多个Agent具有相同的&,首先 将任务分配给具有最小/m'"M,.)的Agent;计算每个任务的《,找到具有最小《的任务^,将任务^分配给与它
相应的并且具有曲(U的Agent,如果有多个任务具有相同的d ,则首先 将具有最小m/5(")的任务分配相应的Agent;
每个Agent执行分配到的任务,再进行下一轮的任务分配,直到所有 任务都完成。
本发明与一般的多步协商机制不同的是,本发明的多步协商任务分配 方法所得到的任务分配结果是不固定的,而且会随着MANET网络拓扑结构 的动态变化而变化。在本发明提出的方法中,每个MA与其他MA在基于当 时的系统消耗下进行协商,并且在一次协商中, 一个MA只分配到一个任 务。当它们完成各自分配的任务后,它们重新以当前时间的任务消耗为基 础再次进行协商,每个MA分配到下一个任务,直到所有任务都完成。该 方法保证了每个MA在每一步协商中只分配到一个任务,这样做能减少整 个合作系统的时间消耗,减少设备电量消耗,从而延长网络的生存时间。
具体实施例方式
定义1)对于一组Agents...《,每个Agent都有自己的任务集7;, 7; = i~.是4.的子任务},如果有V7;,,37;, 7; nr, = - <> = l.』and f#力,
称这组Agent能够相互合作,这组Agent的任务集为r = [jz;. lr卜". 定义2)任务完成的花销函数Agent J,完成任务。的花销函数为
如果g gr〃 s鳥)-o.
定义3)任务完成如果Agent^收到其所有任务执行完成所得到的
结果,则称4的任务被完全完成。
定义4)私有任务和私有任务集合任务^满足下列条件就可以被称为私有任务,而t;,就是这些私有任务的集合。
r n"37;",. eT,), (7^ g rn7; g Tn/W, / = 1.』,,/ = l...w) =仏h e r n 是私有任务,/ = 1..."} 定义5)公共任务和公共任务集合任务z,满足下列条件称为公共 任务,而7_就是这些公共任务的集合。
(。er》(r乂 ^rn ; sr .",z、i…附,/,/ = 1...")
7_ =亿hern 是公共任务,/ = 1…"}
定义6)分配的公共任务数对于Agent4来说,分配给它的公共
任务数量为 );
定义7)消耗函数矩阵在某一时刻,每个Agent对每个相应任务的
消耗可以建立一个矩阵,称为消耗函数矩阵。矩阵形式如下
柳……跳)
S"0…...W 因为在ad hoc网络中,网络拓扑结构不停地进行动态变化,所以上 述矩阵中每个元素地值也是在不停地变化中。在某一时刻很小的一段间隔
中,我们可以认为矩阵中的值是固定的。矩阵中Si(tj)表示Agent Ai完成 任务Tj的代价(消耗)。
定义8 ) Agent消耗差 V7;. e T , tto < = & (f) - & 0,)
对于上述等式,S々)二 min{&(0|~e7;}
&= min {S,.(X) I" 7; f}
一是Agents的任务中有次小消耗的任务与最小消耗任务的系统消 耗的差值。这个定义保证了整个系统的消耗尽可能的小;照》(4)= min{&(X)|r e7;}表示Agent 4的任务中具有最小消耗的 任务消耗。
m&(。.) = min{S(。)|S,(。 # 0} (z' = 1…w)表示完成任务^的最小消耗。
表示每个算法中一个Agent最多需要完成任务的数量。这个 指标也间接表示了整个系统完成所有任务所需的时间。
假设1对比于移动Agent的大小和完成任务的消耗,从一个Agent 传输任务完成结果到另一个Agent的消耗可以被忽略。 算法描述
1) Agent聚集在一起,对比任务并确定它们之间能否合作并确定任务 集合r。如果它们之间不能合作,则丢弃Agent 4(v7;,nry.=0)"_/ )
并重新确定能否合作和任务集合r ,最后再确定公共任务和私有任务;
2) |7>",」={4,.."v4m} (Agent的集合)|+m;
3) 开始一步任务分配,如果"》m,转到第4步;否则转到第8步;
4) 设置SA为Agent集合;
5) 如果W * - ,转到第6步;否则每个Agent开始执行并完成分配给 它们的任务。当每个Agent完成分配给它们的任务后,转到第3步并开始 下一步的任务分配;
6) 根据集合r和&4建立消耗函数矩阵。计算出矩阵中每个元素的值、 每个Agent的d"并找到具有最小&的Agent ^ 。将满足
e n^(/t) = /m'fl(A))的任务"分配给Agent ^ 。如果d =0 ,将满足 (^ e n & )=) n 具有最小的& ) - m/《)值)的任务^分配 给Agent 4。如果有多个Agent具有相同的&,首先将任务分配给具有 最小脂' )的Agent;这里的da是每个Agent的任务中有次小消耗的任务与最小消耗任务的系统消耗的差值。
7) r = r_^,&4 = &4 —^,转至ij第5步;
8) 设置&4 =爿;
9) 如果r *0,转到第10步;否则每个Agent开始执行并完成分配给 它们的任务,当这些任务被执行完成后,算法结束;
10) 根据集合r和&4建立当前的消耗函数矩阵,计算每个任务的《,
找到具有最小《的任务^ ,将任务^分配给与它相应的并且具有mW"的 Agent。如果有多个任务具有相同的",则首先将具有最小m&(U的任务分 配相应的Agent ,这里的dk是指公共任务tk的任务消耗差;mis(tk)表示完成 任务tk的最小消耗。
11) r = r-^&4 = &4-一 U,就是上一步任务^的相对应的Agent),
转到第9步。
权利要求
1、一种面向节能的移动Agent多步协商任务分配方法,其特征在于1)定义消耗函数矩阵在某一时刻,每个Agent对每个相应任务的消耗可以建立一个矩阵,称为消耗函数矩阵,矩阵形式如下因为在ad hoc网络中,网络拓扑结构不停地进行动态变化,所以上述矩阵中每个元素的值也是在不停地变化中;矩阵中Si(tj)表示Agent Ai完成任务Tj的代价;2)定义Agent消耗差 dai=Si(t)-Si(tl)对于上述等式,Si(t)=min{Si(tr)|tr∈Ti}Si(tl)=min{Si(tr)|tr∈Ti∩tr≠t}dai是Agent Ai的任务中有次小消耗的任务与最小消耗任务的系统消耗的差值,这个定义保证了整个系统的消耗尽可能的小;mia(Ai)=min{Si(tr)|tr∈Ti}表示Agent Ai的任务中具有最小消耗的任务消耗;mis(tj)=min{Si(tj)|Si(tj)≠0}(i=1...m)表示完成任务tj的最小消耗;Steps表示每个算法中一个Agent最多需要完成任务的数量,这个指标也间接表示了整个系统完成所有任务所需的时间;3)算法特征将Agent聚集在一起,对比任务并确定它们之间能否合作,确定任务集合T,并确定公共任务和私有任务;根据集合T,为合作Agent建立消耗函数矩阵,为每个Agent分配任务;计算出矩阵中每个元素的值、每个Agent的da并找到具有最小da的Agent Aj,将满足(tk∈Tj∩Sj(tk)=mia(Aj))的任务tk分配给Agent Aj,如果daj=0,将满足(tk∈Tj∩Sj(tk)=mia(Aj)∩(tk具有最小的Sj(tk)-mis(tk)值)的任务tk分配给Agent Aj,如果有多个Agent具有相同的da,首先将任务分配给具有最小mia(Aj)的Agent;计算每个任务的dk,找到具有最小dk的任务tk,将任务tk分配给与它相应的并且具有mis(tk)的Agent,如果有多个任务具有相同的d,则首先将具有最小mis(tk)的任务分配相应的Agent;每个Agent执行分配到的任务,再进行下一轮的任务分配,直到所有任务都完成。
全文摘要
一种面向节能的移动Agent多步协商任务分配方法,以MA的任务消耗为基础进行多次协商,所得到的任务分配结果是不固定的,而且会随着MANET网络拓扑结构的动态变化而变化。在本发明提出的方法中,每个MA与其他MA在基于当时的系统消耗下进行协商,并且在一次协商中,一个MA只分配到一个任务。当它们完成各自分配的任务后,它们重新以当前时间的任务消耗为基础再次进行协商,每个MA分配到下一个任务,直到所有任务都完成。该方法保证了每个MA在每一步协商中只分配到一个任务,这样做能减少整个合作系统的时间消耗,减少设备电量消耗,从而延长网络的生存时间。
文档编号H04W28/16GK101448285SQ20081023655
公开日2009年6月3日 申请日期2008年12月31日 优先权日2008年12月31日
发明者晖 何, 迪 侯, 凡 卫, 勇 齐 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1