基于粒子群算法的微生物发酵优化方法转让专利

申请号 : CN201510471312.5

文献号 : CN105117616B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭建升

申请人 : 莆田学院

摘要 :

本发明公开了一种基于粒子群算法的微生物发酵优化方法,该方法包括以下步骤:建立微生物发酵数据集、将所述微生物发酵数据集随机分成训练数据集与测试数据集两个部分、构建BP神经网络、对BP神经网络进行训练、对每个所述微生物发酵控制参数进行二进制编码得到粒子初始种群、以BP神经网络作为适应度函数计算每个粒子的适应度值、执行粒子的自身极值算子、执行粒子全局极值算子、执行速度‑位移模型操作算子,以BP神经网络作为适应度函数计算更新位置后的新一代粒子适应度值,得到最优的控制参数组合。本发明可根据现有的发酵数据获取取最优的控制参数组合,不需要重新设计实验。

权利要求 :

1.基于粒子群算法的微生物发酵优化方法,其特征在于,包括以下步骤:

步骤一、建立微生物发酵数据集,所述发酵数据集包括微生物发酵过程中的发酵控制参数以及与发酵控制参数对应的发酵产物数量;

步骤二、将所述微生物发酵数据集随机分成训练数据集与测试数据集两个部分;

步骤三、构建BP神经网络,其中,发酵控制参数作为BP神经网络的输入层输入节点,发酵产物数量作为BP神经网络的输出层输出节点,设定隐含层节点数量;

步骤四、使用所述训练数据集对BP神经网络进行训练,使BP神经网络学习控制参数与发酵产物数量之间的映射关系,使用所述测试数据集检测经过训练的BP神经网络预测产物数量的准确性是否在预设的误差范围内,若否,则对所述BP神经网络重新进行训练;

步骤五、根据发酵控制参数的精度和取值范围对每个所述微生物发酵控制参数进行二进制编码,将两个以上二进制编码后的发酵控制参数串连成一条染色体,一条染色体为一个粒子个体,将两个以上粒子个体随机组成初始种群;

步骤六、以步骤四中训练合格的BP神经网络作为适应度函数计算每个粒子的适应度值;

步骤七、执行粒子的自身极值算子,判断粒子当前的适应度值是否大于该粒子所经历过的最好位置pid的适应度值,若是,则更新所述粒子的最好位置pid;

步骤八、执行粒子全局极值算子,判断粒子的适应度值是否大于群体中所有粒子所经历的最好位置pgd的适应度值,若是,则更新群体的全局最好位置pgd;

步骤九、执行速度-位移模型操作算子,判断每个粒子是否找到自身最好位置pid和全局最好位置pgd,若是,则每个粒子按以下公式更新自己的速度和位置,vid(t+1)=ωvid(t)+η

1rand()(pid-xid(t))+η2rand()(pgd-xid(t))、xid(t+1)=xid(t)+vid(t+1),其中,vid(t)表示第i个粒子在t次迭代中第d维上的速度,xid(t)表示第i个粒子在t次迭代中第d维上的位置,ω为惯性权重,η1、η2为加速常数,rand()为0~1之间的随机数;

步骤十、以步骤四中训练合格的BP神经网络作为适应度函数计算更新位置后的新一代粒子适应度值,判断粒子的适应度值是否不再变化,如果还有变化则跳转至步骤六,如果不再变化则输出最优粒子,并进行解码,得到最优的控制参数组合。

2.根据权利要求1所述的基于粒子群算法的微生物发酵优化方法,其特征在于,在步骤一中,所述发酵控制参数包括发酵温度、发酵液pH值、发酵液溶解氧浓度、发酵液浊度或发酵液残氮量。

3.根据权利要求1所述的基于粒子群算法的微生物发酵优化方法,其特征在于,在步骤二中,所述测试数据集占总微生物发酵数据集的5%~7%。

4.根据权利要求1所述的基于粒子群算法的微生物发酵优化方法,其特征在于,在步骤四中,所述误差范围为BP神经网络预测发酵产物数量的预测值和实验测得的观察值之间的线性回归判定系数R2大于0.9。

说明书 :

基于粒子群算法的微生物发酵优化方法

技术领域

[0001] 本发明涉及微生物发酵领域,特别是涉及一种基于粒子群算法的微生物发酵优化方法。

背景技术

[0002] 微生物发酵过程是高度复杂且非线性的过程,难于用精确的数学模型对发酵过程进行建模。近几年,随着计算智能算法的发展,越来越多的计算智能算法被应用到微生物发酵过程建模与优化控制上。如应用BP神经网络、遗传算法等对发酵过程进行建模与优化控制。现有技术常把BP神经网络、遗传算法单独应用于发酵过程的建模与优化控制。也有联合应用BP神经网络与遗传算法对发酵过程进行建模与优化控制,但这种联合应用常常只利用遗传算法优化BP神经网络的结构,再应用优化后的BP神经网络对发酵过程进行建模与优化控制。另外传统的遗传算法优化发酵控制也存在如下主要问题:
[0003] 1、传统遗传算法在个体更新后并没有判断其是否得到优化,以至于经过交叉、变异后的个体出现不如父代的退化现象;
[0004] 2、传统遗传算法容易出现早熟收敛的问题,陷入局部最优解;
[0005] 3、传统遗传算法适应度值高的个体在一代中被选择的概率高,相应的浓度高,适应度值低的个体在一代中被选择的概率低,相应的浓度低,没有自我调节能力,不利于保持群体中个体的多样性;
[0006] 4、现有的发酵控制优化方法都要通过预先设计实验,然后实施设计的实验方案,得到实验数据再进行分析优化控制策略。

发明内容

[0007] 为解决上述技术问题,本发明提供一种基于粒子群算法的微生物发酵优化方法,用于解决现有微生物发酵控制过程需要预先设计发酵实验,并且不易得到发酵最优个体和最优发酵控制参数的问题。
[0008] 本发明是这样实现的:
[0009] 一种基于粒子群算法的微生物发酵优化方法,包括以下步骤:
[0010] 步骤一、建立微生物发酵数据集,所述发酵数据集包括微生物发酵过程中的发酵控制参数以及与发酵控制参数对应的发酵产物的数量;
[0011] 步骤二、将所述微生物发酵数据集随机分成训练数据集与测试数据集两个部分;
[0012] 步骤三、构建BP神经网络,其中,发酵控制参数作为BP神经网络的输入层输入节点,发酵产物的产量作为BP神经网络的输出层输出节点,设定隐含层节点数量;
[0013] 步骤四、使用所述训练数据集对BP神经网络进行训练,使BP神经网络学习控制参数与发酵产物数量之间的映射关系,使用所述测试数据集检测经过训练的BP神经网络预测产物数量的准确性是否在预设的误差范围内,若否,则对所述BP神经网络重新进行训练;
[0014] 步骤五、根据发酵控制参数的精度和取值范围对每个所述微生物发酵控制参数进行二进制编码,将两个以上二进制编码后的发酵控制参数串连成一条染色体,一条染色体为一个粒子个体,将两个以上粒子个体随机组成初始种群;
[0015] 步骤六、以步骤四中训练合格的BP神经网络作为适应度函数计算每个粒子的适应度值;
[0016] 步骤七、执行粒子的自身极值算子,判断粒子当前的适应度值是否大于该粒子所经历过的最好位置pid的适应度值,若是,则更新所述粒子的最好位置pid;
[0017] 步骤八、执行粒子全局极值算子,判断粒子的适应度值是否大于群体中所有粒子所经历的最好位置pgd的适应度值,若是,则更新群体的全局最好位置pgd;
[0018] 步骤九、执行速度-位移模型操作算子,判断每个粒子是否找到自身最好位置pid和全局最好位置pgd,若是,则每个粒子按以下公式更新自己的速度和位置,
[0019] vid(t+1)=ωvid(t)+η1rand()(pid-xid(t))+η2rand()(pgd-xid(t))、[0020] xid(t+1)=xid(t)+vid(t+1),其中,vid(t)表示第i个粒子在t次迭代中第d维上的速度,xid(t)表示第i个粒子在t次迭代中第d维上的位置,ω为惯性权重,η1、η2为加速常数,rand()为0~1之间的随机数;
[0021] 步骤十、以步骤四中训练合格的BP神经网络作为适应度函数计算更新位置后的新一代粒子适应度值,判断粒子的适应度值是否不再变化,如果还有变化则跳转至步骤六,如果不再变化则输出最优粒子,并进行解码,得到最优的控制参数组合。
[0022] 进一步的,在步骤一中,所述发酵控制参数包括发酵温度、发酵液pH值、发酵液溶解氧浓度、发酵液浊度或发酵液残氮量。
[0023] 进一步的,在步骤二中,所述测试数据集占总微生物发酵数据集的5%~7%。
[0024] 进一步的,在步骤四中,所述误差范围为BP神经网络预测发酵产物数量的预测值和实验测得的观察值之间的线性回归判定系数R2大于0.9。
[0025] 本发明的有益效果为:本发明经过训练的BP神经网络直接作为粒子群算法的适应度函数,再应用粒子群算法对发酵过程寻优,免去了粒子群算法对微生物发酵进行优化控制时需要构造复杂的适应度函数的问题,在本发明中,只要用现有的发酵数据,不需要重新设计实验。进一步的,粒子群算法在粒子进化过程中具有记忆功能,它能够记住自身所经历的最优位置(自身极值)和全局粒子所遍历的最优位置(全局极值),在全局模式下通过自身极值和全局极值来不断地调整自身的位置,使得自己的位置不断地向着最优解的方向逼近,因此所有的粒子可以更快地收敛于最优解。并且,粒子群算法不像传统遗传算法那样通过选择机制使得群体的整体质量提高,而通过找出自与自身历史的差距和向优秀个体学习的机制,因此,个体间既有差异又有全局的引领,具有协同搜索的特点,使得群体向着更好的方向发展,通过每一代群体的位置更新产生新的群体,这新可以保证群体的优良性,不断地搜寻全局的最优个体。本发明通过BP神经网络与粒子群算法相结合,不仅解决现有微生物发酵控制过程需要预先设计发酵实验,还有利于得到发酵最优个体和最优发酵控制参数的问题。

附图说明

[0026] 图1为本发明实施方式基于粒子群算法的微生物发酵优化方法的控制流程图。

具体实施方式

[0027] 为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0028] 本发明实施方式一种基于粒子群算法的微生物发酵优化方法,所述粒子群算法(Particle Swarm Optimization,PSO)是一种有效的全局寻优算法,最早由美国的Kenedy和Eberhart于1995年提出,设想模拟鸟群觅食过程,后来从这种模型中得到启示,并将粒子群算法用于解决优化问题。粒子群算法中,每一个优化问题的解看做是搜索空间中的一只鸟,即“粒子”。首先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,并由目标函数评价其适应度值。每个粒子都在解空间中运动,并由一个速度决定其飞行方向和距离,通常粒子追随当前最优粒子在解空间中进行搜索。在每一次迭代过程中,粒子将跟踪两个“极值”来更新自己,一个是粒子本身找到的最优解,另一个是整个种群目前找到的最优解,这个极值即全局最优解。
[0029] 请参阅图1、所述基于粒子群算法的微生物发酵优化方法包括以下步骤:
[0030] 1、选择需要优化控制的发酵控制参数(如发酵温度、发酵液pH值、发酵液溶解氧浓度、发酵液浊度、发酵液残氮量等),并每隔一定时间记录控制参数的设定值及对应的发酵产品的产量。经过多批次的发酵,把这些批次的发酵数据作为发酵数据集。
[0031] 2、把发酵数据集随机分成两部分,一部分为训练数据集,一部分为测试数据集。训练数据集用来训练BP神经网络。测试数据集不参与训练BP神经网络,而是用于测试经过训练的BP神经网络预测发酵产品产量的准确性。优选的,测试数据集占总发酵数据集的6%左右。
[0032] 3、构建BP神经网络方法:把选定的发酵控制参数作为BP神经网络的输入层输入节点,把发酵产品的产量作为BP神经网络的输出层输出节点,选择适当的隐含层节点数,构建三层BP神经网络。
[0033] 4、通过训练数据集对BP神经网络进行训练,让BP神经网络学习控制参数与发酵产品产量之间的映射关系,用测试数据集对经过训练的BP神经网络预测产品产量的准确性进行测试,如果经过训练的BP神经网络预测产量的准确性超出实验允许的误差范围之外,则重新进行训练,如果在实验误差允许的范围内(优选的,要求BP神经网络预测发酵产品产量的预测值和实验测得的观察值之间的线性回归判定系数(coefficient  of determination)R2大于0.9),则BP神经网络训练合格。其中,训练合格的BP神经网络作为免疫遗传算法的适应度函数。
[0034] 5、对选定的发酵控制参数进行编码,每个发酵控制参数根据实验要求的精度和发酵参数取值范围,进行二进制编码。设某一参数x的取值范围在[a,b],编码长度为n,则编码精度为(b-a)/(2n-1),只要确定了实验精度和发酵参数的取值范围,就是算出需要编码的二进制符号串的长度。经过二进制编码后的每个发酵控制参数可以看作一个基因,多个基因串连组成一条染色体,一条染色体代表一个粒子个体,许多个随机个粒子个体组成初始种群,并设置算法参数,如惯性权重ω、速度调节参数η1、η2等。
[0035] 6、计算每个粒子的适应度值,并执行自身极值算子。对每个粒子,比较它的适应度值和它经历过的最好位置pid的适应度值,如果比pid更好,更新最好位置pid。
[0036] 7、执行全局极值算子,比较粒子的适应度值和群体所经历的最好位置pgd的适应度值,如果比pgd更好,更新全局最优解pgd。其中,所述经历的最好位置,就是指粒子所经历过的最优值,即离目标最近的位置。
[0037] 8、执行速度-位移模型操作算子,每粒子都有一个速度,记做Vi={vi1,vi2,…,vin},每个粒子位置记为Xi={xi1,xx2,…,xin},当粒子自身找到的最优解pid和全局最优解pgd都找到后,每个粒子按下式来更新自己的速度和位置;
[0038] vid(t+1)=ωvid(t)+η1rand()(pid-xid(t))+η2rand()(pgd-xid(t))、[0039] xid(t+1)=xid(t)+vid(t+1);
[0040] 式中vid(t+1)表示第i个粒子在t+1次迭代中第d维上的速度,ω为惯性权重,η1、η2为加速常数,rand()为0~1之间的随机数。
[0041] 9、计算更新位置后的新一代粒子适应度值,如果适应值不再变化则退出循环,得到最优解,如果适应度值还有提高,则以新一代粒子群为初始种群再迭代循环,直到找到最优解。
[0042] 现有的发酵控制优化方法都要通过预先设计发酵实验,然后不断的实施设计的多种发酵实验方案,得到发酵实验数据后再进行分析优化控制策略。本发明通过微生物发酵历史数据对BP神经网络进行训练,经过训练合格的BP神经,只要给出微生物发酵的输入参数值就能准确预测出微生物发酵产品的产量(类似一个数学函数,只要给出未知数的值就能马上计算出结果),把经过训练的BP神经网络直接作为粒子群算法的适应度函数,再应用粒子群算法对发酵过程进行优化控制,因此不需要重复发酵实验,只要用现有的发酵数据,就能找到优化的发酵控制策略。例如,某发酵工厂需要第三方去做发酵工艺优化方案,通过本发明就不需要重新设计发酵实验,本发明直接利用发酵工厂现在的发酵历史数据进行分析,就能找出优化的发酵控制策略,使发酵优化控制更加方便、快捷。通过本发明方法,可以绘制出优化的发酵控制轨线,操作员只需要按优化的控制轨线进行控制参数设定,就能有效改善发酵过程。
[0043] 在现有的粒子群算法等进化算法中,控制的难点在于构建适合的算法的适应度函数,特别对高度复杂的微生物发酵过程,构建适应度函数更加困难,本发明通过训练合格的BP神经网络刚好可以作为免疫遗传算法的适应度函数,解决了构建适应度函数难的问题。免去了免疫遗传算法对微生物发酵进行优化控制时需要构造复杂的适应度函数的问题。
[0044] 并且,本发明粒子群算法中,每一个优化问题的解看作是搜索空间中的一只鸟,即“粒子”,每个粒子都在解的空间中运动,并由一个速度决定其飞行的方向和距离,通常粒子追随当前的最优粒子在解空间中进行搜索。在每一次迭代过程中,粒子将跟踪两个“极值”来更新自己,一个是粒子本身找到的最优解,另一个是整个种群目前找到的最优解,这个极值即是全局最优解。
[0045] 粒子群算法在粒子进化过程中具有记忆功能,它能够记住自身所经历的最优位置(自身极值)和全局粒子所遍历的最优位置(全局极值),在全局模式下通过自身极值和全局极值来不断地调整自身的位置,使得自己的位置不断地向着最优解的方向逼近,因此所有的粒子可以更快地收敛于最优解。同时,粒子群算法不像传统遗传算法那样通过选择机制使得群体的整体质量提高,而通过找出自与自身历史的差距和向优秀个体学习的机制。个体间既有差异,又有全局的引领,具有协同搜索的特点,使得群体向着更好的方向发展。通过每一代群体的位置更新产生新的群体,这新可以保证群体的优良性,不断地搜寻全局的最优个体。可见,通过本发明有助于得到发酵最优个体和最优发酵控制参数的问题。
[0046] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。