范景行
(甘肅民族師范學(xué)院,甘肅 合作 747000)
藥物代謝動力學(xué)軟件設(shè)計(jì)(三室模型)
范景行
(甘肅民族師范學(xué)院,甘肅 合作 747000)
本文的研究范疇是三室模型線性藥物動力學(xué),包括一次靜脈推注給藥、一次血管外給藥、靜脈滴注給藥3種模型。首先根據(jù)模型列出微分方程組,求出方程組的特解方程,然后將參數(shù)整合,根據(jù)已知數(shù)據(jù)求出參數(shù)值,也就是擬合出一條曲線。擬合曲線使用最小二乘法和Gauss-Newton迭代法求解,針對奇異矩陣導(dǎo)致Gauss-Newton法迭代結(jié)果發(fā)散的缺點(diǎn),引進(jìn)了Levenberg-Marquardt法,針對殘差平方和偏重高密度數(shù)據(jù)點(diǎn)的缺點(diǎn),引進(jìn)了權(quán)重。所有算法都用C語言實(shí)現(xiàn)。
藥物代謝動力學(xué);最小二乘法;Gauss-Newton法;Levenberg-Marquardt法
藥物代謝動力學(xué)(也稱藥動學(xué)、藥物動力學(xué)、藥代動力學(xué),PK)是研究藥物及其代謝物在體內(nèi)吸收、分布、轉(zhuǎn)化和排泄過程中,隨著時(shí)間不同,不斷進(jìn)行運(yùn)動變化規(guī)律的科學(xué)。藥物代謝動力學(xué)研究的對象是人體,對患病的機(jī)體以及正常人體用藥后,觀察藥物在體內(nèi)的變化過程。根據(jù)該科學(xué)可對患者提供安全、有效的治療方案,包括給藥途徑、用藥劑型、用法、用量、給藥間隔等,實(shí)現(xiàn)給藥方案個體化;可重新審查給藥計(jì)劃,對不良反應(yīng)做出解釋;可按計(jì)劃對正在進(jìn)行血液、腹膜透析的患者給藥,預(yù)防中毒。根據(jù)該科學(xué)可及時(shí)地進(jìn)行血藥濃度的監(jiān)測,廣泛地收集藥學(xué)情報(bào),為臨床提供科學(xué)的給藥方案,進(jìn)一步提高療效,減少藥物的不良反應(yīng)。所以該學(xué)科所肩負(fù)的任務(wù)非常重要,其研究是采用數(shù)學(xué)手段(如用圖像、公式、參數(shù)等方法)來描述藥物在體內(nèi)運(yùn)動過程中的規(guī)律,因而可為用藥方案的設(shè)計(jì)提供重要的參考依據(jù)。
藥物代謝動力學(xué)從數(shù)學(xué)的角度可分為兩類:線性藥物代謝動力學(xué)和非線性藥物代謝動力學(xué)。在線性藥物代謝動力學(xué)中,藥物代謝動力學(xué)參數(shù)如半衰期與劑量無關(guān);而在非線性藥物代謝動力學(xué)中,藥物代謝動力學(xué)參數(shù)隨劑量(或體內(nèi)藥物濃度)而變化,如半衰期與劑量有關(guān)。本文所討論的內(nèi)容準(zhǔn)確地說屬于線性藥物代謝動力學(xué)范疇,并以三室模型為研究對象,對一次靜脈推注給藥、一次血管外給藥、靜脈滴注給藥3種常見的給藥方式做詳細(xì)介紹。
藥物的三室模型可以這樣設(shè)想:假定藥物進(jìn)入中心室后,逐漸向兩個周邊室轉(zhuǎn)運(yùn),在中央室與周邊室之間藥物進(jìn)行著可逆的運(yùn)動,藥物在中央室按一級過程消除[1],其體內(nèi)過程模型見圖1。

圖1 一次靜脈推注給藥的三室模型
圖1 顯示:X0為靜脈注射給藥劑量;XC為中央室的藥量;XP和XB為周邊室的藥量;k12和k21為中央室與淺外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k13和k31為中央室與深外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k10為藥物從中央室消除的一級速度常數(shù);VC、VP、VB分別為中央室、淺外室、深外室的表觀分布容積。
假如藥物的轉(zhuǎn)運(yùn)過程均服從一級速度過程,即藥物的轉(zhuǎn)運(yùn)速度與該室藥物濃度(或藥量)成正比,則各室藥物的轉(zhuǎn)運(yùn)可用下列微分方程組定量描述[2]。

當(dāng)t=0時(shí),注射的藥物全部存放于中心室內(nèi),尚未轉(zhuǎn)運(yùn)至其他各室。所以XC(0)=X0,XP(0)=XB(0)=0,這就是以上方程組的初始條件。
因?yàn)閷?shí)際測量的數(shù)據(jù)普遍都以中央室為主,所以我們只討論中央室的血藥濃度與時(shí)間的關(guān)系。設(shè)C為中央室藥物濃度,通過求解化簡可得需要擬合的數(shù)學(xué)方程:

設(shè)劑量為X0的藥物,在τ0這段時(shí)間內(nèi),以恒速k0=D0/τ0滴入中心室,其體內(nèi)過程模型[3]見圖2。

圖2 靜脈滴注給藥的三室模型
圖2 顯示:X0為靜脈注射給藥劑量;XC為中央室的藥量;XP和XB為周邊室的藥量;k12和k21為中央室與淺外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k13和k31為中央室與深外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k10為藥物從中央室消除的一級速度常數(shù);VC、VP、VB分別為中央室、淺外室、深外室的表觀分布容積。
在經(jīng)過滴注時(shí)間t(0≤t≤τ)時(shí),中心室的藥量為XC(t),周邊室的藥量為XP(t)和XB(t)。除滴注是恒速K0之外,如果其余各轉(zhuǎn)運(yùn)過程服從一級動力學(xué)過程,則各室間的藥物轉(zhuǎn)運(yùn)方程為[4]:

當(dāng)t=0時(shí),XC(0)=XP(0)=XB(0)=0,這就是以上方程組的初始條件。
因?yàn)閷?shí)際測量的數(shù)據(jù)普遍都以中央室為主,所以我們只討論中央室的血藥濃度與時(shí)間的關(guān)系。同理可得:

這就是滴注后中心室的藥物濃度與時(shí)間關(guān)系。其中,是從滴注完成時(shí)算起。
有些藥物不能做靜脈推注給藥時(shí),則采用血管外給藥,僅需在靜脈推注給藥的三室模型中心室前增加一個吸收室,讓藥物逐漸從吸收室轉(zhuǎn)運(yùn)至中心室,再轉(zhuǎn)運(yùn)至兩個周邊室[5](見圖3)。

圖3 一次血管外給藥的三室模型
圖3 顯示:X0為給藥劑量;Xa為吸收室藥量;XC為中央室的藥量;XP和XB為周邊室的藥量;kа為吸收速度常數(shù);k12和k21為中央室與淺外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k13和k31為中央室與深外室之間的運(yùn)轉(zhuǎn)速度常數(shù);k10為藥物從中央室消除的一級速度常數(shù);Vа、VC、VP、VB分別為吸收室、中央室、淺外室、深外室的表觀分布容積。
假定吸收過程仍是一級過程,則各室間的藥物運(yùn)轉(zhuǎn)可用下列方程表示[6]:

因?yàn)閷?shí)際測量的數(shù)據(jù)普遍都以中央室為主,所以我們只討論中央室的血藥濃度與時(shí)間的關(guān)系。同理可得:

Gauss-Newton 算法步驟歸納如下[7,8]:
(1)取初始近似值A(chǔ)0,允許誤差ε;
(2)計(jì)算 F(XY,A0),DF(X,Y,A0),DF(X,Y,A0)T;
(3)解線性方程組:

得△A;
(4)以△ A修正 A0,即計(jì)算:A=A0+△ A;
(5)若|△ A|>ε,則 A0=A,即將 A 作為初值 A0,重復(fù)步驟(2)、(3)、(4),直至|△ A|<ε。
由于Gauss-Newton法采用的是將非線性函數(shù)在初值附近做Taylor展開,然后略去二次及二次以上諸項(xiàng),做簡單線性近似的方法,所以無法避免兩種情況的發(fā)生:一是Gauss-Newton法對初值的依賴非常嚴(yán)重,如果初值選取不當(dāng),往往發(fā)散,即越迭代越遠(yuǎn)離目標(biāo)值;二是如果Taylor展開后略去的二次及二次以上諸項(xiàng)的值相對過大,依然會造成Gauss-Newton法不收斂。
克服這個困難的一種途徑是采用Levenberg-Marquardt的方法[9,10],即加大 DF(X,Y,A0)TDF(X,Y,A0)的主對角元素,而得到改善,將步驟(3)中的方程改寫成:

式中:μ——阻尼因子;
In——n階單位矩陣或DF(X,Y,A0)TDF(X,Y,A0)的主對角元素構(gòu)成的矩陣(本論文中的算法選擇后者)。相應(yīng)的算法步驟歸納如下:
(1)取初始近似值A(chǔ)0,計(jì)算
(2)取一個適中的μ值,如μ=0.001;
(3)計(jì)算 F(X,Y,A0),DF(X,Y,A0),DF(X,Y,A0)T;
(4)解線性方程組[DF(X,Y,A0)TDF(X,Y,A0)+μ In]△A=-DF(X,Y,A0)TF(X,Y,A0),得△ A,并計(jì)算 V(X,Y,a1,+V a1a2+V a2,L,an+V an,);
(5)如果 V (X,Y,a1+V a1,α2+V a2,L,an+V an)≥ V(X,Y,a1,a2,L,an),則將 μ擴(kuò)大 10 倍(或其他的具有意義的倍數(shù)),再回到步驟(4);
(6)如果V(X,Y,a1+V a1,a2+V a2,L,an+V an)<V(X,Y,a1,a2,L,an),則將μ縮小10倍(或者其他的具有意義的倍數(shù)),將△A+A0代替 A0,再回到步驟(4);
(7)直至|△ A|<ε或 V(X,Y,a1,a2,L,an)的變化量<ε,迭代停止,輸出結(jié)果。
[1]劉昌孝,劉定遠(yuǎn).藥物動力學(xué)概論[M].北京:中國學(xué)術(shù)出版社,1984.
[2]梁文權(quán).生物藥劑學(xué)與藥物動力學(xué)[M].北京:人民衛(wèi)生出版社,2000.
[3]袁亞湘,孫文瑜.最優(yōu)化理論與方法[M].北京:科學(xué)出版社,2003.
[4]關(guān)治,陸金甫.數(shù)值分析基礎(chǔ)[M].北京:高等教育出版社,2002.
[5]韋鶴平.最優(yōu)化技術(shù)應(yīng)用[M].上海:同濟(jì)大學(xué)出版社,1987.
[6]譚浩強(qiáng).C程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2002.
[7]蔣長錦.科學(xué)計(jì)算和C程序集[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1998.
[8]William H P,Saul A T,William T V,et al.C數(shù)值算法[M].2 版.北京:電子工業(yè)出版社,2004.
[9]張賢達(dá).矩陣分析與應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[10]肖愛玲.Some algorithms of nonlinear least squares[J].數(shù)學(xué)理論與應(yīng)用,2004,24(2),86~90.
G431
A
1671-1246(2012)17-0042-03