基于集合粒子群算法的无线传感器网络任务调度优化方法与流程

文档序号:14776908发布日期:2018-06-23 03:41阅读:389来源:国知局
基于集合粒子群算法的无线传感器网络任务调度优化方法与流程

本发明涉及智能算法和无线传感器网络优化技术领域,具体涉及一种基于集合粒子群算法的无线传感器网络任务调度优化方法。



背景技术:

无线传感器网络技术是数据采集的重要基础技术,有着巨大的应用价值。无线传感器网络被广泛应用于环保,医疗,航空,军事,工业等领域。随着应用环境日趋复杂,对无线传感器网络中任务调度策略的优化越来越重要。

为了优化无线传感器网络中的任务调度,需要寻求一种任务调度策略,使得网络对任务处理的耗时尽量短,能耗尽量少,传感器节点间的能量消耗尽量均衡。目前已有的优化方法包括传统的贪心式方法和随机启发式算法。然而这些方法都容易陷入局部最优解,当无线传感器网络规模较大时,局部最优问题尤为突出。另一方面,基于集合的粒子群算法正受到越来越多的关注。通过把粒子解释成集合,该算法具有更加广泛的适应性。集合粒子群算法能够很方便地结合启发信息和不同的学习方法,可以根据应用问题本身的特性设计出更有效的优化策略。因此基于集合的粒子群算法非常适用于优化无线传感器网络中的任务调度问题。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供基于集合粒子群算法的无线传感器网络任务调度优化方法。

本发明的目的可以通过采取如下技术方案达到:

一种基于集合粒子群算法的无线传感器网络任务调度优化方法,所述的任务调度优化方法包括下列步骤:

S1、初始化集合粒子群算法的基本参数,并根据给定的无线传感器网络和待分配任务初始化第一代粒子群;

S2、计算粒子群中每个粒子的适应值,其中,适应值函数如下:

其中,g1,g2,g3是三个权值,t(X),e(X),sd(X)分别表示任务分配方案X所能造成的时间消耗、能量消耗和能量消耗标准差,tmax,emax,sdmax分别表示在任务负荷量达到最大,并且网络计算能力最低的情况下的时间消耗、能量消耗和能量消耗标准差;

S3、更新粒子群中各个粒子的历史最优解pBestfi,更新粒子群的全局最优解gBest;

S4、根据粒子群中各个粒子的pBestfi和综合学习策略更新粒子速度;

S5、根据动态启发式信息,更新粒子群中各个粒子的位置;

S6、通过变异操作提高粒子群的多样性;

S7、如果达到算法预先设定的迭代次数,则进行步骤S8,否则返回步骤S2;

S8、输出全局最优解gBest,结束优化算法。

进一步地,所述的步骤S5、根据动态启发式信息,更新粒子群中各个粒子的位置中,所采用的动态启发式信息为Hi(k)=|ek-E|,其中表示第k个传感器上的能耗之和ejk表示第j个任务在第k个传感器上的耗能,是所有传感器上能耗的平均值,M是任务的数量,N是传感器的数量,对每一个粒子执行以下操作:

S501、令j=1;

S502、在区间[0,1]随机地生成alp;令且e≥alp},是第i个粒子的速度的第j维;若则进入步骤S503;如果则执行变异操作,接下来如果j<N,则令j=j+1并返回步骤S502;否则退出;

S503、从第i个粒子的位置的第j维中随机选定两个元素,分别表示为<j,k1>和<j,k2>;从CSet中随机选择一个元素<j,k1>,并将其从CSet删除,如果Hi(k1)>Hi(k2),用<j,k0>替换掉<j,k1>,否则用<j,k0>替换掉<j,k2>。

进一步地,所述的步骤S6、通过变异操作提高粒子群的多样性中,假设MuRate是变异率,定义三种变异方式,即增加、减少和替换一个元素,分别用Mu1、Mu2和Mu3表示,该步骤具体如下:

S601、按照在区间[0,1]的均匀分布随机产生一个数r,如果r<MuRate,则进入步骤S602,否则退出;

S602、如果当前粒子包含了全部的传感器节点,则从Mu2和Mu3中随机选择一种操作;否则,从Mu1、Mu2和Mu3中随机选择一种操作,进入步骤S603;

S603、执行变异操作,根据所选操作,增加、减少或替换一个元素。

进一步地,g1,g2,g3的取值分别为0.3、0.3、0.4。

本发明相对于现有技术具有如下的优点及效果:

集合粒子群优化算法框架具有灵活、适应性强的特点。综合学习策略具有优化能力强,参数设置简单的特点。无线传感器网络中的任务调度优化问题的解空间较复杂,传统贪心算法和粒子群优化算法容易陷入局部最优解。本发明在基于综合学习策略的集合粒子群优化算法中引入了一种变异算法,提高了粒子群的多样性,改进了粒子群算法在无线传感器网络任务调度优化的性能。

附图说明

图1是本发明公开的基于集合粒子群算法的无线传感器网络任务调度优化方法中pBestfi更新的流程图;

图2是本发明公开的基于集合粒子群算法的无线传感器网络任务调度优化方法中粒子位置更新的流程图;

图3是本发明公开的基于集合粒子群算法的无线传感器网络任务调度优化方法中变异操作的流程图;

图4是本发明公开的基于集合粒子群算法的无线传感器网络任务调度优化方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例公开了一种基于集合粒子群算法的无线传感器网络任务调度优化方法,步骤如附图4中流程图所示,具体包括:

S1、初始化集合粒子群算法的基本参数,并根据给定的无线传感器网络和待分配任务初始化第一代粒子群;

S2、计算粒子群中每个粒子的适应值,适应值函数是:

其中g1,g2,g3是三个权值,通常分别设为0.3、0.3、0.4;t(X),e(X),sd(X)分别表示任务分配方案X所能造成的时间消耗、能量消耗和能量消耗标准差,tmax,emax,sdmax分别表示在任务负荷量达到最大,并且网络计算能力最低的情况下的时间消耗、能量消耗和能量消耗标准差;

S3、更新粒子群中各个粒子的pBestfi;更新粒子群的全局最优解gBest;

S4、根据粒子群中各个粒子的pBestfi和综合学习策略更新粒子速度;

S5、根据动态启发式信息,更新粒子群中各个粒子的位置;

S6、通过变异操作提高粒子群的多样性;

S7、如果达到优化的结束条件,则进行步骤S8,否则返回步骤S2;

S8、输出全局最优解gBest,结束优化算法。

以下结合附图进一步对发明的方法步骤进行描述。

在无线传感器网络中,对第j个任务,用Wj和Cj分别表示其运算负荷和通信负荷。第j个任务在第k个传感器上的耗时为:

采用所有任务耗时的和来估算整个任务执行过程的耗时,当有调度方案X时,它的耗时为:

这里是运算耗时,是通信耗时;wjk和cjk分别表示第j个任务在第k个传感器上的运算子负荷和通信子负荷;vk表示第k个传感器的运算速率,bw是网络的带宽;用表示排队时间。

第j个任务在第k个传感器上的耗能为:

这里用表示运算耗能,用pk表示第k个传感器的功率,则表示通信耗能,包括接收耗能和发送耗能它们的计算公式如下:

其中,eelec是操作1比特的数据所消耗的能量,εamp是数据传输时的放大系数,这两个参数由具体无线传感器网络的特性决定。

采用各个任务耗能的和来估算整个任务执行过程的耗能,当有调度方案X时,它的耗能为:

能耗标准差用于衡量能量消耗在各传感器上的均衡程度,当有调度方案X时,可通过下式计算:

其中ek是第k个传感器上的能耗之和,E是所有传感器上能耗的平均值。

在集合粒子群优化中,粒子的位置表示一个可行的任务分配方案,而速度则用来在迭代中更新位置。粒子位置用集合来表示,集合中的元素是一些二元组。二元组<j,k>表示将第j个任务分配给第k个传感器。第i个粒子的位置可表示为Xi={<j,k>|<j,k>是Xi中的元素}。设有M个任务,N个传感器,则1≤j≤M,且1≤k≤N。粒子的速度也用集合表示,集合中的元素是一些三元组。第i个粒子的速度表示为Vi={<j,k>/e|1≤j≤M,1≤k≤N,e∈[0,1]}。在一个粒子的位置和速度中,称所有拥有相同的j的元素都属于第j个维度。

综合学习策略为每个粒子单独生成pBestfi,具体操作方法如图1所示,其中Pci是为第i个粒子所配置的一个参数。

根据pBestfi更新速度的方式如下:

对于第i个粒子的速度的第j维,令

按照上式逐一更新第i个粒子速度的各个维度。其中ω是一个设定在区间(0,1)内的系数;c通常设为2.0;rij∈(0,1)是一个随机生成的数。

根据无线传感器网络的特性和优化目标,设计了一种动态启发式信息,并利用它来更新粒子群中各个粒子的位置。令Hi(k)=|ek-E|,这里的ek是第k个传感器上的能耗,E是所有传感器上能耗的平均值,利用动态启发式信息更新第i个粒子位置的步骤如图2所示,alp是一个在区间[0,1]内随机生成的数。对图2中流程的说明如下:

(1)令j=1。

(2)在区间[0,1]随机地生成alp。令CSet={<j,k>|<j,k>/e∈Vij,且e≥alp}。若则进入步骤(3)。如果执行变异操作,若j<N,则令j=j+1并返回步骤(2);否则退出。

(3)从中随机选定两个元素,分别表示为<j,k1>和<j,k2>;从CSet中随机选择一个元素<j,k1>,并将其从CSet删除,如果Hi(k1)>Hi(k2),用<j,k0>替换掉<j,k1>,否则用<j,k0>替换掉<j,k2>。

本实施例还设计了一种变异操作,以提高优化无线传感器网络任务调度时粒子群的多样性。对第j维的变异操作的过程如图3所示,其中MuRate是变异率。一共有三种变异方式,即增加、减少和替换一个元素,分别用Mu1、Mu2和Mu3表示。对图3中流程的说明如下:

(1)按照在区间[0,1]的均匀分布随机产生一个数r。如果r<MuRate,则进入步骤(2),否则退出。

(2)如果当前粒子包含了全部的传感器节点,则从Mu2和Mu3中随机选择一种操作;否则,从Mu1、Mu2和Mu3中随机选择一种操作。进入步骤(3)。

(3)执行变异操作。根据所选操作,增加、减少或替换一个元素。

针对无线传感器网络任务调度问题,集合的粒子群优化方法的参数设置如下表所示:

这里的ω随着算法的迭代,从0.9线性递减至0.4。

为了与发明的算法进行对比,运用遗传算法和基本粒子群算法对相同无线传感器网络进行任务调度优化。对三种优化方法分别进行仿真测试。结果显示,集合的粒子群优化算法得到的适应值为0.5585,优于基本粒子群算法的0.6097和遗传算法的0.6365。这证明集合的粒子群优化算法对无线传感器网络中的任务调度优化是十分有效的。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1