发明名称 基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法
摘要 一种基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法,包括以下步骤:1)令进化代数g=1,个体编号i=1,参数初始化;2)初始化种群;3)令S<sub>1</sub>中适应度最高与最低个体的适应度分别为f<sub>max</sub>与f<sub>min</sub>,若满足|f<sub>max</sub>-f<sub>min</sub>|≤eps,则算法终止,输出最终结果;若否,令g=g+1,i=1;判断是否达到最大进化代数G<sub>max</sub>,若是,则算法终止,输出目标产物产量的变化曲线,若否,则继续;4)进行预交叉操作;5)令i=i+1,若i=pop,转步骤3);若否,转步骤4);6)从S<sub>1</sub>中随机选择3个个体进行变异交叉操作,得到的实验个体为<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>,若f(<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>)<f(x<sub>i</sub>),则用<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>替换x<sub>i</sub>;若f(<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>)>f(x<sub>i</sub>)且f(<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>)<f(x<sub>i</sub>′),则用<img file="200910095431.x_ab_0.GIF" wi="12" he="32" /><sub>i</sub>替换x<sub>i</sub>′,转步骤5)。本发明提供一种操作简单、收敛速度快、搜索能力强的基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法。
申请公布号 CN101464664A 申请公布日期 2009.06.24
申请号 CN200910095431.X 申请日期 2009.01.09
申请人 浙江工业大学 发明人 俞立;黄骅;陈秋霞
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州天正专利事务所有限公司 代理人 王 兵;王利强
主权项 1、一种基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法,其特征在于:所述控制方法包括以下步骤:1)、令进化代数g=1,个体编号i=1,参数初始化:1.1).设置种群规模pop;1.2).设置杂交概率CR;1.3).设置缩放因子F;1.4).设置最大进化代数G<sub>max</sub>;1.5).设置优化变量的取值范围,其中优化变量为间歇反应器的反应时间和反应温度;2)、初始化种群:设置规模为pop的种群S<sub>1</sub>与S<sub>2</sub>每次随机生成满足约束条件的两个个体x<sub>i</sub>与<img file="A200910095431C00021.GIF" wi="52" he="41" />令该两个体的适应度分别为f(x<sub>i</sub>)和f(x′)<sub>i</sub>,其中f为适应度函数,取间歇反应器中目标产物的产量,且将最大化目标产物的产量作为优化目标,其中适应度较高的个体归入S<sub>1</sub>,较低的归入S<sub>2</sub>,重复该过程直到两个种群的个体数均为pop;3)、令S<sub>1</sub>中适应度最高与最低个体的适应度分别为f<sub>max</sub>与f<sub>min</sub>,若满足|f<sub>max</sub>-f<sub>min</sub>|≤eps,则算法终止,输出最终结果;若否,令g=g+1,i=1;判断是否达到最大进化代数G<sub>max</sub>,若是,则算法终止,输出目标产物产量的变化曲线,若否,则继续;4)、进行预交叉操作,得到的实验个体为y<sub>i</sub>,对应的S<sub>1</sub>与S<sub>2</sub>中的父代个体分别为x<sub>i</sub>与<img file="A200910095431C00022.GIF" wi="52" he="41" />若f(y<sub>i</sub>)&lt;f(x<sub>i</sub>),其中f为适应度函数,则用y<sub>i</sub>替换x<sub>i</sub>,转步骤5);若否,转步骤6);其中预交叉操作的步骤如下:令S<sub>1</sub>与S<sub>2</sub>分别为主种群和辅助种群,预交叉操作由下式表示<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>y</mi><mi>i</mi><mi>j</mi></msubsup><mo>=</mo><mrow><mfenced open='{' close='' separators=','><mtable><mtr><mtd><msubsup><mi>a</mi><mi>i</mi><mi>j</mi></msubsup></mtd><mtd><mi>ifRAND</mi><mo>&lt;</mo><mi>CR</mi></mtd></mtr><mtr><mtd><msubsup><mi>x</mi><mi>i</mi><mi>j</mi></msubsup></mtd><mtd><mi>ifRAND</mi><mo>&lt;</mo><mi>CR</mi></mtd></mtr></mtable></mfenced></mrow></mrow></math>]]></maths>其中y<sub>i</sub>代表实验个体,a<sub>i</sub>是从S2中随机选出的个体,x<sub>i</sub>代表y<sub>i</sub>对应的S<sub>1</sub>父代个体,上标j代表个体中的第j位,若f(y<sub>i</sub>)&lt;f(x<sub>i</sub>),则用y<sub>i</sub>替换x<sub>i</sub>;若否,则从S<sub>1</sub>中随机选择3个个体,按照前文中描述的过程进行交叉操作,得到的实验个体记为<img file="A200910095431C0003170544QIETU.GIF" wi="39" he="54" />,若<maths num="0002"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>则用<img file="A200910095431C00033.GIF" wi="35" he="44" />代替x<sub>i</sub>;若<maths num="0003"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>></mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>且<maths num="0004"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>则用<img file="A200910095431C00036.GIF" wi="36" he="45" />代替<img file="A200910095431C00037.GIF" wi="51" he="40" />5)、令i=i+1,若i=pop,转步骤3);若否,转步骤4);6)、从S<sub>1</sub>中随机选择3个个体进行变异交叉操作,得到的实验个体为<img file="A200910095431C00038.GIF" wi="55" he="42" />若<maths num="0005"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>则用<img file="A200910095431C000310.GIF" wi="27" he="42" />替换x<sub>i</sub>;若<maths num="0006"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>></mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>且<maths num="0007"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>则用<img file="A200910095431C000313.GIF" wi="27" he="41" />替换<img file="A200910095431C000314.GIF" wi="78" he="108" />转步骤5)。
地址 310014浙江省杭州市下城区朝晖六区