当前位置:文档之家› 遗传算法及其在生物数学模型参数优化中应用

遗传算法及其在生物数学模型参数优化中应用

遗传算法及其在生物数学模型参数优化中的应用摘要:遗传算法是近年来发展起来的智能性优化算法。

它模仿了自然界生物进化的机制,利用数学方法模拟生物的遗传、变异、选择等生物学规律,创造出了一种优化计算方法。

遗传算法特别适合于复杂体系的优化,并往往能够得到很好的结果。

生物数学模型是揭示复杂生物体系(或生物催化体系)内在规律的有力工具。

较为复杂的生物数学模型参数的求取较为困难。

本文介绍了遗传算法原理以及利用遗传算法优化计算生物数学模型参数的方法。

关键词:生物数学模型遗传算法优化中图分类号: q815 文献标识码:a 文章编号:1674-098x(2011)12(c)-0000-001引言生物数学模型对于生物过程的理性分析、定量化研究具有重要作用。

特别是对于复杂生物系统而言,仅仅采用实验的方法一般很难全面反映整个系统的特性,利用数学模型的方法不仅可以加深研究者对系统内在机理的认识,还可以通过计算机模拟的方法研究系统的特性,是一个有力的研究工具。

使用数学模型方法需要求取模型参数。

对于简单的代数方程,如米氏方程,可以采用双倒数作图方法求取模型参数。

对于稍复杂的代数方程,如含有抑制常数的酶反应方程 (式1),可以首先在无抑制物i的条件下进行实验,此时可以忽略分母中的抑制项(i2/ki),方程形式与米氏方程相同,采用求米氏方程参数的方法得到vm和km。

然后,在一定底物浓度s的反应体系中加入不同浓度的抑制剂i并测量反应速度v,将实验数据代入式(1),利用非线性回归,求取抑制常数ki。

(1)对于更加复杂的数学模型,如微分方程组构成的数学模型,上述方法就无能为力了。

复杂系统的优化是一个较为困难的问题,数学家对此进行了大量的研究。

美国学者john h. holland在上世纪六、七十年代利用计算机模仿生物遗传和进化过程,创造了一种新的优化算法——遗传算法(genetic algorithm, ga)[1]。

遗传算法从上世纪80年代开始在复杂优化问题的求解方面得到了广泛的应用并有出色的表现。

本文将介绍遗传算法原理及其在生物数学模型参数优化中的应用。

2 遗传算法计算原理在生物界,遗传、变异与自然选择,周而复始,使生物的适应性不断提高。

遗传使生物种群的基本属性得到保持;变异使某些个体的个别属性发生变化,正向变异使其性能提高,而负向变异使其性能退化;自然选择使适者得以生存、繁殖,不适者遭到淘汰和灭绝。

经过长期进化,生物种群的性能就会不断地提高。

ga模仿生物进化过程,包括繁殖、突变、染色体交叉和选择等几个步骤,对大量个体(染色体)进行反复地筛选,最终找到近似最优解。

基本步骤如下。

2.1 编码和初始化为了方便计算机处理,规定染色体(或基因)由两种类型的碱基(以0或1表示)排列构成,其序列表示染色体型或染色体上的基因型(图1)。

假设进行参数优化的生物数学模型由单个函数构成。

该函数有a个参数s1sa,在ga中,这a个参数的0、1编码被看作是生物染色体(或生物个体)。

计算之初,首先随机产生一个包含b 个个体的生物种群(第一代),表示为g1,g2,……,gb。

染色体可以包含一个基因或多个基因,在这里,染色体包含a个基因,一个基因编码一个被优化的参数。

这样,一个染色体就含有模型的全部参数。

因此,可以用来求解模型,并对照测定值计算模型误差。

原始种群的染色体型(或基因型)由计算机随机产生,称为原始种群的初始化。

经过初始化的染色体具有了初始值,即该染色体的二进制数的值。

该值大小称为染色体的表型。

上述0、1编码的s属于整数域。

如果s属于实数域,则需公式把s映射到实数域上。

在程序编制过程中,染色体群体可以使用二维数组来实现。

初始化利用随机函数随机产生0或1,填写表示染色体群的二维数组。

2.2 突变突变是以很小的概率(称为突变率,pm)随机地改变染色体上的一个碱基(即随机地使编码基因的二进制数的一个位发生从1到0或从0到1的翻转)。

突变发生在哪个染色体上以及在染色体上哪个位点都是由计算机随机确定的。

2.3 交叉染色体交叉也称基因重组,是指一对染色体之间发生部分交换,产生新的染色体。

染色体交叉以一定的概率发生,称为“交叉率”(pc)。

染色体上发生交叉的位点由计算机随机产生(竖线表示交叉位点)。

与突变操作相类似,利用概率发生函数,当概率大于交叉率pc时进行交叉操作。

即首先利用概率发生函数在整数1~b范围内随机选择配对的染色体,然后在整数1~(m-1)范围内随机选择交叉发生的位置(m为二进制数编码的染色体的位数),两染色体的选定位置之后的部分进行互换,完成交叉操作。

2.4 解码和适应度计算解码过程需要把二进制正整数转换成十进制正整数。

如果模型参数以实数表示,需要先把二进制转换成十进制正整数,然后按照线性转换方法映射到实数域中。

利用各染色体的基因型(即g1,g2,……,gb)和适应度函数(反比于模型预测值与试验测定值之间的误差平方和),可以计算各染色体的对环境的适应度。

适应度为大于0的正数,误差越大,适应度越小。

适应度用来确定一个个体被遗传到下一代的概率。

求适应度函数最小值的优化问题时,可以增加一个负号,把求函数最小值的问题转换成求最大值的问题。

2.5 选择和繁殖以每个染色体的适应度作为选择该染色体的概率,利用赌盘对每个染色体进行随机选择。

赌盘由随机函数控制转动和随机停止,选择b次,得到b个个体。

f值大(适应度高)的个体被选择的几率高,f值小的个体被淘汰的几率高。

被选中的染色体得以复制和繁殖,产生生物种群的第二代。

第二代的最大和平均适应度一般比第一代有所提高。

生物种群一代又一代地经过突变、交叉、选择和繁殖,适应度不断提高,最终得到近似于最优的解。

3 遗传算法优化生物数学模型参数以上介绍了由单个方程构成的生物数学模型。

但复杂生物数学模型大多包含多个方程,既包含代数方程又包含微分方程。

例如,酶或微生物反应动力学方程大多是代数方程,而质量平衡方程则为微分方程。

以乳酸杆菌在乳酸起始浓度在0~90g/l范围内,厌氧发酵葡萄糖产生乳酸过程为例,方程(2)、(3)分别为菌体生长比速率(µ)和乳酸合成比速率(qp)方程,为代数方程;方程(4)~(6)为菌体(x)、乳酸(p)和葡萄糖(s)质量平衡方程,为微分方程:上述模型参数列于表1,共有8个参数。

比生长速率(方程2)包含底物抑制、产物抑制和最大菌体浓度限制。

产物合成比速率包括生长相关与生长不相关两项因素(方程3)。

底物消耗包括菌体生长和产物合成对底物的消耗(方程6)。

定义染色体结构为长度为80位的二进制数,包含8个基因,每个基因占10位(图1)。

一个染色体包含数学模型全部8个参数,代入数学模型能够计算得到一组过程变量(x,s,p曲线)。

根据实验测定值可以计算出相应参数下数学模型预测值与实验值之间的误差平方和,进一步计算出该染色体的适应度,误差越小适应度越高。

利用遗传算法求出使误差平方和趋于极小值的一组参数值即为参数的优化结果。

上述计算过程完全由计算机软件自动完成,微分方程求解采用四阶龙格-库塔法。

进行软件编程,实现微分方程组求解和遗传算法之间的有机结合。

遗传算法终止运算的方式有几种,一是设定误差限值,当误差小于设定限值时自动停止。

这种方法有时会由于限值过低,运算难以终止。

二是设定最大循环计算次数,即遗传算法的最大传代数,计算达到最大传代数即停止计算。

本例即采取这种方式。

三是监测误差变化趋势,在经过规定的传代数之后,如果最小误差不再下降即终止计算。

上述计算中,交叉率为0.4,突变率为0.1。

交叉率和突变率的设定还是由经验确定的。

交叉率越低,收敛越快;但频率太低也可能导致收敛于一个局部最优解。

突变率通常取较小的数值,一般为0.001~0.1。

选取高的突变率可以增加个体的多样性,但也可能引起不稳定。

但太小的突变率则可能得不到全局最优解。

上述计算中,种群数量设为30。

选择较大的初始种群数量可以在搜索空间中有更多的搜索点,因而容易找到全局最优解;但种群数量太大增加了每次迭代运算所需的时间。

由图2可以看到,利用遗传算法进行数学模型参数优化得到了很好的拟合结果。

4 结语与传统优化算法相比,遗传算法的适用范围更广,被优化函数的导数不存在的情况下也可以使用。

对于十分复杂的情况,遗传算法在性能上优于一般的非线性回归计算方法。

在发酵工程领域,遗传算法用于计算最优控制轨迹或控制点[2-4]。

遗传算法在生物数学模型参数优化中可以得到很好的结果,在生物工程领域将会得到越来越广泛的应用。

参考文献[1] goldberg d e. genetic algorithm in search, optimization and machine learning [m]. 1989.addison wesley.[2] shioya s. optimization and control of bioprocesses by the genetic algorithm [j].bioscience and industry, 1995, 53: 1402-1404.[3] 王丹,高玲,林建强,曲音波,林建群,余世袁,用遗传算法优化流加培养的底物流加轨迹[j],应用微生物. 2002, 32(3): 40-43.[4] shimizu k. knowledge based control and its applications. in: bioprocess systemanalysis method--the principle of system analysis method and its applications.pp 219-230. 1997. corona publishing co., ltd., japan.。

相关主题