• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
58
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

改良爬山演算法於護理排班程式設計 Improving the Hill-Climbing Algorithm for

the Nurse Rostering Programs Design

系 所 別:生物資訊學系碩士班 學號姓名:M09820007 黃翔瑞 指導教授:侯玉松 博士

中 華 民 國 100 年 7 月

(2)

i

中文摘要

護理排班問題從 1976 年便已開始研究,但始終無法得到最完美的結果,主 要是因為在不同國家或醫院問題的限制都有所不同,並且要達到滿足所有護理人 員的需求,這是很困難的事情。

本 論 文 提 出 了 一 套 圖 形 演 算 法 (Graph Algorithm) 加 以 改 良 爬 山 法 (Hill-Climbing Algorithm)的應用,經測詴達到加快程式執行的時間約加快 3.5 倍 和微調出更加符合限制的班表,藉此期望能提供更符合護理人員需求的班表,提 升護理人員工作表現及服務的品質。

關鍵字:護理排班問題、圖形演算法、爬山演算法

(3)

ii

ABSTRACT

The nurse rostering problem has been studied since 1976. However the best solution has never been found. The major cause is the limitations of the problem are different and the solution will be hard to fulfil all of nurses needs.

This paper proposes a set of graph algorithm to improve the application of hill-climbing, Tested to speed up the program execution time is about 3.5 times speed up and fine-tuning a more in line with restrictions nurse scheduling table, to expect to provide more in line with the needs of nursing classes table, improve nurses performance and service quality.

Keywords: Nursing shifts problems, graph algorithms, hill-climbing

(4)

iii

誌 謝

本論文能如期完成,誠摯的感謝指導教授侯玉松老師悉心指導與督促,進入 研究所兩年期間,侯老師在學業上細心的指導與建議,針對作研究的態度及方 法,進行觀念的一個培養,以及在生活上的面對事情所必需的處事態度,使我在 這些年中獲益匪淺。至此感謝恩師浩大,內心充滿無限之謝意與敬意。

此外,更感謝我的家人,有他們的鼓勵才讓我有勇氣繼續繼續深造。謝謝我 爸,由於我無法時常回家,導致不能時常陪您真的很抱歉,謝謝我哥在我背後支 持我幫助我,教導我課業的問題,及生活上所必頇注意的事情,謝謝這些愛我的 家人們,才能使我在這兩年有力氣及勇氣的完成我的學業。

最後感謝所有指導過我的師長、同學、及幫助過我的朋友們,謝謝你們能在 我需要幫助時,時常幫助我,謝謝我研究所的同學們,有你們的陪伴,研究所兩 年才會過得這麼多采多姿。

(5)

iv

目 錄

第一章 簡介 ... 1

1.1 護理人員排班之定義 ... 2

1.2 護理人員排班問題之目的與架構 ... 13

第二章 文獻回顧... 14

2.1 禁忌演算法 ... 15

2.2 變動鄰域搜尋法 ... 15

2.3 基因演算法 ... 16

2.4 整數規劃法 ... 16

2.5 爬山法 ... 17

第三章 改良爬山法應用於護理排班程式 ... 18

3.1 爬山法基本概念 ... 18

3.2 圖形演算法基本概念 ... 21

3-3 護理人員排班表之圖形轉換 ... 27

3-4 找尋圖形中長度 2 的迴圈 ... 37

3-4-1 長度 2 的迴圈意義 ... 37

3-4-2 找尋圖形中長度 2 方法 ... 39

3-4-3 應用於爬山法與改進 ... 41

第四章 執行效能... 42

4-1 改良式爬山法於微調後扣分值 ... 43

4-2 改良式爬山法執行時間的比較 ... 45

第五章 結論與未來展望... 47

5-1 結論 ... 47

5-2 未來展望 ... 47

參考文獻 ... 48

(6)

v

表目錄

表 4-1:參數權重設定 ... 42

表 4-2:使用 2008 年 7 月護理排班表所微調扣分值 ... 43

表 4-3:使用 2009 年 5 月護理排班表所微調扣分值 ... 44

表 4-4:使用 2008 年 7 月護理排班表所微調後時間比例表 ... 45

表 4-5:使用 2009 年 5 月護理排班表所微調後時間比例表 ... 45

(7)

vi

圖目錄

圖 1-1:2009 年 7 月彰基第二呼吸照護中心部分護理人員的約班表 ... 3

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

圖 1-3:每天每人只能上一種班 ... 4

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

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

圖 1-6:大夜隔天不可以接小夜 ... 6

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

圖 1-8:頇滿足每日上班需求 ... 7

圖 1-9:彰化基督教醫院第二呼吸照護中心 LEVER 3 護士 ... 8

圖 1-10:護理人員約班表 ... 9

圖 1-11:護理人員排班表 ... 10

圖 1-12:出現休假上班休假的情況 ... 10

圖 1-13:每人平均休假天數值 ... 11

圖 1-14:出現跳班的狀態(D→E→N) ... 11

圖 3-1:爬山法圖示 ... 18

圖 3-2:爬山法應用於護理排班程式之流程 ... 19

圖 3-3:每天班別兩兩互換的圖例 ... 20

圖 3-4:圖形 ... 21

圖 3-5:無向圖 ... 21

圖 3-6:無向圖的二維陣列 ... 22

圖 3-7:有向圖 ... 22

圖 3-8:有向圖二維陣列 ... 23

圖 3-9:以圖 3-7 有向圖為例做示範圖 ... 23

圖 3-10:以圖 3-9 為例建立二維陣列儲存大小 ... 24

圖 3-11:搜尋可互換圖 ... 24

圖 3-12:以圖 3-11 建立二維陣列儲存概念圖 ... 25

圖 3-13:將圖形儲存完成的二微陣列 ... 25

(8)

vii

圖 3-14:2009 年 7 月第二呼吸照護中心部分護理人員排班表 ... 29

圖 3-15:考慮橫列條件不可以連續超過 7 天工作天 ... 30

圖 3-16:考慮橫列條件大、小夜班之後不可以接白班 ... 31

圖 3-17:考慮橫列大夜班之後不可以接小夜班 ... 31

圖 3-18:圖形節點內所需的換班資訊 ... 32

圖 3-19:由圖表 3-2 所製成的圖形節點 ... 33

圖 3-20:從圖形節點產生邊線 ... 34

圖 3-21:所有邊線連通圖 ... 35

圖 3-22:圖形邊線之二維陣列表示 ... 35

圖 3-23:迴圈表示 ... 37

圖 3-24:圖形迴圈表示法 ... 38

圖 3-25:根據圖 3-21 所製作的找尋長度 2 圖 ... 39

圖 3-26:行列互換互相比對圖 ... 40

(9)

1

第一章 簡介

醫院中護理人員,所承擔的責任是一種繁雜又繁重的工作,必需有著關懷、

愛心及體力,來幫助所需要幫助的病患,由於病患在醫院需要 24H 的隨時照顧。

因此,在不同的時段上醫院都必需有護理人員隨時待命的情況,護理人員的排班 則需要好好的思考,如何讓護理人員能達到足夠的休息時間以及符合護理人員的 需求,排出一個班表,這是一項困難的問題。

在排出一個班表時,會碰上很多的限制,根據彰化基督教醫院(簡稱「彰基」) 曾■卿護理長得知,限制主要分為兩大類,硬限制、軟限制,然而一個好的排班 表需要符合這兩大限制,但完全符合這兩限制是非常耗時又困難的,本論文目標 希望以較短的時間調整出一個較符合護理人員的需求的班表,滿足每位護理人員 的需求及期望,以提高工作上的滿意度。

(10)

2

1.1 護理人員排班之定義

在不同的醫院中,護理排班所遵循的定義上會有所不同,根據我們與彰化基 督教醫院(簡稱「彰基」)合作,據彰基呼吸照護科曾■卿護理長所提供的資料顯 示,護理人員輪班的班別分別有底下四大類型:

1. 白天班 「D」,工作時間為 08:00 – 16:00 2. 小夜班 「E」,工作時間為 16:00 – 24:00 3. 大夜班 「N」,工作時間為 00:00 – 08:00 4. 休假 「R」,放假的情況

依據以上四大類型,護理人員可以經由約班表,將自己所需求的約班狀況填 入表內,經由排班的過程,將護理人員的約班需求列入考慮,進而排出一個符合 護理人員所需求的排班表。

約班表是指,考慮到護理人員的需求,將護理人員當天或當月份,有特殊狀 況,需要上何種班別,事先的填寫入表欄內,將這些需求納入排班所需考慮的限 制,藉此達到護理人員的需求狀況,排出符合護理人員的排班表,如圖 1-1 所示。

排班表是指,將護理班表需要考慮的限制和約班的需求,考慮進去最後排出 的一個班表,以提供護理人員的使用,如圖 1-2 所示。

(11)

3

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

圖 1-2:2009 年 7 月第二呼吸照護中心部分護理人員排班表

(12)

4

排班時,除了盡量滿足護理人員的需求外,還頇遵守相關的規定,然而這些 規定會因為不同的醫院或不同的病房而有所不同,根據和彰基所歸納出來的限制 主要分為兩大種:

一、硬限制:依據法規必頇遵守的護理人員限制。

二、軟限制:盡可能的滿足護理人員對於班別的個人需求。

硬限制又分為七項:

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

每天每位護士只能夠上一種班別,目的是希望護理人員能夠有適當 的工作時間,以免出現了連續工作的情況,導致身心疲憊,因此為了 維護護理人員的工作狀態以及健康著想,每天每人只能上一種班,如 圖 1-3 所示。

圖 1-3:每天每人只能上一種班

(13)

5

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

如圖 1-4 所示,護理人員郭■婷在 3 號至 9 號連續工作 7 天後,一 定要接上放假,避免護理人員工作太久而導致身心疲憊,因此接上休假 (R)使護理人員能夠有時間好好休息。

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

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

大夜(約 N)上班的時間點為 00:00 - 08:00,而白班(D)的上班時間為 08:00 – 16:00,如果出現大夜接白班的情況,則會連續工作了 16 小 時,這是不被允許的,如圖 1-5 所示,程■葳在 4 號當天是排定大夜 (N),因此在 5 號的時候他排定休假(R)。

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

(14)

6

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

大夜(N)工作時間為 00:00–08:00,小夜(E)工作時間為 16:00 – 24:00,如果出現大夜接小夜的情況下,會導致護理人員只有八小時的 休息時間,並且是在白天的狀態下休息,因此為了護理人員的健康,這 種大夜(N)接小夜(E)的情況是被限制的,如圖 1-6 所示,不能連續大小 夜班。

圖 1-6:大夜隔天不可以接小夜

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

小夜(E)工作時間為 16:00–24:00,白班(D)工作時間為 08:00 – 16:00,如果出現小夜接白班的情況,中間只有八小時的休息時間,

這樣的休息時間是不夠的,因此為了維護護理人員的健康,不允許這 種狀況發生,如圖 1-7 所示。

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

(15)

7

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

每天的護理人數需求都是固定數量的護理人員,任何一個工作時間 都必頇要有一定的護理人員在,以提供病人最好的照顧品質,根據和 彰基第二呼吸照護中心為例,在 1 號時候,白班(D)需求為 5 人、小 夜(E)需求為 5 人、大夜(N)需求為 5 人,因此護理人員排班表要滿足 每日白班(D)、小夜(E)、大夜班(N)的護理人員需求數,如圖 1-8 所示。

圖 1-8:頇滿足每日上班需求

(16)

8

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

護理人員階級主要的判定為:level 1 護理人員是屬於最基層的護 士,level 2 護理人員是具有重症病人整體性的護理能力,level 3 護理 人員是為培養副護理長所設立的層級,訓練重點不是疾病或護理的能 力,而是認識護理人員法規,認識每位護理人員的專業能力。因此在 每一班別中需要有一個具備著 lever 3 的護理人員在場,已指派護理 人員去幫助病患,並且解決需要護理人員法規的問題。如圖 1-9 所示,

level 3 護理人員每班別都會有一人上班。

圖 1-9:彰化基督教醫院第二呼吸照護中心 lever 3 護士

(17)

9

軟限制又分為五項:

(一)護理人員個人的約(包)班需求:

護理人員可以藉由約班表內填入,個人的約班需求,已滿足護理 人員所需要的約班期望,如圖 1-10 所示,護理人員可以經由約班表,

事先預約自己的約班需求,經由排班,將會把約班的需求納入約班的 限制裡,已達到護理人員的約班期望如圖 1-11 所示。

另外在約班需求的休假(約 R)情況下,包含了護理人員特殊情 況,需接受的一些護理人員專業訓練如:JCI、PMR、ICU…等,當天 護理人員必頇去接受醫療訓練,在這種情況下護理人員則必頇 以休 假(R)排班。如圖 1-9 所示,程■君在 14 號,提出了 ICU 訓練,因此 當天會排定 R 的班別。

護理人員除了約班之外還有另外一種情況稱為「包班」,「包班」

是指護理人員整個月份不上某班別的意思,以圖 1-10 為例:護理人 員程■葳在約班表填入不上小夜(不上E)班別,因此在排好班別後,

可以從圖 1-14 清楚的看到,程■葳當月分中是不會出現小夜班(E)。

圖 1-10:護理人員約班表

(18)

10

圖 1-11:護理人員排班表

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

出現休假、上班、休假的狀況,會導致護理人員無法享受完整的 連續假期,因此護理長認為,這樣護理人員無法獲得充分休息的時 間,希望能夠盡量避免這種情況發生。如圖 1-12 所示,護理人員黃■

娟在 7 號至 9 號則出現這樣的情況,導致黃■娟在 7 號放假 8 號上班 9 號休假,無法達到充分休息。

圖 1-12:出現休假上班休假的情況

(三)休假天數需平均分配給每個護理人員:

根據彰基第二呼吸照護中心,護理長所述,希望每月份護理人員 得休假天數,必需要平均的分配給每個護理人員,已達到公平性,並 滿足護理人員的期望。如圖 1-13 所示,圖表內的五位護理人,一個 月份的總放假天數比例,在於 8 至 10 之間,這樣的比例是被允許的。

(19)

11

圖 1-13:每人平均休假天數值

(四)星期六、日或國定假日需平均分配給每個護理人員:

護理人員希望再星期六、日或國定假日情況能平均分配到放假,

藉此可以享有到星期六、日或國定假日的輪休機會。

(五)應避免跳班狀況發生(即排班出現D→E→N):

跳班出現會導致護理人員,在生理時鐘上會導致錯亂,或難以適 應的情況,應避免這種狀況發生,例如:圖 1-14 薛■鄉排班表出現了 白班(D)→小夜(E)→大夜(N)都只排一天的連續班表, 導致 薛■鄉,生理時鐘會無法適應,因此這種狀況是不被允許的。

圖 1-14:出現跳班的狀態(D→E→N)

(20)

12

經由上述,每月班表的產生,需由護理長針對每月的護理人員需求,並且符 合硬限制、軟限制,來排定一個排班表。

(21)

13

1.2 護理人員排班問題之目的與架構

根據彰基第二呼吸照護中心護理長所述,人工排定一個班表需要耗費很長的 時間,希望使用程式設計的方法,能快速並且符合護理排班限制,排出一個班表。

從前者護理排班程式設計文獻中,發現排出來的班表並沒有到理想中的好,因此 找尋改進方法,達到更快速的改良出一個班表,並且更符合護理人員的需求,為 本論文的目的。

本章節探討了護理排班的一個問題與概述,描述了護理排班的定義及護理排 班所需要考慮的限制;第二章節從文獻回顧中,探討了至今為止的文獻找尋是否 有改良護理排班程式的方法或改進之處;第三章節介紹了本論文的方法如何應用 於護理排班程式設計上;第四章節探討最後執行的效能;第五章節探討本論文的 結論,並找尋未來展望。

(22)

14

第二章 文獻回顧

護理人員排班問題,早在 1976 年 Miller[18]就已開始研究。在 2000 年時被 資訊學者研究[6、21]證明了,護理人員排班問題是 NP-hard 的難題;然而護理人 員排班問題,至今還尚未發展出理想的演算法來排出令護理人員滿意的排班結 果。早期在求解護理人員排班問題上,通常都以找尋最佳演算法[2-4、17-19]程 式在執行效率都不佳,非常的耗時,導致無法應用在實務面上。

過去文獻中,E.K.Burke 利用了多種演算法來解決護理人員排班的問題,例 如 : 禁 忌 搜 尋 法 (tabu search)[7-8] 變 動 鄰 域 搜 尋 法 (variable neighbourhood search)[10、16]、基因演算法(genetic algorithm)[9、11-12]…等。這些文獻由於缺 少了,與實際醫院護理人員排班資料來測詴,即文獻應用於國外,並非本國籍,

因此護理人員輪值及考量與國內不相同,無法直接應用於國內護理人員輪值問題 上,僅止於理論探討。

(23)

15

2.1 禁忌演算法

禁忌搜尋法(Tabu Search)於 1986 年由 Glover[14]提出,近年來已廣泛運用於 排班問題、工程問題或管理領域問題等。禁忌演算法是模仿人類對於過去經驗的 記憶進行日常生活的決策行為;其優點可以跳脫於區域性最佳解,找尋全域最佳 解。

禁忌演算法的運作,一開始找搜尋初始解,紀錄在禁忌名單內,近由初始解 開始找尋鄰近區域的最佳解,找到最佳解後檢查目前解移動到最佳解的路徑是否 在禁忌名單內,若禁忌名單內沒有這條路徑解,則此解就為目前最佳解,並繼續 搜尋附近鄰近解找尋更佳解,直到無更佳解出現為止,禁忌名單為紀錄目前最佳 解,避免重複走相同路徑解。

在文獻中[7-8],採用禁忌搜啟發式,探討國外各大型性醫院和醫療機構,但 缺點都顯示出禁忌搜尋啟發式,所執行的時間過於長,導致在實務面而言,並沒 有太大的幫助,因此還需在執行時間長度上做加以改善。

2.2 變動鄰域搜尋法

變動鄰域搜尋法(Variable Neighbourhood Search)是由學者(Mladenović and Hansen)[16]所提出。此法於求解時主要運用系統化地改變預先定義的鄰域結構範 圍,適時地跳出區域最佳解;可將大量的鄰近解,透過搜尋的過程將解縮小成數 百個。這是一個能夠快速的找尋護理排班解的方法,並且可以在較大的鄰域找尋 最佳解。相對的擴大鄰域找尋最佳解會導致搜索時間延長,此方法仍需要加以改 進。

(24)

16

2.3 基因演算法

基因演算法(Genetic Algorithm)於 1975 年由 John Holland [15]發表,主要根 據生物演化機制所發展出來的基因遺傳演算法,其運作方法主要是先以初始 (Initialization)隨機產生設定初始群體(population),接著將評估(Evaluation)群組中 每一個個體的適應度(fitness);從群體中在選擇高是應度、較易生存的個體,經 由遺傳基制(Genetic operation)的突變、交配、和復製產生新的群組,進而形成一 個新的下一代新的群體,一直重複運作,因此,此群體是應度會越變越好。

基因演算法應用於護理排班系統上,提供了一個高效率的排班系統,但在找 尋最佳解時,需要擴大解答空間,使其能夠演化到近似最佳解,需耗費很長的時 間,因此仍需改進。

2.4 整數規劃法

根據文獻交通大學運輸科技與管理學系,韓復華教授所著[5],採用的二階 段整數規劃(Integer Programming)的方法,來解決護理人員排班問題。該論文[5]

以新竹署立醫院的 20 名護士的排班資料來做測詴,並且採用了「排班」與「派 班」二階段限制規劃(Constraint Programming)模式依序求解。這篇論文定義護理 人員排班問題相當詳細,但是從論文的測詴結果來看,以新竹署立醫院的 20 名 護理人員排班,在二階段分別需先產生 3520、4660 個變數與 5592、4939 個限制 式,才能使用 ILOG OPL Studio 軟體,解出其整數規劃式的答案。

對於一個護理長而言,在繁忙的工作上還要學習使用一套 ILOG OPL Studio 軟體,並且頇了解如何產生 8000 多個變數,和 10000 多個限制式,醫院還需提 供一套 ILOG OPL Studio 軟體工護理長使用,就實務層面來看,是不易執行的。

(25)

17

2.5 爬山法

爬山法(Hill-Climbing Algorithm)其主要的運作過程是先定義初始解,進而推 算鄰近解。利用單一解在空間作搜尋,使評估函數去評估所有的鄰近解,並在每 一次的疊代評估與改進中,在鄰近解中找尋是否有比目前解更佳答案,如有則取 代目前的解,重複此過程,直到無法找到更佳的鄰近解為止。然而文獻[1],在 評估函數上所花費的時間太過於長,導致排出的班表時間並沒有理想中的快速,

因此仍需要加以改進。

藉由上述文獻得知,護理排班問題在外國學者與台灣學者中,都尚未找到完 善的解決方案,並且國外的輪值考量與國內並不完全相同,輪值的周期也不一 樣,導致無法應用於國內的護理人員排班或相關醫療單位上。

因此,本論文藉由文獻[1]的探討,了解了爬山法的應用,配合應用文獻[20]

圖形演算法的想法,運用結構陣列的方式,使用相鄰矩陣紀錄可行解答案,並帶 入爬山法與評估函數的應用,得到區域性較佳解,並且改善排班的時間及符合護 理人員的需求。

(26)

18

第三章 改良爬山法應用於護理排班程式

3.1 爬山法基本概念

爬山法是一種簡潔的啟發式搜尋法,也是一種 「疊代改進演算法」,在區域 的搜尋能力很好。爬山法的應用,是將目前解當作起始解,使用評估函數去比較 鄰近解最佳值與目前解何者較佳,當目前解較佳時,則找到區域最佳解停止程 式,反之鄰近解較佳時,則將其解當作下一個目前解,在繼續上述過程,直找到 區域最佳解。而評估函數則是根據問題的規定,透過運算的過程,算出分數值較 佳的解。

舉例說明:如圖 3-1 所示,當開始解為 1 時,則將 1 當作是起始解,開始尋找 附近的鄰近解,假設尋找到 2 的鄰近解時,透過評估函數作評估,鄰近解比目前 解更為優越時,再把 2 的解當作目前解,從新開始尋找評估,直到找到區域最佳 解 N 為止。

圖 3-1:爬山法圖示 1

2

N

(27)

19

本論文應用爬山法於微調班表程式,其設計重點是鄰近解的產生方式與評估 函數的設計,調整護理人員排班程式所產生的排班表,使其班表更佳的符合護理 人員的需求。爬山法應用於護理排班程式之流程如下圖 3-2 所示:

圖 3-2:爬山法應用於護理排班程式之流程 開始

輸入排班表目前解

產生所有目前解 的鄰近解

將最小鄰近解取 代為目前解

鄰近解的最小評估 函數值是否<目前 解的評估函數值?

輸出區域最小值

結束 計算所有鄰近解

的評估函數值

(28)

20

根據文獻[1]得知在鄰近解的產生方式上,將班表的每天班次兩兩互換而得 鄰近解,以 2009 年 7 月彰基第二呼吸照護中心為例,七月有 d=31 天,護理人員

23 人,每個目前解最多有 23 31 7843

2

 

C

個鄰近解。且先用評估函數算出較佳解

之後,與 7843 個鄰近解相比較,也就是每天兩兩互換後的班表的評估分數相比 較,若此較佳解是扣分最少、也是比目前解更佳的鄰近解,則取代目前解,以此 類推,直到找不出更好的鄰近解為止。如下圖 3-3 是每天班別兩兩互換的圖例:

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

文獻[1]在評估函數上面花費了太多時間,以上例而言,每次解所移動的班 表,便需要從新計算最多 7843 個鄰近解的評估函數的計算,導致程式的執行速 度上變慢,因此本論文依圖形演算法的想法,來解決鄰近解與評估函數使用上所 耗費的時間,達到快速的調整班表。

(29)

21

3.2 圖形演算法基本概念

圖形演算法最重要的就是圖形,而圖形(Graph)是指以邊(Edge)將節點(node, Vertex)連接起來的物件,稱之為圖形,例如圖 3-4。

圖 3-4:圖形

圖形演算法主要分為兩種圖形:無向圖、有向圖。

(一)無向圖:指圖形上的邊是沒有方向性,凡事只要有連上的節點,兩點可 以互通,例如圖 3-5 所示。A、B、C、D,四節點只要有邊相連的話就可以互通 性,這稱為無向圖。

圖 3-5:無向圖 節點

A B

(30)

22

無向圖可用二維陣列儲存,以圖 3-5 為例圖 3-6 為其二維陣列的儲存資料。

圖 3-6:無向圖的二維陣列

(二)有向圖:指圖形上的邊是有方向性,邊的方向性可以表示兩點是否有連 通。節點與節點之間的邊,邊線上有方向性,只要邊指向哪一邊,便可將資料換 過去,但沒邊的另一方則不能交換。例如圖 3-7 所示,當 A 點的邊指向 B 點,

表示 A 點資料可供給 B,但 B 點邊沒指向 A,表示 B 點資料不是允許給 A 點,

這稱為有向圖。

圖 3-7:有向圖 節點

邊線

(31)

23

有向圖二維陣列儲存,以圖 3-7 為例,圖 3-8 與其二維陣列的儲存資料。

圖 3-8:有向圖二維陣列

圖 3-6、3-8 為圖形解結構陣列的表示法,0 表示無邊線,1 則為兩點有邊線,

舉例說明如何將圖形儲存於二維陣列:

二維陣列的儲存大小以圖節點多寡為判定,當圖有 4 節點時二維陣列儲存大 小為 4X4 的大小,當圖有 5 節點時則為 5X5 大小以此類推,將陣列大小建構出 來,之後開始產生陣列中儲存的圖形邊線,以圖 3-9 有向圖為例,判斷節點數為 多少,設置A~D編號為 1~4,建立儲存二維陣列大小, 如圖 3-10。

圖 3-9:以圖 3-7 有向圖為例做示範圖 節點

邊線

起始節點

終止節點

1

4 3

2

(32)

24

圖 3-10:以圖 3-9 為例建立二維陣列儲存大小

如圖 3-11,從編號「1」節點開始往外尋找是否有對應的邊線,尋找方法是 依照編號順序搜尋2→3→4,去找尋是否有對應的邊線,然而本身與本身是無法 對應的所以不必去搜尋是否有相連,所以在二維陣列中則以 0 表示,依序找尋到 編號「2」,發現可以交換,這時就在二維陣列的儲存格內填入 1,表示編號「1」

點與編號「2」點是可以相通的如圖 3-12,在去尋找的編號「3」,可以發現編號

「1」邊線沒有指向編號「3」因此不能作交換,在二維陣列則填入 0 表示無法對 應邊,再去找尋編號「4」一樣不能做交換,一樣在二位陣列填入 0,當編號「1」

找尋過所有點後,換編號「2」從 1→3→4 依序尋找,以此類推直到編號「4」搜 尋完為止,建立出二維陣列將所有資訊儲存起來,如圖 3-13 所示。

圖 3-11:搜尋可互換圖 圖形編號

(33)

25

圖 3-12:以圖 3-11 建立二維陣列儲存概念圖

搜尋順序是從起點編號「1」開始尋找至終點編號「4」為止,再從起點編號

「2」搜尋搜尋至終點編號「4」,以此類推直到記錄完所有邊線為止。

圖 3-13:將圖形儲存完成的二微陣列 搜尋

順序

起 點

終點

(34)

26

上述清楚了解有向圖與無向圖的區別和想法,但如何將此圖形演算法應用上 護理人員排班系統呢?根據上述我們可以知道,無向圖與有向圖都根據邊線的連 通性來解答案,因此本論文藉由這想法,將護理人員初始排好的班表,以每天的 班別建立圖形,意思是指將欲換班的每一位護士當作一個節點,在每一個節點建 構完後,列出每個節點可以允許換班的班別,若其中某兩個節點可以互相換班便 將兩節點之間標上邊線,即可將某日班表建構成圖形(班表建構圖形下一章節會 加以介紹),將其圖形的可行解使用二維陣列儲存,可行解是指兩點之間有連通 性的節點,再將儲存的可行解帶入爬山法的應用,因此可以減少了很多不必要的 鄰近解去使用評估函數,藉此達到快速又符合護理人員需求的微調後班表。

(35)

27

3-3 護理人員排班表之圖形轉換

圖形演算法節點的建構,在護理人員排班上是一個很重要的一環,護理排班 需符合兩大限制,來排出班表,而在製作節點時所考慮的限制主要為硬限制為 主,軟限制則不必考慮,不考慮軟限制是因為本論文所追求目標其中一項,以較 快速的調整護理排班表,因此如果考慮軟限制的話,程式執行上會增加許多去考 慮條件去判斷是否符合軟限制,會增加很長的時間。

硬限制又細分為直行條件及橫列條件,本論文的應用指考慮其中的橫列條件 3 大項目。

(一)直行條件

(1)需滿足每日白班(D)、小夜班(E)、大夜班(N)之護理人員需求數。

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

(3)每天每人只能上一種班 (二)橫列條件

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

(2) 大、小夜班之後不可以接白班。

(3) 大夜班之後不可以接小夜班。

排班表的某一天(一天為一直行)必頇滿足所有護理人員需求的硬限制稱為 直行條件。若只考慮直行條件下的情況,需滿足每天每班的護理人員需求數是可 以被忽略不用檢查的條件,因為我們是在某一天的班表中交換班別,並不會影響 到當天的值班人員數。

(36)

28

level 3 人員一定要有一個人上班亦先忽略不作檢查,原因跟軟限制一樣,

由於 level 3 需要去考慮有哪些護理人員是 level 3 並且跟哪位護士交換,那位護 士有沒有 level 3 會導致判斷式需經過多方面的判決才能制定出來,因此不列入 考慮限制中,就算微調後有不符合這規定,盤面過差,程式也會自動的跳過這解,

因此不列入考慮。

每天每人只上一種班別,因為本論文是使用一個排好的班表,因此這種情況 在微調程式之前就被列入考慮,所以微調程式是不會影響的。

橫列條件指的是每位護理人員每個月的排班是否符合橫列條件,頇將某日卻 換班之班表前後班別都列入考慮,在不違反橫列限制的情況下,才能確實的找出 可以換班的可行解。

(37)

29

以圖 3-14 為例,將 4 號的排班情況,建立圖形的節點。建立圖形節點時,

需具備幾個重點的換班資訊:

1. 每位護理人員的編號 2. 護理人員當天的班別 3. 可以換班的班別選項

首先頇將每一位護理人員標上編號,如表 3-1 所示,並且列出原本排班班別 及可換班之班別,提供詳細資訊以便接下來將排班轉換成圖形節點。而可換之班 別產生方式則是需符合硬限制橫列條件:

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

(2) 大、小夜班之後不可以接白班。

(3) 大夜班之後不可以接小夜班。

圖 3-14:2009 年 7 月第二呼吸照護中心部分護理人員排班表

(38)

30

表 3-1:護理排班節點資訊以表格呈現

護理人員名稱 護理人員編號 原本班別 可換之班別

洪■縈 1 D

賴■怡 2 R

黃■娟 3 E

陳■臻 4 R

程■君 5 N

薛■鄉 6 E

在不違反硬限制條件下找出可換班之班別。以洪■縈在 4 日班表來做例子:

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

洪■縈在 4 日原本班別為白班(D),首先考慮是否有連續超過 7 天的情 況,從當天往前尋找至休假(R)的天數加上往後尋找至休假(R)天數,不可超 過 7 天,從圖 3-15 可以看到,往前只有 1 天工作天,往後工作天 3 天,因 此當天他就算排定工作,加起來也只有工作 5 天因此,可判定當天他可行解 有 DENR 都可以,但是當天他已經排定白班(D),因此 D 的可能性可以去除,

所以剩下 ENR 情況,因此在考慮下 2 個限制示。

圖 3-15:考慮橫列條件不可以連續超過 7 天工作天

(39)

31

2. 大、小夜班之後不可以接白班。

洪■縈 3 日班別為白班(D),5 日班別為小夜(E),因此可以判定可行解可 以為 ENR 這三種班別。如圖 3-16 所示。

圖 3-16:考慮橫列條件大、小夜班之後不可以接白班

3. 大夜班之後不可以接小夜班。

洪■縈當日班別白班(D),因此只要考慮 5 日的班表情況,由於 5 日班別 為小夜(E),因此洪■縈在 4 日可行解不能為大夜(N),如圖 3-17 所示。

圖 3-17:考慮橫列大夜班之後不可以接小夜班

根據上述的判斷得知,洪■縈當天可行解為 ER 這兩種可能性,因此透過這 方法,將圖 3-14 的 6 為護理人員的可換班別解出來,填入表 3-1 的可換班別的 資料表內。如表 3-2 所示。

(40)

32

表 3-2:將可行解填寫入可換班別內

護理人員名稱 護理人員編號 原本班別 可換之班別

洪■縈 1 D E、R

賴■怡 2 R D、E、N

黃■娟 3 E D、R

陳■臻 4 R 無可換班別

程■君 5 N D、R

薛■鄉 6 E D、R

接著利用表 3-2 的換班資訊,建構出六位護理人員的節點,將 4 日這天的班 別轉換成圖形節點。圖形節點將分成三個欄位,如圖 3-18 所示:

第一個欄位:護理人員編號 第二個欄位:當天值班班別

第三個欄位:不違反限制下,可換班的班別

圖 3-18:圖形節點內所需的換班資訊 護理人員編號

原本班別

換班可行解

(41)

33

我們已把表 3-2 來建構出如圖 3-19 的圖節點,節點圖由編號「1」至編號「6」

的護理排班節點資訊:

圖 3-19:由圖表 3-2 所製成的圖形節點

經由圖 3-19 的圖形節點,找出節點彼此之間的換班關係,便可以找出節點 之邊線。

邊線的產生方是為某節點的第二欄位(當日班別資料),與另外一節點的第三 欄位(換班可行解資料)相同者,便可產生邊線。例如圖 3-20 所示,編號「1」節 點中,原本班別為白班(D),而編號「3」節點的第三欄位中,含有編號「1」的 當日班別,則編號「1」號的班別則可以跟編號「3」班別交換。而編號「3」號 的當日班別為小夜(E),編號「1」號節點在第三欄位中含有「3」號節點的當日 班別,則可以相互連通。進而產生圖形解的邊線,並從圖形節點產生,邊線連通 性的資訊,使用二維陣列儲存。

(42)

34

圖 3-20:從圖形節點產生邊線

使用二維陣列儲存的方式,主要透過節點邊線的連通資訊,運用相鄰矩陣儲 存起來,以 3-21 圖形為例:當編號「1」節點原本班別為白班(D),找到編號「2」

節點的可行解當中有白班(D)可換,便可在 1→2 之間的相鄰矩陣紀錄 1,而編號

「1」不能與編號「4」換班,便在 1→4 之間記錄為 0,表示沒有邊線可互換班 別,以此類推,將二維陣列建立出來,如圖 3-22 所示。

(43)

35

圖 3-21:所有邊線連通圖

圖 3-22:圖形邊線之二維陣列表示

(44)

36

利用圖形演算法的方式,把每天每人的圖形建構起來,便得知節點與節點之 間相連通性,建立出二維陣列,藉由下一章節迴圈概念找尋迴圈,將迴圈的可行 解帶入爬山法的應用,便可以減少許多評估函數的運算,以達到加快執行程式執 行結果及更符合護理人員需求的班表。

(45)

37

3-4 找尋圖形中長度 2 的迴圈

3-4-1 長度 2 的迴圈意義

根據上述,本論文將每天護理人員排班建立圖形,藉由圖形所儲存的資料去 找可換班別的迴圈,將迴圈長度 2 的所有可行解找尋出來,也就是兩兩護理人員 可以交換班別的可行解,再將可行解帶入爬山的應用中找尋更符合護理人員排班 表,進而得到區域最佳解。

迴圈的意思是指兩個護理人員可以相互互換,例如圖 3-23 所示 A 點與 B 點 兩點的資料可以相互交換便可以形成迴圈,然而此圖的迴圈數總共有 A←→B、

B←→C、C←→A、A→B→C→A,這四種迴圈總數,這樣的循環便稱之為迴圈。

圖 3-23:迴圈表示

然而本論文使用圖形去找尋迴圈,代表著凡事一個迴圈,便表示護理人員可 以以迴圈的順序交換班別,例如圖 3-24 所是,當編號「1」指向編號「2」,而 編號「2」指向編號「3」,編號「3」指向編號「1」,這樣便形成了一個迴圈,

意思是指編號「1」換編號「2」,編號「2」換編號「3」,編號「3」換編號「1」,

班表可以這樣的方式相互交換。

(46)

38

圖 3-24:圖形迴圈表示法

本論文之所以要找尋長度 2 的原因,是要跟文獻[1]的方法做一個比較,以 加快調整班表的速度及符合護理人員需求的為目標,然而文獻[1]主要是將護理 人員兩兩作互換調整所得的班表,因此本論文藉著長度 2 的迴圈,加以改善班 表,然而不找尋長度 3 或 4 的原因是,當找尋的長度越長所花費的時間則會越長。

長度 2 的迴圈意思是指,兩個護理人員可以互換的情況,如圖 3-24 為例,

例子所找尋到的迴圈長度為 3,編號「1」→「2」→「3」→「1」,3 個護士循 環,迴圈長度 2 表示,例如編號「1」與編號「3」只有兩個護理人員可以互換,

稱之為長度 2 的迴圈。

(47)

39

3-4-2 找尋圖形中長度 2 方法

根據第 3-3 章節所述,建立圖形後所找尋到的邊線,將邊線連通性建立並儲 存於二維陣列,藉由這二維陣列中找尋長度 2 的可換班解。

找尋長度 2 的方法,以圖 3-25 為例:從列號「1」開始往行號「1」尋找至行 號「6」,當找尋到二維陣列內的內容為 1 時,則行列互換比對剛所找到的值是否 為 1,如圖 3-26 所示,當行列互換後所得的值為 1 時表示兩點可以相互交換,0 則表示不行互換。藉由這樣的方法便可得到當天護理人員長度 2 可換的所有可行 解,再將可行解帶入爬山法的應用。

圖 3-25:根據圖 3-21 所製作的找尋長度 2 圖 行號

列號

(48)

40

圖 3-26:行列互換互相比對圖 列號

行號

(49)

41

3-4-3 應用於爬山法與改進

當找尋到長度 2 的所有可行解後,將解帶進爬山法中的鄰近解,使其與評估 函數做評估,當鄰近解較佳目前解時,則調整盤面,從新找尋長度 2 的所有可行 解,而當評估函數的目前解比鄰近解較佳時,則繼續尋找另其鄰近解,重復執行 以上步驟,直到找到區域性最佳解。而與文獻[1]最主要的差別在於鄰近解的產 生方式及評估函數所評分的次數。

文獻[1]鄰近解所產生的方式,主要是將整月份每一天的換班可能性,以兩 兩交換的方式,將其所有可能性都帶入,可行解為產生的總次數 31

2

C

n 這樣的

數值,以圖 3-26 為例子,所產生的鄰近解便為 6 15

2

C

種,然而以本論文的方法,

找尋的鄰近解為只有 6 種,並且產生的鄰近解必頇還得帶入評估函數作評分的動 作,光是 6 位護理人員評估函數的次數差 15-6=9 次之多,然而當護理人數多時,

時間差距便會更大。

(50)

42

第四章 執行效能

本程式使用 Microsoft Visual C++ 6.0 語言撰寫,作業平台為 Windows XP,

硬體規格 Pentium(R)4 CPU3.00GHz 搭配 DDR 1.0GB 記憶體。測詴資料採取 2008 年 7 月和 2009 年 5 月份彰化基督教醫院第二呼吸照護中心的約班表。

本論文研究的目標,希望透過圖形演算法去改良爬山法的鄰近解,達到快速 的調整班表,使其解能更符合護理人員需求。並且與論文《護理人員排班程式設 計與實作》所使用的爬山法執行出來的數據做比較,透過權重如表 4-1 的扣分高 低及調整排班所執行的時間,來作比較的基準。

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

違反項目 權重

硬限制(程式內定扣分) 10000

符合夜班天數需求 1

休假天數平均分配 1

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

符合約班需求 10

跳班 2

(51)

43

4-1 改良式爬山法於微調後扣分值

表 4-2、4-3 分別是 2008 年的 7 月份與 2009 年 5 月班表,使用論文

「護理人員排班程式設計與實作」[1]的爬山法與本論文改良後爬山法的程式,

微調班表後所得到的扣分清單,透過表 4-2、4-3 所示資料,本論文所執行的總 扣分數是比前者[1]優越,並且在硬限制與跳班的狀況都未出現,因此證明了本 論文使用圖形解去改良爬山法是可行的。

表 4-2:使用 2008 年 7 月護理排班表所微調扣分值

爬山法 改良前 改良後

違反硬限制次數 0 0

夜班天數的變異數 9.344 9.116

休假天數的變異數 5.750 5.750

出現休假-上班-休假的次數 9.000 9.000

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

跳班(連續 DEN)次數 0 0

總扣分數(加權後) 83.094 82.866

(52)

44

表 4-3:使用 2009 年 5 月護理排班表所微調扣分值

爬山法 改良前 改良後

違反硬限制次數 0 0

夜班天數的變異數 46.698 44.218

休假天數的變異數 11.750 9.750

出現休假-上班-休假的次數 10.000 12.000 不符合護士約包班需求次數 20.000 20.000

跳班(連續 DEN)次數 1 0

總扣分數(加權後) 280.448 277.968

表 4-2 與 4-3 都是以相同的資料下去做程式的評分,都是使用 2008 年的 7 月份和 2009 年 5 月排班表下去做微調的動作,然而在最後的總扣分卻不一樣,

這是因為在找尋可行解的路線上,有可能出現兩個可行解交換後所得到的評分一 樣,而導致程式所尋找的路線不一樣,所以會出現總扣分不一樣這種狀況發生。

相 同

(53)

45

4-2 改良式爬山法執行時間的比較

藉由上述發現雖然總評分數並沒有太大的優越性,因此從程式執行程式時間 來看是否有較大的改進,從表 4-4、4-5 可以看到,雖然在微調次數上並沒有太 大的差別,但評估函數執行總次數上,使用 2008 年 7 月護理排班表的評估函數 執行總次數,本論文程式減少了約 3.87 倍的次數,而且程式的執行時間上,也 改進了約 4.14 倍的時間,使用 2009 年 5 月護理排班表的評估函數執行總次數比 例,減少了 3.46 倍的次數,時間也改進了 3.5 倍的時間。

表 4-4:使用 2008 年 7 月護理排班表所微調後時間比例表

爬山法 改良前 改良後 比例

微調次數 32 31

評估函數執行總次數 130950 33870 3.87 微調後扣分 83.094 82.866

程式執行時間 29 秒 7 秒 4.14

表 4-5:使用 2009 年 5 月護理排班表所微調後時間比例表

爬山法 改良前 改良後 比例

微調次數 48 56

評估函數執行總次數 193350 55887 3.46 微調後扣分 280.448 277.968

程式執行時間 49 秒 14 秒 3.5

(54)

46

因此證明本論文的方法,雖然微調後扣分沒有太大的一個改進,但在程式執 行時間上,改進許多。主要導致時間減少的原因是在執行評估函數的總次數,由 於前者[1]使用兩兩互換的原因,多評估了很多並非可行解的換班,使得程式執 行時間太長,而本論文是使用圖形的方法,事先的將可行解答案找出來,再帶入 爬山法去做評估,因此減少了程式運作次數,得到本論文目標快速的微調出班表。

(55)

47

第五章 結論與未來展望 5-1 結論

護理排班問題從 1976 年便已開始研究,但始終無法得到最完美的結果,這 是因為在不同國家或醫院所限制的問題都有所不同,並且需要達到滿足所有護理 人員的需求,這是很困難的事情。

本論文提出了一套圖形演算法加以改良爬山法的運用,達到加快程式執行的 時間和微調出更加符合護理人員需求班表,並與前者論文[1]相互做比較,發現 論文[1]程的式主要耗費的時間在於尋找鄰近解的產生方式,因此本論文運用圖 形的想法,將所有可行的鄰近解找尋出來,減少一些不必要鄰近解出現,加以改 善程式執行的時間,並且從第四章執行效能得知,本論文所使用的方法確實提高 了程式的執行效率。

5-2 未來展望

本論文主要使用圖形演算法搭配爬山法,去微調班表已較快的時間找尋到區 域性最佳解,因此未來可以藉由產生多個班表去找尋區域性最佳解,再從多個區 域性最佳解找尋廣域性的最佳解,來達到更符合護理人員需求為目標。

(56)

48

參考文獻

[1] 林純玉,《護理人員排班程式設計與實作》,中華大學生物資訊學系碩士班碩 士論文,民國 98 年。

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

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

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

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

[6] 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.

[7] 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.

[8] 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.

(57)

49

[9] 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.

[10] 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.

[11] 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)pp. 44/1-44/18.

[12] 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) pp.743-766.

[13] K.A. Dowsland, Nurse Scheduling with Tabu Search and Strategic Oscillation, European Journal of Operational Research 106 (2) (1998) pp. 393–407.

[14] F. Glover, Tabu Search: A Tutorial, Interfaces, Vol. 20 (1990) pp. 74-94.

[15] J.H. Holland, Adaptation in natural and artificial systems. Ann Arbor, MI:

University of Michigan Press, (1975).

[16] 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.

(58)

50

[17] 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.

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

[19] 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.

[20] K Sankar, A .V Sarad, A Time and Memory Efficient Way to Enumerate Cycles in a Graph, (2007) pp. 498 – 500.

[21] 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.

參考文獻

相關文件

which can be used (i) to test specific assumptions about the distribution of speed and accuracy in a population of test takers and (ii) to iteratively build a structural

By correcting for the speed of individual test takers, it is possible to reveal systematic differences between the items in a test, which were modeled by item discrimination and

In summary, the main contribution of this paper is to propose a new family of smoothing functions and correct a flaw in an algorithm studied in [13], which is used to guarantee

H..  In contrast to the two traditional mechanisms which all involve evanescent waves, this mechanism employs propagating waves.  This mechanism features high transmission and

Miroslav Fiedler, Praha, Algebraic connectivity of graphs, Czechoslovak Mathematical Journal 23 (98) 1973,

One, the response speed of stock return for the companies with high revenue growth rate is leading to the response speed of stock return the companies with

Time constrain - separation from the presentation Focus on students’ application and integration of their knowledge. (Set of questions for written report is used to subsidize

Core vector machines: Fast SVM training on very large data sets. Using the Nystr¨ om method to speed up