CN106650935A - 基于改进遗传算法的金针菇栽培环境优化方法 - Google Patents
基于改进遗传算法的金针菇栽培环境优化方法 Download PDFInfo
- Publication number
- CN106650935A CN106650935A CN201611002348.XA CN201611002348A CN106650935A CN 106650935 A CN106650935 A CN 106650935A CN 201611002348 A CN201611002348 A CN 201611002348A CN 106650935 A CN106650935 A CN 106650935A
- Authority
- CN
- China
- Prior art keywords
- asparagus
- fitness
- individual
- optimal solution
- optimization method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Breeding Of Plants And Reproduction By Means Of Culturing (AREA)
Abstract
本发明公开了一种基于改进遗传算法的金针菇栽培环境优化方法,具体包括:(1)通过随机方法产生M个金针菇个体;(2)利用浮点编码方式对优化变量进行编码,得到适应度函数的最优解;(3)选择适应度高的金针菇个体;(4)对金针菇个体进行交叉操作,得到最优解。该方法在寻找到的最优解较未改进的遗传算法来说更接近函数的实际最优解,同时,收敛次数比未改进的遗传算法低,即寻优的速度比传统遗传算法要快。
Description
技术领域
本发明涉及一种环境优化方法,尤其是涉及一种基于改进遗传算法的金针菇栽培环境优化方法。
背景技术
遗传算法(Genetic Algorithm,GA)是通过模拟生物种群在自然环境中的遗传和进化过程,而形成的一种全局优化随机搜索算法。它借用了生物遗传学的观点,通过自然选择、交叉、变异等遗传操作,来提高各个体的适应性。算法的基本原理是首先随机产生一代初始种群,种群中的每个个体在种群演化过程中都被评价优劣并得到其适应值,并且在选择、交叉以及变异算子的作用下向更高的适应度进化,达到寻求问题最优解的目标。
遗传算法的基本步骤如下:
(1)编码
采用二进制编码方案对优化变量进行编码。采用二进制编码的策略是将各优化分量分别进行编码然后合并成1个二进制位串,就代表了优化问题的1个可能解。除了二进制编码外,常用的编码方式还有浮点数编码。
(2)初始群体的生成
通过随机方法产生给定数量初始群体的个体,这些个体就是一批二进制代码串。首先,对每个个体计算其相应的适应度Fi,按Fi的大小评价该个体的染色体的素质。Fi愈大表示第i个个体的素质愈好,优化的目标是找到Fi最大时所对应的个体。初始种群的素质一般还比较差,GA算子的任务就是从这些初始群体出发,模拟进化过程择优去劣,逐次迭代,选出优秀的种群与个体,以达到优化的目的。
(3)选择
根据各个个体的适应度,按照一定的规则和方法,从第t代群体P(t)中选择出一些优良的个体遗传到下一代群体P(t+1)中。一般选择的规则是适应度Fi越大的个体,赋予更大的选择概率Pi,通常Pi∝Fi,即适应度值高的个体有更多的繁殖后代的机会,以使优良特性得以遗传和保留。
(4)交叉
将群体P(t)内的各个个体随机搭配成对,对每一对个体,以交叉概率Pc交换它们之间的部分染色体。二进制编码串交叉的方法是随机选取一个(或两个)截断点,将双亲的二进制代码串在截断点处切开,然后交换其尾部(或中间部分)以产生新的一代。
(5)变异
对群体P(t)内的每个个体,以变异概率Pm改变某一个或某一些基因串上的基因值为其他的等位基因。对于二进制基因串就是将1改为0,或将0改为1,如二进制基因串11001101可变异为110101101。
重复上述过程,各代种群的优良基因逐渐积累,种群的平均适应度和个体适应度不断上升,直到迭代收敛,即找到最优解为止。
遗传算法虽然可以实现均衡搜索,并在许多复杂问题的求解中表现很好的效果,但是该算法的全局收敛性的理论分析尚待解决。简单遗传算法并不能保证全局最优收敛,即出现通常所说的早熟现象或者根本不收敛。
轮盘赌方式是传统遗传算法中最常使用的选择手段,这种选择方式因其简单、直观的特点,而深受欢迎。轮盘赌选择方式的过程如下:第一步,将该种群中所有个体的适应度累加起来,得到该种群的总适应度;第二步,计算该种群中各个个体的相对适应度。相对适应度的计算方法:每个个体的适应度除以种群的总适应度。在选择操作之前首先给出一个随机数,这个随机数必须是在0和1之间的数,然后利用已经得到的每个个体的相对适应度作为此个体在选择操作中是否被选择的依据。在这种选择方式中,适应度越大的个体,被选中的概率就越大。
轮盘赌的选择方式简单实用,但是也存在一些不足之处。比如在遗传进化的开始阶段,这个阶段一般存在适应度较高的个体,根据轮盘赌的选择方法,适应度高的个体被选中的几率会非常大。因此下一代的种群中会存在相当数量的高适应度的个体,从而导致种群多样性的丧失,种群中个体太单调,很难再进行遗传进化,所以也很难搜索出全局最优解。在遗传进化的末了阶段,种群中个体之间的差异不是很大,适应度也非常接近,此时轮盘赌的选择方法已经无效了,基本已经失去了继续选择的功能。
遗传算法中的交叉算子不仅对遗传算法的收敛性起着至关重要的作用,而且对于遗传算法的收敛速度也起到关键的作用。设计良好的交叉算子使得遗传算法具有良好的收敛性能和收敛速度,提升了算法的性能。
在一些简单遗传算法中,交叉算子的操作是使用一个恒定不变的交叉概率来判断是否需要对配对的父代个体实行交叉互换,不管这对父代个体的相似程度是怎么样的,所以带有一定的盲目性。因此,父代个体在进行了交叉互换之后所生成的子代个体就很有可能把父代个体中原有的优良的基因模式给丢弃了或是破坏了,这样优良的基因模式也就无法继续往子代中进行传递了。这将会导致遗传算法出现不能收敛或者是收敛速度变慢的现象。
发明内容
本发明提供了一种基于改进遗传算法的金针菇栽培环境优化方法,旨在对冷库中栽培的金针菇进行环境优化,更快速地得到更精准的最优栽培方案。
一种基于改进遗传算法的金针菇栽培环境优化方法,具体步骤如下:
(1)通过随机方法产生M个金针菇个体;
(2)利用浮点编码方式对优化变量进行编码;
(3)选择适应度高的金针菇个体;
(4)对金针菇个体进行交叉操作,得到全局最优解。
在步骤(1)中,M称为种群大小,它对算法的效率有很大的影响,种群规模太小会降低种群的多样性,种群规模太大会降低算法的效率。对于不同的问题,种群规模也不同,一般建议M取值范围是20~100。
在步骤(2)中,由于每个金针菇个体对应着一组环境配置,二进制的编码方案会带来较大的转换误差,同时收敛速度也较慢,因此选择浮点编码的方式。
在步骤(3)中,选择适应度高的金针菇个体的方法为:
(3-1)计算当前每个金针菇个体的适应度;
(3-2)根据种群中每个金针菇个体的适应度的高低对这些个体进行降序排序,并将排序后的所有个体分成三等份,分别为适应度较高的第一等份,适应度中等的第二等份,适应度较低的第三等份;
(3-3)将第三等份剔除,第二等份拷贝一份,选择到下一代中,第一等份拷贝两份,并将这两份选择到下一代。
在步骤(3-1)中,每个金针菇个体存在一个适应度,适应度表示该金针菇个体适应程度的变量,适应度越高,该金针菇个体在种群中的表现就越好,存活下来的机会就越大。在金针菇栽培过程的寻优问题中,每个金针菇个体对应着一组环境配置,选择该种环境及其临近环境下对应的平均产量作为该金针菇个体的适应度,即适应度函数为:
其中,fitness(x1,x2.....,x24)为每个金针菇个体的适应度,f(x1i,x2i.....,x24i)为在环境配置为x1i,x2i.....,x24i时对应的产量,可以根据神经网络模型训练并计算得到,i和n为金针菇的个数。
在步骤(3-2)中,第一等份为适应度较高的排在前面的1/3所有金针菇个体;第二等份为适应度中等的排在中的1/3所有金针菇个体;第三等份为适应度较低的排在后面的1/3的所有金针菇个体。
在步骤(3-3)中,将第三等份剔除,是为了不让这部分金针菇个体进入下一代;将第二等份拷贝一份,选择到下一代中,第一等份拷贝两份,并将这两份选择到下一代,是为了保持下一代的种群大小不变。
采用步骤(3-2)和步骤(3-3)的选择操作,可以淘汰掉适应度非常低的个体,提升算法的收敛速度,又快速增加种群中适应度较好的个体数量,使算法更加实用且高效。
在步骤(4)中,对金针菇个体进行交叉操作的方法为:
(4-1)定义两个父代个体为a(x11,x12,...,x1n)和b(x21,x22,...,x2n),定义两个父代个体之间的相似度s为:
并计算进行交叉操作的两个父代个体之间的相似度,k和n为父代中金针菇的个数;
(4-2)定义交叉临界值scp为:
并计算当前的交叉临界值scp,其中G为预先设置的总进化代数,g为该种群此时的进化代数;
(4-3)判断相似度s与当前的交叉临界值scp的大小,如果相似度s大于当前的交叉临界值scp,执行步骤(4-4),反之,执行步骤(4-5);
(4-4)不允许这两个父代个体进行交叉操作,计算得到最优解;
(4-5)允许两个父本进行交叉操作,以变异概率pm改变某一个或某一些基因串以上的基因值为其他基因的等位基因,判断迭代是否收敛,若是,得到全局最优解,若否,重新对金针菇个体进行选择,交叉操作,直到全局迭代收敛,得到全局最优解。
在步骤(4-1)中,采用夹角余弦值表示两个个体的相似度,相似度的区间在[0,1]上,配合使用交叉临界值来控制两个个体是否进行交叉互换的操作。
在步骤(4-3)中,利用交叉临界值scp决定是否进行交叉操作,从步骤(4-2)中的公式可以得到,交叉临界值不是固定不变的,而是随着迭代次数单调递增的。
在步骤(4-5)中,变异概率pm取值范围是0.0001~0.5,作为优选变异概率为0.1。
在步骤(4)中,使用了“相似度”的概念,利用两个父代个体间的相似程度的高低来决定是否进行交叉操作,较大可能地将父代优良的基因模式遗传到下一代当中,从而提高遗传算法的性能。
在种群进化的开始阶段,由于种群中的每个个体之间的差异比较大,相似度会很小,所以需要一个比较小的交叉临界值。随着进化代数的递增,种群间个体的差异会不断减小,相似度就会慢慢提高,此时需要一个较大的交叉临界值。这种动态改变交叉临界值的方式可以有效的确保父代基本不被毁坏,并且提高遗传算法的收敛性能和收敛速度。
通过步骤(3)和步骤(4),各代种群的优良基因逐渐积累,种群的平均适应度和个体适应度不断上升,找到最优解为止。
在遗传算法中有四个参数是需要提前设定的,分别为:种群大小、终止进化代数、交叉概率、变异概率,而在本发明中提出的改进的遗传算法中,交叉概率不需要提前设定,两个个体间是否进行交叉操作由个体相似度和交叉临界值共同决定。
本发明提供了一种精确度高、寻优速度快的金针菇环境优化方法,在原本的遗传算法基础上,针对选择算子和交叉算子做出了改进,改进后的遗传算法寻优的能力得到了改善,主要表现在寻找到的最优解较未改进的遗传算法来说更接近函数的实际最优解,同时,收敛次数比未改进的遗传算法低,即寻优的速度比传统遗传算法要快。
附图说明
图1为本发明金针菇栽培环境优化方法的流程图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1所示,基于改进遗传算法的金针菇栽培环境优化方法的具体步骤如下:
步骤1,通过随机方法产生M个金针菇个体;
M称为种群大小,它对算法的效率有很大的影响,种群规模太小会降低种群的多样性,种群规模太大会降低算法的效率。对于不同的问题,种群规模也不同,一般建议M取值范围是20~100,在对金针菇栽培环境寻优的过程中,选择种群大小M为60。
步骤2,利用浮点编码方式对优化变量进行编码,得到适应度函数的最优解;
由于每个金针菇个体对应着一组环境配置,二进制的编码方案会带来较大的转换误差,同时收敛速度也较慢,因此选择浮点编码的方式。
步骤3,计算当前每个金针菇个体的适应度;
每个金针菇个体存在一个适应度,适应度表示该金针菇个体适应程度的变量,适应度越高,该金针菇个体在种群中的表现就越好,存活下来的机会就越大。在金针菇栽培过程的寻优问题中,每个金针菇个体对应着一组环境配置,选择该种环境及其临近环境下对应的平均产量作为该金针菇个体的适应度,即适应度函数为:
其中,fitness(x1,x2.....,x24)为每个金针菇个体的适应度,f(x1i,x2i.....,x24i)在环境配置为x1i,x2i.....,x24i时对应的产量,i和n为金针菇的个数。
步骤4,根据种群中每个金针菇个体的适应度的高低对这些个体进行降序排序,并将排序后的所有个体分成三等份,分别为第一等份,第二等份,第三等份;
第一等份为适应度较高的排在前面的1/3所有金针菇个体;第二等份为适应度中等的排在中的1/3所有金针菇个体;第三等份为适应度较低的排在后面的1/3的所有金针菇个体。
步骤5,将第三等份剔除,第二等份拷贝一份,选择到下一代中,第一等份拷贝两份,并将这两份选择到下一代;
将第三等份剔除,是为了不让这部分金针菇个体进入下一代;将第二等份拷贝一份,选择到下一代中,第一等份拷贝两份,并将这两份选择到下一代,是为了保持下一代的种群大小不变。
步骤6,定义两个父代个体为a(x11,x12,...,x1n)和b(x21,x22,...,x2n),定义两个父代个体之间的相似度s为:
并计算进行交叉操作的两个父代个体之间的相似度,k和n为父代中金针菇的个数;
采用夹角余弦值表示两个个体的相似度,相似度的区间在[0,1]上,配合使用交叉临界值来控制两个个体是否进行交叉互换的操作。
步骤7,定义交叉临界值scp为:
并计算当前的交叉临界值scp,其中G为预先设置的总进化代数,g为该种群此时的进化代数。
步骤8,判断相似度s与当前的交叉临界值scp的大小,如果相似度s大于当前的交叉临界值scp,执行步骤9,反之,执行步骤10;
利用交叉临界值scp决定是否进行交叉操作,从步骤7中的公式可以得到,交叉临界值不是固定不变的,而是随着迭代次数单调递增的。
步骤9,不允许这两个父代个体进行交叉操作,计算得到最优解。
步骤10,允许两个父本进行交叉操作,以变异概率改变某一个或某一些基因串以上的基因值为其他基因的等位基因,判断迭代是否收敛,若是,得到最优解,若否,重复步骤3~步骤10。
设置初始种群大小为60,总进化代数为200,变异概率为0.1,按照,方法进行寻优测试,经测试得到的全局最优解为449.68,对应的全局最优点为(15.32,97.89,14.02,56.69,14.94,97.68,14.34,45.03,12.35,94.44,11.49,55.72,7.63,96.91,7.27,42.54,5.95,95.54,4.82,42.12,5.53,92.8,5.19,52.31),即当把金针菇栽培过程中恢复期的空气温度设为15.32℃,空气湿度设为97.89%,土壤温度设为14.02℃,土壤湿度设为56.69%,崔蕾期的空气温度设为14.94℃,空气湿度设为97.68%,土壤温度设为14.34℃,土壤湿度设为45.03%,现蕾期的空气温度设为12.35℃,空气湿度设为94.44%,土壤温度设为11.49℃,土壤湿度设为55.72%,均育期的空气温度设为7.63℃,空气湿度设为96.91%,土壤温度设为7.27℃,土壤湿度设为42.54%,抑制期的空气温度设为5.95℃,空气湿度设为95.54%,土壤温度设为4.82℃,土壤湿度设为42.12%,生长期的空气温度设为5.53℃,空气湿度设为92.8%,土壤温度设为5.19℃,土壤湿度设为52.31%时,可以获得理论上的最优产量:每瓶449.68g。
该产量在之前采集到的数据中是最大的,这论证了算法的寻优能力,为了验证该最优方案的可行性,将该方案应用实际金针菇生长的节点中,当生长周期完成后,该节点实际产出的平均值达到了每瓶447.11g,较之前的平均产出来看有了明显的提升,故该方法是可行且有效的。
Claims (5)
1.一种基于改进遗传算法的金针菇栽培环境优化方法,具体步骤如下:
(1)通过随机方法产生M个金针菇个体;
(2)利用浮点编码方式对优化变量进行编码;
(3)选择适应度高的金针菇个体;
(4)对金针菇个体进行交叉操作,得到全局最优解。
2.根据权利要求1所述基于改进遗传算法的金针菇栽培环境优化方法,其特征在于:在步骤(3)中,选择适应度高的金针菇个体的方法为:
(3-1)计算当前每个金针菇个体的适应度;
(3-2)根据种群中每个金针菇个体的适应度的高低对这些金针菇个体进行降序排序,并将排序后的所有个体分成三等份,分别为适应度较高的第一等份,适应度中等的第二等份,适应度较低的第三等份;
(3-3)将第三等份剔除,第二等份拷贝一份,选择到下一代中,第一等份拷贝两份,并将这两份选择到下一代。
3.根据权利要求2所述基于改进遗传算法的金针菇栽培环境优化方法,其特征在于:计算每个金针菇个体的适应度的适应度函数为:
其中,fitness(x1,x2.....,x24)为每个金针菇个体的适应度,f(x1i,x2i.....,x24i)为在环境配置为x1i,x2i.....,x24i时对应的产量,i和n为金针菇的个数。
4.根据权利要求1所述基于改进遗传算法的金针菇栽培环境优化方法,其特征在于:在步骤(4)中,对金针菇个体进行交叉操作的方法为:
(4-1)定义两个父代个体为a(x11,x12,...,x1n)和b(x21,x22,...,x2n),定义两个父代个体之间的相似度s为:
并计算进行交叉操作的两个父代个体之间的相似度,k和n为父代中金针菇的个数;
(4-2)定义交叉临界值scp为:
并计算当前的交叉临界值scp,其中G为预先设置的总进化代数,g为该种群此时的进化代数;
(4-3)判断相似度s与当前的交叉临界值scp的大小,如果相似度s大于当前的交叉临界值scp,执行步骤(4-4),反之,执行步骤(4-5);
(4-4)不允许这两个父代个体进行交叉操作,计算得到全局最优解;
(4-5)允许两个父本进行交叉操作,以变异概率pm改变某一个或某一些基因串以上的基因值为其他基因的等位基因,判断迭代是否收敛,若是,得到全局最优解,若否,重新对金针菇个体进行选择,交叉操作,直到全局迭代收敛,得到全局最优解。
5.根据权利要求4所述基于改进遗传算法的金针菇栽培环境优化方法,其特征在于:变异概率pm取值范围是0.0001~0.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611002348.XA CN106650935A (zh) | 2016-11-10 | 2016-11-10 | 基于改进遗传算法的金针菇栽培环境优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611002348.XA CN106650935A (zh) | 2016-11-10 | 2016-11-10 | 基于改进遗传算法的金针菇栽培环境优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106650935A true CN106650935A (zh) | 2017-05-10 |
Family
ID=58805355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611002348.XA Pending CN106650935A (zh) | 2016-11-10 | 2016-11-10 | 基于改进遗传算法的金针菇栽培环境优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106650935A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521654A (zh) * | 2011-11-22 | 2012-06-27 | 浙江大学 | Rna遗传算法的超临界水氧化反应动力学模型参数估计方法 |
-
2016
- 2016-11-10 CN CN201611002348.XA patent/CN106650935A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521654A (zh) * | 2011-11-22 | 2012-06-27 | 浙江大学 | Rna遗传算法的超临界水氧化反应动力学模型参数估计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035116B (zh) | 多目标编译优化序列选择的代理建模方法 | |
CN113283095A (zh) | 一种进化式数字孪生流域构建方法 | |
CN103870647A (zh) | 一种基于遗传算法的作业车间调度建模的方法 | |
CN102331966A (zh) | 面向路径的软件测试数据进化生成系统 | |
CN105279555A (zh) | 一种基于进化算法的自适应学习神经网络实现方法 | |
CN107784380A (zh) | 一种巡检最短路径的优化方法及优化系统 | |
CN103426027B (zh) | 一种基于遗传神经网络模型的正常蓄水位智能优选方法 | |
CN106067066A (zh) | 基于遗传算法优化装袋算法的电力变压器故障诊断方法 | |
CN102084394A (zh) | 优化氢气管线系统的操作 | |
Priya et al. | An IoT based gradient descent approach for precision crop suggestion using MLP | |
CN106874554A (zh) | 一种天然气系统能流计算的改进方法 | |
Dai et al. | Parameter optimization for growth model of greenhouse crop using genetic algorithms | |
CN102708047B (zh) | 数据流测试用例生成方法 | |
Wang et al. | A new approach of obtaining reservoir operation rules: Artificial immune recognition system | |
CN111369047B (zh) | 一种基于微生物遗传算法的旅游路线规划方法和系统 | |
CN111612160A (zh) | 一种基于粒子群优化算法的增量贝叶斯网学习方法 | |
CN112529233A (zh) | 一种预测草坪参考作物蒸发蒸腾量的方法 | |
CN106292296A (zh) | 基于ga‑svm的水岛加药在线控制方法和装置 | |
CN103473599A (zh) | 一种基于遗传算法和卡尔曼滤波的rbfn组合训练方法 | |
CN103020864B (zh) | 玉米良种选育方法 | |
CN106650935A (zh) | 基于改进遗传算法的金针菇栽培环境优化方法 | |
Marndi et al. | Crop production estimation using deep learning technique | |
Wang et al. | Research on the prediction model of greenhouse temperature based on fuzzy neural network optimized by genetic algorithm | |
Rahmi et al. | Regression Modelling for Precipitation Prediction Using Genetic Algorithms | |
Dunea et al. | Artificial neural networks as support for leaf area modelling in crop canopies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |