发明名称 一种基于人工鱼群算法的车联网路侧单元优化部署方法
摘要 本发明提出了一种基于人工鱼群算法的车联网路侧单元部署方法,目的在于在给定路网范围内、给定路侧单元数量的情况下,确定能使部署效益近似最优的路侧单元部署方案。本发明首先建立路网模型,该路网模型能够描述曲线路段。然后根据路网中的各路段的车辆密度、所处区域特性、车道数等综合确定路段的权重密度,把路侧单元集合的无线覆盖范围之内的所有路段的加权权重之和作为路侧单元集合的覆盖效益,建立效益模型。路网模型和效益模型共同组成路侧单元部署问题模型,将路侧单元部署问题转化为搜索最优解问题。最后利用人工鱼群算法对搜索最优解问题进行优化求解。该方法能够逐步逼近最优部署效益,以尽量最优化路侧单元的部署效益。
申请公布号 CN104951832A 申请公布日期 2015.09.30
申请号 CN201510304713.1 申请日期 2015.06.05
申请人 大连理工大学 发明人 高振国;朱涵;陈丹杰;陈炳才;姚念民;卢志茂;谭国真
分类号 G06N3/00(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 梅洪玉
主权项 一种基于人工鱼群算法的车联网路侧单元部署方法,其特征在于如下步骤:步骤1:建立路网模型:将某个路段e表示为e(v<sub>h</sub>,v<sub>t</sub>,f<sub>t</sub>,f<sub>w</sub>),其中v<sub>h</sub>为路段e的起点,v<sub>t</sub>为路段e的终点,f<sub>t</sub>为路段e的路线函数,f<sub>w</sub>为路段e的权重函数;步骤2:建立效益模型:将路网部署总效益B<sub>n</sub>表示如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>B</mi><mi>n</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>e</mi><mo>&Element;</mo><mi>U</mi></mrow></munder><munder><mo>&Integral;</mo><mi>e</mi></munder><msub><mi>f</mi><mrow><mi>w</mi><mo>,</mo><mi>e</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mi>ds</mi><mo>+</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>M</mi><mi>e</mi></msub><mo>&Element;</mo><mi>S</mi></mrow></munder><munder><mo>&Integral;</mo><msub><mi>M</mi><mi>e</mi></msub></munder><msub><mi>f</mi><mrow><mi>w</mi><mo>,</mo><mi>e</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mi>ds</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000731393760000011.GIF" wi="1487" he="134" /></maths>其中符号U为n个路侧单元的全覆盖路段的集合,符号S为其部分覆盖路段的集合,符号M<sub>e</sub>为路段e在路网中所有路侧单元的覆盖区域内的部分;步骤3:利用人工鱼群算法对路侧单元部署问题进行优化求解,步骤如下:步骤3.1:构造个体每条人工鱼可作为一个可行解组成鱼群;可行解F表示如下:假设路网中需要部署n个路侧单元,每个路侧单元在路网中的位置信息为f(x,y),则n个路侧单元构成一个位置序列F(f<sub>1</sub>(x,y),f<sub>2</sub>(x,y),...,f<sub>n</sub>(x,y));位置序列F(f<sub>1</sub>(x,y),f<sub>2</sub>(x,y),...,f<sub>n</sub>(x,y))和可行解F是一一对应的关系;每个可行解由两部分组成,即鱼的位置和适应度值;则第i条人工鱼个体结构表示为:<img file="FDA0000731393760000012.GIF" wi="1213" he="309" />人工鱼的位置编码结构表示为:Fish(i).Location[]=F(f<sub>1</sub>(x,y),f<sub>2</sub>(x,y),...,f<sub>n</sub>(x,y))             (3)步骤3.2:鱼群初始化随机生成m个位置序列F(f<sub>1</sub>(x,y),f<sub>2</sub>(x,y),...,f<sub>n</sub>(x,y)),并初始化对应的适应度值,组成m个人工鱼,分别记为F<sub>1</sub>,F<sub>2</sub>,...,F<sub>m</sub>;每个F是一个个体,m个个体组成一个初始鱼群;步骤3.3:计算适应度值因为路侧单元的部署效益越大部署效果越好,所以可以用式(1)路网部署总效益B<sub>n</sub>作为适应度值;因此,人工鱼的适应度值可以记为:Fish(i).fitness=B<sub>n</sub>             (4)步骤3.4:位置更改尝试聚群算子:在当前鱼(X<sub>i</sub>,Y<sub>i</sub>)可见范围内进行搜索,得到鱼的聚群中心X<sub>center</sub>和聚群中心的适应度值Y<sub>center</sub>;如果满足Y<sub>center</sub>>Y<sub>i</sub>且Y<sub>center</sub>/n<sub>f</sub><δ*Y<sub>i</sub>(δ<1),其中n<sub>f</sub>为感知范围内的人工鱼个数,表明伙伴中心有很多食物且不拥挤,则按照(5)式向着该中心位置方向前进一步;<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>X</mi><mi>next</mi></msub><mo>=</mo><msub><mi>X</mi><mi>i</mi></msub><mo>+</mo><mi>rand</mi><mrow><mo>(</mo><mo>)</mo></mrow><mo>*</mo><mi>step</mi><mo>*</mo><mfrac><mrow><msub><mi>X</mi><mi>center</mi></msub><mo>-</mo><msub><mi>X</mi><mi>i</mi></msub></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mi>center</mi></msub><mo>-</mo><msub><mi>X</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000731393760000021.GIF" wi="1479" he="142" /></maths>尝试追尾算子:在当前鱼(X<sub>i</sub>,Y<sub>i</sub>)可见范围内对每条鱼进行搜索,并找到适应度值最高的鱼(X<sub>max</sub>,Y<sub>max</sub>);如果Y<sub>max</sub>>Y<sub>i</sub>,以X<sub>max</sub>为中心搜索其感知范围内的人工鱼,数目为n<sub>f</sub>,并且满足Y<sub>max</sub>>Y<sub>i</sub>且Y<sub>max</sub>/n<sub>f</sub><δ*Y<sub>i</sub>(δ<1),则表明该位置较优且其周围不太拥挤,按照(6)式向着适应度值最大的伙伴X<sub>max</sub>的方向前进一步;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>X</mi><mi>next</mi></msub><mo>=</mo><msub><mi>X</mi><mi>i</mi></msub><mo>+</mo><mi>rand</mi><mrow><mo>(</mo><mo>)</mo></mrow><mo>*</mo><mi>step</mi><mo>*</mo><mfrac><mrow><msub><mi>X</mi><mi>max</mi></msub><mo>-</mo><msub><mi>X</mi><mi>i</mi></msub></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mi>max</mi></msub><mo>-</mo><msub><mi>X</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000731393760000022.GIF" wi="1469" he="141" /></maths>比较两种行为结果,选择适应度值最高的结果作为真实移动的结果;如果聚群算子和追尾算子都未能成功,则执行觅食算子:在可见范围内随意找一个位置,公式为X<sub>j</sub>=X<sub>i</sub>+rand()*visual,并计算其适应度值;如果该处适应度值大于当前鱼的适应度值,则向该处移动;如果在达到最大尝试次数前未能成功执行觅食算子,则执行随机算子;步骤3.5:算法步骤基于前面提出的构造个体方法及评估·值计算策略,使用人工鱼群算法来求解的步骤如下:(1)设置相关参数初始化人工鱼个数、移动步长、可见范围、拥挤度因子、觅食算子尝试次数及最大迭代次数;(2)鱼群初始化随机生成包含若干个体的初始鱼群M<sub>1</sub>,迭代次数i=1;(3)个体适应度值计算按照步骤3.3计算初始鱼群适应度值;个体适应度值越大,说明该个体越接近最优解;(4)循环每条人工鱼,进行位置更改;对当前鱼分别尝试执行聚群算子和追尾算子,比较两种行为结果,选择适应度值最高的结果作为真实移动的结果;否则,执行觅食算子;(5)计算新位置的适应度值并更新最优解;对第i代鱼群M<sub>i</sub>,按照步骤3.3计算每个人工鱼的适应度值;(6)更新迭代次数(7)判断是否满足算法终止条件算法的终止条件是,鱼群进化代数超过设定的最大迭代次数,转步骤(8);否则,转步骤(4);(8)输出最优解。
地址 116024 辽宁省大连市甘井子区凌工路2号