基于遗传算法的药物动力学参数估计
作者:李进文 陈朝辉 曾平 孙燕
【关键词】 遗传算法;,,药物动力学模型;,,参数估计,,,
摘要: 目的:将遗传算法(GA)用于药物动力学(PK)模型参数估计。方法:用MATLAB70所带遗传算法与直接搜索工具箱(GADS)或免费遗传算法最优化工具箱GAOT求得PK参数估计值。结果:GA与常用PK软件包(传统算法)比较,结果基本一致,各有优点与不足之处。
关键词: 遗传算法; 药物动力学模型; 参数估计
遗传算法(Genetic Algorithm, GA)[1,2]是以选择和遗传理论为基础,将生物进化过程中适者生存规则与群体内部染色体的随机信息交换机制相结合的高效全局寻优搜索算法。GA摒弃了传统的搜索方式,模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机优化搜索。它将问题域中的可能解看作是群体的一个个体或染色体,并将每一个个体编码成符号串形式,模拟达尔文的遗传选择和自然淘汰的生物进化过程,对群体反复进行基于遗传学的操作(遗传、交叉和变异)。根据预定的目标适应度函数对每个个体进行评价,依据适者生存、优胜劣汰的进化规则,不断得到更优的群体,同时,以全局并行搜索方式来搜索优化群体中的最优个体,以求得满足要求的最优解。
GA的基本思想是:从一个代表最优化解的一组初值开始进行搜索,这组解称为一个种群,种群由一定数量、通过基因编码的个体组成,其中每一个个体称为染色体,不同个体通过染色体的复制、交叉或变异又生成新的个体,依照适者生存的规则,个体也在一代接一代地进化,通过若干代的进化,最终得出条件最优的个体。
GA通过交叉算子和变异算子的协同作用确保状态空间各点的概率遍历性,通过选择算子的作用保证算法迭代进程的方向性。选择,交叉和变异是GA的3个主要操作算子,它们构成了遗传操作,使GA具有了其它传统方法没有的特点。但GA在国内医学研究领域中的应用较少[3]。
药物动力学(PK)专用计算机程序包,如PCNONLIN、3P87(3P97)、PKBPN1、MCPKP等,以(加权)非线性最小二乘(LS)法为基本原理,采用GaussNewton迭代法、Hartley法、莱文贝格马夸特法、单纯形法进行PK模型曲线拟合,得到PK参数估计值。本研究将GA用于PK参数估计,并与4个知名PK软件计算的结果进行比较。
1 基本GA的一般步骤
① 选择N个个体构成初始种群P0,并求出种群内各个个体的函数值;
② 设置代数i=1;
③ 计算选择函数的值;
④ 通过染色体个体基因的复制、交叉、变异等创造新的个体,构成新的种群Pi+1;
⑤ 令i=i+1,若不满足终止准则,则转移到步骤③继续进化处理。直到符合终止条件,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止运算。
2 方法
21 方法1
MATLAB 70带有遗传算法与直接搜索工具箱(GADS),在MATLAB命令窗口中进行gatool,将打开遗传算法GUI界面,用可视方式设置GA的各类参数。适应度函数即目标函数为:
Q=ΣWiεi2 (i=1,2,3,…,n)(1)
式(1)中,Wi为权重(一般为1,1/C或1/C2),εi为残差即药物浓度测定值与相应药动学模型(参数θj,j=1,2,3,…,m,m为独立参数个数)计算值之差,εi独立同分布,εi的期望即均值为零,各点的εi方差相等(此时不需加权或权数为1)或不相等(此时需加权处理),n为药(c)时(t)实验数据点对个数。
运用GA,使Q→min,则得到欲求PK参数θ的估计值。
22 方法2
应用美国Carolinna州立大学开发的免费遗传算法最优化工具箱(GAOT),参阅GAOT工具箱手册版。同样可得PK参数θ的估计值。
本研究以方法1为主,辅以方法2。
3 实例
31 实例1
一次静脉注射氯氮平后ct数据见[4],GA与PCNONLIN软件计算结果见表1。
表1 GA与PCNONLIN软件计算3房室模型PK参数估计值结果(略)
32 实例2
单剂量静脉注射盐酸川芎嗪后ct数据见文献[5],GA与3P87(3P97)软件计算结果见表2。
表2 GA与3P87(3P97)软件计算2房室模型PK参数估计值结果(略)
33 实例3
一次静脉注射凝血胺后ct数据见文献[6],GA与PKBPN1软件计算结果见表3。
表3 GA与PKBPN1软件计算3房室模型PK参数估计值结果(略)
34 实例4
一次静脉注射Spectinomycin后ct数据见文献[7],GA与MCPKP软件计算结果见表4。
表4 GA与MCPKP软件计算(以1/C为权重)一次静脉注射2房室模型PK参数估计值(略)
4 讨论
由表1~4可见,GA与4个知名PK软件计算所得参数估计值基本相同。因GA中有随机性因素,故每次得出的结果不完全相同。
PK模型拟合时,经典算法需先提供较好参数初始值(为一或数个点),否测,特别是对非线性很强的模型,可能会局部收敛或根本不收敛[1]。有的PK软件应用剩余法原理可自动计算出初始值。GA初始值为一范围。本研究用MATLAB 70遗传算法与直接搜索工具箱计算PK参数估计值时,一般用默认初始种群的向量范围即[0;1],效果基本令人满意。因为初始范围仅仅限制在初始种群中的点的范围,后续各代包含的点可以不在初始种群的范围之内。如果了解PK参数初始值的大概范围,计算时就可以指定包含问题解的初始范围。但是,假设种群具有足够的多样性,GA可找到不在初始范围的解[1]。GA能以很大概率找到全局最优解。
文献
1 雷英杰,等MATLAB遗传算法工具箱及应用第1版西安:西安电子科技大学出版社,2005,146~207
2 薛定宇,陈阳泉高等应用数学问题的MATLAB求解第1版北京:清华大学出版社,2004,357~369
3 仇丽霞,等二次响应面回归模型用遗传算法探索最优试验条件卫生统计,2004,21(4):184.
4 宋振玉药物代谢研究―意义,方法,应用第1版北京:人民卫生出版社,1990,159~165
5 黄志力,等盐酸川芎嗪静脉注射的药物动力学研究中国药通报,1989,5(4):240.
6 杨友春,陈刚,袁力计算药代动力学的一种非线性算法和程序中国药理学报,1983,4(4):217
7 夏文江,成章瑞MCPKP药物动力学分析的一种微机程序中国药理学报,1988,9(2):188
8 桂占吉,等S形回归模型及其应用数学的实践与认识,1994,2:9