发明名称 一种具有移动Sink节点的无线传感网生存时间优化方法
摘要 一种具有移动Sink节点的无线传感网生存时间优化方法,包括以下步骤:1)网络启动后,Sink节点广播信息查询包,接收传感节点的位置坐标信息,并添加到Sink节点的传感节点信息表中;2)Sink节点分析约束条件,建立数据传输时延和跳数受限的网络生存时间优化模型;3)Sink节点采用修正的遗传算法求解网络生存时间优化模型,计算网络生存时间、Sink节点移动路径和在每一个停留位置上停留时间的最优方案。本发明提供一种提高网络生存时间、降低节点能耗和节点丢弃数据量的具有移动Sink节点的无线传感网生存时间优化方法。
申请公布号 CN105246097A 申请公布日期 2016.01.13
申请号 CN201510577650.7 申请日期 2015.09.11
申请人 浙江树人大学 发明人 陈友荣;王章权;吕何新;任条娟;刘半藤;刘耀林
分类号 H04W24/02(2009.01)I;H04W52/02(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W24/02(2009.01)I
代理机构 杭州斯可睿专利事务所有限公司 33241 代理人 王利强
主权项 一种具有移动Sink节点的无线传感网生存时间优化方法,其特征在于:所述优化方法包括如下步骤:1)首先,网络启动后,Sink节点广播信息查询包,接收传感节点的位置坐标信息,并添加到Sink节点的传感节点信息表中;2)Sink节点分析约束条件,建立数据传输时延和跳数受限的网络生存时间优化模型为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mi>P</mi></munder><munder><mi>min</mi><mi>i</mi></munder><mrow><mo>(</mo><msub><mi>T</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000011.GIF" wi="1005" he="87" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><munder><mo>&Sigma;</mo><mi>p</mi></munder><msub><mi>t</mi><mi>p</mi></msub><mo>=</mo><msub><mi>t</mi><mrow><mi>d</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo></mrow></mtd></mtr></mtable><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000012.GIF" wi="1030" he="125" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>t</mi><mi>p</mi></msub><mo>&GreaterEqual;</mo><msub><mi>d</mi><mi>p</mi></msub><mo>/</mo><mi>v</mi><mo>,</mo><mo>&ForAll;</mo><mi>p</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000013.GIF" wi="989" he="77" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><munder><mo>&Sigma;</mo><mi>p</mi></munder><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><mo>&GreaterEqual;</mo><mn>1</mn><mo>,</mo><mo>&ForAll;</mo><mi>i</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000014.GIF" wi="965" he="126" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mn>0</mn><mo>&le;</mo><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msubsup><mi>g</mi><mi>i</mi><mi>p</mi></msubsup><mo>&le;</mo><msubsup><mi>b</mi><mi>i</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msub><mi>t</mi><mi>p</mi></msub><msub><mi>S</mi><mi>i</mi></msub><mo>,</mo><mo>&ForAll;</mo><mi>i</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000015.GIF" wi="1045" he="87" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msubsup><mi>b</mi><mi>i</mi><mi>p</mi></msubsup><mo>=</mo><mo>{</mo><mtable><mtr><mtd><mrow><msub><mi>b</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msubsup><mi>b</mi><mi>i</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msub><mi>t</mi><mi>p</mi></msub><msub><mi>S</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msubsup><mi>g</mi><mi>i</mi><mi>p</mi></msubsup><mo>&GreaterEqual;</mo><msub><mi>b</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>b</mi><mi>i</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msub><mi>t</mi><mi>p</mi></msub><msub><mi>S</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msubsup><mi>g</mi><mi>i</mi><mi>p</mi></msubsup><mo>,</mo></mrow></mtd><mtd><mrow><mn>0</mn><mo>&le;</mo><msubsup><mi>b</mi><mi>i</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msub><mi>t</mi><mi>p</mi></msub><msub><mi>S</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msubsup><mi>g</mi><mi>i</mi><mi>p</mi></msubsup><mo>&lt;</mo><msub><mi>b</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub></mrow></mtd></mtr></mtable><mo>,</mo><mo>&ForAll;</mo><mi>i</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000016.GIF" wi="1287" he="177" /></maths><maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>T</mi><mfrac><mrow><munder><mo>&Sigma;</mo><mi>p</mi></munder><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msub><mi>t</mi><mi>p</mi></msub><msubsup><mi>e</mi><mi>g</mi><mi>p</mi></msubsup></mrow><mrow><munder><mo>&Sigma;</mo><mi>p</mi></munder><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msub><mi>t</mi><mi>p</mi></msub></mrow></mfrac><mo>&le;</mo><msub><mi>E</mi><mrow><mi>i</mi><mi>n</mi></mrow></msub><mo>,</mo><mo>&ForAll;</mo><mi>i</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000017.GIF" wi="1038" he="238" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>L</mi><mrow><msub><mi>p</mi><mi>v</mi></msub><mo>,</mo><msub><mi>p</mi><mrow><mi>v</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub><mo>=</mo><mn>1</mn><mo>,</mo><mo>&ForAll;</mo><msub><mi>p</mi><mi>v</mi></msub><mo>&Element;</mo><mo>{</mo><mi>P</mi><mo>-</mo><msub><mi>p</mi><msub><mi>N</mi><mi>v</mi></msub></msub><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000018.GIF" wi="1060" he="78" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><mo>&Element;</mo><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&le;</mo><msubsup><mi>b</mi><mi>i</mi><mi>p</mi></msubsup><mo>&le;</mo><msub><mi>b</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000019.GIF" wi="1061" he="71" /></maths>其中,T<sub>i</sub>表示传感节点i的生存时间,t<sub>p</sub>表示Sink在网格中心p上的停留时间,t<sub>delay</sub>表示允许的最大数据传输时延,d<sub>p</sub>表示相邻网格中心间的距离,v表示Sink节点的移动速率,<img file="FDA00008007660400000110.GIF" wi="80" he="70" />表示传感节点在Sink节点的数据通信范围内的状态指示符,<img file="FDA00008007660400000111.GIF" wi="70" he="70" />表示当Sink节点停留在网格中心p时,传感节点i发送给Sink节点的数据量,S<sub>i</sub>表示传感节点i的数据感知速率,<img file="FDA00008007660400000112.GIF" wi="97" he="76" />表示当Sink节点在前一个网格中心上收集完数据后,传感节点i的剩余数据缓存量,b<sub>th</sub>表示传感节点的最大存储容量,T表示网络生存时间,E<sub>in</sub>表示传感节点的初始能量,<img file="FDA00008007660400000113.GIF" wi="61" he="78" />表示Sink节点停留在网络中心p上收集数据时,传感节点i的单位时间能耗,<img file="FDA00008007660400000114.GIF" wi="62" he="78" />与所采用的数据路由算法有关,<img file="FDA0000800766040000021.GIF" wi="125" he="79" />表示网格中心p<sub>v</sub>和p<sub>w</sub>相邻的指示符,P表示Sink节点移动路径经过的网格中心向量,p<sub>v</sub>表示网格v的中心;3)Sink节点采用修正遗传算法求解网络生存时间优化模型,计算网络生存时间、Sink节点移动路径和在每一个停留位置上的停留时间的最优方案,过程如下:b1)初始化迭代次数g=0,当前染色体个数m=0,网格中心位置的交叉概率α<sub>1</sub>=0.5,停留时间的交叉概率α<sub>2</sub>=0.5,染色体发生变异概率β<sub>1</sub>=0.25,基因发生变异概率β<sub>2</sub>=0.05,其中,Sink节点经过的网格中心位置和在每一个停留位置上的停留时间组成一个染色体,即向量<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>R</mi><mo>=</mo><mrow><mo>(</mo><mo>(</mo><mrow><msub><mi>px</mi><mn>1</mn></msub><mo>,</mo><msub><mi>py</mi><mn>1</mn></msub><mo>,</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><mo>)</mo><mo>;</mo><mo>(</mo><mrow><msub><mi>px</mi><mn>2</mn></msub><mo>,</mo><msub><mi>py</mi><mn>2</mn></msub><mo>,</mo><msub><mi>t</mi><mn>2</mn></msub></mrow><mo>)</mo><mo>;</mo><mo>...</mo><mo>;</mo><mo>(</mo><mrow><msub><mi>px</mi><msub><mi>N</mi><mi>v</mi></msub></msub><mo>,</mo><msub><mi>py</mi><msub><mi>N</mi><mi>v</mi></msub></msub><mo>,</mo><msub><mi>t</mi><msub><mi>N</mi><mi>v</mi></msub></msub></mrow><mo>)</mo><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000800766040000022.GIF" wi="1067" he="95" /></maths>初始化传感节点全覆盖的N<sub>M</sub>个染色体,其中N<sub>M</sub>表示染色体的个数,随机选择一个网格中心作为初始位置,随机选择邻居网格中心作为下一个停留位置,当选择的网格中心数量超过阈值或者周围所有邻居网格中心都已经被选为停留位置,则停止选择,获得一条移动路径;分析该移动路径是否符合模型(15)的约束条件(7),如果不符合,则存在孤立节点,寻找覆盖最多孤立节点的网格中心,将该网格中心添加到移动路径中,增加未被选择的网格中心使移动路径符合约束条件(12)且增加的路径长度最短;当该移动路径的长度大于阈值,从中选择长度为阈值的前一部分路径,判断该路径是否全覆盖传感节点;如果不符合,则放弃该路径,重新开始寻找新的路径,否则根据所选择的移动路径,随机生成每一个停留位置的停留时间且总和不超过数据传输时延,获得染色体向量;循环上述操作,直到获得传感节点全覆盖的N<sub>M</sub>个染色体;b2)g=g+1,根据染色体和采用的数据路由算法,计算所有染色体的适应度,即Sink节点在每一个网格中心p停留时间t<sub>p</sub>时间,采用数据路由算法收集其数据通信范围内的传感节点数据,当Sink节点移动到下一个网格中心时,各个传感节点采用式(9)更新自身的数据存储器,循环上述操作,直到Sink节点完成沿着初始位置到结束位置,再返回初始位置的一次数据采集后,执行式(13)计算节点的生存时间,<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><msub><mi>E</mi><mrow><mi>i</mi><mi>n</mi></mrow></msub><mrow><munder><mo>&Sigma;</mo><mi>p</mi></munder><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msub><mi>t</mi><mi>p</mi></msub><msubsup><mi>e</mi><mi>g</mi><mi>p</mi></msubsup></mrow></mfrac><mo>*</mo><munder><mo>&Sigma;</mo><mi>p</mi></munder><msubsup><mi>C</mi><mi>i</mi><mi>p</mi></msubsup><msub><mi>t</mi><mi>p</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000023.GIF" wi="1150" he="182" /></maths>执行式(14)计算网格生存时间<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mi>T</mi><mo>=</mo><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>i</mi></munder><mrow><mo>(</mo><msub><mi>T</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000031.GIF" wi="941" he="87" /></maths>b3)选择最优染色体,根据所有染色体的适应度,直接选择适应度最大的染色体继承到下一代种群中;b4)执行交叉操作,根据轮盘赌策略选择1个染色体和当前最优染色体进行交叉,形成一个新的染色体;b5)执行变异操作,产生一个0‑1随机数,如果大于染色体发生变异概率β<sub>1</sub>,则跳到步骤b6),否则根据步骤b4)中的染色体长度值N<sub>c2</sub>,循环执行N<sub>c2</sub>次以下操作:产生一个0到1之间的随机数,当该随机数小于基因发生变异概率β<sub>2</sub>,则随机产生一个新的基因,替换染色体中对应基因;b6)分析所获得的染色体是否符合约束(1),(2),(7),(12),当当前染色体违反约束条件(12)时,查找和删除重复网格中心,计算遍历当前染色体中所有网格中心的路径向量;如果当前路径向量中相邻两个元素之间距离大于相邻网格中心距离d<sub>p</sub>,则存在若干个间隔网格中心,选择和添加使Sink节点在该两个元素之间移动的距离最短的网格中心,并添加所选网格中心上的初始停留时间d<sub>p</sub>/v,获得一个新的染色体;当当前新的染色体违反约束条件(7),寻找孤立节点,添加网格中心使增加的移动距离最短;如果移动路径的距离超出阈值,截取开头距离为阈值的路径,判断是否全覆盖节点;如果仍存在孤立节点,则放弃该染色体,跳到步骤b2),否则增加新增网格中心的初始停留时间d<sub>p</sub>/v,当新的染色体中停留时间违反约束条件(2),修改该停留时间为d<sub>p</sub>/v;如果新的染色体违反约束条件(1),调整所有停留时间为<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msubsup><mi>t</mi><mi>p</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><mtable><mtr><mtd><mrow><msub><mi>d</mi><mi>p</mi></msub><mo>/</mo><mi>v</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>t</mi><mi>p</mi></msub><mo>-</mo><msub><mi>d</mi><mi>p</mi></msub><mo>/</mo><mi>v</mi><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>d</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>N</mi><mi>v</mi></msub><msub><mi>d</mi><mi>p</mi></msub><mo>/</mo><mi>v</mi><mo>)</mo></mrow><mo>/</mo><munder><mi>&Sigma;</mi><mi>p</mi></munder><mrow><mo>(</mo><msub><mi>t</mi><mi>p</mi></msub><mo>-</mo><msub><mi>d</mi><mi>p</mi></msub><mo>/</mo><mi>v</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><munder><mi>&Sigma;</mi><mi>p</mi></munder><msub><mi>t</mi><mi>p</mi></msub><mo>&gt;</mo><msub><mi>t</mi><mrow><mi>d</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mi>t</mi><mi>p</mi></msub><mo>)</mo><mo>*</mo><mo>(</mo><msub><mi>t</mi><mrow><mi>d</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi></mrow></msub><mo>)</mo><mo>/</mo><munder><mi>&Sigma;</mi><mi>p</mi></munder><mo>(</mo><msub><mi>t</mi><mi>p</mi></msub><mo>)</mo><mo>,</mo></mrow></mtd><mtd><mrow><munder><mi>&Sigma;</mi><mi>p</mi></munder><msub><mi>t</mi><mi>p</mi></msub><mo>&lt;</mo><msub><mi>t</mi><mrow><mi>d</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi></mrow></msub></mrow></mtd></mtr></mtable><mo>,</mo><mo>&ForAll;</mo><mi>p</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000800766040000032.GIF" wi="1526" he="213" /></maths>且m=m+1;b7)如果m小于或等于N<sub>M</sub>,则返回步骤b4),否则如果g小于或等于N<sub>g</sub>,其中,N<sub>g</sub>表示迭代次数,则返回步骤b2),否则获得网络生存时间、Sink节点移动路径和在每一个停留位置上的停留时间的最优方案。
地址 310015 浙江省杭州市拱墅区树人路8号信息科技学院
您可能感兴趣的专利