楊 媚
(樂山職業技術學院 財經管理系,四川 樂山 614000)
隨著醫療模式的轉變,護理理念發生了巨大變化。如何合理配置護理人力,提高護理工作質量與服務水平,是我國護理管理者積極探索的重要問題。
已有文獻對護士排班、加班進行研究,大多側重對算法研究[1,2,3],但對護士排班模型對影響護士排班的偏好、人員需求等因素進行定量研究研究較少[4,5],本文結合我國醫院的實際情況考慮護士排班的連續性、均衡性、合理性、公平性、人性化等多方面因素,構建以APN 護士排班模式為基礎,考慮護士偏好和覆蓋需求的整數規劃模型,改進已有文獻的偏好矩陣與覆蓋需求產生方法,運用Gurobi 優化器和python 語言編程,選取滿意的偏好和覆蓋需求指標[6,7,8],得到較優的排班方案,合理地縮減了醫院成本、提高了護士滿意度、提升了病人滿意度。
N:護士總人數;S:班次類型總數;D:排班周期(天);yil=1:護士i 對某一天某個班次選擇的偏好程度為l;yil=0:護士i 對某一天某個班次選擇的偏好程度不為l;rjz:第j 天班次z 對護士的需求量;rˉ:整個排班周期中每一天護士的平均需求量;rˉj:第j 天每個班次護士的平均需求量;pijz:護士i 在第j 天對班次z 的偏好。
1.2.1 護士偏好分布
護士偏好分布(Nurse-preference distribution,NPD)

1.2.2 班次偏好分布
班次偏好分布(Shift-preference distribution,SPD)


1.2.3 工作日偏好分布
工作日偏好分布(Day-preference distribution,DPD)

1.2.4 總體覆蓋約束總體覆蓋約束(Total-coverage constrainedness,TCC)

1.2.5 日需求分布
日需求分布(Day-coverage distribution,DCD)

1.2.6 班次需求分布
班次需求分布(Shift-coverage distribution,SCD)

在已知1.2 六個指標值的情況下,獲得相應的多組隨機偏好矩陣。根據Maenhout B,Vanhoucke M 提出給出的護士排班實例產生法(NSPGen),引入兩個約束條件簡化矩陣的產生過程。在指標取表1 所示的不同數值時,隨機產生護士偏好矩陣。

表1 指標取值
1.3.1 改進的護士偏好矩陣的產生法
Maechout B, Vanhoucke M 提出,首先隨機產生班次列,然后在班次列產生的基礎上隨機組合產生日矩陣,最后在隨機組合產生日矩陣的基礎上產生周期矩陣。由式(1)得到一個方程組(7),x 表示護士對班次S1 的偏好人數,y 表示護士對班次S2 的偏好人數,z 表示護士對班次S3 的偏好人數,考慮到排班的實際情況,每個班次都需要有護士上班,且在實際情況下,同一護士一天上兩種以上班次可能性小,故假設對三種班次偏好人數之和為護士人數之和。m 為N/S,M 表示NPD 與的乘積。因此,式(7)的N、M、m 為常數,可產生符合NPD 值的可能的班次列,再通過C 語言編程產生偏好矩陣,減少了計算機重復運算次數。

1.3.2 改進的護士覆蓋需求的產生法
由式(4)、(5)、(6)得到式(8)。x1、x2、…、xD分別表示每天上班的護士數,yj1、yj2、yj3分別表第j天每個班次上班的護士數,G 表示可能的 最 大值 與DCD 的 乘積,H 表 示可能的最大值與SCD 的乘積。因此,式(8)的TCC、N、G、H 均為常數,得方程的可行解,通過C 語言編程隨機產生需要的覆蓋需求分布。

z:采用APN 排班模型,上班類型有早(A)、中(P)、晚(N)三種類型:A 班07:30 -15:30,P 班15:00-22:30,N 班22:00-8:00;n:護士數量;g:護士等級;m:排班周期;Cijz:第i 名護士在第j 天上第z種類型的班所獲得的工資;xijz:是否第i 名護士在第j 天上第z 種類型的班,如果是取值為1,否則為0;Dgjz:在第j 天z 種班次時對等級為g 的護士的需求數;qig:如果第i 名護士的等級不低于g,qig取值為1,否則為0;low: 護士在一個排班周期內工作班次數的下限;up: 護士在一個排班周期內工作班次數的上限;wijz:是否第i 名護士在第j 天z 種類型的班請假,如果是取值為1,否則為0;ai3:第i 名護士是否上夜班。α:醫院成本的權重;β:護士偏好的權重。
根據我國醫院護士排班的一般情況建立規劃模型的數學表達式如下:

式(9)為目標函數,由工資成本和護士偏好兩部分組成,表示醫院成本最小化和護士偏好值最小化(即護士滿意度最大化),一般可分別考慮Cijz和pijz為工資等級(系數)與偏好等級(系數)。式(10)至式(17)為約束條件,式(10)表示第j 天第z種類型的班對級別為g 的護士的需求數不能低于Dgjz;式(11)、(12)表示對排班周期內每位護士上班天數的上下限;式(13)表示每位護士每天只能上某一種類型的班;式(14)表示護士上完夜班之后緊鄰的一天地需要休息一天;式(15)表示護士不能連續三天上班,即連續三天中,至少有一天休息;式(16)表示第i 位護士在第j 天上第z 種類型的班請假;式(17)表示第i 位護士不上晚班。
該模型是一個典型的0-1 規劃模型,包含n×m×z 個決策變量,該模型中z 的取值為3,包含m×z+2n+2×m×n+m×n×z 個約束條件。約束條件和目標函數都是線性的。
假設某醫院科室有護士18 名,排班周期為14天,護士的等級和上班日工資系數見表2;每天每個班次的人員需求數見表3。其中N1 為護士長,不上夜班;N6、N7、N12 已經滿50 歲也不上夜班,N8 在第7 個排班日請假。排班周期內每位護士至少上5 次班,最多上10 次班。α、β的取值分別為0.7 和0.3。進行排班。

表2 護士等級及工資表

表3 各班次需求人數
根據偏好矩陣的生成方法(見1.3),在指標取不同數值(見表1)時,產生100 個指定指標值下的班次列,再由班次列產生40 組符合指標值的日偏好矩陣,接著由日偏好矩陣組合產生算例中所需要的周期偏好矩陣。產生多組不同的偏好矩陣后,將產生的每組偏好矩陣代入排班模型進行求解,直到有10 組可行解為止,最后分別計算這10 組解的CPU 運算時間與目標函數值的平均值,如表4,它們的對比情況見圖1。本文采用python語言編程由Gurobi5.0.0 優化器對該模型求解。

圖1 不同指標下的運算時間(s)和目標值

表4 不同指標值下的CPU 運算時間(s)和目標值

從圖1 可看出,NPD 值越高,即護士對某班次的偏好程度越高,排班就越復雜,目標值也越高。SPD 值由低到高時,CPU 值呈現出一種高低高的狀態,當SPD 值為0.25 時,CPU 速度最快,即排班最容易,目標值也比較低。DPD 取值由低到高時,也呈現出高低高的狀態,說明護士對排班周期中的班次存在一定的偏好是比較好的,有利于排班的需要。SCD 表明當每一班次護士需求數相同和某一班次護士需求數最多,其他班次需求量幾乎為0 時,排班最快捷,目標值最小。DCD表明護士需求分布平均容易排班,且目標值最小。TCC 表明利用率越低越容易排班。
從圖1 中可以看到,當SPD 和DPD 在取值為0.25 時,CPU 速度最快且目標值最低,其他值則是越小也好,因此,為了得到較優的排班結果,我們取SPD 和DPD 的值為0.25,同樣用2.3 提到的方法產生偏好矩陣,并計算出這些矩陣的指標值,選取NPD 值最低(NPD=0.3)的一組數據,代入3.2 中的排班模型中進行計算,排班方案結果見表5。

表5 護士排班方案(SPD=0.25 DPD=0.25 NPD=0.3)
本文根據我國醫院護士排班的實際情況建立較為合理的整數規劃模型,并改進了護士偏好和覆蓋分布指標的求解方法,最后通過編程對算例給出了較優的排班方案。結果表明,考慮醫院成本和護士偏好,更好地體現了醫院護士排班工作的人性化,同時有利于醫院高效地有針對性地招聘護士,應用偏好矩陣分配各科室護士等。