发明名称 基于自适应变步长混沌狼群寻优算法的非线性函数求解方法
摘要 本发明公开一种基于自适应变步长混沌狼群寻优算法的非线性函数求解方法,其内容包括:初始化狼群,将混沌变量作为狼群的初始化位置;选取位置最优的竞选狼作为领导者狼;其它人工狼向着领导者狼的位置奔袭移动;领导者狼搜寻到猎物,其他狼以领导者狼为中心执行围攻行为;根据“优胜劣汰”原则进行群体更新;迭代上述过程,直到达到最大迭代次数,输出最优解。本发明对基于领导者策略的狼群搜索算法(LWPS)进行了改进,并将其用于解决复杂非线性函数求解问题,它弥补了LWPS算法的不足,在寻优精度和收敛速度方面表现出了较好的优越性,具有较好的寻优能力,能够更准、更快地寻找到复杂非线性函数的最优解,丰富了非线性函数求解的理论方法。
申请公布号 CN106502963A 申请公布日期 2017.03.15
申请号 CN201610912105.3 申请日期 2016.10.20
申请人 燕山大学 发明人 姜万录;朱勇
分类号 G06F17/15(2006.01)I 主分类号 G06F17/15(2006.01)I
代理机构 秦皇岛一诚知识产权事务所(普通合伙) 13116 代理人 崔凤英
主权项 一种基于自适应变步长混沌狼群寻优算法的非线性函数求解方法,其特征在于:该方法具体实施步骤包括如下内容:步骤一:初始化狼群初始化狼群中人工狼的数目N,搜索空间维数D,搜索空间取值范围[w<sub>dmax</sub>,w<sub>dmin</sub>],最大迭代次数n<sub>max</sub>,竞选首领狼的数目q,最大搜索次数H<sub>max</sub>,搜索方向h,搜索步长初始值stepa<sub>0</sub>,移动步长stepb,围攻阈值r<sub>0</sub>,围攻步长初始值stepc<sub>0</sub>,淘汰狼的个数m;利用Logistic混沌映射表达式(1)产生N个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,作为狼群的初始化位置;Chaos<sub>n+1</sub>=μ×Chaos<sub>n</sub>(1‑Chaos<sub>n</sub>)μ=4,Chaos<sub>n</sub>∈[0,1]  (1)<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mn>0</mn></msubsup><mo>=</mo><msub><mi>w</mi><mrow><mi>d</mi><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>+</mo><mi>C</mi><mi>h</mi><mi>a</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>d</mi><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>w</mi><mrow><mi>d</mi><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi><mo>;</mo><mi>d</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001134559010000011.GIF" wi="1606" he="63" /></maths>式中,Chaos(0,1)为在区间[0,1]内均匀分布的混沌变量;步骤二:竞争领导者狼选取q匹适应度值较好的人工狼作为竞选者,让其在自己周围的h个方向按表达式(3)不断进行自适应变步长搜索,如果竞选狼搜索到的位置p<sub>kjd</sub>优于当前位置w<sub>jd</sub>,则进行位置移动,否则不移动;当竞选狼搜索次数H达到最大搜索次数H<sub>max</sub>,则结束搜索行为,选取位置最优的竞选狼作为领导者狼;第j(j=1,2…,q)匹竞选狼在其周围第k(k=1,2…,h)个方向产生的搜索位置p<sub>kjd</sub>为:p<sub>kjd</sub>=w<sub>jd</sub>+Chaos(‑1,1)×α×stepa<sub>0</sub>  (3)Chaos(‑1,1)=‑1+2×Chaos(0,1)  (4)式中,w<sub>jd</sub>是第j匹竞选狼在第d维的当前位置,Chaos(‑1,1)为在区间[‑1,1]内均匀分布的混沌变量,stepa<sub>0</sub>为搜索步长初始值,α为搜索步长自适应调节因子,0&lt;α&lt;1,α采用表达式(5)进行自适应确定:<maths num="0002"><math><![CDATA[<mrow><mi>&alpha;</mi><mo>=</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>H</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>H</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001134559010000021.GIF" wi="1062" he="142" /></maths>步骤三:领导者狼召唤奔袭其它人工狼向着领导者狼的位置奔袭移动,而且在奔袭的过程中继续搜索猎物并按表达式(6)进行位置更新;若人工狼更新后的位置g<sub>id</sub>优于当前位置w<sub>id</sub>,则进行位置移动,否则不移动;第i匹人工狼更新后的位置g<sub>id</sub>为:g<sub>id</sub>=w<sub>id</sub>+Chaos(‑1,1)×stepb×(w<sub>ld</sub>‑w<sub>id</sub>)  (6)式中,w<sub>id</sub>是第i匹狼在第d维的当前位置,stepb是移动步长,w<sub>ld</sub>为领导者狼在第d维的位置;步骤四:包围猎物领导者狼搜寻到猎物,通过嚎叫召唤同伴包围猎物,其他人工狼以领导者狼为中心展开包围,当满足预设的围攻阈值r<sub>0</sub>条件时,执行围攻行为,通过表达式(7)进行位置更新;人工狼对猎物进行围攻后,只有当更新后的位置优于原来位置时才进行位置移动,否则保持位置不变;最后,依照表达式(9)对更新后的位置进行越界处理;<maths num="0003"><math><![CDATA[<mrow><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mi>n</mi></msubsup></mtd><mtd><mrow><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&le;</mo><msub><mi>r</mi><mn>0</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>w</mi><mrow><mi>l</mi><mi>d</mi></mrow></msub><mo>+</mo><mi>C</mi><mi>h</mi><mi>a</mi><mi>o</mi><mi>s</mi><mrow><mo>(</mo><mo>-</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi><mi>c</mi></mrow></mtd><mtd><mrow><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&gt;</mo><msub><mi>r</mi><mn>0</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001134559010000022.GIF" wi="1396" he="167" /></maths>式中,<img file="FDA0001134559010000023.GIF" wi="62" he="63" />为第n代第i匹狼在第d维的当前位置,<img file="FDA0001134559010000024.GIF" wi="85" he="63" />为第n+1代第i匹狼在第d维的当前位置,rand(0,1)为在区间[0,1]内产生的随机数,r<sub>0</sub>为预设的围攻阈值,stepc为围攻步长,其值随着迭代次数的增加而自适应地减小,表达式为式(8):<maths num="0004"><math><![CDATA[<mrow><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi><mi>c</mi><mo>=</mo><msub><mi>stepc</mi><mn>0</mn></msub><mo>&times;</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mi>n</mi></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001134559010000025.GIF" wi="1262" he="120" /></maths>式中,stepc<sub>0</sub>为围攻步长初始值;n为当前迭代次数;狼群围攻猎物后位置会发生变化,若不在搜索空间内,需要依照表达式(9)对更新后的位置进行越界处理:<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><msub><mi>w</mi><mrow><mi>d</mi><mi>max</mi></mrow></msub></mtd><mtd><mrow><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>&gt;</mo><msub><mi>w</mi><mrow><mi>d</mi><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><msub><mi>w</mi><mrow><mi>d</mi><mi>min</mi></mrow></msub></mtd><mtd><mrow><msubsup><mi>w</mi><mrow><mi>i</mi><mi>d</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>&lt;</mo><msub><mi>w</mi><mrow><mi>d</mi><mi>min</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001134559010000031.GIF" wi="1222" he="164" /></maths>步骤五:分配食物更新狼群根据“优胜劣汰”的原则进行群体更新,去除狼群中最差的m匹人工狼,同时通过Logistic混沌映射表达式(1)产生m个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,替代最差的m匹人工狼,以保持种群的多样性;步骤六:终止条件判断判断是否达到最大迭代次数,若满足条件则退出循环,输出最优解;否则,转至步骤二。
地址 066004 河北省秦皇岛市海港区河北大街西段438号
您可能感兴趣的专利