发明名称 基于改进遗传算法的农作物生育期自动识别方法
摘要 本发明涉及一种基于改进遗传算法的农作物生育期自动识别方法,其包括如下步骤:步骤1、对每一待检测农作物的染色体进行编码;步骤2、随机生成由S条染色体构成的初始种群;步骤3、以任务总执行时间的倒数作为适应度函数,得到适应度值;步骤4、选择用于交叉的M条染色体;步骤5、进行交叉操作,步骤6、进行均匀变异,步骤7、若变异后的染色体的适应度值大于变异前适应度值,则替换变异前的染色体;步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4;步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码。本发明在有限的可分配资源内,能最短的时间内实现对多种农作物生育期的识别。
申请公布号 CN104966243A 申请公布日期 2015.10.07
申请号 CN201510430902.3 申请日期 2015.07.21
申请人 江苏省无线电科学研究所有限公司 发明人 许立兵;周望;徐爱国;朱静;王君科
分类号 G06Q50/02(2012.01)I;G06N3/12(2006.01)I 主分类号 G06Q50/02(2012.01)I
代理机构 无锡市大为专利商标事务所(普通合伙) 32104 代理人 殷红梅;张涛
主权项 一种基于改进遗传算法的农作物生育期自动识别方法,其特征是,所述农作物生育期自动识别方法包括如下步骤:步骤1、提供Ntype种待检测的农作物,并确定Ntype种农作物待检测的总生育期数量Total;对每一待检测农作物的染色体进行编码,任意待检测农作物染色体的长度均为Total,在系统的可分配资源个数为W时,染色体内每个基因在资源编号[0,W‑1]内随机取值;步骤2、随机生成由S条染色体构成的初始种群,初始种群中每一染色体的染色体长度均为Total,且初始种群的染色体内每个基因在资源编号[0,W‑1]内随机取值;步骤3、以任务总执行时间的倒数作为适应度函数f<sub>t</sub>,以得到初始种群中每个染色体的适应度;步骤4、根据每个染色体的适应度,以确定每个染色体被选择的概率P<sub>t</sub>,根据每个染色体的选择概率P<sub>t</sub>后,选择用于交叉的M条染色体;步骤5、对于上述选择的M条染色体,采用随机配对方式生成配对个体组;对配对个体组的染色体根据交叉算子p<sub>c</sub>进行交叉操作,所述交叉算子p<sub>c</sub>为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>p</mi><mi>c</mi></msub><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>p</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub><mo>-</mo><mfrac><mrow><mo>(</mo><msub><mi>p</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub><mo>-</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mo>(</mo><msub><mi>p</mi><mrow><mi>c</mi><mn>2</mn></mrow></msub><mo>)</mo><mo>)</mo><mo>(</mo><msub><mi>f</mi><mi>x</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub><mo>)</mo></mrow><mrow><msub><mi>f</mi><mi>max</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mi>x</mi></msub><mo>&GreaterEqual;</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>p</mi><mrow><mi>c</mi><mn>1</mn></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mi>x</mi></msub><mo>&lt;</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000764116730000011.GIF" wi="1039" he="370" /></maths>其中,p<sub>c1</sub>=0.9,0.6≤p<sub>c2</sub><0.9,f<sub>max</sub>为交叉操作时M条染色体的适应度值中的最大适应度值,f<sub>avg</sub>为交叉操作时M条染色的适应度值的平均值,f<sub>x</sub>是配对个体组中待交叉操作的两个染色体的适应度值中较大的适应度值;步骤6、对上述交叉后的M条染色体,利用变异算子p<sub>m</sub>对每条算子进行均匀变异,所述变异算子p<sub>m</sub>为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>P</mi><mi>m</mi></msub><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>p</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>-</mo><mfrac><mrow><mo>(</mo><msub><mi>p</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>-</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mo>(</mo><msub><mi>p</mi><mrow><mi>m</mi><mn>2</mn></mrow></msub><mo>)</mo><mo>)</mo><mo>(</mo><msub><mi>f</mi><mi>m</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub><mo>)</mo></mrow><mrow><msub><mi>f</mi><mi>max</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mfrac><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mi>m</mi></msub><mo>&GreaterEqual;</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>p</mi><mrow><mi>m</mi><mn>1</mn></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mi>m</mi></msub><mo>&lt;</mo><msub><mi>f</mi><mrow><mi>a</mi><mi>v</mi><mi>g</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000764116730000012.GIF" wi="1075" he="369" /></maths>其中,p<sub>m1</sub>=0.1,0.001≤p<sub>m2</sub><0.1,f<sub>max</sub>是一染色体变异前当前M条染色体的适应度值中的最大适应度值,f<sub>avg</sub>是一染色体变异前当前M条染色体的适应度值的平均值,f<sub>m</sub>是当前要变异染色体在变异操作前的适应度值;步骤7、在上述变异操作后,若变异后的染色体的适应度值大于变异前染色体的适应度值,则用变异后的染色体替换变异前的染色体,否则,保留变异前的染色体;步骤8、若满足迭代进化结束条件,则输出最优的染色体,否则,跳转至步骤4,以重复进行迭代进化操作;步骤9、根据输出最优的染色体,对每一农作物编码后的染色体进行解码,以确定农作物的生育期。
地址 214127 江苏省无锡市滨湖区锦溪路100号