发明名称 一种基于KM传染病模型的函数优化方法
摘要 一种基于KM传染病模型的函数优化方法—SIR算法,采用基于KM传染病模型,假设在某个生态系统存在N个生物个体,每个生物个体由n个特征来表征;该生态系统存在一种传染病,且在N个生物个体之间传染,通过传染算子、病态算子、治愈算子、免疫算子和活动算子使生物个体之间相互交换信息:PPI指数高的个体通过病态算子和免疫算子向PPI指数低的个体传递强壮特征的信息,使得PPI指数低的个体能向好的方向生长;传染算子和治愈算子通过使个体获得其它某些个体的平均特征信息,从而降低了该个体陷入局部最优解的概率;活动算子通过使个体的活跃度提高,从而扩大了搜索范围;本算法具有搜索能力强和全局收敛性的特点,为复杂函数优化问题的求解提供了一种方法。
申请公布号 CN103218528B 申请公布日期 2016.03.02
申请号 CN201310122421.7 申请日期 2013.04.09
申请人 西安建筑科技大学 发明人 黄光球;陆秋琴
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 何会侠
主权项 一种基于KM传染病模型的函数优化方法,其特征在于:设要解决的函数优化问题为:min f(X)<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>g</mi><mi>a</mi></msub><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mi>a</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>I</mi></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>h</mi><mi>b</mi></msub><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>,</mo><mi>b</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>E</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>X</mi><mo>&Element;</mo><mi>H</mi><mo>&Subset;</mo><msup><mi>R</mi><mi>n</mi></msup></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000854511000000011.GIF" wi="1558" he="222" /></maths>式中:R<sup>n</sup>是n维欧氏空间;X=(x<sub>1</sub>,x<sub>2</sub>,…,x<sub>n</sub>)是一个n维决策向量,变量x<sub>j</sub>为实数,j=1,2,…,n;H为搜索空间,又称解空间;f(X)为目标函数;g<sub>a</sub>(X)≥0为第a个约束条件,a=1,2,…,I,I为不等式约束条件个数;h<sub>b</sub>(X)=0为第b个等式约束条件,b=1,2,…,E,E为等式约束条件个数;目标函数f(X)和约束条件g<sub>a</sub>(X)、h<sub>b</sub>(X)不需要特殊的限制条件;优化问题的搜索空间与生态系统相对应,该生态系统中一个生物个体对应于优化问题的一个试探解,采用基于KM传染病模型,假设在某个生态系统存在N个生物个体,每个生物个体由n个特征来表征;该生态系统存在一种传染病,且在N个生物个体之间传染,该传染病攻击的是生物个体的部分特征,生物个体染病后可以被治愈,治愈后的生物个体不会再染病,即获得免疫能力;个体的体质强弱是通过该个体的部分特征的染病、部分特征的治愈与部分特征已获得免疫的情况综合决定的;体质强壮的个体能继续生长,而体质虚弱的生物个体则停止生长;通过利用传染算子、病态算子、治愈算子、免疫算子和活动算子使生物个体之间相互交换信息:PPI指数高的个体通过病态算子和免疫算子向PPI指数低的个体传递强壮特征的信息,使得PPI指数低的个体能向好的方向生长;所述PPI指数,称为体质指数,用于表示个体的体质强弱;传染算子和治愈算子通过使个体获得其它个体的平均特征信息,从而降低了该个体陷入局部最优解的概率;活动算子通过使个体的活跃度提高,从而扩大了搜索范围;SIR算法包括如下步骤:(Step1)初始化:a)令时期t=0,按表1初始化本算法中涉及到的所有参数;b)按正交拉丁方生成算法确定N个初始个体;表1参数的取值方法<img file="FDA0000854511000000021.GIF" wi="2013" he="2190" />所述正交拉丁方生成算法INIT为:步骤1:计算每个变量的离散点y<sub>ji</sub>:y<sub>ji</sub>=l<sub>j</sub>+(i‑1)(u<sub>j</sub>‑l<sub>j</sub>)/(N‑1),j=1,2,…,n;i=1,2,…,N;式中,[l<sub>j</sub>,u<sub>j</sub>]为决策变量x<sub>j</sub>的搜索区间;也就是x<sub>j</sub>在搜索区间[l<sub>j</sub>,u<sub>j</sub>]中取值;y<sub>ji</sub>表示x<sub>j</sub>在搜索区间[l<sub>j</sub>,u<sub>j</sub>]中取得的一个值;步骤2:根据正交拉丁方的生成方法计算初始解x<sub>ij</sub>:x<sub>ij</sub>=y<sub>jk</sub>,i=1,2,…,N,j=1,2,…,n式中,k=(i+j‑1)mod N;若k=0,则k=N;上述算法所确定的N个初始解为<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>i</mi><mn>0</mn></msubsup><mo>=</mo><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>x</mi><mrow><mi>i</mi><mi>n</mi></mrow></msub><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></mrow>]]></math><img file="FDA0000854511000000031.GIF" wi="997" he="86" /></maths>(Step2)令个体i从1循环到N,重复执行下述步骤(Step3)~步骤(Step5);(Step3)计算<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</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>,</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>0.5</mn><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>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>1</mn><mo>-</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000032.GIF" wi="1126" he="71" /></maths>其中<img file="FDA0000854511000000033.GIF" wi="175" he="86" />和<img file="FDA0000854511000000034.GIF" wi="70" he="79" />分别表示时期t个体i处于易感状态、染病状态和免疫状态的概率,Rand(0,1)表示在[0,1]区间产生一个均匀分布随机数;(Step4)计算个体i的SIR状态:若<img file="FDA0000854511000000035.GIF" wi="493" he="78" />则<img file="FDA0000854511000000036.GIF" wi="214" he="70" />若<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000037.GIF" wi="437" he="76" /></maths>则<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>1</mn><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000038.GIF" wi="223" he="79" /></maths>若<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000039.GIF" wi="439" he="77" /></maths>则<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA00008545110000000310.GIF" wi="229" he="71" /></maths>其中,函数<img file="FDA00008545110000000311.GIF" wi="293" he="70" />表示在<img file="FDA00008545110000000312.GIF" wi="182" he="83" />和<img file="FDA00008545110000000313.GIF" wi="55" he="79" />三者中取最大者,<img file="FDA00008545110000000314.GIF" wi="112" he="79" />表示时期t个体i所处的状态,如若<img file="FDA00008545110000000315.GIF" wi="206" he="70" />则表示时期t个体i处于易感状态;若<img file="FDA00008545110000000316.GIF" wi="199" he="77" />则表示时期t个体i处于染病状态;若<img file="FDA00008545110000000317.GIF" wi="215" he="71" />则表示时期t个体i处于免疫状态;(Step5)令i=i+1,若i≤N,则转上述步骤(Step3),否则转步骤(Step6);(Step6)执行下列操作:(Step7)令时期t从1循环到G,重复执行下述步骤(Step8)~步骤(Step31),其中G为最大演化时期数;(Step8)令个体i从1循环到N,重复执行下述步骤(Step9)~步骤(Step28);(Step9)随机产生β=Rand(0,1),r=Rand(0,1);其中,参数β称为传染率,β&gt;0;r称为移除率,又称康复率或治愈率,r&gt;0;(Step10)利用KM模型式(3)计算<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>S</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>&beta;S</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msubsup><mi>I</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>I</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msubsup><mi>&beta;S</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msubsup><mi>I</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>rI</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mn>1</mn><mo>-</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000041.GIF" wi="599" he="261" /></maths>所述式(3)为:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><mi>d</mi><mi>S</mi></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mo>-</mo><mi>&beta;</mi><mi>S</mi><mi>I</mi></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><mi>d</mi><mi>I</mi></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mi>&beta;</mi><mi>S</mi><mi>I</mi><mo>-</mo><mi>r</mi><mi>I</mi></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mrow><mi>d</mi><mi>R</mi></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><mi>r</mi><mi>I</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>S</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>S</mi><mn>0</mn></msub><mo>&gt;</mo><mn>0</mn><mo>,</mo><mi>I</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>I</mi><mn>0</mn></msub><mo>&gt;</mo><mn>0</mn><mo>,</mo><mi>R</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000854511000000042.GIF" wi="1252" he="462" /></maths>(Step11)计算个体i的SIR状态:若<img file="FDA0000854511000000043.GIF" wi="478" he="78" />则<img file="FDA0000854511000000044.GIF" wi="206" he="68" />若<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000045.GIF" wi="435" he="77" /></maths>则<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>I</mi><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000046.GIF" wi="199" he="77" /></maths>若<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><msubsup><mi>S</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>I</mi><mi>i</mi><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000047.GIF" wi="429" he="71" /></maths>则<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>R</mi><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000048.GIF" wi="207" he="70" /></maths>(Step12)若<img file="FDA0000854511000000049.GIF" wi="196" he="70" />则令pL=0,pU=pS;其中,pS为状态S出现的概率上限,pL表示概率的下限变量,pU表示概率的上限变量;(Step13)若<img file="FDA00008545110000000410.GIF" wi="207" he="76" />则令pL=pS,pU=pI;其中,pI为状态I出现的概率上限;(Step14)若<img file="FDA00008545110000000411.GIF" wi="246" he="77" />则令pL=pS,pU=pR;其中,pR为状态R出现的概率上限;(Step15)令个体的特征j从1循环到n,重复执行下述步骤(Step16)~步骤(Step25);(Step16)若pU&lt;p或p≤pL,则令<img file="FDA00008545110000000412.GIF" wi="239" he="93" />其中p为S、I、R状态出现的实际概率;<img file="FDA00008545110000000413.GIF" wi="66" he="93" />和<img file="FDA00008545110000000414.GIF" wi="94" he="95" />分别表示时期t和时期t‑1时个体i中的第j个特征的状态值;否则执行下述步骤(Step17)~步骤(Step24);(Step17)若<img file="FDA00008545110000000415.GIF" wi="221" he="78" />且<img file="FDA00008545110000000416.GIF" wi="227" he="78" />则按式(9)描述的活动算子计算<img file="FDA00008545110000000417.GIF" wi="79" he="77" /><img file="FDA0000854511000000051.GIF" wi="1558" he="247" />式中:<img file="FDA0000854511000000052.GIF" wi="101" he="63" />s∈{i<sub>1</sub>,i<sub>2</sub>,…,i<sub>L</sub>},k≠s≠i;α<sub>k</sub>,β<sub>k</sub>为常数,0&lt;α<sub>k</sub>,β<sub>k</sub>&lt;1,计算时取α<sub>k</sub>=Rand(0,1),β<sub>k</sub>=Rand(0,1);m<sub>I</sub>和m<sub>E</sub>为参与当前计算的个体数,m<sub>I</sub>≥2,m<sub>E</sub>≥1,m<sub>I</sub>&gt;m<sub>E</sub>;E<sub>0</sub>是从用其编号表示的特征集合{1,2,…,n}中随机选出一个特征的概率上限;q为特征被选中的实际概率,q=Rand(0,1);(Step18)若<img file="FDA0000854511000000053.GIF" wi="214" he="78" />且<img file="FDA0000854511000000054.GIF" wi="222" he="77" />则按式(5)描述的传染算子计算<img file="FDA0000854511000000055.GIF" wi="79" he="76" /><img file="FDA0000854511000000056.GIF" wi="1621" he="270" />式中:A<sub>inf</sub>为从已染病的个体中随机挑选L个个体,这些个体形成已染病者集合,即<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msub><mi>A</mi><mi>inf</mi></msub><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>1</mn></msub><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>2</mn></msub><mi>t</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mi>L</mi></msub><mi>t</mi></msubsup><mo>}</mo><mo>,</mo><mi>L</mi><mo>&GreaterEqual;</mo><mn>1</mn><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000057.GIF" wi="749" he="111" /></maths>(Step19)若<maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><msubsup><mi>SIK</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>S</mi></mrow>]]></math><img file="FDA0000854511000000058.GIF" wi="222" he="78" /></maths>且<maths num="0016" id="cmaths0016"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>R</mi><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000059.GIF" wi="223" he="69" /></maths>则令<maths num="0017" id="cmaths0017"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>S</mi><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA00008545110000000510.GIF" wi="484" he="87" /></maths>(Step20)若<maths num="0018" id="cmaths0018"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>I</mi></mrow>]]></math><img file="FDA00008545110000000511.GIF" wi="212" he="76" /></maths>且<maths num="0019" id="cmaths0019"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>S</mi><mo>,</mo></mrow>]]></math><img file="FDA00008545110000000512.GIF" wi="223" he="76" /></maths>则令<maths num="0020" id="cmaths0020"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>I</mi><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA00008545110000000513.GIF" wi="484" he="87" /></maths>(Step21)若<img file="FDA00008545110000000514.GIF" wi="215" he="76" />且<img file="FDA00008545110000000515.GIF" wi="221" he="78" />则按式(6)描述的病态算子计算<img file="FDA00008545110000000516.GIF" wi="79" he="79" /><img file="FDA00008545110000000517.GIF" wi="1558" he="247" />式中:A<sub>sick</sub>为从已染病的个体中随机挑选出L个其PPI指数要高于个体i的PPI指数的个体形成集合,即<maths num="0021" id="cmaths0021"><math><![CDATA[<mrow><msub><mi>A</mi><mrow><mi>s</mi><mi>i</mi><mi>c</mi><mi>k</mi></mrow></msub><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>1</mn></msub><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>2</mn></msub><mi>t</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mi>L</mi></msub><mi>t</mi></msubsup><mo>}</mo><mo>,</mo><mi>L</mi><mo>&GreaterEqual;</mo><mn>1</mn><mo>;</mo></mrow>]]></math><img file="FDA00008545110000000518.GIF" wi="758" he="110" /></maths>(Step22)若<img file="FDA00008545110000000519.GIF" wi="213" he="76" />且<img file="FDA00008545110000000520.GIF" wi="261" he="84" />则按式(7)描述的治愈算子计算<img file="FDA00008545110000000521.GIF" wi="93" he="92" /><img file="FDA00008545110000000522.GIF" wi="1590" he="254" />式中:A<sub>cure</sub>为从病已治愈的个体中随机挑选L个个体,这些个体形成病已治愈者集合,即<maths num="0022" id="cmaths0022"><math><![CDATA[<mrow><msub><mi>A</mi><mrow><mi>c</mi><mi>u</mi><mi>r</mi><mi>e</mi></mrow></msub><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>1</mn></msub><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mn>2</mn></msub><mi>t</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>X</mi><msub><mi>i</mi><mi>L</mi></msub><mi>t</mi></msubsup><mo>}</mo><mo>,</mo><mi>L</mi><mo>&GreaterEqual;</mo><mn>1</mn><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000061.GIF" wi="719" he="102" /></maths>(Step23)若<maths num="0023" id="cmaths0023"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>R</mi></mrow>]]></math><img file="FDA0000854511000000062.GIF" wi="212" he="69" /></maths>且<maths num="0024" id="cmaths0024"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>S</mi></mrow>]]></math><img file="FDA0000854511000000063.GIF" wi="198" he="78" /></maths>或者<maths num="0025" id="cmaths0025"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>I</mi><mo>,</mo></mrow>]]></math><img file="FDA0000854511000000064.GIF" wi="245" he="85" /></maths>则令<maths num="0026" id="cmaths0026"><math><![CDATA[<mrow><msubsup><mi>SIR</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mi>R</mi><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000854511000000065.GIF" wi="479" he="95" /></maths>(Step24)若<img file="FDA0000854511000000066.GIF" wi="208" he="77" />且<img file="FDA0000854511000000067.GIF" wi="222" he="70" />则按式(8)描述的免疫算子计算<img file="FDA0000854511000000068.GIF" wi="71" he="70" /><img file="FDA0000854511000000069.GIF" wi="1589" he="245" />式中:A<sub>immunity</sub>为从已免疫的个体中随机挑选L个体质较个体i更好的个体,这些个体形成体质更优的已免疫者集合,即<img file="FDA00008545110000000610.GIF" wi="751" he="94" />(Step25)令j=j+1,若j≤n,则转上述步骤(Step16),否则转步骤(Step26);(Step26)将超出可行域的变量值压回到可行域内;(Step27)按式(10)描述的生长算子计算得到<img file="FDA00008545110000000611.GIF" wi="103" he="77" /><img file="FDA00008545110000000612.GIF" wi="1478" he="173" />式中:<maths num="0027" id="cmaths0027"><math><![CDATA[<mrow><msubsup><mi>V</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mn>2</mn></mrow><mi>t</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mi>n</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo><msubsup><mi>X</mi><mi>i</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mn>1</mn></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mn>2</mn></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mi>n</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA00008545110000000613.GIF" wi="1014" he="79" /></maths>函数<img file="FDA00008545110000000614.GIF" wi="169" he="70" />和<img file="FDA00008545110000000615.GIF" wi="199" he="70" />按式(4)计算;PPI(X<sub>i</sub>)=F<sub>max</sub>‑F(X<sub>i</sub>)   (4)式中:F<sub>max</sub>为非常大的实数,用于对不满足约束条件的试探解进行惩罚;而F(X<sub>i</sub>)按式(2)计算:<img file="FDA00008545110000000616.GIF" wi="1838" he="159" />式(2)中的符号已在式(1)中描述;(Step28)令i=i+1,若i≤N,则转上述步骤(Step9),否则转步骤(Step29);(Step29)若新得到的全局最优解与最近一次获得的全局最优解之间的误差满足最低要求ε,则转下述步骤(Step32);(Step30)保存新得到的全局最优解;(Step31)令t=t+1,若t≤G,则转上述步骤(Step8),否则转步骤(Step32);(Step32)结束。
地址 710055 陕西省西安市雁塔路13号