发明名称 一种基于收敛轨迹控制的启发式工程优化方法
摘要 本发明提出一种基于收敛轨迹控制的启发式工程优化方法,包括:提出优化方法的收敛轨迹方程函数组;建立优化方法收敛预测计算公式;动态调整参数以确保优化方法的实际收敛值和设计收敛值相同。本发明优化方法完全不需参数设定,且优化效率高搜索质量好。总体而言,本发明是一种全新的启发式工程优化技术,具有原创性,对丰富和完善启发式工程优化方法理论和应用都具有重要科学意义和价值。
申请公布号 CN106055884A 申请公布日期 2016.10.26
申请号 CN201610356639.2 申请日期 2016.05.24
申请人 浙江大学 发明人 郑飞飞;毕薇薇;申永刚;张土乔;俞亭超;邵煜
分类号 G06F19/00(2011.01)I;G06N3/00(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 浙江杭州金通专利事务所有限公司 33100 代理人 刘晓春
主权项 一种基于收敛轨迹控制的启发式工程优化方法,其特征在于:所述方法能通过参数自适应调整对搜索群体的收敛轨迹进行精细化控制,以确保优化方法能沿着任何设定收敛轨迹进行搜索,从而保证其能在任何给定运行时间预算(迭代次数)的结束点上刚好完全收敛,以避免搜索群体的早熟和不收敛现象,进而提高优化方法的搜索质量和稳定性,该方法包括步骤:(1)提出优化方法的收敛轨迹方程函数组,具体计算公式如下:<maths num="0001"><math><![CDATA[<mrow><msub><mover><mi>d</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>D</mi><mn>0</mn></msub><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mi>t</mi><mi>T</mi></mfrac><mo>)</mo></mrow><mi>a</mi></msup><mo>,</mo><mi>a</mi><mo>&gt;</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>1</mn></mrow>]]></math><img file="FDA0000998816830000011.GIF" wi="1214" he="127" /></maths>式中<img file="FDA0000998816830000012.GIF" wi="102" he="63" />为搜索群体在迭代t(t=1,2,…,T)次后的预期收敛程度(T为最大允许迭代次数),通常<img file="FDA0000998816830000013.GIF" wi="118" he="63" />设为0,表示优化方法在T次迭代后刚好完全收敛;D<sub>0</sub>为搜索群体的初始收敛程度,可标准化设为1;a为搜索轨迹控制参数,a&gt;1表示优化方法的收敛速度先快后慢,a&lt;1表示优化方法的收敛速度先慢后快,而a=1表示优化方法在搜索过程中收敛速度均匀。基于给定的a值,设定收敛轨迹序列可通过公式1‑1计算获得为<img file="FDA0000998816830000014.GIF" wi="373" he="63" />(2)建立优化方法收敛预测计算公式;基于启发式搜索群体,应用平均汉明距离表征优化方法的收敛程度,具体公式为:<maths num="0002"><math><![CDATA[<mrow><mover><mi>d</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>&Theta;</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>2</mn><mrow><mi>N</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>d</mi><mrow><mo>(</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow></msup><mo>,</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>2</mn></mrow>]]></math><img file="FDA0000998816830000015.GIF" wi="1294" he="127" /></maths>式中N为搜索群体中的个体数目;<img file="FDA0000998816830000016.GIF" wi="141" he="71" />为搜索群体Θ=[θ<sup>[1]</sup>,θ<sup>[2]</sup>,...,θ<sup>[N]</sup>]在迭代t次后的平均汉明距离;d(θ<sup>[k]</sup>,θ<sup>[l]</sup>)为θ<sup>[k]</sup>和θ<sup>[l]</sup>两个搜索个体之间的汉明距离(k=1,2,…,N‑1;l=k+1),即θ<sup>[k]</sup>和θ<sup>[l]</sup>之间不同决策变量值个数之和,其计算公式为:<maths num="0003"><math><![CDATA[<mrow><mi>d</mi><mrow><mo>(</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow></msup><mo>,</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><mi>m</mi><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>I</mi><mrow><mo>(</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow></msup><mo>,</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>3</mn></mrow>]]></math><img file="FDA0000998816830000017.GIF" wi="1238" he="119" /></maths>式中m为决策变量总数,I(a,b)为指标函数,如果a=b,则I(a,b)=1,否则I(a,b)=0;本发明启发式工程优化方法源于常规蚁群算法,其在第t+1代的搜索群体是通过第t代的概率矩阵<img file="FDA0000998816830000018.GIF" wi="891" he="70" />随机产生,其中p<sub>ij</sub>(t)为第i=1,2,…,m个决策变量选取第j=1,2,...,m<sub>i</sub>个离散变量参数值的概率(m<sub>i</sub>为第i个决策变量的可选离散参数值个数),具体计算公式为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&tau;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>&alpha;</mi></msup><msubsup><mi>&eta;</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>&beta;</mi></msubsup></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>m</mi><mi>i</mi></msub></munderover><msub><mi>&tau;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>&alpha;</mi></msup><msubsup><mi>&eta;</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>&beta;</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>4</mn></mrow>]]></math><img file="FDA0000998816830000021.GIF" wi="1133" he="191" /></maths>式中{τ,η,α,β}均为优化方法参数。为减少计算量,本发明优化方法通过调整Ω(t)={α(t),β(t)}参数来控制p<sub>ij</sub>(t),进而实现优化方法对搜索轨迹的精细化控制。这一方面是由于{α,β}两个参数对优化方法的搜索质量影响最大,另一方面是由于本发明优化方法是通过p<sub>ij</sub>(t)来控制t+1代群体的收敛,因此,无论调整哪个参数,根本目的是对p<sub>ij</sub>(t)进行控制。根据公式1‑2和Ω(t),本发明优化方法在第t+1代的期望收敛值可通过以下公式计算,<maths num="0005"><math><![CDATA[<mrow><mi>E</mi><mo>&lsqb;</mo><mover><mi>d</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>&Theta;</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><mfrac><mn>2</mn><mrow><mi>N</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>E</mi><mo>&lsqb;</mo><mi>d</mi><mrow><mo>(</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow></msup><mo>,</mo><msup><mi>&theta;</mi><mrow><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo></mrow></msup><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>5</mn></mrow>]]></math><img file="FDA0000998816830000022.GIF" wi="1454" he="119" /></maths>由于群体Θ中的所有个体是通过概率矩阵P(t)随机产生,因此任何两个个体之间的期望汉明距离相同,即<maths num="0006"><math><![CDATA[<mrow><mi>E</mi><mo>&lsqb;</mo><mover><mi>d</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>&Theta;</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><mi>E</mi><mo>&lsqb;</mo><mi>d</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>,</mo><msup><mi>&theta;</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>6</mn></mrow>]]></math><img file="FDA0000998816830000023.GIF" wi="1339" he="71" /></maths>式中θ和θ′是群体Θ的两个随机个体。根据公式1‑3,可推导出<maths num="0007"><math><![CDATA[<mrow><mi>E</mi><mo>&lsqb;</mo><mi>d</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>,</mo><msup><mi>&theta;</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><mi>m</mi><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>E</mi><mo>&lsqb;</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>i</mi></msub><mo>,</mo><msubsup><mi>&theta;</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>7</mn></mrow>]]></math><img file="FDA0000998816830000024.GIF" wi="1367" he="119" /></maths>根据统计学原理,<maths num="0008"><math><![CDATA[<mrow><mi>E</mi><mo>&lsqb;</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>i</mi></msub><mo>,</mo><msubsup><mi>&theta;</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>m</mi><mi>i</mi></msub></munderover><msubsup><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>8</mn></mrow>]]></math><img file="FDA0000998816830000025.GIF" wi="1206" he="127" /></maths>结合1‑6,1‑7和1‑8,本优化方法在第t+1代的收敛程度预测值计算公式为:<maths num="0009"><math><![CDATA[<mrow><mi>E</mi><mo>&lsqb;</mo><mover><mi>d</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>&Theta;</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><mi>m</mi><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>m</mi><mi>i</mi></msub></munderover><msubsup><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow><mn>2</mn></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>9</mn></mrow>]]></math><img file="FDA0000998816830000026.GIF" wi="1309" he="126" /></maths>(3)动态调整参数以确保优化方法的实际收敛值和设计收敛值相同。根据公式1‑9,可建立优化方法收敛预测值(期望收敛)<img file="FDA0000998816830000027.GIF" wi="355" he="95" />与设计值<img file="FDA0000998816830000028.GIF" wi="163" he="71" />的求解函数,具体公式为:<maths num="0010"><math><![CDATA[<mrow><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>arg</mi><mi> </mi><mi>m</mi><mi>i</mi><mi>n</mi><mo>|</mo><mo>|</mo><msub><mover><mi>d</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>E</mi><mo>&lsqb;</mo><mover><mi>d</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>&Theta;</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo><mi>&Omega;</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>|</mo><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mn>1</mn><mo>-</mo><mn>10</mn></mrow>]]></math><img file="FDA0000998816830000029.GIF" wi="1398" he="103" /></maths>通过求解公式1‑10得到参数Ω(t+1),应用该参数值更新公式1‑4得到概率矩阵P(t+1),并产生优化方法的第t+1代群体,该群体实际收敛值和设计值相同,从而实现对算法在每一代收敛轨迹的控制。
地址 310058 浙江省杭州市西湖区余杭塘路866号