建置以「航段」為基之空服員整合型排班決策
支援系統
The Construction of a Leg-Based Integrated Crew
Scheduling Decision Support System
馬文娜
1,2Wen-Na Ma
藍柏鼎
1 Po-Ting Lan宮大川
1Dah-Chuan Gong
中原大學工業與系統工程學系
中原大學工業與系統工程學系
實踐大學國際經營與貿易學系
1
Department of Industrial and Systems Engineering, Chung Yuan Christian
University and
2Department of International Business, Shih Chien University
(Received April 26, 2007; Final Version May 20, 2008)
摘要:過去受限於電腦速度慢與空服員排班問題複雜性,傳統上分成組員勤務組合產生與組員 指派兩階段求解空服員排班問題,導致人員指派效果不佳,且因短程航線問題特性造成排班單 位過大,指派不易,因此本研究考量台灣航空業實務運作之限制,將組員勤務組合產生與組員 指派兩階段整合為一階段求解,建立一個以「航段」為排班基礎之最佳空服員排班整合模式, 以提升排班接續性和人員利用率。本研究利用基因演算法求解空服員排班規劃與指派問題,並 與分枝界限法所得之最佳解比較,結果顯示本研究所提出之排班整合模式與求解演算法,可有 效地處理空服員排班問題。最後本研究以 Java 程式語言為基礎,設計一套整合型排班決策支援 系統,可規劃符合經濟效益的空服員排班表,並有效地解決空服員調度與空載和過夜問題。 關鍵詞:空服員排班、航段為基之排班、基因演算法、決策支援系統、空載和過夜
Abstract: To improve the accuracy of cabin crew scheduling, we present a new solution model that integrates the crew pairing problem and the crew rostering problem into one stage, conducts the
scheduling by leg, and searches for the global optimal solution. Referring to the objectives and constraints of Taiwan’s airline business, we decide the levels of parameters via the design of experiment and then apply the genetic algorithm to solve the concerned problems. We compare the result of genetic algorithm with that of the branch and bound algorithm to show the model’s fidelity. At the end, an integrated crew scheduling decision support system in JAVA language is also proposed. We claim the system can potentially assist to plan a crew timetable and to solve the crew arrangement and the deadhead and layover problems efficiently.
Keywords: Cabin crew scheduling, Leg-based crew scheduling, Genetic algorithm, Decision support system, Deadhead and layover
1. 前言
隨著我國加入世界貿易組織,國內航空市場開放,競爭壓力驟升,本國航空公司除需提高 相關服務水準與飛航安全,亦需積極降低營業成本,而占營業成本第二大比例的空勤組員成本 的控制更是一重大課題 (Kohl and Karisch, 2004)。但是由於空勤組員排班問題規模過於龐大,必 須考慮各種複雜的民航法規、工會之排班限制、公司人事管理規則與營運策略,問題複雜度極 高。過去雖然在作業研究與人工智慧領域上,均探討過該類問題,但與實務仍有落差,故台灣 的航空公司仍多以人工或半人工的經驗法則進行排班,造成人員利用率低落。
由於排班問題屬於多重限制考量下 NP-hard 之大型組合最佳化問題 (Guo et al., 2006; Ozdemir and Mohan, 2001),為考量電腦速度與降低其複雜度,一般將此類問題分成兩階段求解, 一 為 組 員 勤 務 組 合 產 生 問 題 (Crew Pairing Problem) , 一 為 組 員 指 派 問 題 (Crew Rostering Problem)。組員勤務組合產生問題階段是先將航段 (leg) 組成勤務 (duty),再將勤務組成勤務組 合(pairing),並求解一組最小成本的勤務組合集合。Barnhart and Shenoi (1998) 提出一個長程組 員勤務組合產生問題的近似解模式。Yan and Tu (2002) 發展一個排班網路模式,並且應用流量 分解演算法 (Flow decomposition algorithm) 產生勤務組合。Yan and Chang (2002) 以變數產生法 (Column generation approach) 求解台灣航空公司的前艙機員勤務組合產生問題。Yan et al. (2002) 將勤務組合產生問題定義為整數規劃問題,發展八個排班模式,以變數產生法求解勤務組合產 生問題。Levine (1996) 結合基因演算法和區域搜尋法求解航空組員排班問題,先利用基因演算 法在可接受時間內找出一個較佳解後,再利用區域搜尋法找尋更好的區域最佳解。Ozdemir and Mohan (2001) 將航空組員排班問題以飛機班次圖表示,並以基因演算法求解此問題。Park and Ryu (2006) 以基因演算法求解組員勤務組合最佳化問題,經實驗結果驗證出較模擬退火法與禁
忌搜尋法為佳。
在組員指派問題階段中,過去的研究係尋求如何將組員勤務組合產生問題階段中所產生的 最小成本勤務組合集合公平地指派給空勤組員。部份學者以最佳解解法求解此類問題,例如: Dawid et al. (2001) 以分枝界限法求解組員指派問題,Day and Ryan (1997) 以休假指派法 (Day-off allocation solution method) 求解短程航線組員公平指派問題;Gamache et al. (1999) 提出 一個一般化集合分割模式 (Generalized set partitioning model),並以變數產生法求解大型航空組 員指派問題。部份學者則採啟發式解法,例如:Adachi and Kobayashi (2004) 結合退火法和基因 演算法求解,Christou et al. (1999 )則以標選系統 (bid line-generation problem) 進行組員指派,並 以基因演算法求解此問題,Gamache et al. (2007) 以圖形著色 (Graph Coloring) 模式和禁忌搜尋 法求解優先標選 (Preferential bidding) 勤務組合的組員排班可行性問題。
由於台灣國內航線是屬於短程航線問題,具有飛機航班密集、起降間隔小和飛航時間短的 特性,因此在航班規劃及空勤組員派遣上,都必須較一般航空規劃更為精確 (Barnhart and Shenoi, 1998; Chang, 2002; Day and Ryan, 1997; Vance et al., 1998)。國內航線排班習慣上以勤務組合為排 班單位,由於排班單位過大,指派不易,且在突發狀況發生時不易應變。Chang (2002) 提出以 航段組合成勤務,再以勤務指派組員,此方法雖有助於提升人員利用率,但是仍屬於兩階段求 解排班問題,在求解台灣國內航線排班問題上似乎不夠精確。
本研究提出一個適合國內短程航線空服員排班新模式,整合組員勤務組合產生問題和組員 指派問題兩階段,以排班最小單位「航段」(leg) 為排班基礎,利用基因演算法具有多點搜尋 (Holland, 1992) 與適合解決複雜的 NP-hard 問題的特色 (Christou et al., 1999; Syswerda, 1991), 直接搜尋整體最佳解,避免兩階段求解所產生的問題。圖 1 顯示本研究與前人在排班單位上之 差異比較,我們期望透過小單位緊密排班,提升求解問題的精確性和人員利用率,讓排班系統 更具彈性;並以 Java 程式語言為基礎,設計一套整合型排班決策支援系統,協助排班人員規劃 勤務組合 1 勤務組合 2 勤務組合 3 勤務 1 勤務 2 勤務 3 勤務 4 航段 1 航段 2 航段 3 航段 4 航段 5 航段 6 航段 7 航段 8
以勤務組合指派 (Barnhart and Shenoi, 1998)
勤務 1 勤務 2 勤務 3 勤務 4 航段 1 航段 2 航段 3 航段 4 航段 5 航段 6 航段 7 航段 8 以勤務指派 (Chang, 2002) 航段 1 航段 2 航段 3 航段 4 航段 5 航段 6 航段 7 航段 8 以航段指派 (本研究) 圖 1 空服員指派單位比較圖
符合經濟效益的空服員班表,有效率地解決空服員調度與空載 (Deadhead) 和過夜問題。 本文其餘架構如下:首先提出以「航段」為排班單位的空服員排班整合模式,並發展基因 演算法求解模式;再以國內一家航空公司國內航線之營運資料,進行測試分析,同時設計一套 整合型排班決策支援系統,協助排班人員完成排班作業;最後,彙整研究結果,並且提出未來 研究方向與建議。
2. 模式建立
2.1 問題描述
傳統上兩階段求解組員排班問題,面臨三個問題,第一,求解過程中,可能因為產生的勤 務組合集合並非最佳化,導致人員指派效果不佳;第二,即使產生最佳勤務組合集合,但是不 一定能產生最佳的組員指派;第三,由於組員指派是以勤務組合為單位,會因短程航線問題特 性造成排班單位過大,指派不易。 圖 2 為傳統勤務組合指派示意圖例,顯示一天中往返四個機場間之航段,TSA 為基地 (Crew base),橫軸代表時間,每一個節線代表一個航段,數字為該航段飛行時間單位。共有 14 個航段, 組成五個勤務組合,分別為 P1、P2、P3、P4、P5,每一個勤務組合包含一或多個勤務,每個勤 務包含一或多個航段。假設有四組空服員可供排班,每組每天工作上限為 10 個單位時間,傳統 上以勤務組合排班的做法,容易造成人員工作負荷不均,甚或指派到最後,因為剩餘之勤務組 合 (例如:P5) 工作時數過大,導致沒有可執勤之空服員,造成整體人員指派困難,必須新增第 圖 2 傳統以勤務組合指派示意圖例五組空服員才可完成班表中所有工作。 本研究改變傳統排班方式,提出以航段為排班單位的整合排班模式,期望透過小單位的緊 密排班,將人員利用率提升至最大。圖 3 為本研究以航段指派示意圖例,在相關法規限制下, 只需 4 組空服員就可完成班表中所有工作,使人員利用率最大化。
2.2 問題限制與假設
本研究所提演算法之目的是在相關法規限制下,搜尋一組可行解,使得排班成本最小,人 員利用率最大。此演算法須符合下列限制: (1) 連續 24 小時內,飛行時間不可超過 10 小時。 (2) 連續 7 日內,執勤時數不可超過 32 小時。 (3) 若工作時間超過 12 小時,則休息時間不得低於 24 小時。 (4) 若工作時間超過 8 小時,不到 12 小時,休息時間不得低於 12 小時。 (5) 工作時間 8 小時以內,休息時間不得低於 8 小時。 (6) 兩連續值勤航段間之最短休憩時間必須大於 20 分鐘。 (7) 連續 7 日內,最少有一連續 24 小時休息。 (8) 在外滯留連續休息日數(layover)最多 2 日。 並且假設: (1) 空服員對於班表之航段均有能力值勤。 (2) 空服員以組為排班單位。 (3) 各飛機對空服員人力需求是相同的。 圖 3 本研究的航段指派示意圖例(4) 不考慮突發狀況所需重新排班問題。
2.3 以航段為基之排班整合模式
本研究將空服員排班成本分成四大類,分別為違反合理性限制之懲罰值成本 (named urPenalty)、違反法規限制懲罰值成本 (named hcPenalty)、違反營運成本懲罰值成本 (named scPenalty) 與違反公平性懲罰值成本 (named eqPenalty) 四大部份。
本研究目的是最小化空服員排班成本,目標函式如公式(1)所示,各類別成本是將染色體違 反各限制式項目總數與對應之懲罰值相乘得之,分述於後。 eqPenalty scPenalty hcPenalty urPenalty ty TotalPenal Min = + + + (1) 違反合理性懲罰值成本是指排班時,每一空服員前後航段之休憩時間應該至少大於 20 分 鐘。由於本研究之排班系統並未先產生勤務組合,而是直接隨機指派人員到每一個航段上,若 違反此限制,將給予一個極大值 M。 0 , 0 20 1 1
⎩
⎨
⎧
+ − + > = e otherwis ) s_dep ) ((s_arr Scoreci ci ci (2) c = 1,…, C; i = 1,…,I M Score C c I i urPenalty ∑ ci × = ∑= = ) 1 1 ( (3) c 代表每一組空服員;C 代表所有空服員組數;s_arrci代表第 c 組空服員執行的第 i 個航段飛機到達時間;s_depci+1代表第 c 組空服員執行第 i+1 個航段飛機起飛時間。公式(3)是將違反合
理性限制之值乘上一個相當大的成本值 M,讓違反合理性之染色體演化到下一代時,將因成本 過高而自然淘汰。 違反法規限制懲罰值成本是違反民航法對空服員的工作限制。基於安全性考量,一個可行 解的班表必須讓此項成本為零。公式(4)表示空服員法規限制: NDeadhd PDeadh NminRT PminRT NmaxDT maxDT P NLayover PLayover dR N h dR P h dF N h dF P h hF N h hF P hcPenalty × + × + × + × + × + × + × = 24 10 24 10 7 32 7 32 7 24 7 24 (4) 其中 P24hF10h 是違反連續 24 小時內執勤時數 10 小時限制之懲罰值;N24hF10h 是違反前項限 制總次數。P7dF32h 是違反在連續 7 天內執勤時數最多 32 小時限制之懲罰值;N7dF32h 是違反 前項限制總次數。P7dR24h 是違反在連續 7 天內執勤最少有一連續 24 小時休息限制之懲罰值; N7dR24h 是違反前項限制總次數。PLayover 是違反最少在外連續滯留天數限制之懲罰值;
NLayover 是違反前項限制總次數。PminRT 是違反最少休息時間限制之懲罰值﹔NminRT 是違反 前項限制總次數。PmaxDT 是違反最大執勤飛行時間之懲罰值﹔NmaxDT 是違反前項限制總次 數。PDeadhd 是違反 Deadhead 限制之懲罰值﹔NDeadhd 是違反前項限制總次數。
營運成本懲罰值 (scPenalty) 是考慮降低空載與夜宿的成本。一組排班可行解允許有營運成 本,但一組好的可行解,其營運成本必定是越低越好。營運成本以公式(5)表示,包含兩部分, 一為航段非接續性成本 Cost_dh;另一個為空勤組員在兩個勤務間的外宿成本 Cost_lov。此兩類 成本均會因其發生時段不同而有不同成本。 ov _ _dh Cost l Cost scPenalty= + (5) 公式(6)計算勤務不接續性成本。當空服員在連續執勤航段中,前一個航段目的地與下一個 航段起始地不同,必須搭載另一個班次飛機到下一航段去執勤,航空公司視此為無效生產,且 佔據有利潤的機位,應儘量避免此情形的發生。Pdhnp與 Pdhp表示每次非尖峰與尖峰時間空載成 本,Ndhnp與 Ndhp表示非尖峰與尖峰時間違反該限制的個數。 p Ndh p Pdh p Ndh p Pdh dh Cost_ = n × n + × (6) 公式(7)計算外宿成本。當空服員在外地結束勤務後,必須在當地過夜時發生的成本。Plovnp
與 Plovp是指每次空服員非尖峰時間與尖峰時間的夜宿成本,Nlovnp與 Nlovp則表示非尖峰時間
與尖峰時間有多少組空服員外宿。 p Nl p Pl p Nl p Pl lay Cost_ = ovn × ovn + ov × ov (7) 違反公平性懲罰值 (eqPenalty) 是評估每個員工分配之工作是否公平。公式(8)顯示公平性 指標包含航段總飛行時間差異 AVG_FT、航段不接續性總數差異 AVG_DH 與航段夜停總數差異 AVG_LOV。 LOV AVG AVG FT AVG eqPenalty= _ + _DH+ _ (8) 公式(9)計算航段總飛行時間差異 AVG_FT,i 代表第 i 組空服員;FTi表示第 i 組空服員總 飛行時間;AVG(FT)表示空勤組員總飛行時間平均值;WFT為排班時間長度不均等時之懲罰值。 FT W i FTi AVG FT FT AVG ∑ = − × = α 1 ( ) _ (9) 公式(10)計算每組空服員在航段不接續性的差異,i 代表第 i 組空服員;DHi表示第 i 組空服 員的航段不連續性個數;AVG(DH)表示全部空勤組員發生航段不接續性個數之平均值;WDH為
每組空服員發生航段不接續性個數不均時之懲罰值。 DH DH 1 (DH) DH _ W i AVG AVG ∑ i = − × = α (10) 公式(11)計算每組空服員勤務總夜停數的差異性,i 代表第 i 組空服員;LOVi表示第 i 組空 服員勤務總夜停數;AVG(LOV) 為是全部空服員勤務總夜停數平均值; WLOV為每組空服員發 生勤務總夜停數不均時之懲罰值。 LOV W LOV AVG i LOV LOV AVG i
∑
=×
− = α 1 ) ( _ (11)3. 基因演算法問題求解
本研究首先於 3.1 節說明基因演算法程序與各項參數之設定值,並說明運用之方法,於 3.2 節說明基因演算法之參數組合實驗,以分析出最佳參數組合,再於 3.3 節比較基因演算法與分枝 界限法所得結果,並於 3.4 節舉一運用基因演算法之範例。3.1 基因演算法程序
本研究為使基因演算法隨機產生之解更具多樣性,故而採用混合式交配方式與二階段式的 突變方法,以求得較佳之解。 (1) 編碼 由於本研究整合勤務組合產生與組員指派兩個問題,故其編碼方式是依照班表順序排列每 一組空服員。染色體的長度代表航段的個數,基因值代表一組空服員的編號。染色體編碼如圖 4 所示,每一組組員按照班表順序排入,A、B、C 等代表各組組員編號,班表顯示每一個航段的 起降地點與時間,透過染色體與班表對照,可了解每組組員執勤的航段與順序。 (2) 產生初始解 本研究隨機產生初始解,但是礙於排班法規與班表限制等因素,且避免過早讓所產生之解 形式落入某幾個固定方向,因此初始解產生後,隨機修復母體數四分之一的解為可行解,若是 修復的時間超過某特定時間,則中止修復。可行解修復時,仍須符合「違反合理性限制懲罰值」 與「違反法規限制懲罰值」為零的限制式。 (3) 適合度函數 本研究定義之適合度函數即為目標函數,如公式(12)所示。1 2 3 4
…
n-1
n
染色體 A A C C…
A B 班表 12:00-12:45TSA-MFK 1 MFK-TSA 13:20-14:05 2 HCN-MZG 12:05-12:55 3 MZG-MFK 13:30-14:05 4…
TSA-MFK 13:30-14:05 n-1 MZG-MFK 13:30-14:10 n 圖 4 空服員染色體編碼示意圖 eqPenalty scPenalty hcPenalty urPenalty ty TotalPenal = + + + (12) (4) 複製本研究採用 Holland (1992) 提出之輪盤法 (Roulette Wheel) 作為複製程序的基礎。由於本 研究中每一個染色體的適合度值為一個成本值,將成本值依照公式(13)轉換為利潤值,再將所有 染色體的利潤值加總,計算每一染色體利潤值占所有染色體總利潤值的比例,讓每條染色體依 比例複製。若是母體數大於原始母體數,則將評分最差之染色體依序刪除,直到和原始母體數 相同為止;若是小於原先母體數,則複製最佳染色體直到和原始母體數相同為止。 利潤值 = (1 / 成本值) (13) (5) 交配 為使各染色體間能有效結合,擴大搜尋空間,本研究預先設定一個較大的交配率,與交配 過程中隨機產生各染色體的交配機率比較,後者小於前者時始做交配,以控制染色體交配頻率, 並且隨機選擇單點交配、雙點交配或字罩交配方法,使所產生之解更具多樣性。在單點交配時, 隨機產生一交配點,將兩組染色體自交配點後之基因交換;雙點交配時,隨機產生兩個交配點, 兩組染色體將交配點間之基因交換;若為字罩交配,則產生一組與染色體等長的隨機字罩,該 字串以二位元表示,當基因值為 1 時,將兩個染色體上對應位置的基因值交換。交配過程中若 產生不可行解,在此不做任何修復,等到最後評分時給予極大懲罰值,使此染色體在以後過程 中自然淘汰。 (6) 突變 為避免基因演算法所求之解陷入局部最佳解,本研究採用兩階段式突變方法。第一階段在 前面百分之九十的演化代數中設定低突變率,目的是為保存較佳解,避免因突變而破壞掉優良 的染色體;第二階段則將後面百分之十的演化代數設定高突變率,以改變現有解的結構,達到 跳脫區域最佳解的目的。突變過程中隨機產生各染色體的突變機率,並與預設突變率比較,前 者小於後者時始做突變。再以 Chang (2002) 的突變方法為基礎,隨機產生一組突變點,將此點
的基因值作直接交換的動作。
3.2 基因演算參數組合實驗
有鑑於基因演算法中各參數值設定對求解品質產生絕對性影響,故本研究以 U 航空公司國 內航線空服員為測試對象,有 3 組組員和 3 天共 24 個航段,在 Pentium IV-3G、512MB RAM 的 電腦上進行排班實驗,藉此選擇最穩健的參數組合,使目標函數值降至最小。
本研究參考前人 (Beasley and Chu, 1996; Chang, 2002; Christou et al., 1999; Dias et al., 2002; Levine, 1996) 研究之設定,並以試誤法訂出各參數之水準。每一種參數組合實驗 10 次,取平均 值比較。每一種參數組合求其增益值,增益值為系統每執行一秒,平均進步的幅度,亦即進步 率與系統執行時間之比率,進步率則為 1 - (最終值/起始值)。表 1、表 2、表 3 和表 4 分別顯示 不同母體數、演化代數、突變率與交配率的實驗結果。 圖 5 顯示隨著母體數遞增,懲罰值呈現下降趨勢,表 1 顯示增益值依次為 0.728, 0.402, 0.286, 0.211 和 0.174。雖然母體數大,可以較快收斂,並得到較佳解,但是執行時間亦相對增加,故 而本研究選定母體數 30 為實驗參數。圖 6 顯示懲罰值與演化代數成反比,增益值也隨著演化代 數增加而呈現下降趨勢,表 2 顯示當演化代數到 2000 代時已經低於 0.1,因此理想的演化代數 應介於 1500 到 2000 之間,本研究選擇演化代數 1500 代做為實驗參數。圖 7 顯示突變率與懲罰 值成正比,由於表 3 顯示當突變率在 0.1 時增益值最好,因此本研究以 0.1 為突變參數值。圖 8 顯示各組交配率的懲罰值均在 212 到 264 之間,且表 4 顯示增益值均差不多,影響不大,由於 當交配率在 0.9 時增益值最好,因此本研究以 0.9 為交配參數值。 本研究依據前述分析的最佳基因參數組合,在交配方法上,比較傳統交配方法 (單點交配) 與混合交配方法 (單點、雙點和字罩交配) 兩種方法;在突變方法上,則比較一階段突變與兩階 段式突變兩種方法。每一種組合實驗 10 次,取平均值比較。圖 9 顯示傳統交配與混合交配方法 兩者懲罰值相差不遠,前者的懲罰值為 212,後者的懲罰值雖為 219,但在 100 代左右就收斂, 且基於混合式交配方式較能達到有效的搜尋 (Hasancebi and Erbatur, 2000),因此本研究採用混合
表 1 不同母體的實驗結果 母體數 10 20 30 40 50 起始值(cost)[a] 1367.321 1367.321 1367.321 1367.321 1367.321 最終值(cost)[b] 467.171 297.841 278.875 276.911 268.443 進步率[c=1-(b/a)] 65.833 78.217 79.604 79.748 80.367 系統執行時間(sec)[d] 90.466 194.581 278.875 377.814 461.475 增益[c/d] 0.728 0.402 0.286 0.211 0.174 註:演化代數:500、突變率:0.01、交配率:0.85
表 2 不同演化代數的實驗結果 演化代數 100 200 300 400 500 1000 1500 2000 3000 5000 起始值 (cost)[a] 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 最終值 (cost)[b] 388.629 322.946 318.357 283.506 277.119 275.667 274.935 273.698 242.712 232.810 進步率 [c=1-(b/a)] 71.577 76.381 76.717 79.266 79.733 79.834 79.893 79.983 82.249 82.973 系統執行 時間 (sec)[d] 57.980 95.291 171.944 228.571 287.978 573.620 871.802 1125.312 1572.816 2454.145 增益[c/d] 1.235 0.802 0.446 0.347 0.277 0.186 0.139 0.092 0.052 0.034 註:母體大小:30、突變率:0.01、交配率:0.85 表 3 不同突變率的實驗結果 突變率 0.005 0.01 0.03 0.05 0.1 0.3 0.5 0.75 0.9 0.95 起始值 (cost)[a] 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 最終值 (cost)[b] 392.629 282.213 252.400 252.615 204.750 249.536 399.208 549.555 790.500 880.374 進步率 [c=1-(b/a)] 71.285 79.360 81.541 81.525 85.026 81.750 70.804 59.808 42.186 35.613 系統執行 時間 (sec)[d] 607.726 664.092 629.450 684.600 709.772 1162.571 1158.663 1137.568 1148.516 1133.738 增益[c/d] 0.110 0.123 0.120 0.119 0.120 0.117 0.100 0.083 0.058 0.049 註:母體大小:30、演化代數:1250、交配率:0.85 表 4 不同交配率的實驗結果 交配率 0.005 0.01 0.03 0.05 0.1 0.3 0.5 0.75 0.9 0.95 起始值 (cost)[a] 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 1367.321 最終值 (cost)[b] 263.668 255.110 243.521 263.345 235.210 240.383 259.128 229.613 212.688 216.738 進步率 [c=1-(b/a)] 80.717 81.342 82.190 80.740 82.798 82.419 81.049 83.207 84.445 84.149 系統執行 時間 (sec)[d] 722.514 659.205 691.703 718.030 682.211 689.786 655.444 645.241 655.239 680.9501 增益[c/d] 0.125 0.124 0.125 0.123 0.122 0.121 0.118 0.120 0.118 0.117 註:母體大小:30、演化代數:1250、突變率:0.1
0 50 100 150 200 250 300 350 400 450 10 20 30 40 50 母體大小 懲 罰 值 0 50 100 150 200 250 300 350 400 450 500 系 統 執 行 時 間 ( s e c ) 懲罰值 系統執行時間 0 50 100 150 200 250 300 350 400 450 100 200 300 400 500 1000 1500 2000 3000 5000 演化代數 懲 罰 值 0 500 1000 1500 2000 2500 3000 系 統 執 行 時 間 ( s e c ) 懲罰值 系統執行時間 圖 5 母群體數、懲罰值與系統執行時間之關係 圖 6 演化代數、懲罰值與系統執行時間之關係 0 100 200 300 400 500 600 700 800 900 1000 0.005 0.01 0.03 0.05 0.1 0.3 0.5 0.75 0.9 0.95 突變率 懲 罰 值 600 620 640 660 680 700 720 740 系 統 執 行 時 間 ( s e c ) 懲罰值 系統執行時間
0 50 100 150 200 250 300 0.005 0.01 0.03 0.05 0.1 0.3 0.5 0.75 0.9 0.95 交配率 懲 罰 值 600 620 640 660 680 700 720 740 系 統 執 行 時 間 ( s e c ) 懲罰值 系統時間 圖 7 突變率、懲罰值與系統執行時間之關係 圖 8 交配率、懲罰值與系統執行時間之關係 0 200 400 600 800 1000 1200 1400 1600 1 80 159 238 317 396 475 554 633 712 791 870 949 1028 1107 1186 演化代數 懲 罰 值 傳統交配 混合式交配 圖 9 傳統交配與混合式交配比較 圖 10 傳統突變與兩階段突變比較 交配方式求解。在突變方法實驗上,設定一階段突變率為 0.1,兩階段式突變率為 0.1 和 0.3,後 者在演化代數到 500 代時突變率由 0.1 轉換為 0.3。圖 10 顯示兩階段式突變方法利用後階段的高 突變,產生多樣解之形式,以跳脫區域最佳解,故本研究採用兩階段式突變方法。
3.3 基因演算法與分枝界限法之比較
為評估基因演算法的求解效能,本研究將針對 3.2 節設定之問題規模,以分枝界限法 (Branch and Bound) 求最佳解 (Optimum),依照 2.2 節之適合度函數決定節點是否被繼續展開或 刪除,透過反覆地展開與回溯搜尋最佳解,所得之最佳解為 178,所需時間為 108 時 40 分 23 秒。 在 3.2 節分析的最佳基因參數組合下,採用混合式交配以及兩階段式突變方法,執行 10 次相同 實驗,取其平均值,平均最佳解為 181.17,平均所需時間為 36 分 25 秒,故可證明本研究所求 之解為一近似最佳解之可行解,結果如圖 11 所示。
3.4 空服員人力敏感度分析
由於排班人數多寡會影響到整體排班結果的優劣,人力愈多,排班愈有彈性,變動成本相 對降低,但是人力成本相對提高。本研究以 3.2 節分析的最佳基因參數組合為基礎,針對 U 航 空公司五日 (週一到週五) 四地 (台北、屏東、馬公、北竿) 42 個航段資料,進行空服員人數規 劃與指派實驗,期望在排班績效與人力成本間取得平衡。 表 5 為空服員人力成本分析表,顯示可排班組員人數愈多,違反合理性成本與違反法規成 本均為 0,營運成本也降低,但是人事成本相對增加;當可排班組員人數減少時,人事成本雖減 少,但相對造成其他成本升高。表 5 顯示四組排班人員使排班接續性最佳,所有指標違反個數 均為零,非尖峰時段的空載個數 (DHnp) 也是所有組合中最少,但是人力成本則較兩組與三組人 員排班時為高。圖 12 顯示兩組人員排班時人員使用率為 100%,但該組排班結果是一不可行解, 不予考慮;三組人員排班時之人員使用率為 79.73%,此數據所呈現之人力成本、總成本均屬最 佳,人員使用率也在水準之上,但非尖峰時段的空載個數 (DHnp) 與空服員外宿組數 (LOV) 並 非最佳,顯示因為組員排班組數較少,而造成空載個數與空服員外宿組數增加。鑒於本研究目 的為總成本最小化,故以三組人員作為排班基礎。 圖 11 基因演算法與最佳解比較表 5 空服員人力成本分析表 組員排班組數 兩組 三組 四組 五組 六組 七組 違反合理性限制之懲罰值成本 4 0 0 0 0 0 違反法規限制 懲罰值成本 24h10h 1 0 0 0 0 0 7d32h 0 0 0 0 0 0 layover 2 0 0 0 0 0 maxDT 0 0 0 0 0 0 違反營運成本 懲罰值成本 DHnp 12 6 6 5 5 5 DHp 0 0 0 0 0 0 LOV 5 2 0 0 0 0 違反公平性懲罰值成本 93 69.2 128.1 60.8 133.5 206.2 人力成本 1000 1500 2000 2500 3000 3500 總成本 9523 2549.2 2828.1 3400.8 3833.5 4406.2 圖 12 不同組數空服員參與排班人員使用率變化
4. 整合型排班決策支援系統
爲提升排班人員工作效率與確認模式之可行性,本研究以 Java 程式語言為基礎,JBuilderX 為開發工具,依照上節之基因演算法程序,開發一套空服員排班決策支援系統。本節說明空服 員排班系統架構與系統效益,並以一案例進行測試與成本分析。4.1 系統架構
本研究建立一套整合型排班決策支援系統 (如圖 13),包含三個部份: (1) 使用者介面模組:包含基因參數設定與懲罰值成本設定,前者負責接收基因演算法之交配方圖 13 空服員排班系統架構圖 法和參數、與突變方法和參數 (如圖14),後者負責接收各項懲罰值成本 (如圖15(a)、(b)、(c))。 (2) 組員排班模組:以航段為基礎,依據基因演算法程序產生空服員班表 (如圖16) 與空服員排 班成本收斂趨勢圖 (如圖17)。 (3) 成本分析模組:擷取基因演算法過程中之各項成本,並以統計圖表呈現 (如圖18、圖19、圖 20)。圖19中顯示違反連續24小時內執勤時數10小時限制之個數 (24h10h) 與違反最大執勤飛 行時間之個數 (maxDT) 均為0,故於圖中均呈現一直線,而違反在連續7天內執勤時數最多 32小時限制之個數 (7d32h) 大多低於違反最少在外連續滯留天數限制之個數 (layover)。圖 20中顯示違反非尖峰時間空載之個數 (DHnp) 大於違反空勤組員在兩個勤務間的外宿次數 (LOV);而違反空勤組員在兩個勤務間的外宿次數 (LOV) 又大多高於尖峰時間空載之個數 (DHp)。
4.2 系統效益說明
本研究之重點在於提出一套以航段為基之整合型排班決策支援系統,期能減輕空服員班表 產生與控管之人力負荷。本系統之發展將可獲致以下效益: (1) 排班效率提昇:利用電腦科技處理複雜的民航法規、工會之排班規定、公司人事管理規則與 營運策略限制,可以減少人為疏失,增進排班正確性,提昇決策效率。 (2) 人員利用率提昇:以航段為排班基礎,利用基因演算法直接搜尋整體最佳解,提升求解問題 的精確性和人員利用率,使人員調度更具彈性。使 用 者 介 面 模 組
組
員
排
班
模
組
航段資料庫 組員狀態 資料庫 基因演算 法程 序 組 員 勤 務 指 派 基因參數設定與懲罰值成本設定空服員班表
成 本 分 析 模 組
各項成本資料 各項成本統計圖圖 14 排班系統操作介面
(a)法規限定處罰值設定 (b)營運成本設定 (c)公平指標懲罰值設定 圖 15 懲罰值設定介面
圖 16 空服員班表
圖 18 違反合理性限制之個數
圖 20 各項營運成本之個數 (3) 成本降低:本系統在組員人力成本、外宿成本與空載成本間尋求平衡點,以整體排班成本最 小化為目標。 (4) 空服員滿意度提昇:考慮組員工作分配是否公平,使組員滿意度可獲提昇。 (5) 其他應用系統整合:使用電子化排班系統,可促進排班作業與企業既有應用系統整合。
4.3 系統測試
本研究以 3.2 節分析的最佳基因參數組合為基礎,針對 U 航空公司五日 (週一到週五) 四地 (台北、屏東、馬公、北竿)、42 個航段資料與 3 組空服員,進行系統測試。經演算法運算後, 圖 16 為空服員班表,圖 17 顯示總成本約在 3500 代左右逐漸收斂;圖 18 顯示違反合理性個數 約在 200 代左右收斂為 0;圖 19 顯示違反法規限制個數圖中,各項法規如:24h10h、7d32h 和 maxDT,在起始解時就趨近於 0,唯有 layover 個數直到 1250 代左右才為 0;圖 20 顯示非尖峰時間 空載 (DHnp) 最終值約為 6、尖峰時間空載 (DHp) 最終值約為 0,而外宿違反個數 (LOV) 約為 2。5. 結論與建議
為降低排班問題複雜性,傳統上分成組員勤務組合產生問題與組員指派問題兩階段求解, 但是最佳的勤務組合集合並不代表會得到最佳的人員指派結果。為避免搜尋兩階段區域解,本研究以航段為排班基礎,整合勤務組合產生問題與組員指派問題,直接搜尋整體最佳解,使排 班整體成本最小,並提升空服員利用率。由於問題求解的複雜度,傳統數理方法無法有效率地 求解,故而利用基因演算法來縮短求解時間。經與分枝界限法所得之解比較,以說明此近似解 之品質。 由於基因演算法的演算參數與方法直接影響演算效率與適合度值的優劣,本研究分別針對 母體數、演化代數、交配率和突變率進行分析與選擇。並且對於兩階段突變方式與混合式交配 方式進行討論,發現使用兩階段式突變與混合式交配方式,對於航空人員排班問題,確實比傳 統單點交配方法較快收斂,而且求解品質較好。 本研究同時提出一套整合型排班決策支援系統,期能有效率的協助排班人員進行空服員調 度、班表安排、並在組員人力成本、外宿成本與空載成本間尋求平衡點,進而執行各項成本分 析。 未來研究方向建議可以從以下幾個方向進行: (1) 突發狀況下重新排班 (Re-Scheduling) 問題之探討。未來可以本研究所提出之航段排班模式 為基礎,加入重新排班之機制。 (2) 本研究雖然考慮人員排班公平性,但是該公平性指標優先考量人員工作負擔是否均等公平, 並未考慮年資與職級。未來航空人員可以在不違反公司營運策略原則下,由職等與年資較高 的空服員優先指派勤務,並將排定休假時間的人性化因素加入空勤人員排班。 (3) 本研究使用固定權重求得目標值,建議在目標函數中加入變動權重,使演算過程有多元化的 搜尋方向與更大的搜尋空間。 (4) 未來可以考慮比較基因演算法與其他啟發式演算法求解的效率。
參考文獻
Adachi, N. and Kobayashi, S., “Crew Roster Scheduling by the Extended Cooperative Genetic Algorithm,” Electronics and Communications in Japan (Part III: Fundamental Electronic Science), Vol. 87, No. 10, 2004, pp. 44-52.
Barnhart, C. and Shenoi, R. G., “An Approximate Model and Solution Approach for the Long-Haul Crew Pairing Problem,” Transportation Science, Vol. 32, No. 3, 1998, pp. 221-231.
Beasley, J. E. and Chu, P. C., “A Genetic Algorithm for the Set Covering Problem,” European Journal
of Operational Research, Vol. 94, No. 2, 1996, pp. 392-404.
Chang, S. C., “A New Aircrew-Scheduling Model for Short Haul Routes,” Journal of Air Transport
Christou, I. T., Zakarian, A., Liu, J. M., and Carter, H., “A Two-Phase Genetic Algorithm for Large-Scale Bidline-Generation Problems at Delta Air Lines,” Interfaces, Vol. 29, No. 5, 1999, pp. 51-65.
Dawid, H., Konig, J., and Strauss, C., “An Enhanced Rostering Model for Airline Crews,” Computers
and Operations Research, Vol. 28, No. 7, 2001, pp. 671-688.
Day, P. R. and Ryan, D. M., “Flight Attendant Rostering for Short-Haul Airline Operations,”
Operations Research, Vol. 45, No.5, 1997, pp. 649-661.
Dias T. G., de Sousa, J. P., and Cunha, J. F., “Genetic Algorithms for the Bus Driver Scheduling Problem: a Case Study,” Journal of the Operational Research Society, Vol. 53, No. 3, 2002, pp. 324-335.
Gamache, M., Hertz, A., and Ouellet, J. O., “A Graph Coloring Model for a Feasibility Problem in Monthly Crew Scheduling with Preferential Bidding,” Computers and Operations Research, Vol. 34, No. 8, 2007, pp. 2384-2395.
Gamache, M., Soumis, F., and Marquis, G., “A Column Generation Approach for Large-Scale Aircrew Rostering Problems,” Operations Research, Vol. 47, No.2, 1999, pp. 247-263.
Guo, Y., Mellouli, T., Suhl, L., and Thiel, M. P., “A Partially Integrated Airline Crew Scheduling Approach with Time-Dependent Crew Capacities and Multiple Home Bases,” European Journal of
Operational Research, Vol. 171, No.3, 2006, pp. 1169-1181.
Hasancebi, O. and Erbatur, F., “Evaluation of Crossover Techniques in Genetic Algorithm Based Optimum Structural Design,” Computers & Structures, Vol. 78, No. 1-3, 2000, pp. 435-448.
Holland, J., Adaptation in Natural and Artificial Systems, Cambridge, Massachusetts: MIT Press, 1992. Kohl, N. and Karisch, S. E., “Airline Crew Rostering: Problem Types, Modeling, and Optimization,”
Annals of Operations Research, Vol. 127, No. 1-4, 2004, pp. 223-257.
Levine, D., “Application of a Hybrid Genetic Algorithm to Airline Crew Scheduling,” Computers and
Operations Research, Vol. 23, No. 6, 1996, pp. 547-558.
Ozdemir, H. T. and Mohan, K. M., “Flight Graph Based Genetic Algorithm for Crew Scheduling in Airline,” Information Sciences, Vol. 133, No. 3-4, 2001, pp. 165-173.
Park, T. and Ryu, K. R., “Crew Pairing Optimization by a Genetic Algorithm with Unexpressed Genes,” Journal of Intelligent Manufacturing, Vol. 17, No. 4, 2006, pp. 375-383.
Syswerda, G., “Schedule Optimization Using Genetic Algorithms,” In L. Davis, (Eds.), Handbook of
Genetic Algorithms, New York: Van Nostrand Reinhold, 1991, pp. 332–349.
“Branch-and-Price: Column Generation for Solving Huge Integer Programs,” Operations Research, Vol. 46, No. 3, 1998, pp. 316-329.
Yan, S. and Chang, J. C., “Airline Cockpit Crew Scheduling,” European Journal of Operational
Research, Vol. 136, No. 3, 2002, pp. 501-511.
Yan, S. and Tu, Y. P., “A Network Model for Airline Cabin Crew Scheduling,” European Journal of
Operational Research, Vol. 140, No. 3, 2002, pp. 531-540.
Yan, S., Tung, T. T., and Tu, Y. P., “Optimal Construction of Airline Individual Crew Pairings,”