• 沒有找到結果。

執行效能

在文檔中 中 華 大 學 (頁 50-55)

本程式使用 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

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

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 月排班表下去做微調的動作,然而在最後的總扣分卻不一樣,

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

相 同

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

46

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

47

第五章 結論與未來展望

在文檔中 中 華 大 學 (頁 50-55)

相關文件