• 沒有找到結果。

以限制規劃法求解全年無休人員排班問題之研究─以護理人員排班為例

N/A
N/A
Protected

Academic year: 2021

Share "以限制規劃法求解全年無休人員排班問題之研究─以護理人員排班為例"

Copied!
73
0
0

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

全文

(1)國. 立. 交. 通. 大. 學. 運輸科技與管理學系 碩 士 論 文. 以限制規劃法求解全年無休人員排班問題之研究 ─以護理人員排班為例 Constraint Programming Models for 7x24 Manpower Scheduling Problem: A Case of Nurse Scheduling Application. 研 究 生:李俊德 指導教授:韓復華. 教授. 中 華 民 國 九 十 四 年 六 月.

(2) 以限制規劃構建全年無休人員排班問題之研究─以護理人員排班為例 研究生:李俊德. 指導教授:韓復華 國立交通大學運輸科技與管理學系碩士班. 摘要 隨著經濟發展,人力成本亦不斷提高。對於若干無法以科技自動化取代的全年無休 服務業(如運輸、醫療等)而言,人員排班確是一項重要的課題。護理人員排班(Nurse Scheduling)為典型之 24 小時全年無休之範例,護理人員排班除須滿足勞基法(法律)、連 續值班、包班、人員需求等(醫院)眾多硬性限制,並儘量滿足護理人員需求之軟性限制 外,預先排班的特性更讓此問題的複雜度變得相當高,故此問題即被視為一高複雜度之 組合搜尋問題。 護理人員排班問題,為求解滿足複雜限制之問題,其目標式並不明顯,特性較近似 於限制滿足問題(CSP),故本研究定義此問題為一限制滿足問題,利用限制規劃法求解, 並以某署立醫院內科病房為個案病房。本研究之排班期為月,大於大部分以週或雙週為 排班期之研究,並考慮多種排班情況,故其問題極為複雜。為有效求解此大規模排班問 題,本研究將其分為兩階段求解,第一階段為「排休」模式,求解每位護理人員排班期 之休假日期,並將休假結果匯入第二階段「派班」模式,求解整月護理人員值班班表。 本研究測試環境為 Windows XP 作業系統、1.8G Hz 處理器速度,以 ILOG OPL Studio 3.0 軟體撰寫程式並求解個案三月至五月班表。測試結果每月可於 15 分鐘內求解完成, 與實際班表比較,在兩週休假最少四天、010 班別組合與包班之硬限制中,個案病房均 有出現違反之情況,平均每月會出現 11 次違反次數,本研究則為全部符合;而在五項 公平性指標分析中,個案病房平均全距最小為 2 天(休假天數),但最大平均全距為 9 天(白 班天數),相較於本研究平均全距之結果,皆為 1 至 2 天,公平性結果亦優於實際班表。 對於需反覆產生護理人員值班班表之排班者可提供一排班參考依據。 關鍵字:護理人員排班、組合搜尋問題、限制滿足問題、限制規劃法、公平性班表. i.

(3) Constraint Programming Models for 7x24 Manpower Scheduling Problem: A Case of Nurse Scheduling Application Student:Chun-Te Li. Advisor:Dr. Anthony Fu-Wha Han. Institute of Transportation Technology and Management National Chiao Tung University. Abstract For most service industries, the crew scheduling or rostering is a major concern of the management because the increasing cost of service professionals. Nurse scheduling problem (NSP) is a typical case of year-round service crew scheduling problems. The scheduler not only has to provide a timetable or roster to satisfy all labor and the hospital regulations (hard constraints) but also needs to consider to fit individual preferences (soft constraints) as much as possible. Moreover, some nurse shift pre-assignments often reduce the choice for other unfilled slots. Thus the complicated NSP is considered as a combinatorial search problem. The character of NSP is like a constraint satisfaction problem (CSP). Thus, we formulate the NSP as a CSP, using constraint programming (CP) Model to solve the problem and conducted a case study of the medical ward in a general hospital, department of health. In order to solve the problem efficiently, we separate the NSP in two phases. The first phase is “Off-day Scheduling Problem”, which solve the off-day roster for each nurse. The second phase is “Shift Scheduling Problem”, which use the off-day roster result to solve the equitable roster. The CP models were implemented on a P4 1.8G Hz personal computer and used the ILOG OPL Studio 3.0 to solved our CP. The result of a full-month roster of case problem can be generated in 15 minutes. Compared with case rosters, and obtained very positive response. In addition to the roster schedule results, our model also provides as a reference for the scheduler.. Keywords:Nurse Scheduling, Combinatorial Search Problem, Constraint Satisfaction Problem, Constraint Programming, equitable duty roster.. ii.

(4) 誌 謝 經過一年嘔血的努力,碩士論文總算得以順利完成。首先感謝恩師韓復華教授研究 所兩年的嚴格教導與啟發,老師嚴謹的治學態度與處事邏輯,與近一年來費心指導學生 論文,讓學生不論在處事與研究學問的態度均獲益匪淺,師恩浩蕩,永銘於心! 論文進行期間,承蒙個案醫院之護理主任李女士與護理長黃女士不厭其煩地提供本 研究個案參考資料與建議,使得本研究更加完整,另外還有可愛的小護士朋友,忍受我 無止盡的問題騷擾,為我解惑,在此由衷地表示感謝。論文口試期間,承蒙中華大學張 靖教授、系上黃寬丞教授不吝指教與斧正,提供諸多寶貴意見使本論文更臻完善,在此 特別感謝。論文審查時系上王晉元教授與黃寬丞教授所給予之建議,與專題研討時系上 卓訓榮教授與吳水威教授所給予之建言,均使本論文更加嚴謹充實,學生衷心感佩。 兩年的研究所生活即將在此劃下句點,其中的酸甜實在難以言喻,在此最要感謝同 窗的戰友與夥伴,貝哥、小刀、昆諭、阿界、承正…(人實在太多了,版面有限,敬請 見諒),尤其是有出現名字的五位,記得每天外出覓食、出遊玩樂的日子,真是超快樂。 除了核電計畫,貝哥、小刀、昆諭咱們四個一起到東北角調查、泡湯、奮鬥趕案子睡研 究室與看新竹的日出外,你們的小馬與步兵支援,讓我免於慘遭韓國人、波斯大象等電 腦的蹂躪;另外加上阿界、承正幫我檔敵人的子彈,讓我存錢買槍等,更讓我感動至深, 除發洩壓力外,更看出咱們彼此間的默契。還有室友阿龍跟易呈,雖然你們不常回宿舍, 但你們還真是好室友。當然網路實驗室新的生力軍威哥、水餃、淑詩、育廷、裕智跟對 面的俊吟,還有對岸的交流學生陳娟,更讓我碩二的生活更加鮮豔生動,有如雨後的彩 虹、朝陽的光輝與清晨的露珠那樣亮麗動人,咱們共甘苦共患難建立的革命情感,更讓 我永生難忘。另外,特別要感謝除了研究所兩年上演多部精采連續劇的演員,讓我有茶 餘飯後的閒聊話題外,還有可愛的學妹,帶給我的不僅是一抹色彩,更加激發了我内心 濃烈的火焰,讓我研究所生活多了另一番調味。一路走來感謝有你們的陪伴。 最後,我要將此論文獻給我摯愛的家人,感謝父母辛苦的栽培與無悔的付出,老哥 的支持鼓勵,雖然期間不常回去,都快變不孝子,但你們的體諒也讓我深深感動,儘管 中間發生了一些事,但也更加深家人的牽繫,是你們讓我堅持到此刻順利取得碩士學 位。感謝有你們默默的支持與鼓勵。 碩士論文的完成,要感謝的人太多了,想說的話,有如滔滔江水,但又怕一發不可 收拾,只能怪版面太少,無法如祖譜般一一列舉,只能將這點點滴滴,深記在腦海中, 直到我變笨。僅將這份榮耀與喜悅,與你們分享!. 李俊德. 謹誌. 于 網路實驗室 2005.6 iii.

(5) 以限制規劃法求解全年無休人員排班問題之研究 ─以護理人員排班為例. 目錄 中文摘要 ......................................................................................................................i 英文摘要 .....................................................................................................................ii 致謝 ............................................................................................................................iii 目錄 ............................................................................................................................iv 表目錄 ........................................................................................................................vi 圖目錄 ......................................................................................................................viii 續論 .............................................................................................................1. 第一章 1. 1. 研究背景與動機 .......................................................................................1. 1. 2. 研究目的與範圍 .......................................................................................2. 1. 3. 研究方法與流程 .......................................................................................2 文獻回顧 .....................................................................................................5. 第二章 2. 1. 護理人員排班 ...........................................................................................5. 2. 2. 護理人員排班限制 ...................................................................................7. 2. 3. 限制規劃法 .............................................................................................10. 2.3. 1. 限制滿足問題 ..................................................................................10. 2.3. 2. 限制規劃法 ......................................................................................11. 2.3. 3. 限制規劃之求解演算法 ..................................................................12. 第三章. 護理人員排班問題介紹 ...........................................................................19. 3. 1. 護理人員排班概述 .................................................................................19. 3. 2. 護理人員排班問題定義 .........................................................................20. 3. 3. 排班限制整理 .........................................................................................21 iv.

(6) 護理人員排班個案介紹與模式構建 .......................................................26. 第四章 4. 1. 個案介紹 .................................................................................................26. 4. 2. 個案限制條件整理 .................................................................................27. 4. 3. 兩階段求解模式設計 .............................................................................30. 4. 4. 第一階段:排休(Offday Scheduling) ....................................................31. 4.4. 1. 限制滿足問題模式構建 ..................................................................31. 4.4. 2. 限制規劃演算程序 ..........................................................................36. 4.4. 3. 第一階段求解結果 ..........................................................................39. 4. 5. 第二階段:派班模式(Shift Scheduling)................................................39. 4.5. 1. 限制滿足問題模式構建 ..................................................................39. 4.5. 2. 限制規劃演算程序 ..........................................................................45. 4.5. 3. 第二階段求解結果 ..........................................................................46. 護理人員排班個案結果分析 ...................................................................48. 第五章 5. 1. 各階段模式規模及求解時間 .................................................................48. 5. 2. 個案參數設定及資料輸入 .....................................................................49. 5.2. 1. 第一階段模式參數設定與資料輸入 ..............................................49. 5.2. 2. 第二階段模式參數設定與資料輸入 ..............................................50. 5. 3 第六章. 個案執行結果與分析 .............................................................................52 結論與建議 ...............................................................................................57. 6. 1. 結論 .........................................................................................................57. 6. 2. 建議 .........................................................................................................58. 參考文獻 ...................................................................................................................59 附錄 A─護理人員排班三月班表結果 ...................................................................62 附錄 B─護理人員排班四月班表結果....................................................................63 附錄 C─護理人員排班五月班表結果....................................................................64. v.

(7) 表目錄 表 2. 1. 護理人員排班限制條件彙整表 ................................................................10. 表 3. 1. 國外文獻與本研究整理之護理人員排班限制比較表 ............................25. 表 4. 1. 護理人員排班考慮限制比較表 ................................................................29. 表 4. 2. 兩階段模式求解綜合說明 ........................................................................31. 表 4. 3. 護理人員之工作與休假時間示意表 ........................................................39. 表 4. 4. 兩階段變數數值對應表 ............................................................................40. 表 4. 5. 各階段限制式對應表 ................................................................................44. 表 4. 6. 護理人員之值班班表 ................................................................................47. 表 4. 7. 護理人員公平性指標累積表 ....................................................................47. 表 5. 1. 個案之模式變數個數、限制式數及求解時間 ........................................48. 表 5. 2. 三、四、五月護理人員每日休假人數 ....................................................49. 表 5. 3. 三月預排班表資料 ....................................................................................49. 表 5. 4. 四月預排班表資料 ....................................................................................50. 表 5. 5. 五月預排班表資料 ....................................................................................50. 表 5. 6. 三月護理人員每日各班別需求人數 ........................................................51. 表 5. 7. 四月護理人員每日各班別需求人數 ........................................................51. 表 5. 8. 五月護理人員每日各班別需求人數 ........................................................51. 表 5. 9. 每月包班與預定班別之護理人員 ............................................................52. 表 5. 10. 計劃期間休假數結果 ..............................................................................52. 表 5. 11. 計劃期間例假日休假數結果 ..................................................................53. 表 5. 12. 三月未包班護理人員各值班班別之天數 ..............................................53. 表 5. 13. 四月未包班護理人員各值班班別之天數 ..............................................53. 表 5. 14. 五月未包班護理人員各值班班別之天數 ..............................................54. 表 5. 15. 護理人員排班公平性結果(CV 值)比較表 .............................................54 vi.

(8) 表 5. 16. 護理人員排班休假天數分佈結果比較表 ..............................................55. 表 5. 17. 護理人員排班例假日休假天數分佈結果比較表 ..................................55. 表 5. 18. 護理人員排班白班值班天數分佈結果比較表 ......................................55. 表 5. 19. 護理人員排班小夜值班天數分佈結果比較表 ......................................55. 表 5. 20. 護理人員排班大夜值班天數分佈結果比較表 ......................................56. 表 5. 21. 護理人員排班公平性結果比較表 ..........................................................56. vii.

(9) 圖目錄 圖 1. 1. 研究流程圖 ..................................................................................................4. 圖 2. 1 BT 搜尋法-以 4-queens 為例 ....................................................................15 圖 2. 2 FC 搜尋法-以 4-queens 為例 ....................................................................16 圖 2. 3 MAC 搜尋法-以 4-queens 為例 ................................................................18 圖 4. 1. 模式求解架構 ............................................................................................30. 圖 4. 2. 排休 OPL 模式...........................................................................................38. 圖 4. 3. 排休 OPL 資料檔.......................................................................................38. 圖 4. 4. 派班 OPL 模式 PartI..................................................................................45. 圖 4. 5. 派班 OPL 模式 PartII ................................................................................46. 圖 4.6. 派班 OPL 資料檔........................................................................................46. viii.

(10) 第一章. 緒論. 1. 1 研究背景與動機 現實世界的組織如醫院、客服中心,航空站、金融業等,均需面臨組織內人員排班 的問題,依照組織環境與需求的不同,所衍生出的排班限制與複雜度也將有所差異,此 外,一個合適且良好的班表,除可減少人事成本的支出外,更會影響工作人員處理事務 之心態,提高組織的服務品質,減少組織內部分歧,因此人員排班問題也越來越受到許 多學者與組織排班規劃者的重視。 醫院組織,為一典型全年無休的服務單位(一天 24 小時,一週七天),每個醫院在經 營時,均需反覆產生某段期間(週或月)的員工執勤班表,因此,排班問題對醫院而言也 就相形重要。護理部門在醫院中擁有最多的職員人數,按護理主要功能及其任務,係對 病患於療養上照顧,醫師診療輔助[30]。因此,護理人員的表現對於醫院服務品質與病 患療養佔重要的地位。且一合適的班表於護理人員在醫療保健的品質、新進護理人員與 其他相關護理服務上有相當大的影響[3],故一公平且滿意度高之護理人員班表對醫院與 護理人員而言即相當重要。 於護理人員排班問題中,除須滿足勞基法(法律)、連續值班、包班、人員需求等(醫 院)眾多硬性限制外,醫院通常會允許護理人員預先排定欲排之班別並限制某些休假時 間,並儘量滿足護理人員需求與班別公平分配之軟性限制。相較於傳統人員排班問題, 此類排班問題特別重視人力之適當分配與護理人員滿意度,且護理人員不同於一般企業 組織有固定假日,適當的輪班調度與休假對護理人員而言更顯得重要,因此在排班與休 假政策的選定需考慮周詳。 在上述軟、硬限制、休假與技能考量的多重限制下,護理人員排班問題也就相當複 雜,屬於高複雜度之組合搜尋問題。若以人力排班則需花費極長之時間,且還需每段期 間重複產生班表,更加重排班人員的負擔,因此,若可應用適當的方法建立良好的排班 模式,配合現今快速的電腦運算處理能力,除可節省相當多的排班人力與時間成本,也 能排出較佳且令護理人員滿意的班表。有關護理人員排班之研究,國內外已有許多學者 對其進行研究與探討,至今求解護理人員排班問題目前仍以數學規劃(MP)為主,但隨著 電腦的迅速發展,開始有學者利用限制規劃法(CP)來求解此類問題,其結果較以往更能 符合實際需求。 有鑑於該問題之重要性,本研究目的即在以護理人員排班問題為例,來探討全年無 休服務人員排班問題。擬利用求解限制程度高之限制滿足問題並以極有效率的限制規劃 法[7, 22, 23]建構全年無休服務人員的排班模式,配合 ILOG OPL Studio 3.0 軟體與現今 電腦的快速運算,求解符合醫院、法規規定及護理人員滿意且具公平性的班表,並建立 良好的排班機制,減少排班人員排班時的負擔,提升護理人員滿意度與服務效率,降低 1.

(11) 彼此間之衝突,提升醫院服務形象。. 1. 2 研究目的與範圍 本研究之目的為以護理人員排班為例,來探討全年無休服務人員排班問題。並以限 制規劃法構建其排班模式,期利用現今電腦的快速運算能力,有效率地產生滿足全部硬 限制與滿意度高且具公平性之班表,一方面可減少排班人員之負擔;另一方面也可增加 護理人員對班表的滿意度,進而提升醫院服務形象。 就國內而言,一般護理人員排班多指各病房之排班,護理人員依所配置之病房執行 其職務。一個病房可能會包含不同科別或多個病床,規模依病房別、病人數與病床加以 增減,亦由於醫院之需求具有高度不確定性,因此對於護理人員之需求人數目前多以病 房之護理長依經驗判斷其需求。 因此,本研究以某署立醫院之內科病房為個案,並構建其護理人員排班模式,在已 知每日值班班別種類、人數需求、計劃期間所需之班別種類與預排班別時間下來進行排 班作業,期驗證限制規劃法於護理人員排班問題上之效率與效用。 另外,因不同部門如急診、內科、外科等會有不同限制要求,故本模式之構建為單 考慮個案病房之需求,若欲將建構之模式應用於其他部門,則需對模式限制加以調整, 以符合其他部門需求。且本研究排班班表主要為單月班表,且不考慮補假與清假之考慮 限制,若要考慮跨月排班、清假與補假狀況,則需有另一累積機制,將所記數之數值於 下月排班時先行計算,以判斷上述未考慮之狀況。. 1. 3 研究方法與流程 護理人員排班問題除有複雜之軟、硬限制式外,亦具有變動性高之特性(如班別種 類除值班班別與休假外,每月可能會有其他如教育訓練、公差等預排班別),且因需求 難以預測,因此此類問題之目標並不明顯,多為求取滿足複雜限制之解即可,故問題類 型較類似限制滿足問題,加上限制規劃近幾年之快速發展與於人員排班上有不錯之結 果。故本研究將護理人員排班問題定義為限制滿足問題,利用限制規劃法之特性配合 ILOG OPL Studio 3.0 軟體來求解。最後將求解出之班表結果與護理長手排班表進行比較 分析與討論,以方便進行模式修正與改善,並確立限制規劃法應用於護理人員排班問題 之效率。 本研究之流程與執行步驟如圖 1 所示,茲說明如下: 1. 研究範圍與問題界定:認識護理人員排班問題之特性,並了解目前排班所遭遇之困 難與過去學者對此問題之求解方法,以確立本研究之發展方向。 2. 文獻蒐集與回顧:回顧護理人員排班與限制規劃相關文獻,大致可分為護理管理與 2.

(12) 護理人員排班文獻、限制滿足問題與限制規劃文獻回顧、限制規劃求解人員排班文 獻三類,整理有關護理人員排班解法與考慮的限制條件,了解以限制規劃求解的模 式建構與限制式規劃。 3. 個案對象之資料收集與排班規則整理:實際拜訪個案醫院與病房,了解護理人員相 關排班規定與人力(各層級)需求,並查閱現行政府法規,取得相關休假政策、班別種 類、員工資料、工作班別規定等,並了解個別護理人員對工作與休假的偏好。 4. 護理人員排班模式建立:取得排班相關規定與資料後,隨而進行護理人員排班問題 之限制滿足問題模式構建,決定本研究之決策變數與限制式之設定,已達到有效率 求解之目標。 5. 實驗設計:設計限制規劃法所需之決策變數、中間變數、參數、公平性指標(如一般 休假、週休、值班班別)等結構,並探討限制之表示法,以將限制滿足問題所構建之 模式轉至限制規劃中求解。 6. 護理人員排班模式求解:將本研究建構出護理人員限制規劃排班模式之參數資料結 構、變數與限制式關係,以 OPL(Optimization Programming Language)語法撰寫成一 模式檔(.mod)與資料檔(.dat),並利用 ILOG OPL Studio 套裝軟體進行求解。 7. 求解結果分析:針對求解出之護理人員班表,進行求解品質(如公平性、是否符合個 案病房要求與護理人員滿意度)與求解效率之分析,探討本研究所構建之模式其可行 性與優劣。若符合個案要求,則進行本研究之結論與建議;若不符合或無法於有效 時間內求得可行解,則進行模式修正。 8. 模式修正:若無法產生可行解,則重新調整其資料結構、變數設計與限制式之表示 法,並加以修正重新求解;若檢驗結果與護理長討論並不符合護理長之需求,則探 討其缺失之地方,作為模式調整之依據,進而進行模式之微調。 9. 結論與建議:根據上述各步驟所得之護理人員班表結果,提出具體之結論與建議, 研擬未來後續研究之方向與重點項目。. 3.

(13) 圖 1. 1. 研究流程圖. 4.

(14) 第二章. 文獻回顧. 求解護理人員排班的方法與限制條件有很多,因此對於相關文獻之回顧,本章主要 分為三部分,2.1 節回顧護理人員排班之問題定義與求解方法;2.2 節探討國外護理人員 排班之限制條件;2.3 節針對本研究使用之限制滿足問題與限制規劃法進行回顧與說明。. 2. 1 護理人員排班 關於護理人員排班問題於早期即開始有學者對其進行研究,國外目前已有許多學者 作過相關研究,但在國內相關文獻仍不多。以問題定義而言,主要分為最佳化問題與限 制滿足問題兩類,求解最佳化問題在過去國內外學者的研究下,已發展出許多種求解概 念與方法,基本上求解方式可簡單分為兩派,一為最佳化演算法(Optimal Solution Algorithm),另一為啟發式演算法(Heuristic Algorithm);而在限制滿足問題中,多為利用限制 規劃(Constraint Programming, CP)來求解問題。各類解法探討如下: 1. 最佳化演算法與啟發式演算法: 最佳化演算法是在求解條件與限制式已知條件下,對於問題的目標求取其可行解空 間內最佳的一個解,以問題求解目標來分,可分為最小人力需求與最大滿足護理人員需 求。然而此法最主要面臨的瓶頸為演算時間較長,對於大型護理人員排班問題往往需要 耗費過多的求解時間。基於最佳演算法無法在特定時間內求得可行解的原因下,一般對 於實際或大型護理人員排班問題的處理會選擇設計適合的啟發式演算法,以尋求一可行 解,雖然不盡然為最佳解,但其以縮短時間所換取的求解效率往往更符合實務所需,關 於護理人員排班常見的啟發式解法有禁制搜尋法(Tabu Search, TS)、基因演算法(Genetic Algorithm, GA)、模擬退火法(Simulated Annealing, SA)等。國內外學者多以數學規劃模 式來求解護理人員排班問題,如[1]、[10]、[13]、[14]、[19]、[25] 、[27]、[28]。 Berrada et al. [1]將之建構為一多目標數學模式,於目標函式中引入鬆弛變數(Slack Variable)至軟限制,利用這些變數來決定各目標之目標函式,並利用接續法(Se- quential Technique)與相同權重法(Equivalent Weight Technique)產生效用解 x’,求解目標函式的優 先次序,最後利用禁制搜尋法(Tabu Search)來求解此問題。 Jaumard et al. [10]以含資源受限最短路徑附屬問題之 0-1 變數產生模式求解護理人 員排班,主問題為找一滿足最小薪資成本與最大護理人員意願之個人班表,附屬問題之 可行解為護理人員可接受的班表,著重於達成團隊協議之需求如工作量、輪替、休假等, 為了滿足複雜的特殊團隊協議問題,將新的資源結構定義於附屬問題中。 Millar and Kiragu [13]使用一路網模式,利用含額外限制最短路徑問題,求取兩工作 班別制的週期性與非週期性護理人員排班問題,最後以 CPLEX 軟體求解。. 5.

(15) Miller et al. [14]將護理人員排班建構為一數學模式模型,目標函式為求取人事成本 與護理人員意願之交互損益的最小值,利用違反人員層級與成本之懲罰值與違反排班限 制的懲罰值來求出最小成本;於限制式上,若將軟硬限制同時考慮,則無法找到可行解, 故將限制式區分兩者,分別為可滿足限制式與無法同時使用之限制式,無法同時使用之 限制式以懲罰值的形式表示,限制某些情況的發生。並以 CCD(cyclic coordinate descent) 法求解問題。 王裕元[19]將護理排班建構成一多目標規劃之數學模式,藉由模擬退火演算法能有 效處理組合最佳化問題之特性,來進行模式的求解,利用實驗設計對模擬退火演算法參 數設定加以探討,獲得初始溫度及降溫時機的最佳設定。 郭金青[25]引用 Huarng 發展的整數目標規劃模型為基礎,採二階段方式來規劃護理 人員排班問題。第一階段為分組與決定各組之人力負荷,採用啟發式演算法決定分組之 組數及各組人數,再以整數目標規劃決定各組每天每班之人力需求;第二階段以另一整 數規劃模型指派分組內每一護理人員於排班週期內每一天之工作別。 高建元[27]採用線上交談的方式協助護理行政人員完成排班工作,其考量項目有: 排班作業的起始日期、本月參與排班的人數,每個人員職別的區分,每個人員本月班別, 每個人員上月末派班狀況以及類計的休假數紀錄,以及人員預約休假資料與人力需求 等。 莊凱翔[28]在求解護理人員排班最佳化時,先就護理人員的排班現象加以分析,歸 納其中規則,並採數學規劃方式加以整理。研究中採用修定的自我排班法 (Self-scheduling),僅開放人員自行排定上班休假日期,而不能決定工作排班種類,並結 合基因演算法,提出一整合性演算架構,演算法編碼方式採用人員與週期為主軸的二維 編碼架構,導入基因複製、交配運算步驟,並加入依模式特性設計的突變機制,使模式 產生滿足限制式的可行班表,完成一套整合性排班班表。 2. 限制規劃法: 目前已有一些學者利用限制規劃求解護士排班問題,並實際作出決策資源系統,已 有提供醫療單位極佳之功效,但在國內尚未有人使用限制規劃法求解護理人員排班問 題。國外學者如[4]、[6]、[8]。 Chun et al. [4],運用限制規劃方法為香港醫院管理局(Hospital Authority, HA)開發一 項護士人員派遣模組(Rostering Engine, RE),並將此模組放入香港醫院管理局之人員派 遣系統中。 Cheng et al. [6],運用「Redundant Modeling」之模式技巧將香港鄧肇堅醫院急診部 之護士人員排班問題模式化成兩個具有相等意義之限制滿足問題模式且加入相連此兩 模式之溝通限制式(Channeling Constraints),藉由兩個模式之相互運作影響,增加模式之 限制式繁衍 (Constraint Propagation)能力,以加快限制規劃方法之求解速度。其測試的 6.

(16) 問題範圍為「25-28 位護士與 11 種值勤班次型態(shift types)」,由於此系統之運作績效 相當良好且具有彈性,使得醫院當局已開始採用此系統來輔助排班人員。 Darmoni et al. [8],運用限制規劃方法為法國之 Rouen 大學醫院開發一套智慧型的排 班系統 Horoplan,其能彈性地允許使用者定義、新增、刪除、修改法規限制式與大量縮 短排班人員排一次班表所需花費的時間。此外,由於此套系統如此彈性,作者們亦積極 推廣此一系統到法國各大醫院當中,以進而大量縮減法國醫療系統每年花費在排班之人 力小時。 上述護理人員排班解法分別具有其求解規模與彈性特性,根據不同規模大小其求解 效率也不盡相同。. 2. 2 護理人員排班限制 護理人員排班限制條件相當複雜,除需符合現行政府法規與醫院規定之硬限制外, 另外尚須滿足護理人員之軟性限制,因此,本節主要為探討護理人員相關限制條件。於 護理人員限制條件 Berghe[16]有較詳盡的彙整,以下為其所敘述之限制: 1. 醫院限制: (1). 兩班別間的最小休息時間:在兩工作班別間應有合理的休息時間,避免護理人 員休息時間不足或連續工作。. (2). 護理人員層級替換:通常在護理人員層級中,資深者可替代資淺者,但資淺者 不可替代資深者。. 2. 工作法規限制: (3). 計畫期間最大工作天數:決定各護理人員在計畫期間之最大工作天數量,每個 護理人員工作天數總合均不能超過此值。. (4). 最大、最小連續工作天數:決定各護理人員最大與最小連續工作天數,限制最 小連續工作天數,主要為避免發生在兩個休假班別中有一工作班別(即休假、上 班、休假,010)的情況。. (5). 最大、最小工作時數:決定計畫期間或每週各護理人員的最大與最小工作時數 總合,避免違反現行法規規定。. (6). 最大、最小連續休假天數:此限制類似於上述連續工作的限制,規定各護理人 員最大與最小的連續休假天數,以免發生 010 的情況。. (7). 某星期幾的最大工作次數(計畫期內):此限制在限制如每月星期一最多能工作 三次,則至少會有一個星期一放假,常被用來限制週末的工作次數。. 7.

(17) (8). 計畫期間各班別的最大工作天數:避免某些工作班別的指派,如大夜班護理人 員工作班別只有大夜班,因此其他上班班別種類可將數值設為 0,則不會選到 大夜班以外的上班班別。. (9). 每星期某一班別的最大工作天數:限制每星期各工作班別的最大數,能避免一 星期指派 7 個大夜班的工作班別,且也能用來定義兩星期工作班別的週期。. (10) 可連續的班別種類:主要先將所有班別(包含上班班別與休假班別)編號,接著 在列出可連續指派的班別種類。如有 1-10 種班別種類,可連續指派班別種類為 2, 4,6 三個班別。 (11) 大夜後休假兩天:因大夜班上班時間為凌晨 12 點至上午,因此此限制限制執勤 大夜班後休假需兩天,若於更換上班班別的情況下,能讓護理人員能充分休息 並調整時間。 (12) 指派完整例假日休假:不允許六、日兩天中有一天上班,可使護理人員有完整 的週末休假。 (13) 例假日指派相同值班班別:限制若週末需上班,則在週末應指派相同的工作班 別。 (14) 最大連續週末工作數:限制最大連續週末的工作次數,避免護理人員連續多星 期週末上班,中間無週休。 (15) 四星期最大週末工作次數:限制連續四星期週末最大工作次數,避免護理人員 整月都無週休。 (16) 特殊假日最大工作天數:在國外通常指 Bank Holidays,長時間的特殊假日,國 內可考慮農曆過年長時間休假之最大工作天數。 (17) 連續班別的限制:雖然工作班別間的休息時間之前已有限制條件限制,但此限 制條件能限制其他情況發生,如休假後禁止值班之班別。 (18) 排班組合(Pattern):既定班表組合,排班組合為一複雜的限制條件,能迫使班表 遵循某事先指派的週期性班別,適用於某些特殊的班別組合。 (19) 記數器:計算長時間的工作時數、休假數等,平衡護理人員的工作負擔,於跨 月班表可用來計算累積數,決定下月班表之班別。 3. 護理人員限制: (20) 休假:通常護理人員於每年均會有特殊休假,如病假、訓練、家庭因素等,此 限制能預先讓護理人員排定休假需求,儘量滿足護理人員要求。 (21) 避免某天某班別工作:避免計畫期間護理人員於某天某班別工作,用法類似於 8.

(18) 班別組合,但此限制為非週期性的。 (22) 期望班表:通常護理人員會希望某天上某班別,此限制能儘量滿足護理人員需 求。 (23) 指導:通常實習護士需有較資深的護理人員帶領學習,因此,當有需要指導之 護理人員時,其工作班別需與帶領之護理人員相同。 (24) 不允許某些人一起工作:避免不合的護理人員在相同工作班別工作,避免工作 效率與品質降低。 另外,除上述 Berghe 所列的三項分類限制外,尚有人力需求限制,求算每天各班 別之需求量,另外,可當作目標式求算人力成本最小。 人力需求限制: (1) 每天每班別之需求人數:每天每班別有固定需求人數,若人力過多則造成成本 浪費,人力過少則造成效率低落,因此對人力需求需根據不同情況加以限制。 (2) 每天每班別之各層級需求人數:於需求人數中,通常另會要求不同層級護理人 員的最少人數,故需對層級需求人數加以限制,避免出現全為資淺護理人員的 狀況。 綜合上述限制條件,可知護理人員排班之複雜性,但因各醫院之需求不同,且有些 限制式實際上為相互重複,因此,Cheang et al. [3]將護理人員相關限制整理成 16 項,本 研究以此 16 項限制條件為基準,分別將文獻所用之限制條件整理如表 2.1。 從文獻可知限制規劃法[6]相對能滿足較多之限制式,主要原因為限制規劃法之模式 構建邏輯與特性與數學規劃不同,其為電腦邏輯語言為基礎構建,故對於一些較難數學 模式化之限制,其可較容易表達並敘述,且因其求解邏輯亦不相同,故對於此類非最佳 化問題能有較佳之效率,因此本研究亦選擇以限制規劃法求解護士人員排班,以儘量使 研究之問題較符合實際情況,並能滿足護理人員之個人需求。. 9.

(19) 表 2. 1. 護理人員排班限制條件彙整表. 限制條件. 相關文獻. 1. 護理人員工作量(最大/最小) 2. 連續相同工作班別天數(最大/最小/精確) 3. 連續工作班別/天數(最大/最小/精確) 4. 護理人員技能與層級 5. 護理人員期望班別 6. 護理人員休假天數(最大/最小/連續數) 7. 兩工作班別間之休息時間(最小) 8. 各班別分派(各班別之需求量) 9. 假日與假期(預先排定) 10. 週末工作 11. 限制護理人員團體(允許/不允許一起工作) 12. 排班組合 13. 歷史紀錄(先前之指派) 14. 其他短時與長時的需求 15. 班別間的限制 16. 護理人員各層級需求與班別人力需求(最. [1, 6, 14, 16, 19, 25] [6, 13, 16, 19, 25] [13, 14, 16, 25] [16, 19] [1, 6, 13, 16] [1, 6, 13, 14, 16, 19] [6, 16, 19] [1, 6, 16] [6, 16, 25] [1, 6, 13, 14, 16] [1, 13, 16] [6, 14, 16, 19, 25] [16] [6, 16] [6, 16, 25] [1, 6, 13, 14, 16, 19, 25]. 大/最小/精確). 2. 3 限制規劃法 2.3. 1. 限制滿足問題. 所謂限制滿足問題(Constraint Satisfaction Problem, CSP)是由一群變數(varia- bles)、 值域(Domain)與限制(constraints)所構成,「在給定一組決策變數 X ∈ {x1,x2,…,xn}、各決 策變數相對應之有限值域 D ∈ {D1,D2,…,Dn}、一組限制式 C ∈ {c1,c2,…,cm}條件下,尋找 滿足各項限制式之一組或多組可行解」[2],其中,n 表示決策變數之個數,m 表示限制 式之個數,有限值域具有上、下限值為每一變數可能值所構成之集合。從 CSP 定義來看, 包含了變數、有限值域、限制式三個部分,一般即以(C, X, D)來描述一個 CSP 問題: 4. 變數:CSP 中有多個變數 x1,x2,…,xn,這些變數構成的集合為 X ∈ {x1,x2,…,xn}。 5. 有限值域:CSP 中每一個變數都有其可能值 d1,d2,…,dk,每一個可能值所構成的集合 為該變數之值域 Di ∈ {d1,d2,…,dk},各變數值域集合所構成之有限值域為 D ∈ { D1, D2,…,Dn},值域中的值不一定是數值型態,可以是其他型態,如:字串…。 6. 限制式:CSP 中的限制式是用來描述變數之間的關係。CSP 當中的限制式可能影響 任意個變數,若某個限制式剛好影響所有的變數,稱該限制式具有 arity 的性質,若 CSP 中的限制都只影響兩個變數,稱之為二元限制式(binary constraint)。 10.

(20) 在問題的本質上,限制滿足問題不同於最佳化問題,其求解目的在於求得一組或多 組可行解,而所謂的可行解是指「每一個變數 xi 從其對應值域 Di 中挑選出一個值 di, 能夠滿足所有限制式。每個變數的值所構成的集合{d1,d2,…,dn}即為可行解」。Brailsford et al. [2]等學者指出,在 CSP 中通常會尋找幾種不同的解答: 1. 只要有解即可,CSP 求解可能出現多組解,但是只要其中任何一個即可滿足需求。 2. 所有的解,亦即找出 CSP 中所有的可行解。 3. 最佳解:許多人常常誤解 CSP 問題並非求解最佳解,但透過設定目標限制式,用以 評估多個可行解,以獲得最符合需求的解。 2.3. 2. 限制規劃法. 限制規劃法(Constraint Programming, CP)為一種空間搜尋技術,緣起於電腦科學 (Computer Science)在人工智慧(Artificial Intelligence, AI)領域的發展,Brailsford et al. [2] 將限制規劃定義為「運用電腦程式發展模式化語言,讓使用者能簡單地、輕易地描述 (state)限制滿足問題,並透過精緻的電腦演算法(sophisticated computer algorithm)有系統 地、有效率地求解(solve)限制滿足問題」,主要目的在於「簡化理論與實務問題解決的 間距,讓一般對於程式語言(如:C 語言)不熟的使用者,亦能很快的發展其問題模式並 進行求解」。這些精緻的電腦演算法最早是在邏輯語言(如:Prolog)中設計,但是由於 此種邏輯求解程序(logical solution procedure)非常沒效率,也沒有善用限制式系統中限制 式與限制式間的關係來加快求解效率,針對此一缺點,部分科學家便開始針對用來求解 限制滿足問題之邏輯語言作大幅度的修正,於是便產生如CHIP (Constraint Handling in PROLOG)這類的限制式邏輯語言(Constraint Logic Programming, CLP)。近年來,由於電 腦科技的發達與企業對於運用限制規劃方法來求解實務問題(如:組員排班、課表排定、 工廠排程等)的需求,已經開始有物件導向式(C++/Java) 的限制規劃程式庫被發展出來, 常見的有ILOG Solver (C++) 、ILOG Jsolver (Java)與COSYTECH的CHIPv5 (C++)。 限制規劃求解為一種二層式(Two-Level)的架構,其中一層為描述限制滿足問題的限 制式元件,另一層為則用來求解限制滿足問題的程式求解元件。各元件的相關內容,茲 詳述如下: 1. 限制式元件(Constraint Component): 限制式元件又稱為限制式模式化元件(Constraint Modeling Component),其功能乃在 於提供一套親和的模式化語言,讓使用者能直覺地(intuitive)、輕易地宣告決策變數(decision viables)與限制式。然而,由於實務問題之限制式的種類相當多(如logical constraint、 arithmetic constraint、cardinality constraint, alldifferent constraint, atleast constraint, atmost constraint等),所以對於任何實務問題可能使用之限制式,限制規劃中皆存在一個其對應 的限制式元件以供使用者進行問題之模式化(Modeling)動作,因此,就問題的描述方便 性而言,限制規劃較傳統之數學規劃更容易讓使用者所使用。 11.

(21) 2. 程式求解元件(Programming Component): 為了使限制規劃能有效率地求解限制滿足問題,程式求解元件中必須包含一個智慧 型的限制式系統邏輯推理元件;相對地,為了使限制規劃能有系統地來求解限制滿足問 題,程式求解元件中必須包含一個系統化的空間搜尋元件。然而,藉由此二元件的相互 充分配合,促使限制規劃的求解效率相當的不錯。 限制規劃除了能求解限制滿足問題之外,亦能求解組合最佳化問題,其運作方式為 將最佳化問題視為一個連續型的CSP問題(A Sequence of CSP),意即當運用限制規劃在 求解一個最大(小)化問題時,限制規劃視此最大(小)化問題中的限制式系統為一個限制 滿足問題並進行空間搜尋求解,當在搜尋空間中找到一個可行解Z*時,便加入「目標值 變數≧Z*(目標值變數≦Z*)」的目標限制式(Objective Constraint)至此限制滿足問題中並 繼續搜尋下一可行解,如此依此類推,直至所有可行解空間皆搜尋完為止,而最後的Z* 值,即為此最大(小)化問題的最佳解。然而,雖然可運用限制規劃來求解組合最佳化問 題,但於規模很大且可行解相當連續的組合最佳化問題而言,文獻上大多不建議使用者 使用限制規劃來求解此類問題,因為對於此類型的問題,限制規劃較無法發其快速、有 效地求解能力。 綜合歸納應用限制規劃方法來求解限制滿足問題之優越特性,可發現限制規劃包含 下列三項優點點: 1. 有效率之求解機制:由於在限制規劃的求解機制中,充分地結合了一致性檢驗技術 技術(Consistency Checking Techniques)、限制式遺傳機制(Constraint Propagation)與智 慧型的搜尋演算法(如:Forward Checking Algorithm、LookAhead Checking Algorithm),使得限制規劃的求解效率相當高。 2. 模式建立之方便性:由於限制規劃語言屬於程式語言中之「宣告式語言(Declarative Language)」 ,使得使用者可以很容易地運用限制規劃語言來建構其限制滿足問題模 式。 3. 可處理多樣之限制式:限制規劃可以處理各種實務問題之限制式類型而其中有許多 是數學規劃所無法直接使用的,如:布林限制式(Boolean Constraints)、邏輯限制式 (Logical Constraints)、序列限制式(Sequence Constraints)等,所以對於不熟悉數學規 劃理論的使用者,仍然可很直覺地(Intuitively)、容易地(Easily)運用限制規劃來就構 其限制滿足問題或組合最佳化問題。 2.3. 3. 限制規劃之求解演算法. 限制規劃中的求解演算法主要是由一致性檢驗技術、系統化之空間搜尋演算法所構 成,其運作機制是在每個分枝節點中運用一致性檢驗技術來縮減少變數之值域 (Variables’ Domain Reduction),以減少可行解之搜尋空間,以期達到運用電腦演算法系 統化且有效地求得限制滿足問題可行解之目標,亦即限制規劃中的求解演算法為一種智 12.

(22) 慧型的空間搜尋演算法(Intelligent Tree Search Algorithm)。以下即分別介紹目前限制規劃 中最基本的一致性檢驗技術與目前限制規劃中最常使用之智慧型空間搜尋演算法。 1. 一致性檢驗技術 限制規劃理論中最基本的一致性檢驗技術包括:節點一致性(Node Consistency)、節 線 一 致 性 (Arc Consistency) 、 界 限 一 致 性 (Bounds Consistency) 、 一 般 化 之 一 致 性 (Generalized Consistency)四種。每種一致性檢驗技術的複雜度皆不同,越簡單的一致性 檢驗技術意味著其所需花費之運算時間越短,反之,越複雜的一致性檢驗技術意味著其 所需要花費之運算時間越長,使得每一種一致性檢驗技術皆有其優點與適用時機。 因每一種一致性檢驗技術,皆有其最適合使用之限制式類型。如當限制式為一元限 制式時,適用節點一致性檢驗技術;當限制式為二元限制式時,適用節線一致性檢驗技 術;當 n(n≧3)元限制式時,適用界限一致性檢驗技術』 。舉例而言,某一限制式為 X2 = 1-Y2 /\ X≠0 /\ Y≠0,其決策變數所對應之值域為 D(X)=D(Y)={-1,0,1},首先分析此一限 制式中,最多為二元限制式,最少為一元限制式,所以最適合此一限制式之一致性檢驗 技術同時包含節點與節線一致性檢驗技術,因此,若不先經過限制式之特性分析而一眛 地運用界限一致性檢驗技術來縮減變數值域時,由於此限制式和與其決策變數的值域為 bounds consistent,所以決策變數之值域完全不會被縮減,但若同時運用節點與節線一致 性檢驗技術來縮減變數值域,由於此限制式和它的值域不為 arc consistent,所以此限制 式之決策變數值域將被縮減至空集合,亦即 D(X) = D(Y) = φ 。 對於實務上的限制滿足問題,由於其包括的限制式種類可能同時出現一元、二元及 多元限制式,所以,設計一個整合性的一般化一致性檢驗技術來有效地處理各種限制 式,實為目前限制規劃領域中的一個重要課題。 2. 空間搜尋方法 為了讓限制規劃中的空間搜尋方法能更有系統、更有效率,電腦科學家經過評估目 前文獻上所提的 Generate-and-Test (GT)及 Backtracking (BT)二種系統化搜尋演算法與結 合一致性檢驗技術之可行性,最後決定採行 Backtracking 演算法作為限制規劃之空間搜 尋演算法。 (1) 系統化的空間搜尋演算法 系統化的空間搜尋演算法乃指「系統化地(Systematically)、完整地(Completely) 搜尋問題的可行解空間」。 GT 與 BT,其間之差異性可從兩個角度來分析,從變數指派之角度來看,GT 是 獨立且同時地一次指派給每個決策變數一個可能值(generating value to each variable independently and simultaneously),而 BT 是獨立但依序地指派給每個決策變數一個可 能值(generating value to each variable independently but orderly);從限制式之角度來 看,GT 的限制式檢驗時機為當所有變數皆被指派一個可能值時,才進行限制式之檢 13.

(23) 驗,而 BT 的限制式檢驗時機為每當一個變數被指派一個可能值,即進行限制式檢 驗,所以就空間搜尋之搜尋效率而言,BT 演算法之執行績效較 GT 演算法較佳。 a. Generate and Test (GT) : GT 演算法為系統化搜尋演算法中最原始也最容易懂懂的演算法,其演算法 中包含兩個重要之元件,一個是 Generator(解產生器)和 Tester(解檢查器),其運作 方式為「由解產生器產生所有的可能解,然後將其丟入解檢查器中檢查看看是否 滿足問題的所有限制式」 。其中,GT 演算法中的解產生器完全沒有依據變數間的 相關性(即限制式)來產生可能解,使得 GT 的產生器搜尋較無效率,因為 GT 是 盲目地產生可能解而無法事先避免未來可能發生之衝突。 b. Backtracking (BT) : 換枝檢驗法(BT)為系統化搜尋演算法中最基本、最常使用之演算法,其演算 法之運作概念為「以 Tree Search 為核心搜尋架構、以深度搜尋(Depth First Search, DFS)為搜尋策略、以初始化(initiate)決策變數(從決策變數所對應之值域中選擇一 個值指派給此決策變數)作為分枝(Branching)之目的、以決策變數值域和限制式間 之一致性檢驗與紀錄每個決策變數之目前值域狀態為每個分枝節點之必要工 作、以遇到死巷節點(deadend node)為定限(Bounding)及換枝檢驗之準則」,其中 由於每個分枝節點需負責記錄每個決策變數之目前值域狀態,所以分枝節點又可 稱為一個狀態節點(State Node),而在 BT 演算法中,所謂的決策變數值域和限制 式間之一致性檢驗乃指「新初始化變數與已初始化變數間之一致性檢驗」;所謂 的死巷節點乃指「在進行決策變數值域和限制式間之一致性檢驗時,若發生上述 之不一致現象,即表示此時的分枝節點為一個死巷節點,而不能再進行分枝;反 之,則為一個分枝節點,能再進行分枝」;所謂的換枝檢驗乃指「因遇到死巷節 點而回溯至死巷節點之前一個分枝節點,並從此狀態節點選擇另一個分枝進行搜 尋」。 在 BT 演算法之運作過程中,可依據「初始化」因素,將決策變數之類型分 為 已 初 始 化 變 數 (already initiated variables) 、 新 初 始 化 變 數 (newly initiated variable)/正初始化變數(currently initiated variable)、未初始化變數(not-yet initiated variables)三類,而所謂的已初始化變數乃指「在目前狀態節點之前,已被初始化 之 決 策 變 數 」, 由 於 已 初 始 化 變 數 的 值 與 問 題 的 所 有 限 制 式 皆 具 有 一 致 性 (Consistency),所以由已初始化變數所形成的解集合可稱為「部分解(Partial Solution)」 ;所謂的新初始化變數乃指「在目前狀態節點上,所選擇要進行之分枝 /初始化變數」;所謂的未初始化變數乃指「尚未進行任何初始化之變數」。 BT 演算法之運作流程為「根據 DFS 準則,依序地擴充(extend)一個部分解 (partial solution),直至找到一個可行解為止,若在擴充部分解的過程中遇到死巷 節點,則換枝檢驗的動作立即發生並回溯至死巷節點之前一個分枝節點,以進行 14.

(24) 另一個分枝搜尋」,其中,所謂的擴充乃指「從未初始化變數中,選擇一個變數 作為新初始化變數,並從此一新初始化變數的值域中,選擇一個值(Value)作為此 變數的初始化值(Initiate Value)。 就演算法之執行效率而言,BT 演算法確實較 GT 演算法有效率,因為從 BT 演算法之運作流程中,可明顯地發現,當換枝檢驗發生時,即表示 BT 演算法刪 除了一個不必要的搜尋空間,而此搜尋空間之大小即為所有未初始化變數值域的 卡式積(Cartesian Product)。以運用 BT 演算法於求解 4-queens 問題為例,便可更 清楚地瞭解之 BT 演算法之實際運作流程,其實際運作流程即如圖 2.1 所示:. Q Q. Q Q. Q. Q. Q. Q. Q. Q. Q Q. Q. Q. Q. Q. Q. × Q. Q. Q. × Q. × Q. Q. Q. Q. Q. Q. Q. Q. Q. ×. × Q. Q. Q Q. ×. Q. Q. Q. Q. ×. ×. Q. ×. Q. Q. ×. Q. Q Q. × Q. Q. Q. × Q. Q. Q. Q Q. Q. Q. Q. Q. Q. Q. Q Q. Q. Q. Q. Q. Q. Q. ×. ×. Q. ×. Q. Q. Q. ×. Q. ×. Q. Q. ×. 圖 2. 1 BT 搜尋法-以 4-queens 為例 資料來源:[18]. 綜觀上述,可明確地發現,雖然 BT 演算法較 GT 演算法有效率,但由於 BT 演 算法之運作方式只能透過死巷節點的發生而減少部分的搜尋空間,仍然無法事先避 免未來會發生的衝突,尤其當我們使用 BT 演算法於求解複雜度高且問題規模大的組 合最佳化或限制滿足問題時,便能更明顯地凸顯 BT 演算法的無效率性。為了改善 BT 演算法之缺點,電腦科學家則透過引進一致性檢驗技術於 BT 演算法中,構成一 種新的智慧型空間搜尋演算法。 (2) 系統化的智慧型空間搜尋演算法 BT 搜尋法-以 4-queens 為例 系統化的智慧型空間搜尋演算法乃指能系統化地、完整地、有效率地搜尋問題 的可行解空間,最有名的有 Forward Checking (FC)與 Look-Ahead Checking(LC)兩 種。理論上,BT、FC、LC 三種演算法之差異能以「演算法中,使用一致性檢驗技 術於哪些變數類型之配對間」此原則來加以區分。 15.

(25) 在系統化的智慧型空間搜尋演算法中,由於其最基本地一定有使用一致性檢驗 技術於「新初始化變數與未初始化變數間」,使得在搜尋過程中之每個狀態節點中, 未初始化變數之值域一定與已初始化變數之值域保持一致性(Consistency),因此,每 當從某個狀態節點進行分枝時,無須像 BT 演算法一樣要進行新初始化變數與已初始 化變數間之一致性檢驗,此一優點除了可大幅降低智慧型空間搜尋演算法花費在一 致性檢驗之執行時間而且還能使慧型空間搜尋演算法透過事先避免未來會發生的衝 突,來減少換枝檢驗次數、增加空間搜尋之效率,進而提高整體演算法之執行效率。 a. Forward Checking (FC) : 由 Haralick 與 Elliott 兩位學者於 1980 年所發展出來的 FC 演算法為智慧型空 間搜尋演算法中最基本、最常使用之演算法,其運作概念與 BT 大致相同,差異 性在於 FC 演算法是運用一致性檢驗技術於新初始化變數與未初始化變數間而不 是運用在新初始化變數與已初始化變數間,藉此差異使得 FC 演算法能透過事先 地刪除未初始化變數值域中與目前部分解具有不一致性的值域值(Domain Values) 以避免目前部分解將面臨的未來衝突,進而大大縮減搜尋樹空間與搜尋過程中可 能產生之換枝檢驗次數,大幅地提升傳統 BT 演算法之執行效率,成為一種智慧 型空間搜尋演算法。同樣地,以運用 FC 演算法於求解 4-queens 問題為例,便可 更清楚地瞭解之 FC 演算法之實際運作流程,其實際運作流程即如圖 2.2 所示:. Q Q. Q. Q Q Q Q. Q. × Q. Q Q Q. Q. × Q Q Q Q. 圖 2. 2 FC 搜尋法-以 4-queens 為例 資料來源:[18]. 16.

(26) 詳細比較 FC 與 BT 演算法之搜尋樹空間,可明顯地發現,FC 之分枝節點數 (Branch Node)較 BT 少很多,且 FC 的分枝深度(Depth of Branch)亦較 BT 短,從 此可得知,FC 演算法之執行效率較 BT 演算法好很多。 b. Look-Ahead Checking (LC) : LC 演算法是一種比 FC 更智慧型(Intelligent)的演算法,其運作方式與 FC 皆 相同,不同的是,LC 進一步地將一致性檢驗技術擴充運用至「未初始化變數與 未初始化變數間」 ,使得 LC 較 FC 能更大幅度地縮減不必要的搜尋空間,然而此 一額外之一致性檢驗使得 FC 在搜尋中的每個分枝節點上必須比 FC 花費更多的 時間來執行一致性檢驗。 由 Sabin 與 Freuder 兩位學者於 1994 年所發展出來 MAC (Maintaining Arc Consistency)一致性檢驗技術為目前文獻上最常使用在未初始化變數與未初始化 變數間之一致性檢驗技術,其運作方式乃「以節線一致性檢驗技術為基礎、以未 初始化變數與其對應之值域所構成的子限制滿足問題(sub-CSP)為一致性檢驗之 對象」 ,當 MAC 偵測到某個未初始化變數之所有值域與目前之 sub-CSP 呈現不一 致(non-consistent)之現象時,即表示目前之 sub-CSP 不存在任何可行解,所以無 須再從目前之分枝節點進行分枝。 以 4-queens 為例,運用 MAC 求解此問題之運作方式如圖 2.5 所示,其中有 數字的格子表示「未初始化變數中與目前 sub-CSP 呈現不一致之值域值」,而數 字的標示順序乃表示「當標示數字為 i 之未初始化變數值域值因與目前之 sub-CSP 不一致而被刪除時,便會進一步促使標示數字為 i+1 之未初始化變數值域值與目 前 sub-CSP 產生不一致之現象,其中 i≧1」,由此可知,標示數字為 1 的個格字 表示,最開始與 sub-CSP 產生不一致之未初始化變數值域值,而標示數字為 2 的 格子表示,當標示數字為 1 的值域值從其相對應之未初始化變數值域中移除之 後,標示數字為 2 的未初始化變數值域值也必須因而從其對應之值域中移除,而 其他的標示數字則依此類推。從圖 2.3 之左分枝來分析,由於經過 MAC 之一致 性檢驗之後,發現最後一列之目前 queen 變數值域值完全與目前 sub-CSP 不一 致,使得 LC 演算法能提早判定此一分枝完全不可能存在任何可行解而提止分枝 和進行換枝檢驗,藉此減少空間搜尋之分枝數與提高整體空間搜尋演算法之執行 效率。. 17.

(27) Q. 2 Q 1. 1. 2 1. × Q Q. Q Q Q. Q Q Q Q. 圖 2. 3 MAC 搜尋法-以 4-queens 為例 資料來源:[18]. 18.

(28) 第三章. 護理人員排班問題介紹. 護理人員排班問題較一般企業人員排班來得複雜,主要因醫院為一全年無休運作之 單位,其護理人員不同於一般企業員工有固定的工作時間及休假,因此在排班時需考慮 更多的限制條件以滿足護理人員對班表的需求,另外除了複雜的限制條件與考慮外,國 內大部分醫院的護理人員其流動性都相當高,且每月均可能會有護理人員需外出公差、 接受體檢或教育訓練等特殊班別種類,因此若欲每個月均需產生護理人員班表,排班者 通常需耗費極長之時間與心力。就建立排班模式而言,除求解方法須能有效處理此類限 制滿足問題外,模式亦需具高度彈性來因應每月之狀況。目前國內大多數之醫療單位仍 以傳統人工方式處理排班問題,主要為以往所構建之模式無法因應高變動性之特性,且 因問題之型態不同,於模式構建與求解上較無法考慮周詳之限制。因此,為能有效處理 複雜之限制式與高彈性之排班問題,本研究將其定義為限制滿足問題,並以某署立醫院 為個案醫院,構建其護理人員排班模式,期有效率且快速產生符合需求與公平之班表。 本章於 3.1 節先就護理人員排班簡略介紹,3.2 節再針對護理人員排班問題定義作一介 紹,並於 3.3 節整理國內目前護理人員排班可能考慮之限制條件。. 3. 1 護理人員排班概述 醫院為一龐大之組織,包含許多單位,護理部門為其中一單位,掌管醫院內護理人 員之分派與薪資等事項。護理人員排班通常以病房為基礎單位,排班種類按權力的歸屬 可分為三種:集權式排班、分權式排班與自我排班法[20]。集權式排班其排班者為護理 部門的最高行政主管,此種排班最大優點為掌握多病房單位之人力,可在各病房單位中 靈活調派合適之人力,缺點為無法了解各病房單位之需求,其班表結果可能無法符合病 房或護理人員之需求;分權式排班排班者為各病房單位之護理長,其班別安排通常考慮 護理人員之意願,此排班優點在於護理長了解自己單位之需求,作有效安排,缺點則為 護理長無權責調派其他病房單位之護士,若當單位人力不足時,則無法靈活運用人力; 自我排班法則由護理人員自行決定值班時段與休假日,再由協調者做最後統整,此方式 雖然能提高護理人員於排班上之自主性,但其溝通協調工作不易為最大缺點。目前護理 人員排班多以分權式排班為主。 於排班流程上,首先由護理長預訂護理人員工作班別(如教育訓練、公差、體檢等) 與護理人員預排值班或休假班別,於確定預訂班表後,再由護理長考慮各種排班限制因 素,排入各護理人員之值班班別與休假班別,隨後公佈班表給予護理人員參考,若護理 人員對班表有不滿意或有欲調班者,則由其私下溝通,經護理長同意後,即可更改或調 班,最後公佈下月護理人員值班班表。由此可知,若不考慮最後由護理人員調整班表之 流程,護理人員排班問題主要可分為預排班表與考慮各種排班限制排出班表兩部分。. 19.

(29) 3. 2 護理人員排班問題定義 護理人員排班問題其定義為「於排班期間內,指派工作或休假班別給予不同層級之 護理人員,並滿足各值班班別之需求人數。」故其主要因素可分為護理人員、班別與排 班期三類,並於排班時滿足其排班限制。其內容分述如下: 1. 護理人員因素: 於護理人員排班問題中,護理人員為一基本要素,除新進之護理人員外,每位護理 人員可值任一值班班別(白班、小夜、大夜),其相關內容有護理人員僱用方式、護理人 員層級與值班人數需求三類: 依醫院之僱用方式分為正式護理人員、約僱、基僱與僱用護理人員,依不同之僱用 方式其適用之法律也不同,以正式護理人員而言,其適用公務員職員請假規則;約僱、 基僱與僱用護理人員則適用勞基法僱工請假規則,差別為法律給予各類休假天數有所不 同。 層級則依護理人員年資深淺一般分成五種層級 N0 至 N4,年資滿四年以上為 N4,三 年以上未滿四年為 N3,兩年以上未滿三年為 N2,兩年以下為 N1,新進未滿三個月之護 理人員為 N0。於排班之層級替代中,層級高者可替代層級低者,但層級低者不可代替 層級高者,如排班時 N3 護理人員可替代 N2 護理人員,N2 護理人員不可替代 N3 護理人 員。 值班人數需求即每天各值班班別需要之護理人員人數與所需層級之人數,如白班需 要六名護理人員,且最少需有一名 N3 層級護理人員,以避免值班人員皆為新進護理人 員。於大部分的病房中,各值班班別的護理人力需求多為固定人員數,因病房之護理人 員需求人數不同於其他企業,可用過去資料來預測未來之需求人數,護理人員需求人力 涉及病人復原率、環境與其他工作人員、護理部門、護理人員、醫院與社區等不確定性 因素[20],因此較難預測未來之需求,故目前護理人力需求多為護理長依經驗判斷各班 別所需之護理人力需求數。 2. 班別因素: 若依時數計算,班別可分為工作班別與休假班別兩種: 工作班別包括一般值班班別(白班、小夜、大夜),此值班班別也為最主要之指派班 別,表護士需於哪天哪時段至病房工作,另一工作班別為護理人員需接受教育訓練或是 因公事而須公出或出差等,此種工作班別為護理長在排班前即先確定之工作班別。 休假班別則有依公務員請假規則與勞基法所規定之休假,如依年資深淺與僱用方式 給予不同之任職休假、每星期之休假(例假日)、產前假、產假、喪假、流產假、陪產假、 婚假、病假與事假等。 20.

(30) 3. 排班期: 排班期通常以週或月來計算,若以月為排班期,則其班表通常指下月班表,即當月 排出下月護理人員值班班表,護理人員下月之值班以此班表為依據。且因護理人員排班 允許護理人員可預定班別,故於排班期之前會有一段護理人員預排期,依照各醫院與病 房之不同,預排期通常也會不同,如國定假日有些病房會要求護理人員於年初即預訂全 年之國定假日休假,包班需於半年前預訂等。 4. 排班限制: 排班限制分為硬限制與軟限制兩類。硬限制通常指一定要滿足、不可違反之限制條 件,通常為法律規定與醫院規定;軟限制通常為護理人員之期望狀況,於排班考慮中應 儘量滿足但不一定要滿足之限制條件。由於排班限制眾多,故有關護理人員之排班相關 限制於下節討論。. 3. 3 排班限制整理 本研究參考 Berghe[16]整理之限制,並回顧收集國內護理人員相關限制,將其可能 限制重新分類與敘述如下。 1. 排班硬限制: 人員需求 (1) 護理人員數需滿足每日各值班班別之需求。 (2) 適當之資深護理人員數配置:於任一值班班別中,需指派一定數量之資深護理 人員。 (3) 護理人員之層級替代:層級高者可取代層級低者,反之不可。 法規限制 (1) 符合工作時數規定:勞基法第三十條規定勞工每日正常工作時間不得超過八小 時,每二週工作總時數不得超過八十四小時。雇主經工會同意,得將其二週內 二日之正常工作時數,分配於其他工作日。其分配於其他工作日之時數,每日 不得超過二小時。但每週工作總時數不得超過四十八小時。 (2) 輪值班別規定:勞基法第三十四條規定勞工工作採晝夜輪班制者,其工作班次 更換時,應給予適當之休息時間。 (3) 休假規定:勞基法第三十六條規定勞工每七日中至少應有一日之休息,作為例 假。第三十七條規定紀念日、勞動節日及其他由中央主管機關規定應放假之日, 均應休假。第三十八條則規定依年資深淺給予之特別休假 21.

(31) 工作考慮因素 (1) 領導(Leader):於各值班班別中,需指派一名 N3 層級以上之護理人員作為班別 之領導,且擔任領導之護理人員於計畫期間均需指派其領導之班別。即若為白 班領導,則其計畫期之值班班別均為白班。 (2) 包班:限大夜班與小夜班,若護理人員選擇某月包班,則當月班別均為包班之 班別。 (3) 每位護理人員一天只能值一班別:於指派班別時,每護理人員每天只能指派一 種班別,避免當天連續上兩種班別,違反法律規定。 (4) 每星期工作最少 2 天。 (5) 不得出現工作、休假、工作(010)之班別組合。 (6) 連續值班天數最多 6 天。 (7) 連續值班班別限制:大夜後不接白班或小夜、小夜後不接白班。 (8) 大夜後換白班或小夜休假 2 天:給予護理人員充足之休息時間,並調整身理時 鐘,除非有突發狀況,因人力需求而給予一天休假,不然均須給予兩天休假。 休假考慮因素 (1) 連續休假天數最多 5 天 護理人員因素 (1) 帶領實習護理人員年資需半年以上:若病房有新進護理人員,則帶領其熟悉護 理事務之護理人員年資需半年以上。 (2) 護理長預定護理人員班別:護理長於排班時,會預定某些護理人員於下月值特 殊班別如公差、公出等,故於排班時應先確定此預定班別日期,避免值班班別 指派與特殊班別衝突。 (3) 護理人員預定值班班別:護理人員可能於某日某段時間有要事,如晚上需至學 校上課,因此當日之班別則應先預定白班班別。 2. 排班軟限制: 法規限制 (1) 每週更換一次值班班別:勞基法第三十四條規定勞工工作採晝夜輪班制者,其 工作班次,每週更換一次。但經勞工同意者不在此限。因護理人員供給人數就 需求而言相當吃緊,因此較無法達到讓每為護理人員每星期都只上同一值班班 別,故本研究將此限制放於軟限制中,儘量使各護理人員每星期值班種類單純 22.

(32) 化,減少花班情況產生。 工作考慮因素 (1) 工作時數應平均:即所有班別種類中,其時數計算歸類為工作時數之班別,除 一般三種值班班別(白班、小夜班、大夜班)外,其他如教育訓練、公差、公出 也屬於工作時數之班別。故於此項公平性因素中,除最大工作時數需符合法律 規定外,也應儘量使各護理人員之工作時數平均分配,其計算分為兩部分,首 先為預排班表之部分,即先對各護理人員之工作時數進行計算,於確定預排班 表後,並將其結果作為指派工作班別之基準,使最後班表工作時數平均。 (2) 值班班別天數平均分配給每位護理人員:為求各護理人員有相同之值班班別天 數,因此於排班時,會考慮儘量讓每位護理人員各值班數相同,但包班、領導 與新進護理人員除外。計算方式為在預排班表時先確定護理人員是否為包班、 各值班班別之領導、或新進護理人員,若有以上狀況,則扣除其值班班別天數, 之後再計算各種班別之平均上班天數。如某病房有 20 位護理人員、排班期為 30 天、假設白班需求人數為 6 人,且無包班護理人員與新進護理人員,白班領 導當月值白班天數為 20 天,則其餘護理人員白班平均值班天數為(30*6-20)/19, 即未包班護理人員下月班表其白班值班天數應儘量等於 8 次。 (3) 例假日值班天數平均分配給每位護理人員:於排班期間,每位護理人員星期六、 日工作天數應儘量平均分配給各護理人員,以滿足其例假日工作之公平性。 休假考慮因素 (1) 休假天數平均分配給每位護理人員:將計劃期間可休假數平均分配每位護理人 員,如某病房有 20 位護理人員、排班時間為 30 天,假設每日可休假人數為 7 人,則 30 天總休假數為 210,平均分配給 20 位護理人員,故每位護理人員排 班期可休假天數約 10 天。 (2) 例假日休假天數平均分配給每位護理人員:同例假日值班天數指派,為滿足例 假日休假之公平性。雖然法律規定每星期最少需一至兩天休假,但因醫院為一 全年無休之企業,因此,星期六、日護理人員仍需值班,故法律規定之每星期 休假可能會排於非例假日之時段,若護理人員於某月中都未於例假日排休,亦 可能會造成護理人員之不滿,因此,平均的分派例假日也為相當重要之公平性 因素。 (3) 國定假日輪流放假:依各醫院或病房之護理長排班而有不同分配方式,如年初 護理人員即預排全年之國定假日,以容易並公平分配國定假日給予各護理人員。 (4) 計畫期間最多休假天數:即指護理人員於計畫期間最多可以休假之天數,一般 以當月之例假日天數、國定假日天數與法定任職休假數三者所構成,若有其他 如補假、清假、產假等特殊因素,則應另外計算。 23.

(33) 護理人員因素 (1) 預先排休:護理人員會希望於某日期排休,故除非同日預先排休人數太多,不 然則應儘量滿足護理人員排休之要求。 (2) 人際關係:於工作環境中,通常會有人與人之間之問題,護理人員也不例外, 因此如何將哪些護理人員比較適合一起工作與哪些比較不適合一起工作之護理 人員值派到合適班別,也可為一考慮因素。 因護理人員排班之考慮因素各國均有所差異,故對於 Berghe[16]所提出之護理人員 限制考慮因素,本研究將其與上述所整理之限制比較如表 3.1,其中本研究與國外文獻 相比,未考慮之限制如下: (1) 某星期幾之最大工作天數。 (2) 每星期某一值班班別之最大工作天數。 (3) 例假日指派相同值班班別。 (4) 指派完整例假日休假。. 24.

(34) 表 3.1. 國外文獻與本研究整理之護理人員排班限制比較表 國外文獻. 國內應用. 滿足每日各值班班別之需求. ˇ. ˇ. 適當之資深護理人員數配置. ˇ. ˇ. 護理人員之層級替代. ˇ. ˇ. 符合工作時數規定. ˇ. ˇ. 輪值班別規定. ˇ. ˇ. 休假規定. ˇ. ˇ. *NA ˇ. ˇ. 每位護理人員一天只能值一班別. ˇ. ˇ. 每星期工作最少 2 天. ˇ. ˇ. 不得出現工作、休假、工作班別組合. ˇ. ˇ. 連續值班天數最多 6 天. ˇ. ˇ. 連續值班班別限制. ˇ. ˇ. 大夜後換白班或小夜休假 2 天. ˇ. ˇ. 連續休假天數最多 5 天. ˇ. ˇ. 帶領實習護理人員年資需半年以上. ˇ. ˇ. 護理長預定護理人員班別. ˇ. ˇ. 護理人員預定值班班別. ˇ. ˇ. 值班班別天數平均分配給每位護理人員. ˇ. ˇ. 例假日值班天數平均分配給每位護理人員. ˇ. ˇ. 某星期幾之最大工作天數. ˇ. NA. 每星期某一值班班別之最大工作天數. ˇ. NA. 例假日指派相同值班班別. ˇ. NA. 限. 指派完整例假日休假. ˇ. 制. 限制種類. 休假天數平均分配給每位護理人員. ˇ. NA ˇ. 例假日休假天數平均分配給每護理人員. ˇ. ˇ. 國定假日輪流放假. ˇ. ˇ. 計畫期間最大休假天數. ˇ. ˇ. 預先排休. ˇ. ˇ. 人際關係. ˇ. ˇ. 人力需求. 法規限制. 護理人員排班相關限制條件. 硬. 領導(Leader) 包班. 限 制. 工作考慮因素. 休假考慮因素 護理人員因素. 工作考慮因素 軟 休假考慮因素. 護理人員因素. *NA:Not Available 未使用. 25. ˇ.

數據

圖 1. 1    研究流程圖
表 2. 1    護理人員排班限制條件彙整表  限制條件  相關文獻  1.  護理人員工作量(最大/最小)  2.  連續相同工作班別天數(最大/最小/精確)  3.  連續工作班別/天數(最大/最小/精確)  4
表 3.1  國外文獻與本研究整理之護理人員排班限制比較表  限制種類  護理人員排班相關限制條件  國外文獻 國內應用 滿足每日各值班班別之需求  ˇ  ˇ  適當之資深護理人員數配置  ˇ  ˇ 人力需求  護理人員之層級替代  ˇ  ˇ  符合工作時數規定  ˇ  ˇ  輪值班別規定  ˇ  ˇ 法規限制  休假規定  ˇ  ˇ  領導(Leader)  *NA  ˇ  包班  ˇ  ˇ  每位護理人員一天只能值一班別  ˇ  ˇ  每星期工作最少 2 天  ˇ  ˇ  不得出現工作、休假、工作班別組
表 4. 1    護理人員排班考慮限制比較表  限制種類  本研究整理限制  本研究使用限制  滿足每日各值班班別之需求 H1、H2、H3  適當之資深護理人員數配置 H4、H5、H6 人力需求  護理人員之層級替代  資深人員配置已滿足  符合工作時數規定  H12  輪值班別規定 H22、H23 法規限制  休假規定  H10  領導  H14  包班  H15  每位護理人員一天只能值一班別  H16  每星期工作最少 2 天  H11  不得出現工作、休假、工作班別組合  H18  連續值班天數最
+7

參考文獻

相關文件

(二)為維持年度內開辦訓練之彈性,分署應於每季平均規劃安排訓練

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

(此計劃書以一間全日制、營辦每級 5 班全校共 30

(此計劃 書以一間全 日制、營辦 每級 5 班全校共 30 班、獲 分配學生輔 導服務津貼

• 培養具問題解決 能力之進階幼托 專業實務、研究

(此計劃書以一間全日制、營辦每級 5 班全校共 30

在選擇合 適的策略 解決 數學問題 時,能與 別人溝通 、磋商及 作出 協調(例 如在解決 幾何問題 時在演繹 法或 分析法之 間進行選 擇,以及 與小組成 員商 討統計研

選修科目 每班開班人數最低以12人為原則,情形特 殊或各校經費足以支應者,得降低下限至10 人,並 得辦理跨校選修。.