• 沒有找到結果。

中 華 大 學 碩 士 論 文

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學 碩 士 論 文"

Copied!
46
0
0

加載中.... (立即查看全文)

全文

(1)

 

中 華 大 學

碩 士 論 文

護理人員排班程式設計與實作

Nurse Rostering Programs Design and Implementation

系 所 別 : 生物資訊學系碩士班 學號姓名 : M09720007 林純玉 指導教授 : 侯 玉 松 博 士

中 華 民 國 九 十 九 年 八 月

 

(2)

 

i   

摘 要

護理人員排班是每位護理長每月需面臨的問題,而輪值班表之良窳,攸關護 理服務的品質與人員工作的士氣。因此,設計護理人員排班軟體是相當實用與重 要的課題,實作電腦軟體,產生有效率與限制滿足程度高之護理人員排班表,此 即本研究之目的。

就國內醫院而言,因為護理人員需求與約班方式不同,很難直接導入國內外 的護理人員排班系統,護理人員排班仍多採用人工方式進行。因此,我們希望研 究護理人員需求與約班方式的差異,運用爬山法、回溯法等演算法設計技巧,實 作護理人員排班程式,再以彰化基督教醫院的實際資料作測試,快速得到排班的 優良可行解。

關鍵字:護理人員排班、爬山法、回溯法。

(3)

 

ii   

Abstract

Nurse rostering is a monthly job of charge nurses. The quality of scheduling timetables will affect work morale of the nurses. Therefore, The program design for nurse rostering is a practical and important topic.

Thus the purpose of the project is the implementation of high performance programs that generate the timetables to satisfy the most of constraints.

On the domestic hospitals, nursing needs and some classes because of different ways, it is hard to import foreign nurses scheduling system.

However, we found that there are still many domestic hospital nursing staff rostering artificial manner. In this project, we will use the techniques of algorithm design such as hill-climbing search and backtracking to implement nursing rostering programs. Testing the programs by data supporting by Chunghua Christian Hospital, the good feasible solutions can be obtained quickly.

Keywords:nurse rostering, hill-climbing algorithm, backtracking.

(4)

 

iii   

致 謝

由衷感謝指導教授 侯玉松博士於學生兩年研究所生涯中悉心的指導與督 促,及論文撰寫之斧正,使此論文得以順利完成。承蒙 江為國博士及 張仁俊博 士撥冗審閱,使本論文更臻完善,謹此致上由衷謝忱。

感謝研究所裡每位老師於課業上的諄諄教誨,亦感謝所有在此階段於生活及 研究上協助過我的同學、朋友們。

在此,更要感謝我的父母、姊姊、與哥哥,對我的全力支持與鼓勵,使我得 以順利完成學業。

謹以此篇碩士論文成果,獻給所有關心愛護我的老師、家人、朋友們。

林純玉 謹致於 中華大學生物資訊研究所 中華民國九十九年七月

(5)

 

iv   

目 錄

第一章 簡介 ... 1

1-1 護理人員排班問題概述 ... 1

1-2 護理人員排班問題之目的與架構 ... 9

第二章 文獻回顧 ... 10

2-1 禁忌演算法(tabu search) ... 10

2-2 變動鄰域搜尋法(variable neighbourhood search) ... 11

2-3 基因演算法(genetic algorithm) ... 11

2-4 整數規劃法(integer programming) ... 12

第三章 解決護理人員排班問題的系統架構 ... 13

3-1 護理人員排班問題核心程式 ... 13

3-2 自動微調班表程式 ... 14

3-3 約班資料輸入子系統 ... 15

3-4 參數設定子系統 ... 15

3-5 排班結果報表輸出子系統 ... 16

第四章 護理人員排班核心程式 ... 17

4-1 回溯法(Backtracking) ... 17

4-2 回溯法之護理人員排班運用 ... 19

4-3 分而治之法(divide-and-conquer) ... 22

第五章 自動微調班表系統 ... 24

5-1 爬山法(Hill-Climbing Algorithm) ... 24

5-2 爬山法之護理人員排班運用 ... 25

第六章 執行效能 ... 30

第七章 結論 ... 34

參考文獻 ... 35

(6)

 

v   

表 目 錄

表 6-1:參數權重設定 ... 30

表 6-2:2009 年 3-4 月彰基第二呼吸照護中心之運算分數 ... 31

表 6-3:2009 年 3 月護理人員班表扣分之爬山法效能 ... 32

表 6-4:2009 年 4 月護理人員班表扣分之爬山法效能 ... 32

(7)

 

vi   

圖 目 錄

圖 1-1 : 2008 年 7 月彰基第二呼吸照護中心護理人員約班表 ... 2

圖 1-2 : 2008 年 7 月彰基第二呼吸照護中心護理人員排班表 ... 3

圖 1-3 : 上班天數不可連續超過 7 天 ... 4

圖 1-4:大夜隔天不可以接白天斑 ... 4

圖 1-5:小夜隔天不可以接白天班 ... 5

圖 1-6:須滿足每日白天班、小夜班、大夜班的護理人員需求數 ... 5

圖 1-7:強制要求每個班 level 3 一定要有一人上班 ... 6

圖 1-8:休假、上班、休假的組合 ... 7

圖 1-9:盡可能依照護理人員對於班別的個人需求與偏好而給予班表 ... 7

圖 1-10:日夜班天數須符合該人員包班別需求所需要的日夜班天數 ... 8

圖 1-11:應避免跳班狀況發生(即排班出現 DEN) ... 8

圖 3-1:護理人員排班問題的系統架構圖 ... 13

圖 3-2:微調班表 ... 14

圖 3-3:參數設定子系統 ... 16

圖 4-1:四后問題的深先搜尋法圖示 ... 17

圖 4-2:四后問題的回溯法圖示 ... 18

圖 4-3:實作回溯法原理圖 ... 19

圖 4-4:護理人員排班回溯法運作執行程式圖 ... 20

圖 4-5:分時段進行排班 ... 22

(8)

 

vii   

圖 5-1:爬山法圖示 ... 24

圖 5-2:每天班別兩兩互換的圖例 ... 26

圖 5-3:班別兩兩互換後而產生鄰近解的圖例 ... 26

圖 5-4:各參數設定之扣分 ... 27

圖 5-5:護理人員排班 DENR 數目差異較大之圖示 ... 28

圖 5-6:護理人員排班 DENR 數目差異較小之圖示 ... 29

(9)

第一章 簡介

醫院是提供醫療及健康照顧服務的機構,醫院的服務供應者通稱為醫護人員 或護理人員,服務對象為疾病患者、心理或生理受傷的病人。在醫院的病人照顧 體系中,護理人員是病人的直接照顧者,也是醫院醫療團隊人數中最多的成員;

護理是社會服務業之一,講求的是對顧客的服務態度,而良好的服務態度則受工 作的滿意度所影響。因此,護理人員對於工作環境是否滿意、以及護理人員排班 是否符合護理人員的需求,均緊繫著護理人員是否提供優良的服務品質給病人。

護理人員排班是醫院裡每位護理長每月需面臨的問題,根據彰化基督教醫院 (簡稱「彰基」)曾„卿護理長的觀察,護理長要製作一個優良的護理人員排班表 首重公平性(fairness)、與彈性(flexibility);並且依據各護理長的排班經驗、法規 對於護理人員的排班限制、護理人員對於班別的個人需求與偏好等等的要求,護 理長常需耗時半日至二日的時間才能完成一份20名~30名護士的護理人員排班 表,而且護理人員排班表結果的良窳,攸關護理服務的品質與人員工作的士氣。

因此,設計與實作護理人員排班軟體是相當實用與重要的課題,並且也將對護理 長提供偌大的幫助。

1-1 護理人員排班問題概述

醫院的護理長在每月中旬,蒐集每位護理人員填好的下個月約班表,根據法 規對於護理人員的排班限制、護理人員對於班別的個人需求與偏好等等的要求,

製作護理人員排班表。

護理人員約班時,使用一些護理人員的專有名詞,整理如下所示:

(1) 約 D:約白天班,上班時段為 AM08:00-PM16:00。

(2) 約 E:約小夜班,上班時段為 PM16:00-PM24:00。

1

(10)

(3) 約 N:約大夜班,上班時段為 AM00:00- AM08:00。

(4) 約 R:約休假。

(5) JCI/PMR、ICU 等訓練:護理人員參與訓練,無法上班,相當於約 R。

(6) 包班:護理人對整個月班表的需求,如:晚上需要進修、上課,就是包 班「不上E」、整個月都不能上小夜班;而包班「不上夜」,則是整個月 都不能上夜班,只值白天班。

以2008 年 7 月彰基第二呼吸照護中心的 23 名護士為例,每位護士於 6 月中 旬先填好約班期望,統整為一份約班表,部分約班表如圖 1-1。如圖 1-1 所示,

護理人員洪„縈的約班表是:7 月 1 日和 7 月 2 日要預約休假(約R)、7 月 3 日預 約上小夜班(約E),餘類推。在約班表左邊會顯示「包班」資訊,例如:洪„縈期 望不要排大夜班(不上N)。約班表也會顯示每位護理人員上個月的最後幾天是什 麼班,如:在「包班」資訊「不上N」下方的「3R」表示洪„縈在 6 月的最後三 天是休假。

圖1-1:2008 年 7 月彰基第二呼吸照護中心護理人員約班表

2

(11)

護理長根據約班表,製作下個月的排班表。如圖1-2:2008 年 7 月彰基第二 呼吸照護中心護理人員排班表所示,護理人員王„娥在 7 月 5 日到 7 月 8 日的約 班是DRRR,而排班表給予DRRR,即滿足護理人員的約班期望;另外,護 理人員洪„縈在 7 月 1 日到 7 月 3 日、7 月 8 日的約班是RRE、R,而排班表 給予RRE、R,即滿足護理人員的約班期望。

圖1-2:2008 年 7 月彰基第二呼吸照護中心護理人員排班表

製作排班表時,須遵守硬限制和軟限制,相關細部規定與限制則會因為醫院 或病房不同而有差異,多次與彰基的多位護理長討論後,歸納出下列的硬限制與 軟限制:

一、硬限制:根據法規而必須要遵守的護理人員排班限制。

(1) 每天每人只能上一種班:

若每天每人上超過一種班,則有四種狀況:上DEN班、上DE班、上 EN班、上DN班,前三種班都是連著上十六小時以上,DN班則是因為中 間只隔著八小時的休息時間,所以為維護護理人員的健康著想,依照法規,

每天每人只能上一種班。

3

(12)

(2) 上班天數不可連續超過 7 天(≦ 7 天),後面一定要休假:

如下圖1-3,護理人員黃„娟在 7 月 2 日到 7 月 8 日連續上 7 天的大夜 班,於是護理長在7 月 1 日和 7 月 9 日都排休假,讓護理人員可以好好休息。

圖1-3:上班天數不可連續超過 7 天

(3) 大夜隔天不可以接白天班:

大 夜 班 上 班 時 段 為 AM00:00-AM08:00 , 白 天 班 上 班 時 段 為 AM08:00-PM16:00,若大夜班之後接白天班,護理人員即連著上十六小時的 班,違反法規。範例如圖1-4 所示,大夜隔天都接休假或者接大夜班。

圖1-4:大夜隔天不可以接白天班

(4) 大夜隔天不可以接小夜:

大 夜 班 上 班 時 段 為 AM00:00- AM08:00 , 小 夜 班 上 班 時 段 為 PM16:00-PM24:00,中間只隔著八小時的休息時間,為維護護理人員的健康 著想,依照法規,大夜隔天不可以接小夜。範例如圖1-4 所示,大夜隔天都 接大夜班或者接休假。

4

(13)

(5) 小夜隔天不可以接白班:

小 夜 班 上 班 時 段 為 PM16:00-PM24:00 , 白 天 班 上 班 時 段 為 AM08:00-PM16:00,中間只隔著八小時的休息時間,為維護護理人員的健康 著想,依照法規,小夜隔天不可以接白班。範例如圖1-5 所示,小夜隔天都 接小夜班、或接休假、或者接大夜班。

圖1-5:小夜隔天不可以接白天班

(6) 須滿足每日白班(D)、小夜班(E)、大夜班(N)的護理人員需求數:

在排護理人員班表時,會以滿床的狀態排班,以便提供病人最好的照顧 品質,以彰基第二呼吸照護中心的滿床狀態為例,護理人員需求數每日白班

(D)為 6 人、小夜班(E)為 5 人、大夜班(N)為 5 人,排班時應盡可能 達成這個目標,如圖1-6 所示,是排班表統整過後的人數統計。

圖1-6:須滿足每日白天班、小夜班、大夜班的護理人員需求數

5

(14)

6

(7) 強制要求每個班 level 3 一定要有一人上班:

同一個班別會由經驗豐富的護理人員帶著新進的護理人員,以便若有緊 急、嚴重的狀況發生時,能為病人做最妥善的應變措施;依經驗與年資深淺,

分為Level 1 至 Level 3 三種層級,其中 Level 3 為年資最深。

如圖1-2:2008 年 7 月彰基第二呼吸照護中心護理人員排班表所示,護 理人員王„娥往下一直到護理人員蔡„菁皆為Level 3 層級。

如圖1-7 我們可以看到 7 月 1 日的DEN三種班分別由黃„娟、陳„臻、

程„君、蔡„菁三人負責,7 月 2 日的DEN三種班分別由王„娥、賴„怡、

黃„娟、陳„臻、蔡„菁四人負責。

圖1-7:強制要求每個班 level 3 一定要有一人上班

(15)

二、軟限制:盡可能依照護理人員對於班別的個人需求與偏好而給予班表。

(1) 連續三天不要出現休假、上班、休假的組合:

休假被中斷,多為護理人員不能接受。如圖1-8 所示,即為休假、上班、

休假的組合。

7

圖1-8:休假、上班、休假的組合

(2) 休假天數、星期六日、及國定假日需平均分配給每位護理人員:

一個優良的護理人員排班表首重公平性(fairness)、與彈性(flexibility),

因此休假天數、星期六日、及國定假日需要平均分配給每個護理人員。如圖 1-9 所示,左方的R是當月護理人員的總休假天數,右方的R則是當月護理 人員休假時正好在假日的天數。

圖1-9:盡可能依照護理人員對於班別的個人需求與偏好而給予班表

(16)

(3) 日夜班天數須符合該人員包班別需求所需要的日夜班天數:

以彰基而言,除了勞基法保障可以不用上夜班者,其餘的護理人員一率 都要輪D、E、N 三班。如圖 1-10 所示,每位護理人員都要上每一種班別。

圖1-10:日夜班天數須符合該人員包班別需求所需要的日夜班天數

(4) 應避免跳班狀況發生(即排班出現 DEN) :

護理人員若連著三天上的班別是白天班、小夜班、大夜班,則生活作息 會被打亂,多為護理人員不能接受。如圖1-11 所示,即排班出現 DEN。

圖1-11:應避免跳班狀況發生(即排班出現 DEN)

由上述多項硬限制與軟限制規定來看,以人工方式產生一份優良的護理人員 排班表,其複雜度實需耗費很多時間才能完成;所以本論文將發展護理人員排班 程式,以資訊技術快速產生符合規定、且滿足護理人員需求的護理人員排班表。

8

(17)

1-2 護理人員排班問題之目的與架構

隨著資訊科技的進步,醫療產業機構與資訊科技之間的合作也愈趨頻繁。因 此,如何妥善利用資訊科技的優點,來管理醫院裡有限的人力資源,並維持病患 的照護品質、符合每月護理人員的約班需求、產生有效率與限制滿足程度高之護 理人員排班表,此即本研究計畫之目的、以及護理人員與護理長之間對於排班表 的一致目標。

因此,本論文以彰基的實際資料作測試,研究護理人員約班需求與約班方式 的差異,實作護理人員排班程式,運用回溯法產生好的排班表、再以爬山法改善 這份好的排班表,快速得到排班的優良可行解。

在本章節探討護理人員排班問題概述與其目的,第二章探討文獻回顧中,解 決護理人員排班問題的諸多方法與待改進之處,第三章探討本論文解決護理人員 排班問題的系統架構,第四章探討本論文使用的護理排班核心子程式,第五章探 討本論文的自動微調子系統,第六章提出執行效能,第七章做出結論。

9

(18)

第二章 文獻回顧

在1976年,Miller[16]已經開始研究護理人員排班的問題。經資訊學者研究 證明[8、31],護理人員排班問題是NP-hard的難題;因此護理人員排班問題多年 來一直困擾許多的護理長,至今也尚未發展出快速且適合於每個案例的演算法,

來獲得令護理人員們最滿意的排班結果。早期在求解護理人員排班問題時,多為 設計最佳化演算法[3-4、6、25、27-28],但是程式的執行效率不佳,非常耗時。

為了加快求解效率,近年來求解護理人員排班問題為設計適合的啟發式演算 法(Heuristic Algorithm),求出次佳解,並增加求解效率[1、5、8、13]。若將過去 研究文獻,依據其演算法加以分類,計有禁忌演算法(tabu search)三篇[14、19、

22]、變動鄰域搜尋法(variable neighbourhood search)四篇[15、17、23、29]、基因 演算法(genetic algorithm)四篇[8、16、18、20]、整數規劃法(integer programming) 五篇[2、7、11-12、31];這些研究文獻將於後面章節一一介紹。

2-1 禁忌演算法

禁忌演算法於1986年由Glover所提出,近年來已廣泛運用於排程問題、工程 或管理領域問題等。禁忌演算法是模仿人類對於過去經驗的記憶進行日常生活決 策的行為;其優點是可以讓問題的解答盡可能的跳脫局部最佳解,搜尋到全域最 佳解。

禁忌演算法的運作一開始是搜尋初始解,在此目前解的鄰近區域找尋較佳 解,找尋到較佳解之後檢查目前解移動到較佳解的路徑是否在禁忌名單(tabu list) 裡,若禁忌名單裡沒有記錄這次走過的路徑,則將此較佳解視為目前解,並將路 徑列入禁忌名單裡,避免程式往回走相同路徑。接著,繼續以上的步驟找尋更佳 解,直至無更佳解出現為止。

10

(19)

三篇 [14、19、22] 論文中,採用禁忌搜尋啟發式,探討國外大型綜合性醫 院、醫療機構的商業系統、或是比利時醫院的護士排班,但這幾篇論文的缺點是 解決護理人員排班問題時都花費過多的時間、若節省下運作時間卻會造成護理人 員約班需求的犧牲等,就實務面而言,依然有需要改善的地方。

2-2 變動鄰域搜尋法

變動鄰域搜尋法致力於滿足更多的軟限制、並盡可能縮短搜尋班表的計算時 間;可以將數千個鄰近解,透過找尋鄰近解的過程,將鄰近解縮小成數百個。這 是一個更有效的方法,可以擴大護理人員排班的解集合搜索,找尋許多較佳的解 集合,再從解集合中找尋最佳解,來滿足更多軟限制;相對而言,擴大解集合搜 索即面臨需花費更多搜索時間,這是一個可以再改進的方法。

2-3 基因演算法

基因演算法於1975年由John Holland發表,主要是根據生物演化機制所發展 出來的基因遺傳演算法,其運作一開始是初始(Initialization)隨機產生設定的初始 群 體(population) , 接 著 評 估 (Evaluation) 計 算 群 體 中 每 一 個 個 體 的 適 應 度 (fitness);從群體中再選擇(Selection)高適應度、較易生存的個體,經由遺傳機制 (Genetic operation)的突變、交配、和複製產生新的個體加入原群體中,進而形成 一個新的、下一世代的群體,最後將所產生的新群體,再一直重複運作,評估其 個體的適應度、選擇高適應度的個體、經由遺傳機制的突變、和複製產生新的個 體加入原群體中,因此,此群體適應度會越變越好,最後獲得最優良的世代即是 最佳解。

藉由基因演算法產生的護理人員排班表,提供了一個高效率、靈活的排班系 統,但因此系統只適用於某些狀況或病房,無法複製到不同的醫院,仍需改進。

11

(20)

2-4 整數規劃法

整數規劃法的論文,最新的國內相關文獻為2007年交通大學運輸科技與管理 學系韓復華教授所著[7],該論文採用「排休」與「派班」二階段限制規劃(Constraint Programming)模式依序求解,解決護理人員排班問題。這篇論文定義護理人員排 班問題相當詳細,但是從論文的測試結果來看,以新竹署立醫院的20名護理人員 排班,在二階段分別需先產生3520、4660個變數與5592、4939個限制式,才能使 用ILOG OPL Studio軟體,解出其整數規劃式的答案。對於工作繁忙的護理長而 言,要學習如何產生8000多個變數、10000多個限制式,還要學習數學規劃軟體,

而且醫院還要購買ILOG OPL Studio軟體,就實務層面來看,較不易執行。

以上這些過去的文獻,有些缺少實際醫院護理人員排班資料的測試,僅止於 理論的探討;有些是國外所開發的系統與模式,因國外護理人員輪值的考量與國 內不完全相同,輪值的週期也不一樣,無法直接應用於國內的醫院護理人員排班 問題上。

因此,為了研究護理人員排班問題,曾與彰基多位護理長,進行多次溝通,

發現各護理人員需求與約班方式不同,各護理長排班方式也有差異。例如二科護 理人員約休假次數差異大,二科對約班術語定義不同,二科對包班的日、小夜、

大夜天數的計算方式與規範不同等等,都對護理人員排班的程式設計帶來差異。

所以,藉此研究,調查整合參與計畫的護理長的排班方式,輔以國內外相關文獻 的經驗,進而設計護理人員排班軟體,以更有效率的方式產生排班表,降低護理 長的工作負擔,並達到護理人員的需求。

12

(21)

第三章 解決護理人員排班問題的系統架構

護理人員排班問題的程式分為五個部分:(1)護理人員排班核心程式、(2)自 動微調班表程式、(3)約班資料輸入子系統、(4)參數設定子系統、(5)排班結果報 表輸出子系統,其系統架構圖如圖3-1 所示,各部份、各子系統的功能分別說明 在下列章節。

約班資料輸入 子系統

護理人員排班 核心程式

13

圖3-1:護理人員排班問題的系統架構圖

3-1 護理人員排班核心程式

護理人員排班核心程式的主要演算法是運用回溯法(backtracking),回溯法是 一個可以在眾多可行解中搜尋最佳解或良好可行解的方法,其原理是利用深先搜 尋法(depth-first search, DFS)與界限函數(bounding function),搜尋符合軟、硬限制 的良好護理人員排班表;利用深先搜尋法,程式可以逐日產生護理人員的值班班 別,再由界限函數檢查產生的值班班別是否違反排班規定與約班需求,最後快速 搜尋最佳解或良好可行解。

自動微調班表程式 排班結果報表 輸出子系統

參數設定子系統

(22)

3-2 自動微調班表程式

自動微調班表程式的主要演算法為「爬山法(Hill-Climbing Algorithm)」,來 調整護理人員排班核心程式所產生的護理人員排班表,來得到更令護理人員滿意 的排班表。爬山法的設計重點,是鄰近解的產生方式與評估函數(evaluation function)的設計。

其護理人員自動微調班表程式的運作過程是先定義出、推算出較佳的護理人 員排班表,利用較佳的排班表去作搜尋,讓評估函數評估所有的、可能的護理人 員排班表,並在每一次的評估與改進中,在目前較佳排班表中選擇出一個最佳排 班表,當「最佳排班表的評估函數值」比「較佳排班表的評估函數值」來的佳時,

就以「最佳排班表」取代「較佳排班表」,一直重複此過程,直到無法找到更佳 的護理人員排班表為止。如下圖3-2,即是程式跑完自動微調班表程式之後的結 果。

14

圖3-2:微調班表

(23)

3-3 約班資料輸入子系統

約班資料輸入子系統的功能是收集各護理人員的約班需求,統合整理之後產 生護理人員約班表,來提供護理人員排班核心程式使用。

約班資料輸入的功能有:約班人數超過提醒、當月可約休假的天數限制、使 用者帳戶管理等功能。在填寫護理人員約班的限期裡,護理人員登入約班需求輸 入畫面後,輸入約班需求,可以儲存或修改約班需求的內容。最後在所有護理人 員完成輸入約班需求後,約班資料輸入子系統可以產生Excel 與文字(txt)格式的 護理人員約班表,提供後續護理人員排班核心程式使用,或供護理長參考運用。

3-4 參數設定子系統

參數設定子系統的設立原因是源自於與彰基護理長們的溝通之後,發現各科 護理長之間使用的約班術語不同、可上班別的日夜班天數比例也不同,因此,特 別設計「約班術語」與「包班術語」定義之參數輸入程式,賦予各科護理長可以 依照病房不同的特性,自行定義約班術語與可上班別的日夜班天數比例,來保持 各科護理人員的特異性。

而執行護理人員排班核心程式時,需要參考許多參數,例如上面所述的:可 上班別的日夜班天數比例、護理人員人數、每日各班別需求人數等參數,都需藉 由參數設定子系統,來輸入到護理人員排班核心程式裡運作。如下圖3-3,即為 參數設定的畫面。

15

(24)

圖3-3:參數設定子系統

3-5 排班結果報表輸出子系統

透過護理人員排班核心程式與自動微調班表程式來完成護理人員排班表之 後,排班結果報表輸出子系統會輸出Excel與文字(txt)格式的排班報表檔案,提供 護理長方便公告下個月的排班結果給各護理人員。

護理長在排班完成後,除了公布護理人員排班表,也會公布每位護理人員的 休假與各班別工作天數的排班結果統計。

16

(25)

第四章 護理排班核心程式 4-1 回溯法

回溯法在1950 年由 D. H. Lehmer 發明,回溯法採用「試錯」的思想,從一 群問題中嘗試一步一步的去解決問題,並搜尋出一套解決方案,也可以要求程式 搜尋出最佳的解決方案來滿足問題所給的某些限制。在一步一步解決問題的過程 中,程式透過嘗試並且發現現有的步驟及答案都不能讓問題得到有效的解決時,

程式就會取消上一步、甚至上幾步的運算,再透過其它可能的步驟及答案,再次 嘗試搜尋問題的解答;回溯法的優點是可以透過回溯,偵測到部分路徑是不可能 出現最佳解決方案,然後不再花費時間、直接忽略此路徑,來提升程式執行的效 率。

下面圖4-1 是四后問題的深先搜尋法圖示,程式從最左邊的路徑開始跑,每 個答案、每個樹葉節點都要跑過一遍,於是需要花費較多時間;深先搜尋法將所 有路徑跑完之後而形成的樹,這邊稱之為深先搜尋樹。

圖4-1:四后問題的深先搜尋法圖示

17

(26)

下面圖4-2 是四后問題的回溯法圖示,與上面圖 4-1 不同之處是回溯法有界 限函數的運作,也就是說,如果程式運作沒有與問題衝突的話,程式就會繼續往 下跑,但是如果有與問題相牴觸時,會停在不符合問題的地方,Bound 住,程式 不會繼續往下跑。因此,回溯法的優點是可以節省所花費的時間和路程,快速找 到最佳解答;回溯法將所有路徑跑完之後而形成的樹,這邊稱之為回溯樹。

圖4-2:四后問題的回溯法圖示

本研究使用的是改良過後的回溯法,其重複執行回溯的動作時會出現下列三 種狀況:

(1) 嘗試了所有路徑和步驟之後,很迅速找到了解答。

(2) 程式嘗試了很多路徑,但是運作時間超過一定時間之後,無法確認是否 找得到答案,假設這個運作超過時間是一分鐘,那運作模式會將限制放 寬,放寬之後會從根目錄開始重跑一次相同路徑,於是很迅速找到了解 答。

(3) 程式嘗試(2)的步驟之後,若跑第二次依舊無法迅速找到解答,程式會自 動再另外找尋不同的路徑去跑;也就是同一地方停滯兩次,就另闢新路 找尋解答。

18

(27)

4-2 回溯法之護理人員排班運用

本論文運用回溯法來求解護理人員排班問題,程式使用深先搜尋法來逐日產 生護理人員的值班班別,使用界限函數來檢查產生的值班班別是否違反排班規定 與約班需求,在多個軟、硬限制中快速搜尋最佳解或良好可行解。

而護理人員排班核心程式是根據「法規對於護理人員的排班限制、護理人員 對於班別的個人需求與偏好」等等的軟、硬限制,而產生護理人員排班表。

首先,以演算法研究,假設每月有d天、每科護理站有n位護理人員、每位護 理人員有四種班別D、E、N、R可選擇,因此每月排班表將有4nd種可行解,護理 人員排班就是在4nd種可行解當中來找尋較佳可行解;以2008年7月彰基第二呼吸 照護中心約班表為例,七月有d = 31天,護理人員n =23人,所以共有423×31 = 4713 種可行解,因為此解集合太大,難以快速得到較佳可行解。

如圖4-3的實作回溯法原理圖顯示,在演算法的運作裡,一開始先逐日、一 個一個的產生護理人員的值班班別,盡可能的依照護理人員對於班別的個人需求 與偏好而給予班表,也就是先將全部的軟限制當成必需要遵守的硬限制來運作。

圖4-3:實作回溯法原理圖

19

(28)

如演算法運作,7月1日的第一位護理人員王„娥約「JCI/PMR訓練」,即給予 班別R、第二位護理人員洪„縈約「R」,即給予班別R、第三位護理人員蔡„

菁約「R」,若給予班別R,演算法則顯示無解。

因為我們從護理人員蔡„菁的包班資訊「1D」中,可以知道護理人員蔡„菁

「上個月最後一天的班別是白天班」,而上個月最後第二天的班別是休假,也就 是說,如果7月1日給予班別R,會形成「休假、上班、休假」的情況,違反了軟 限制,於是程式顯示無解。

這時候的狀況會有兩種:(1)程式往回回溯,跑過所有狀況之後,確定無解。

(2)程式往回回溯,跑過所有狀況、回到根目錄之後依然無解;也就是說,程式 如果一直卡在某一限制超過一定時間,此時會放寬此限制條件,讓程式繼續跑下 去。

因此,如圖4-4顯示,必須將此軟限制條件放寬,也就是護理人員蔡„菁約

「R」,但無法給給予班別R,而是給與其它班別。當護理人員蔡„菁約「R」

的軟限制條件放寬之後,給予約班班別D,演算法即可以再繼續運作下一位護理 人員約班班別。

圖4-4:護理人員排班回溯法運作執行程式圖

20

(29)

上述的護理人員排班核心程式,依照排班規定、約班需求、與排班參數輸入 資料,執行後產生初步的排班表,而在排班時,常會有軟、硬限制互相矛盾,無 法同時滿足軟、硬限制的情形;例如2008 年 7 月彰基第二呼吸照護中心的護理 人員共23 人,而每天護理人員的班別需求是白班 6 人、小夜 5 人、大夜 5 人,

所以每天最多只能有7 人可以休假,如果說,某日約休假的護理人員超過 7 人,

就會產生無法同時滿足軟、硬限制的情形。此時,本論文利用回溯法排班,當軟、

硬限制互相矛盾時,會造成程式產生護理人員值班內容發生停頓的現象,因此如 圖4-4 顯示,此時放寬護理人員的約班需求,使排班流程得以繼續進行。

為了驗證回溯法排班的可行性,進行撰寫程式測試。輸入2008 年 7 月彰基 第二呼吸照護中心的約班資料,可以找到護理長可接受之可行解,但是仍有多項 缺點需要改進,如:程式需執行一小時以上,平均約有14 處護理人員個人約班 需求無法滿足,假日排休不平均,休假天數不平均,日夜班天數與班別需求的誤 差大等缺點,而解決方法則會在下一章節討論。

21

(30)

4-3 分而治之法(divide-and-conquer)

因此,為了解決4-2 節回溯法的缺點,程式導入另一個演算法設計技巧:「分 而治之法」[24],如下圖 4-5 所示,將一個月分為五個時段,每時段有五~七天,

分別進行排班,最後再將五個時段的排班結果整合成一個月的排班結果。

圖4-5:分時段進行排班

此分而治之法是將一整個月三十一天的班,變成五個小星期去解決、去完成 護理人員排班表;也就是說,將一個大問題,切割成五個完全一模一樣的小問題 去解決;從回溯法的圖示來看,是將一個三十一天的回溯樹,切成五個五~七天 的回溯樹來運作,變成五分之一的小樹較矮小,而運作也能較迅速順利。

因此,處理一整個月護理人員排班大問題時,我們會考慮到(1)軟硬限制須 符合、(2)上個月最後幾天工作的班別需要考慮進護理人員排班裡;而處理五個 小星期的護理人員排班也是一樣的模式,考慮上述的(1)、(2)限制之後,解決第 一個小星期的護理人員排班之後,程式會紀錄第一個小星期最後幾天的班別,接

22

(31)

著排第二個小星期的護理人員排班時,就能將兩個小星期的護理人員班表合併起 來,最後解決五個小星期的護理人員排班之後,會將之合併成一個月的護理人員 排班表,於是一份完善的護理人員排班即完成。

這個改進的方法增進程式執行效率,將原本4nd種可能解,降為只考慮其中 5¯4nd/5種可能解,也就是將 4713種可能解,降到 5¯4143種可能解;以彰基三份 資料做測試:2008 年第二呼吸照護中心 7 月、與 10 月約班資料、52 病房 8 月的 約班資料,發現大幅改善程式執行效率:「程式執行時間可以降低到10 分鐘即 可跑出班表、護理人員個人的約班需求不滿足處減少、休假天數也較平均、日夜 班天數與班別需求的誤差變小」,大幅改進前版程式。

23

(32)

第五章 自動微調程式 5-1 爬山法

爬山法是一種簡潔的啟發式搜尋方法,其局部搜索性能很好,爬山法也是一 種「疊代改進演算法」,其演算法運作過程是先定義出、推算出鄰近解,也就是 利用單一解在解空間作搜尋,讓評估函數評估所有的鄰近解,並在每一次的疊代 評估與改進中,在目前解的鄰近解空間選擇出一個最佳鄰近解,當最佳鄰近解的 評估函數值比目前解的評估函數值來的佳時,就以最佳鄰近解取代目前解,重複 此過程,直到無法找到更佳的鄰近解為止。

爬山法的鄰近解是將目前解稍做調整,鄰近解與目前解透過評估函數相比較 之後,不會相差太多,但相對而言,鄰近解的評估函數較佳。而評估函數則是根 據問題的規定,透過運算的過程,算出分數值較好的解。

圖5-1:爬山法圖示

24

(33)

5-2 爬山法之護理人員排班運用

爬山法是自動微調班表程式的主要演算法,其設計重點是鄰近解的產生方式 與評估函數的設計。調整護理人員排班核心程式先產生的護理人員排班表之後,

再以爬山法運作,來獲得更令護理人員滿意的排班表。

其護理人員自動微調班表程式的運作過程是先定義出、推算出較佳的護理人 員排班表,利用較佳的排班表去作搜尋,讓評估函數評估所有的、可能的護理人 員排班表,並在每一次的評估與改進中,在目前較佳排班表選擇出一個最佳排班 表,當「最佳排班表」的評估函數值比「較佳排班表」的評估函數值來的佳時,

就以「最佳排班表」取代「較佳排班表」,一直重複此過程,直到無法找出更佳 的護理人員排班表為止。

在鄰近解的產生方式上,我們將班表的每天班次兩兩互換而得鄰近解,同樣 以2008 年 7 月彰基第二呼吸照護中心為例,七月有 d=31 天,護理人員 23 人,

每個目前解最多有

C

232 ×31=7843個鄰近解。

先將2008 年 7 月第二呼吸照護中心護理人員排班表的目前解,先用評估函 數算出較佳解之後,與7843 個鄰近解相比較,也就是用每天兩兩互換後的班表 的評估分數相比較,若此較佳解是扣分最少、也是比目前解更佳的鄰近解,則取 代目前解,以此類推,直到找不出更好的鄰近解為止,則此為最佳護理人員排班 表。

如下圖5-2 是每天班別兩兩互換的圖例、圖 5-3 是每天班別兩兩互換後而產 生鄰近解的圖例。

25

(34)

圖5-2:每天班別兩兩互換的圖例

26

圖5-3:班別兩兩互換後而產生鄰近解的圖例

因此,護理人員自動微調班表程式,其運作的流程可分成下面三個步驟:

(1) 透過程式先完成一份護理人員排班表,算出此班表違反軟硬限制的次數。

(2) 計算出各軟硬限制的違反次數之後,再計算出各軟硬限制各自扣分的分 數。

(3) 這時候如果軟硬限制的扣分次數都一樣,則將軟硬限制分開來看,硬限 制一定要遵守,軟限制則依照護理人員的選擇,而有扣分權重高低的區 別。

(35)

在評估函數的設計裡,會以違反一個限制式就扣多少分,而扣的分數這邊也 能開放程式使用者自行設定,所以與彰基護理長們討論過後,給予意見後護理長 亦可進行自行設定參數的動作。由於硬限制不可違反,所以程式內定的分數是把 違反硬限制一次扣10000 分;而軟限制則是盡量不違反,所以違反軟限制可以自 行設定一次扣1~10 分。

參數設定違反各個軟限制則扣幾分,如下圖5-4 為例,通常以違反「護理人 員約班需求」扣10 分為最多、違反「出現休假上班休假」則扣 2 分、出現「連 續三天值班班別為 D、E、N」則扣 2 分、是否符合「護理人員夜班天數需求」

則扣1 分、是否符合「休假平均分配」則扣 1 分。

27

圖5-4:各參數設定之扣分

經過評估函數的運作之後,會發現若軟限制違反次數相同,則以扣分權重來 改善護理人員排班表;而一分優良的護理人員排班表,除了盡量滿足護理人員的 軟硬限制約班需求之外,亦會針對已完成班表裡的已違反的軟限制,來進行改良 此份護理人員班表。

(36)

例如下圖5-5:護理人員排班 DENR 數目差異較大之圖示,透過程式的運作,

得到下面的護理人員排班表統整。以一整個月分的護理人員休假天數而言,此班 表的休假天數從5 天~13 天次數懸殊的狀況來看,是一分需要再改良的護理人 員排班表;因此,要讓每位護理人員的休假天數盡量平均,程式導入統計學的觀 念,透過計算休假天數的變異數來計算資料的分散程度,得知護理人員班表的優 劣程度。變異數越高者扣分越重,護理人員班表的休假平均值則離理想値越遠,

班表則越差;相反的,變異數越低者扣分越少,護理人員班表的休假平均值離理 想値越近,班表則越好。

圖5-5:護理人員排班DENR數目差異較大之圖示

以上圖5-5 的護理人員排班表來看,假設這個月有三十天,平均分配給每位 護理人員DENR 的比例是 1:1:1:1,則每人每個班別平均天數為 天,

而休假R 的天數之變異數為

5 . 7 4 30÷ =

(

9−7.5

) (

2 + 13−7.5

) (

2 + 8−7.5

) (

2 + 5−7.5

) (

2 + 6−7.5

)

2 =41.25 以下圖5-6 的護理人員排班表來看,其休假 R 的天數之變異數為

(

8−7.5

) (

2 + 9−7.5

) (

2 + 7−7.5

) (

2 + 7−7.5

) (

2 + 9−7.5

)

2 =7.25,兩者相較之下,變 異數較小者,則護理人員排班表較好!

28

(37)

5-6:護理人員排班 DENR 數目差異較小之圖示

29

(38)

第六章 執行效能

本程式使用Borland C++ Builder 6.0 語言撰寫,作業平台為Windows XP,硬 體規格是Pentium(R)IV2.80GHz 搭配DDR 512 MB 記憶體。測試資料採取2009 年3-4 月彰基第二呼吸照護中心的約班資料。

本研究的目標是希望透過資訊科技的運用,幫助醫療管理方面更加有效率,

透過核心程式的回溯法產生一份護理人員排班表,再運用爬山法微調,產生一份 更佳的護理人員排班表,接著透過扣分權重的高低,將排班表調整成更令護理人 員滿意的狀態。

表6-1:參數權重設定 參數權重設定

違反項目 權重一 權重二 硬限制(程式內定扣分) 10000 10000

符合約班需求 10 1

不出現休假上班休假的組合 2 1

跳班,連續三天班別出現DEN 2 1

符合夜班天數需求 1 1

休假天數平均分配 1 1

透過程式運作兩種不同權重扣分,這邊分為權重一與權重二,權重一的扣分 是跟圖5-4裡的參數設定之扣分相同,如表6-1所示,其運作而產生的護理人員排 班表之運算分數,可以看到兩者的差異,進而瞭解護理人員排班表有改善。

30

(39)

表6-2:2009年3-4月彰基第二呼吸照護中心之運算分數 護理長人工排的

護理人員班表

排班輸出班表一 (考慮軟硬限制)

排班輸出班表二 (只考慮硬限制) 2009年3月微調前/

後總扣分數(權重一) 320368 / 300061 379 / 70 5525 / 125 2009年3月微調前/

後總扣分數(權重二) 320390 / 300105 639 / 269 6964 / 610 2009年4月微調前/

後總扣分數(權重一) 80402 / 10024 439 / 74 3044 / 283 2009年4月微調前/

後總扣分數(權重二) 80410 / 10048 643 / 264 3053 / 300

上述表格6-2是2009年3月至4月彰基第二呼吸照護中心之運算分數。第一行 是護理長人工排的護理人員班表,將之算出的軟硬限制違反之扣分分數,其中因 為人工排班違反了一些硬限制,被扣了80402~320390分之多。

第三行是透過本研究程式、只考慮硬限制的狀況下,產生的護理人員班表之 扣分分數,在完全不考慮軟限制的狀況下,程式一秒鐘即跑出一個班表,因為違 反許多軟限制而被扣了125~6964之多,但從程式運算扣分看到,產生的班表是 一份比人工排班優質的班表。

第二行是考慮軟硬限制的排班輸出班表、透過本研究的程式所跑出的班表扣 分分數,第二行表格內斜線兩旁的區分為左邊數字是運作回溯法之後的扣分,右 邊數字是運作完回溯法之後再加上運作爬山法的扣分,因程式依然無法滿足某些 的軟限制而被扣了70~643分之多,而其程式總運作時間約為二十分鐘,其運作 所花費時間遠低於護理長人工排班需半日至二日的時間,其扣分分數亦低於第一 行與第二行之扣分分數,因此此份班表是一份更佳的護理人員排班表。

31

(40)

表6-3:2009年3月護理人員班表扣分之爬山法效能

爬山法效能 改善前 改善後

違反硬限制次數 0 0

夜班天數的變異數 214.61 22.49 休假天數的變異數 112.95 24.95

出現休假-上班-休假的次數 15 11

不符合護士約包班需求次數 26 20

跳班(連續DEN)次數 11 0

總扣分數(加權後) 639.56 269.44

表6-4:2009 年4 月護理人員班表扣分之爬山法效能

爬山法效能 改善前 改善後

違反硬限制次數 0 0

夜班天數的變異數 322.94 45.64

休假天數的變異數 73 7

出現休假-上班-休假的次數 16 6

不符合護士約包班需求次數 20 20

跳班(連續DEN)次數 8 0

總扣分數(加權後) 643.94 264.64

由上述表6-3與表6-4的護理人員班表扣分之比較來看,人工排班與程式排班 均未違反硬限制;從加權後總扣分來看,爬山法效能改善後之扣分269.44與264.64 均低於改善前之扣分639.56與643.94;從各個軟限制之違規來看,相對於人工排 班之扣分而言,爬山法效能改善後之扣分大多優於改善前之扣分,也就是說,在

32

(41)

軟限制方面,程式排班違反軟限制次數,以及夜班與休假天數的變異數,只有2009 年4月的不符合護士約包班需求次數二者相等,其他項目均小於人工排班。

由排班時間的長短與軟硬限制的違反狀況來看,程式產生的護理人員排班表 均優於人工排成的班表,而且程式可以直接讀取約班表,以及透過簡單操作後,

可以獲得排班表,這對工作繁忙的護理長而言,無疑是減輕一大負擔,並且提供 各科護理人員更加滿意之護理人員排班表,即能達成此研究欲達成產生更高效率 的護理人員排班表之目標。

33

(42)

第七章 結論

護理人員排班的問題從1976年開始,研究學者證明此問題為NP-hard難題之 後,經過三十多年,至今仍無法廣泛的讓全球各醫院的各個護理長解決每個月需 面臨的護理人員排班問題。

護理人員排班問題至今仍是社會真實存在、待解決的問題之一,因此,若能 創造一個快速產生護理人員排班表的程式,並讓護理人員之時間與能力更有效率 的貢獻在病人身上,將能達到護理人員服務之最高品質。

本研究與彰基第二呼吸照護中心等病房合作,透過護理人員實際約班資料的 蒐集,並且運用排班核心程式回溯法、自動微調班表程式爬山法來做測試,產生 令護理人員滿意的排班表。

從第六章的執行效能得知,由本研究而成功改良的護理人員排班,其程式可 以更靈活的符合許多不同科別、不同病房的護理長使用,讓彰基的多位護理長快 速並高效率的解決每個月需面對的護理人員排班問題,減輕其負擔,此為本研究 之一大優點。

預計在未來,可以整合其他文獻的優點,例如禁忌搜尋法,再度強化排班程 式的效能與排班表的品質;亦希望未來能將此研究之想法與運作模式運用在不同 領域的排程管理,貢獻給更多待解決之問題上。

34

(43)

參考文獻

[1] 王裕元,「應用多目標決策模式建立護理人員排班方法之研究」,屏東科技 大學工業管理系碩士論文,民國92年。

[2] 李俊德,「兩階段限制規劃模式求解護理人員輪值問題」,國立交通大學運 輸科技與管理學系所碩士論文,民國96年。

[3] 郭金青,「整數目標規劃應用於護士排班之個案研究」,國立中正大學企業 管理研究所碩士論文,兩階段限制規劃模式求解護理人員輪值問題,民國 85年。

[4] 郭娓吟,「整數目標規劃應用於護理人力-以中部某醫院附設護理之家為 例」,中國醫藥學院醫務管理研究所碩士論文,民國91年。

[5] 莊凱翔,「求解護理人員排班最佳化之研究─以遺傳演算法求解」,國立成 功大學工業管理學系碩士論文,民國90年。

[6] 劉光宗,「數位化護理人員排班系統之研究」,國立東華大學企業管理學系 碩士論文,民國90年。

[7] 韓復華、李俊德,「兩階段限制規劃模式求解護理人員輪值問題」,管理 與系統,第14卷,第1期,民國96年。

[8] U. Aickelin and K. Dowsland, Exploiting problem structure in a genetic algorithm approach to a nurse rostering problem, Journal of Scheduling 3 (3) (2000) pp. 139–153.

[9] U. Aickelin and J. Li, A Bayesian optimization algorithm for the nurse scheduling problem, in: Proceedings of 2003 Congress on Evolutionary Computation (CEC2003), IEEE Press, Canberra, Australia (2003) pp.

2149–2156.

[10] U. Aickelin and J. Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International

35

(44)

Conference on Parallel Problem Solving from Nature (PPSN VIII) Springer Lecture Notes in Computer Science 3242 Springer, Birmingham, UK (2004) pp. 581–590.

[11] J.F. Bard and H.W. Purnomo, Preference scheduling for nurses using column generation, European Journal of Operational Research 164 (2) (2005) pp.

510–534.

[12] F. Bellanti, G. Carello, F.D. Croce and R. Tadei, A greedy based neighborhood search approach to a nurse rostering problem, European Journal of Operational Research 153 (2004) pp. 28–40.

[13] I. Berrada, J. A. Ferland and P. Michelon, “A Multi-Objective Approach to Nurse Scheduling with Both Hard and Soft Constraints,” Socio-Economic Planning Science 30 (1996) pp. 183-193.

[14] E.K. Burke, P. Cowling, P. De Causmaecker and G. Vanden Berghe, A memetic approach to the nurse rostering problem, Applied Intelligence 15 (3) (2001) pp. 199–214.

[15] E.K. Burke, T. Curtois, G. Post, R. Qu and B. Veltman, A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem, European Journal of Operational Research 188 (2008) pp. 330–341.

[16] E.K. Burke, P. De Causmaecker, S. Petrovic and G. Vanden Berghe, Fitness evaluation for nurse scheduling problems, in: Proceedings of the Congress on Evolutionary Computation (CEC2001), IEEE Press, Seoul, Korea, 2001, pp.

1139–1146.

36

[17] E.K. Burke, P. De Causmaecker, S. Petrovic and G. Vanden Berghe, Variable neighborhood search for nurse rostering problems, in: M.G.C. Resende, J.P. de Sousa (Eds.), Metaheuristics: Computer Decision-Making, Kluwer, 2004, pp.

153–172.

(45)

[18] E.K. Burke, P. De Causmaecker, S. Petrovic and G. Vanden Berghe, Metaheuristics for handling time interval coverage constraints in nurse scheduling, Applied Artificial Intelligence 20 (3) (2006).

[19] E.K. Burke, P. De Causmaecker and G. Vanden Berghe, A hybrid tabu search algorithm for the nurse rostering problem, in: B. McKay et al. (Eds.), Simulated Evolution and Learning, Selected Papers from the 2nd Asia-Pacific Conference on Simulated Evolution and Learning, SEAL 98, Springer Lecture Notes in Artificial Intelligence, vol. 1585, Springer (1999) pp. 187–194.

[20] E.K. Burke, P. De Causmaecker and G. Vanden Berghe, Novel Meta-heuristic Approaches to Nurse Rostering Problems in Belgian Hospitals, in: J. Leung (Ed.), Handbook of Scheduling: Algorithms, Models and Performance Analysis, CRC Press, 2004.

[21] B. Cheang, H. Li and A. Lim, “Nurse Rostering Problems – a Bibliographic Survey,” European Journal of Operational Research 151 (2003) pp. 447-460.

[22] K.A. Dowsland, Nurse scheduling with tabu search and strategic oscillation, European Journal of Operational Research 106 (2) (1998) pp. 393–407.

[23] P. Hansen and N. Mladenovic’, An introduction to variable neighborhood search, in: S. Voss et al. (Eds.), Meta-heuristics: Advances and trends in local searchs paradigms for optimization, Kluwer Academic Publishers (1999) pp.

433–458.

[24] E. Horowitz, S. Sahni and S. Rajasekaran, Computer Algorithms, Computer Science Press Inc. (1998).

[25] B. Jaumard, F. Semet and Vovor, T., “A Generalized Linear Programming Model for Nurse Scheduling,” European Journal of Operational Research 107 (1998) pp. 1-18.

37

[26] A. Meisels, E. Gudes and G. Solotorevsky, Employee timetabling, constraint

(46)

38

networks and knowledge-based rules: a mixed approach, in: E. Burke, P. Ross (Eds.), Selected papers from the First International Conference on Practice and Theory of Automated Timetabling, Springer Lecture Notes in Computer Science, vol. 1154, Springer (1995) pp. 93–105.

[27] H. Millar and M. Kiragu, “Cyclic and Non-Cyclic Scheduling of 12h Shift Nurses by Network Programming,” European Journal of Operational Research 104 (1998) pp. 582-592.

[28] H. E. Miller, P. William and J. R. Gustave, “Nurse Scheduling Using Mathematical Programming,”Operations Research 24 (5) (1976) pp.

857-870.

[29] N. Mladenovic’ and P. Hansen, Variable neighborhood search, Computers and Operations Research 24 (11) (1997) pp. 1097–1100.

[30] S. Petrovic, G.R. Beddoe and G. Vanden Berghe, Storing and adapting repair experiences in employee rostering, in: E.K. Burke, P. De (Eds.), Selected Papers from the 4th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2002), Springer Lecture Notes in Computer Science, Springer (2003) pp. 149–166.

[31] C. Valouxis and E. Housos, “Hybrid Optimization Techniques for The Workshift and Rest Assignment of Nursing Personnel,” Artificial Intelligence in Medicine, Vol. 20 (2000) pp. 155-175.

參考文獻

Outline

相關文件

We propose a primal-dual continuation approach for the capacitated multi- facility Weber problem (CMFWP) based on its nonlinear second-order cone program (SOCP) reformulation.. The

Since the generalized Fischer-Burmeister function ψ p is quasi-linear, the quadratic penalty for equilibrium constraints will make the convexity of the global smoothing function

request even if the header is absent), O (optional), T (the header should be included in the request if a stream-based transport is used), C (the presence of the header depends on

- Greedy Best-First Search (or Greedy Search) Minimizing estimated cost from the node to reach a goal Expanding the node that appears to be closest to goal - A* Search.. Minimizing

“A Flexible, Fast, and Optimal Modeling Approach Applied to Crew Rostering at London Underground,” Annals of Operations Research 127, pp.259-281,2004. [17] Levine.D, “Application of

Veltman, “A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem”, European Journal of Operational Research 188 (2008) pp.

Approach and a Boundary Element Method for the Calculation of Sound Fields in the Human Ear Canal, " Journal of the Acoustical Society of America, 118(4), pp. Axelsson,

The approach mentioned that suitable transformation should have been applied to formulate an equivalent multi objective linear programming problem (MOLPP) and the resulting