魏若楠, 江 駒, 徐海燕
(1.南京航空航天大學(xué) 自動化學(xué)院,江蘇 南京 211106; 2.南京航空航天大學(xué) 經(jīng)濟與管理學(xué)院,江蘇 南京 211106)
在國內(nèi)外部分地區(qū),患者通過預(yù)約進行身體檢查或治療。部分發(fā)達國家的預(yù)約就診已經(jīng)普及多年,然而排隊現(xiàn)象依然常見,在公立醫(yī)院尤為嚴重。雖然我國預(yù)約就診尚未普及,但預(yù)約住院、手術(shù)、檢查等已有所實施。部分預(yù)約項目排隊現(xiàn)象十分嚴重,排隊時間少則半個月,多則一年[1]。對病情很輕的患者而言,他們有能力接受一定程度的等待;對病情嚴重的患者而言,等待可能會加速病情惡化甚至死亡[2]。國外許多醫(yī)院摒除先來先服務(wù)排隊規(guī)則,目前我國部分醫(yī)院也開始效仿此措施,2019年5月起,北京20家設(shè)有急診的市屬三甲醫(yī)院啟動了急診預(yù)檢的分級就診[3]。在資源有限的情況下,將患者分配到怎樣的位置,才能降低總體等待時間,合理服務(wù)各類患者,排隊策略是解決以上問題的關(guān)鍵。
國內(nèi)外對預(yù)約排隊策略均有研究,盧林發(fā)等[4]將患者分為普通患者和預(yù)約患者,預(yù)約患者直接享有插隊式服務(wù),但是此方法只適合預(yù)約患者遠少于普通患者的情況。劉鵬[5]對患者優(yōu)先級、等待時間等因素加權(quán)求和,根據(jù)權(quán)重決定就診順序。權(quán)重按經(jīng)驗給出,并且只分了兩個優(yōu)先級,不能很好地描述現(xiàn)實情況。Wang等[6]結(jié)合患者類型和數(shù)量特點,動態(tài)調(diào)整每天的預(yù)約患者和當日來診患者占有的資源比例。He等[7]研究了患者優(yōu)先級提升的問題,給出了相鄰優(yōu)先級跨越所需的等待時間。Jiang[8]綜合考慮患者的等待時間和優(yōu)先級,利用網(wǎng)格法確定排隊策略中的參數(shù),但排隊策略還有待進一步優(yōu)化。
產(chǎn)生能反映真實情況的數(shù)據(jù)是排隊系統(tǒng)仿真的關(guān)鍵一步。大多數(shù)研究遵循經(jīng)典排隊理論,將到達過程視為泊松分布,到達率為一個常值[9~11]。Bockstal等[12]進一步對泊松達到的兩類病人分別給出了不同的到達率。周杰等[13]為CT室的常規(guī)患者建立了Gemo/NB/1排隊模型。章順悅等[14]為眼科患者建立了G/Ek/c排隊模型。由此可見,到達過程并不能用統(tǒng)一的分布去描述。神經(jīng)網(wǎng)絡(luò)在學(xué)習與預(yù)測方面具有優(yōu)勢[15,16]。相比于其它神經(jīng)網(wǎng)絡(luò),LSTM神經(jīng)網(wǎng)絡(luò)能夠循環(huán)傳遞神經(jīng)細胞的時域關(guān)聯(lián)信息,更適合處理時間序列[17,18]。
借鑒上述研究成果,針對現(xiàn)有策略缺乏系統(tǒng)的優(yōu)化、數(shù)據(jù)泛化能力不足的問題,本文建立了LSTM-GA的混合模型:以醫(yī)療大數(shù)據(jù)和深度學(xué)習技術(shù)為背景,首先,提出用LSTM神經(jīng)網(wǎng)絡(luò)學(xué)習歷史規(guī)律,提高模型的對實際問題的描述能力。其次,利用智能優(yōu)化算法對排隊策略進行更深更廣的優(yōu)化。結(jié)合模擬退火算法和自適應(yīng)交叉概率改進傳統(tǒng)遺傳算法,使全局搜索能力更強[19]。最后,將歷史結(jié)果同優(yōu)化結(jié)果對比,分析優(yōu)化算法的有效性和策略的敏感性。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程如下
1)參數(shù)初始化
對神經(jīng)元之間的權(quán)重系數(shù)隨機賦予初始值。
2)前向傳播
循環(huán)層內(nèi)部結(jié)構(gòu)如圖2所示,t時刻的輸出由內(nèi)部模塊的輸出、t時刻輸入以及偏置共同決定,循環(huán)層輸出ht計算如下
圖2 循環(huán)層內(nèi)部結(jié)構(gòu)
ht=ot×tanh(Ct)
(1)
(6)
(7)
式中,Wd是全連接層的權(quán)重矩陣,bd是全連接層的偏置項。
3)誤差計算,計算樣本輸出與期望輸出的偏離程度,誤差L計算如下
(8)
式中y為樣本的期望輸。
4)反向傳播,通過梯度下降法迭代更新所有參數(shù),權(quán)重Wf的梯度如下所示
(9)
其余變量的梯度以此類推。
患者經(jīng)醫(yī)護人員預(yù)診斷,根據(jù)自身的病情輕重被分為不同優(yōu)先級,病情越嚴重優(yōu)先級越高,所期望的等待時間也越短。表1給出了某醫(yī)院為患者劃分的優(yōu)先級和期望等待天數(shù),優(yōu)先級為1的患者級別最高,表示病情最嚴重,期望等待天數(shù)最短。
表1 患者優(yōu)先級與預(yù)期等待天數(shù)
排隊策略給每位患者賦予不同權(quán)重,按照權(quán)重大小給患者分配就診順序,權(quán)重越大,越優(yōu)先占用醫(yī)療資源。若出現(xiàn)權(quán)重相同的情況,則預(yù)約申請時間更早的患者在前。權(quán)重w與優(yōu)先級和等待天數(shù)相關(guān),計算如下
w=a×Pi+b(t-Targeti),(i=1,2,3,4)
(10)
其中,a和b是決策變量,決定了優(yōu)先級和等待時間對權(quán)重的影響程度;Pi是優(yōu)先級i的初始系數(shù);t是患者的等待天數(shù),Targeti是優(yōu)先級的期望等待天數(shù),對應(yīng)關(guān)系如表1。a、b、P1、P2、P3和P4為待優(yōu)化參數(shù),共同決定了患者-資源的分配原則。
將目標函數(shù)E設(shè)定為平均超出時間,對不同優(yōu)先級患者的超出等待時間做加權(quán)處理。目標函數(shù)E如下
(11)
其中,N是仿真期間到達的患者總數(shù);T是仿真天數(shù);d是超出等待時間,即患者的等待時間減去其優(yōu)先級對應(yīng)的期望等待時間;ki是優(yōu)先級的超出等待時間加權(quán)系數(shù),分別取4,3,2,1;是超出等待時間為d天的患者人數(shù)。
本文結(jié)合該科室實際情況做出以下合理假設(shè):
1)患者預(yù)約后會在隊列中等待直到就診。
2)患者的就診時長與優(yōu)先級無關(guān)。
3)患者一次的就診時長不超過一天。
遺傳算法對優(yōu)化問題沒有太多的數(shù)學(xué)上的限制,對于多種形式的目標函數(shù)和約束,比如線性或者非線性,離散或者連續(xù)都可處理。由于算子具備各態(tài)歷經(jīng)性,因此算法能進行概率層面的全局搜素。
改進GA算法具體步驟如下
1)初始化
設(shè)置交叉概率、變異概率、種群的個體數(shù)目和最大迭代次數(shù),給種群的染色體隨機賦值。
2)編碼與解碼
采用二進制編碼,解的精度為delta。對于第i個變量x,給出解的上邊界Xi+和下邊界Xi-,第i個變量的編碼長度Li的計算如下
(12)
若第n個變量的染色體長度為n,其二進制編碼Xi=bn-1bn-2,…,b0,要將二進制的編碼解析為數(shù)學(xué)解,解碼的計算方法如下
(13)
3)計算個體適應(yīng)度
本文期望目標函數(shù)取得最小值,為滿足當目標函數(shù)值減小時適應(yīng)度值增大的要求,設(shè)計適應(yīng)度函數(shù)與目標函數(shù)成反比。
4)選擇
個體被選中的概率如下
(14)
其中Pi是第i個個體被選中的概率,indvi是第i個個體對應(yīng)的解,M是種群的規(guī)模。
5)自適應(yīng)交叉
簡單遺傳算法中交叉概率為常數(shù),這使得算法的收斂能力和尋優(yōu)能力不能相互協(xié)調(diào)。自適應(yīng)交叉概率旨在實現(xiàn)搜索和收斂的平衡[21]。當種群多樣性變高時,種群中最大適應(yīng)度和平均適應(yīng)度之間的差是增大的,交叉概率應(yīng)當減小。交叉概率的計算如下
(15)
其中,Fmax和Favg是最大適應(yīng)度和平均適應(yīng)度,k1和k2是0到1之間的常數(shù),F′是兩個交叉?zhèn)€體中較大的適應(yīng)度值。
6)模擬退火變異
模擬退火變異方法旨在跳出局部最優(yōu),尋找全局最優(yōu)解[22],以一定概率接受差的變異,概率按照Metropolis準則[23]計算如下
(16)
ΔE是能量的改變,應(yīng)用于遺傳算法即是變異前后目標函數(shù)的差值,Titer是系統(tǒng)的溫度,iter是當前種群的迭代次數(shù),T0是系統(tǒng)的初始溫度。
7)重復(fù)上述步驟2)~6),直到迭代次數(shù)達到最大。
將LSTM神經(jīng)網(wǎng)絡(luò)與改進GA相結(jié)合,對策略進行優(yōu)化,LSTM-GA混合模型結(jié)構(gòu)如圖3所示,其過程如下:
圖3 LSTM-GA混合模型結(jié)構(gòu)
Step1LSTM神經(jīng)網(wǎng)絡(luò)通過對歷史數(shù)據(jù)的學(xué)習,產(chǎn)生四類患者的每日到達數(shù)量。四類患者分別為瀕危、危重、急癥和非急癥。
Step2根據(jù)排隊策略分配患者占有資源的先后順序,權(quán)重大的患者排在隊列前。
Step3LSTM神經(jīng)網(wǎng)絡(luò)產(chǎn)生每日服務(wù)患者的數(shù)量。完成治療的患者離開隊列,未完成治療的患者更新自身屬性。
Step4在仿真時長內(nèi)不斷重復(fù)Step1~Step3。
Step5策略優(yōu)化模塊統(tǒng)計患者的優(yōu)先級、等待情況等屬性,計算出目標函數(shù)值。利用改進GA算法不斷迭代優(yōu)化決策變量,降低患者等待時間。
本文待優(yōu)化的參數(shù)是a、b、P1、P2、P3和P4,利用分層優(yōu)化的思想將a、b定義為外部參數(shù),P1~P4定義為內(nèi)部參數(shù)。先對內(nèi)部參數(shù)進行優(yōu)化,然后基于此組內(nèi)部參數(shù)再對外部參數(shù)進行優(yōu)化。
為驗證本文方法的有效性,獲取了國外某醫(yī)院某科室近五年患者預(yù)約檢查的醫(yī)療數(shù)據(jù),共包含55354條患者就診信息,每條信息描述了病人申請治療日期、優(yōu)先級、期望等待天數(shù)和實際治療日期等。
建立LSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測一年的患者每日到達量和每日服務(wù)量。為了驗證本文LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的效果,本文建立經(jīng)典排隊理論的隨機型輸入過程與之對比。
結(jié)合經(jīng)驗公式以及反復(fù)試驗[24],設(shè)計網(wǎng)絡(luò)拓撲結(jié)構(gòu)為7×16×32×1,分別為輸入層、循環(huán)層、全連接層和輸出層。為避免網(wǎng)絡(luò)出現(xiàn)過擬合,一方面采用Hinton等[25]提出的Dropout技術(shù),Dropout率為0.2,隨機切斷20%的神經(jīng)元之間的連接;另一方面在循環(huán)層增加正則化方法,懲罰項系數(shù)0.001,應(yīng)用于循環(huán)層的非偏置項。
假設(shè)每日患者到達量和服務(wù)量服從表2所列分布,對其進行非參數(shù)檢驗。服務(wù)階段的泊松分布的漸進顯著性略微高于0.05,其余分布的漸進顯著性都低于0.05,說明了實際數(shù)據(jù)的特征不適合用上述經(jīng)典分布描述。
表2 每日患者到達量與服務(wù)量分布檢驗
選擇效果相對好的泊松分布和均勻分布與神經(jīng)網(wǎng)絡(luò)進行對比。以歷史數(shù)據(jù)作為參考,對每日的患者到達數(shù)量進行預(yù)測,如圖4所示,泊松到達太過平穩(wěn),未能體現(xiàn)真實的到達情況,均勻分布的到達過程波動劇烈,遠遠超出了真實狀態(tài),LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的到達過程很好地跟隨了真實數(shù)據(jù)的規(guī)律。相應(yīng)地對每日服務(wù)患者的數(shù)量進行對比,如圖5所示,同樣LSTM神經(jīng)網(wǎng)絡(luò)對趨勢有更準確的預(yù)測能力。
圖4 達到情況對比
圖5 服務(wù)情況對比
采用表3評價指標評價預(yù)測能力,神經(jīng)網(wǎng)絡(luò)在各項指標上都明顯高于隨機分布的結(jié)果,說明了LSTM神經(jīng)網(wǎng)絡(luò)產(chǎn)生的到達過程和服務(wù)過程能更好地反映真實情況。
表3 各模型結(jié)果評價指標
利用LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測每日到達的患者數(shù)量,根據(jù)歷史數(shù)據(jù)統(tǒng)計各優(yōu)先級患者的百分比,將預(yù)測得到的每日到達患者乘以各優(yōu)先級百分比,得到每天各個優(yōu)先級患者的到達數(shù)量。由于假設(shè)患者的治療時長與優(yōu)先級無關(guān),所以每日服務(wù)的患者數(shù)量與優(yōu)先級無關(guān),直接以神經(jīng)網(wǎng)絡(luò)輸出為當日服務(wù)數(shù)量。
將LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的數(shù)據(jù)輸入混合模型,利用改進遺傳算法對策略參數(shù)分層優(yōu)化,算法的參數(shù)設(shè)計如表4所示,Pc是交叉概率,Pm是變異概率T0是初始溫度,Acc是編碼精度,Len是染色體長度,M是個體數(shù)目,Maxlter是最大迭代次數(shù)。
表4 優(yōu)化算法參數(shù)設(shè)置
先優(yōu)化內(nèi)部參數(shù),傳統(tǒng)GA和改進GA優(yōu)化內(nèi)部參數(shù)的過程如圖6所示。傳統(tǒng)GA和改進GA分別將目標函數(shù)降到了15.58天和14.01天。將第一次優(yōu)化得到的參數(shù)保存,再加入外部參數(shù)并對其優(yōu)化。傳統(tǒng)GA和改進GA優(yōu)化外部參數(shù)過程如圖7所示。在前次優(yōu)化的基礎(chǔ)上,目標函數(shù)值再次下降,最終分別為11.24天和為8.06天。由此可見,二次優(yōu)化可以再次降低目標函數(shù),改進GA的尋優(yōu)能力仍然強于傳統(tǒng)GA,得到了更優(yōu)的解,最終優(yōu)化參數(shù)如表5所示。
圖6 內(nèi)部參數(shù)優(yōu)化過程
表5 最終優(yōu)化參數(shù)
圖7 外部參數(shù)優(yōu)化過程
利用改進GA對多個年份進行優(yōu)化,每個年份都分別仿真50次,將優(yōu)化后目標函數(shù)的平均值與優(yōu)化前的做對比,得到的結(jié)果如表6所示。可以看出優(yōu)化后的策略給排隊系統(tǒng)帶來了可觀的積極影響,優(yōu)化后目標函數(shù)平均值明顯低于優(yōu)化前的目標函數(shù)值,表明了改進GA優(yōu)化排隊策略能夠降低患者等待時長。標準差明顯低于平均值,體現(xiàn)了優(yōu)化算法的表現(xiàn)能力比較穩(wěn)定。
表6 歷年排隊策略優(yōu)化結(jié)果
將先來先服務(wù)策略、嚴格優(yōu)先級策略與本文得到最優(yōu)累計加權(quán)策略對比。三種策略下各優(yōu)先級超出目標等待天數(shù)的百分比如下所示。先來先服務(wù)策略是的超出百分比指標在各個優(yōu)先級都表現(xiàn)不佳,嚴重阻礙了患者的就診。嚴格優(yōu)先級雖然給予了前三個優(yōu)先級患者充分的就診機會,但第四優(yōu)先級患者的就診受到了明顯的限制,超過90%的第四優(yōu)先級患者未能在其目標等待時間內(nèi)就診,從數(shù)量上分析損害了很大一部分患者的治療。本文的累計加權(quán)策略給絕大部分病情嚴重的第一第二優(yōu)先級患者及時治療,對于第三優(yōu)先級患者,超出百分比略高于嚴格優(yōu)先級策略,但第四優(yōu)先級患者的超出百分比有明顯的降低,其分布更較前兩種策略加合理??紤]平均超出等待時間,三種策略下該指標分別為11.73天、9.88天、8.06天,本文策略在超出百分比和平均超出等待時間上都取得了良好的效果。
圖8 三種策略下超出目標等待時間的比例
為驗證排隊策略是否在各個時段都發(fā)揮作用,對策略進行敏感性分析。將300天的時間跨度平均分割為三個時段,每個時段都采用表5對應(yīng)的排隊策略,仿真得到三個時段優(yōu)化后的目標函數(shù)值,與歷史數(shù)據(jù)下的目標函數(shù)值對比。每年還余下65天或66天的數(shù)據(jù)未參與優(yōu)化,再將策略應(yīng)用于未參與優(yōu)化的時段,對比分析策略發(fā)揮的效果。2014年的敏感性分析結(jié)果如圖9所示,其余年份各時段的敏感性分析如表7所示。
圖9 策略敏感性分析
表7 各時段目標函數(shù)值
從圖9和表7可以看出,在各年各時段中,應(yīng)用了排隊策略的目標函數(shù)值都明顯低于該時段的歷史值,這表明排隊策略在仿真各時段內(nèi)均發(fā)揮了效能。因此本文優(yōu)化的排隊策略具有一定的穩(wěn)定性和時間普適性。
本文建立了LSTM-GA混合模型,對預(yù)約患者的排隊策略進行了優(yōu)化研究。在數(shù)據(jù)上,提出用LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測到達過程和服務(wù)過程,提高了數(shù)據(jù)的泛化能力,增強了策略對未來的指導(dǎo)意義。在排隊策略優(yōu)化上,擴充了可優(yōu)化參數(shù)集,從更廣的范圍對策略進行了優(yōu)化;利用改進GA提高了全局搜索能力和收斂能力。本文獲得的排隊策略從總體上顯著降低了患者的等待時長,策略在不同時段均能發(fā)揮明顯效能,對時間因素具有一定的抗干擾能力。
本文的研究方法和成果對患者預(yù)約排隊問題有一定的實際意義。雖然我國目前只在部分醫(yī)院開展分級就診和預(yù)約就診,但隨著探索的深入,這會成為將來就診的重要手段。本文的研究為合理規(guī)劃預(yù)約排隊問題提供了一種有效的方法。同時本文也有待完善,未來可以研究多家醫(yī)院之間醫(yī)療資源與患者相互分配的問題。