一种基于遗传算法的射频能量源布置方法与流程

文档序号:16634182发布日期:2019-01-16 06:51阅读:308来源:国知局
一种基于遗传算法的射频能量源布置方法与流程

本发明涉及一种基于遗传算法的射频能量源布置方法,该方法适用于传感器节点能够捕获射频能量的无线传感器网络。



背景技术:

电磁波作为一种无处不在、绿色环保且可持续的能源,越来越受到学术界和工业界的重视。射频能量捕获无线传感网就是一种捕获环境中的射频能并转化成电能以支持节点持续性工作的新型网络。

但是现阶段射频能量捕获传感器节点捕获环境中的射频能的速率还是非常得低,这是该类新型网络广泛应用的瓶颈之一。为了克服这个弱点,部署专用射频能量源给节点供电是一种可行有效的方法。

由于射频能在传输过程中会损耗一定的能量,即能量源距离节点越远,节点捕获到的射频能越少,节点的能量捕获功率取决于能量源的布置位置。另外,节点往往有能量捕获功率需求值,比如说该值为节点的平均功耗,实际捕获功率超出需求值的多余部分,不会带来任何效益。因此,针对给定捕获射频能量的节点位置、射频能量源候选布置位置以及待布置的能量源个数该类场景,在候选的布置位置集合中挑选合理的布置位置,使节点的总有效捕获功率较大,是射频能量捕获网络需要解决的一个重要问题。



技术实现要素:

为了克服现有射频能量源布置方法的节点总效捕获功率较小的不足,本发明根据给定捕获射频能量的节点位置、射频能量源候选布置位置以及待布置的能量源个数,考虑到节点有能量捕获功率需求值,提供一种基于遗传算法的射频能量源布置方法,来达到较大的节点总效捕获功率。

本发明解决其技术问题所采用的技术方案是:

一种基于遗传算法的射频能量源布置方法,包括以下步骤:

步骤1.对于i=1,2,…,m和j=1,2,…,n,其中m是捕获射频能量的节点个数,n是射频能量源的候选布置位置个数,计算第i个节点从布置在第j个候选布置位置上的能量源所捕获的功率pi,j:

其中η表示整流效率,gs表示能量源天线发射增益,gr表示节点天线接收增益,lp表示极化损耗,λ表示波长,di,j是第i个节点和第j个候选布置位置之间的距离,p是能量源的能量发送功率;

步骤2.染色体种群初始化:将染色体的长度设置为候选布置位置个数n,染色体的第j个基因对应第j个候选布置位置,第j个基因值为0则代表第j个候选位置不放置能量源,第j个基因值为1则代表第j个候选位置放置能量源;生成m个染色体,每个染色体中随机挑出k个基因并将这k个基因值设置为1,其他n-k个基因值设置为0,m为种群规模,k为需要布置的能量源个数;

步骤3.为每个染色体计算其适应度值f,适应度函数为:

其中ij是染色体第j个基因的取值,是第i个节点的能量捕获功率需求值,将具有最大适应度的染色体表示为ch_best;

步骤4.初始化迭代次数变量times为0;

步骤5.选择:在当前这一代m个染色体中随机挑出2个染色体配为一对,进行该操作n次从而得到n对染色体,其中n的取值大于等于以使下一步骤中新生成的染色体数目不少于m个;

步骤6.交叉:对n对染色体中的每一对染色体ch1和ch2进行如下操作:将ch1的前一半基因和ch2的后一半基因拼凑为一个新的染色体ch3,将ch1的后一半基因和ch2的前一半基因拼凑为另一个新的染色体ch4;对于ch3和ch4,当值为1的基因个数l大于k时,随机挑选出l-k个值为1的基因,将这些基因值修改为0,当值为1的基因个数l小于k时,随机挑选出k-l个值为0的基因,将这些基因值修改为1;

步骤7.变异:将步骤6中生成的2n个染色体中的每个染色体进行如下变异操作,随机挑出一个值为0的基因,将其值修改为1,然后随机挑出一个值为1的基因,将其值修改为0;

步骤8.找出步骤7得到的2n个染色体中具有最大适应度值的染色体ch,如果ch的适应度小于ch_best的适应度,则将这2n个染色体中适应度值排前m-1个的染色体以及染色体ch_best保留为新一代种群;如果ch的适应度大于ch_best的适应度,则将ch_best更新为该ch,并将这2n个染色体中适应度排前m个的染色体保留为新一代种群;

步骤9.times=times+1,如果times等于预设的循环迭代次数,则跳到步骤10,否则跳到步骤5;

步骤10.根据染色体ch_best的基因值来确定能量源的布置,即对于j=1,2,…,n,染色体ch_best的第j个基因值为0则第j个候选位置不放置能量源,第j个基因值为1则第j个候选位置放置能量源;

步骤11.结束。

本发明的有益效果为:根据给定捕获射频能量的节点位置、射频能量源候选布置位置以及待布置的能量源个数,考虑到节点有能量捕获功率需求值,达到较大的节点总效捕获功率。

附图说明

图1是本发明基于遗传算法的射频能量源布置方法的流程图。

具体实施方式

以下结合附图对本发明做进一步说明。

参照图1,一种基于遗传算法的射频能量源布置方法,包括以下步骤:

步骤1.对于i=1,2,…,m和j=1,2,…,n,其中m是捕获射频能量的节点个数,n是射频能量源的候选布置位置个数,计算第i个节点从布置在第j个候选布置位置上的能量源所捕获的功率pi,j:

其中η表示整流效率,gs表示能量源天线发射增益,gr表示节点天线接收增益,lp表示极化损耗,λ表示波长,di,j是第i个节点和第j个候选布置位置之间的距离,p是能量源的能量发送功率;

步骤2.染色体种群初始化:将染色体的长度设置为候选布置位置个数n,染色体的第j个基因对应第j个候选布置位置,第j个基因值为0则代表第j个候选位置不放置能量源,第j个基因值为1则代表第j个候选位置放置能量源;生成m个染色体,每个染色体中随机挑出k个基因并将这k个基因值设置为1,其他n-k个基因值设置为0,m为种群规模,k为需要布置的能量源个数;

步骤3.为每个染色体计算其适应度值f,适应度函数为:

其中ij是染色体第j个基因的取值,是第i个节点的能量捕获功率需求值,将具有最大适应度的染色体表示为ch_best;

步骤4.初始化迭代次数变量times为0;

步骤5.选择:在当前这一代m个染色体中随机挑出2个染色体配为一对,进行该操作n次从而得到n对染色体,其中n的取值大于等于以使下一步骤中新生成的染色体数目不少于m个;

步骤6.交叉:对n对染色体中的每一对染色体ch1和ch2进行如下操作:将ch1的前一半基因和ch2的后一半基因拼凑为一个新的染色体ch3,将ch1的后一半基因和ch2的前一半基因拼凑为另一个新的染色体ch4;对于ch3和ch4,当值为1的基因个数l大于k时,随机挑选出l-k个值为1的基因,将这些基因值修改为0,当值为1的基因个数l小于k时,随机挑选出k-l个值为0的基因,将这些基因值修改为1;

步骤7.变异:将步骤6中生成的2n个染色体中的每个染色体进行如下变异操作,随机挑出一个值为0的基因,将其值修改为1,然后随机挑出一个值为1的基因,将其值修改为0;

步骤8.找出步骤7得到的2n个染色体中具有最大适应度值的染色体ch,如果ch的适应度小于ch_best的适应度,则将这2n个染色体中适应度值排前m-1个的染色体以及染色体ch_best保留为新一代种群;如果ch的适应度大于ch_best的适应度,则将ch_best更新为该ch,并将这2n个染色体中适应度排前m个的染色体保留为新一代种群;

步骤9.times=times+1,如果times等于预设的循环迭代次数,则跳到步骤10,否则跳到步骤5;

步骤10.根据染色体ch_best的基因值来确定能量源的布置,即对于j=1,2,…,n,染色体ch_best的第j个基因值为0则第j个候选位置不放置能量源,第j个基因值为1则第j个候选位置放置能量源;

步骤11.结束。

针对给定捕获射频能量的节点位置、射频能量源候选布置位置以及待布置的能量源个数该类场景来说明本发明的具体实施方案。

首先根据各个节点的物理位置和各个候选布置位置的物理位置,计算出每个节点和每个候选布置位置之间的距离。然后对于j=1,2,…,n,计算各个节点从布置在第j个候选布置位置上的能量源所捕获的功率pi,j。

接着进行染色体种群初始化。将染色体的长度设置为候选布置位置个数n,染色体的第j个基因对应第j个候选布置位置,第j个基因值为0则代表第j个候选位置不放置能量源,第j个基因值为1则代表第j个候选位置放置能量源,生成m个染色体,每个染色体中随机挑出k个基因并将这k个基因值设置为1,其他n-k个基因值设置为0,m为种群规模,k为需要布置的能量源个数。并为每个染色体计算其适应度值将具有最大适应度的染色体表示为ch_best;

然后迭代执行选择、交叉、变异和进化。每次迭代中,在当前这一代m个染色体中随机挑出2个染色体配为一对,进行该操作n次从而得到n对染色体。对于n对染色体:每一对为一组进行染色体的交叉互换生成不断生成新的染色体,新的染色体进行变异。再执行染色体优胜劣汰操作,该操作通过淘汰适应度值低的染色体,保留适应度值高的m个染色体形成新的种群。不断对能量源的部署位置进行迭代更新,直至达到固定的迭代次数而结束。

迭代结束后,根据适应度最大的染色体的基因值来确定能量源的布置,即对于j=1,2,…,n,如果该染色体的第j个基因值为0,则第j个候选位置不放置能量源,第j个基因值为1则代表第j个候选位置放置能量源。

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