• 沒有找到結果。

第四章 工作排程與人員排班模式建立

4.3 檢查員排班模式

(job function)

查核任務為檢查員執行查核作業之工作量,每一查核任務具備各 (travel time)

包含兩個以上查核任務之勤務中,兩連續任務間需相隔一段旅行 (total rest time in pairing)

在一工作班中,所有休息時間之加總。

工作班之總工作時間 (total work time in pairing)

在一工作班中,所有查核任務之作業時間加總。

工作班之總歷時時間 (total time of pairing)

工作班之總工作時間時間、總旅行時間與總休息時間之時間加總。

圖4.3 檢查員排班問題名詞定義示意圖 4.3.1 模式求解架構

本研究採用王國琛[33]提出限制列舉式勤務組合產生求解架構以進行查核 人員排班模式建立,模式中依據年度查核任務選定、查核任務排程、民航法規、

民航局人事派遣規則等條件下,結合限制規劃與數學規劃方法建構排班模式。此 排班模式將以檢查四家航空公司之查核任務為求解範例,當各家航空公司之查核 任務選定及各項查核任務之查核頻次訂定後,該年度可能會有近千個查核任務 (job function)需被執行,要將這些任務組合成每個檢查員每月所執行之工作班 (pairing)是相當複雜的工作,因此本研究設計二階段演算法流程進行求解,演算 法之第一階段是將工作班產生問題定式為限制規劃模式,其功能在於產生符合排 班限制的可行工作班集合,然後將產生的工作班集合傳遞給第二階段模式作為模 式之輸入資料,第二階段人員排班求解模式則定式為集合涵蓋數學規劃模式,其 功能在於選取一組最佳的工作班組合,並獲得最小成本的班表。檢查員排班模式 求解架構如圖4.4所示。

圖4.4 人員排班模式求解架構 4.3.2 第一階段模式:工作班產生問題

檢查員之工作班產生問題,是希望在遵守各項法規限制下,將民航局現有人 力作妥善的運用,以安排出滿足各時段查核任務需求之工作班組合。在本階段考 慮之限制條件,其內容包括:每位檢查員執勤班表之公平性、每日工作長度限制、

每月工作時數限制、同一日內之任務接續規則,及滿足具有能力、資格條件限制 之各項任務作業人力需求。工作班產生問題考慮的限制條件,如表4.7 所示。

表4.7 工作班組合產生模式之限制條件

限制條件 內容

滿足需求 滿足查核任務排程之各時段查核人力需求

日工作時數限制 檢查員每日工作時數不可超過法規限定

月工作時數限制 檢查員每月的工作天數不可超過法規限定

每日之任務接續 每日接續的任務組合為一勤務,任兩連續任務間相隔一段旅行時間

每月之勤務接續 每月接續的勤務組合為一工作班,任兩連續勤務間相隔一段休息時間

(一)模式說明

本研究將檢查員排班之工作班產生問題定式為限制規劃模式,並使用限制滿 足問題(CSP)之方法,建立符合實際查核作業規定的相關限制式,包括:排班法 規規範(工時、休時)與人員排班規則(作業地點、任務接續)等考量因素,及使用 排程模式產生之工作排程日程表作為輸入資料,藉由模式求解運算產生可行的工 作班集合。

(二)模式輸入資料

本研究整理工作班組合產生問題模式所需之輸入資料,根據資料特性可將資 料分為查核任務資料、檢查員資料、法規資料等三種類型資料。工作班組合產生 問題限制規劃模式之輸入資料類型,如表4.8所示。

表4.8 工作班組合產生模式之輸入資料

資料類型 資料內容

查核任務資料 任務編號、任務工作地點、任務開始時間

任務結束時間、任務對於各類別檢查員之人力需求

檢查員資料 各類別檢查員人數資料、各類別檢查員能力資格限制

法規資料

檢查員之每日工時限制、每月工時限制 每一勤務內之任務接續規則

每一工作班之勤務接續規則

(三)模式參數與變數

在確認工作班組合產生模式所需之輸入資料後,首先進行參數與變數設定,

模式之相關參數與變數分為:任務資料參數、排班法規參數、模式決策變數等三 種類型,其說明如表4.9、表4.10、表4.11所述。

表4.9 工作班組合產生模式之任務資料參數說明

任務資料參數 說明

Na 工作排程日程表之總任務個數

Day_Job_Set 每日任務集合 Month_Job_Set 每月任務集合

∀i=1~ Na,a[i].start_time 表示任務 i 之工作開始時間 a[i].start_time, ∀i=0~ Na

∀i=0,a[i].start_time 表示虛擬任務 i 之工作開始時間

Duty_nb 一個勤務中,最多能包含之任務個數且Duty_nb <= Pair_nb Max_DayTime 每日最長工作時數

Max_MonTime 每月工作時數上限值 Min_MonTime 每月工作時數下限值

Max_RestTime 一個工作班中,連續任務間之最長休息時間 Min_RestTime 一個工作班中,連續任務間之最短休息時間

Travel_Time1 一個勤務中,相同地點連續任務間之間隔時間 Travel_Time2 一個勤務中,不同地點連續任務間之旅行時間

表4.11 工作班組合產生模式之變數說明

變數 值域 說明

X[i],表示工作班X中第i 個任務的值,X[i]=Job_ID 變數值域0~ Na分別代表一個真實任務,變數值域0 代表一個虛擬任務

∀i=1~ Pair_nb,對任務X[i]之下一個任務為X[i+1]

X=( X[1], X[2] ,..,X[Pair_nb])表示一個完整工作班 X[i], ∀i=1~(Pair_nb) 0~ Na

∀i=1~ Pair_nb,若X[i] =0,則表示工作班X中,第 i 個任務為虛擬任務

(四)模式限制式

X[i].end_time < X[i+1].start_time

X[i] ∈Day_Job_Set

∀i=1~ Duty_nb 每日工作時間限制式

= Duty_nb

1 i

X[i].duration < = Max_Day_Time X[i] ∈Day_Job_Set

∀i=1~ Duty_nb 任務接續之相關限制式

工作地點相同之旅行時間限制式 If (X[i].place == X[i+1].place) Then

(X[i+1].start_time - X[i].end_time) > = SamPlace_TraTime

X[i] ∈Day_Job_Set

∀i=1~ Duty_nb 工作地點不同之旅行時間限制式

If (X[i].place <> X[i+1].place) Then

(X[i+1].start_time - X[i].end_time) > = DifPlace_TraTime

X[i] ∈Day_Job_Set

∀i=1~ Duty_nb 每月工作班限制式

任務時間限制式

X[i].end_time < X[i+1].start_time

X[i] ∈Month_Job_Set

∀i=1~ Pair_nb 每月工作時數限制式

Min_MonTime < =

= Pair_nb

1 i

X[i].duration < = Max_MonTime X[i] ∈Month_Job_Set

∀i=1~ Pair_nb 虛擬任務之相關限制式

虛擬任務只能出現在一工作班之尾端

X[1]<> 0 ∀i,j=1~ Pair_nb ,

若任務i 為虛擬任務,則其後續任務 j (j>i)均為虛擬任務 If(X[i]=0)⇒(X[i]=0)

1<i<j

時間計算公式 總工作時間計算公式 Total_Work_Time =

= Pair_nb

1 i

X[i].duration X[i] ∈Month_Job_Set

∀i=1~ Pair_nb

限制式(4.3.2)為集合涵蓋限制式(Set Covering Constraints),每一條限制式 i (第 i row)代表一個查核任務(job function),N 為所有查核任務所成之集合個數,

如果任務i 包含於第 j 個工作班,則 aij=1,如果任務 i 不包含於第 j 個工作班,

應由數個工作班執行,以滿足檢查員排班問題之查核任務作業人力需求。

4.3.4 二階段模式演算流程控制

本研究設計之檢查員排班二階段演算流程,是以OPL Script 程式控制限制規 劃與數學規劃模式的執行,其先將第一階段限制滿足問題之求解結果傳遞給第二 階段的數學規劃模式作為模式基本輸入資料,再透過第二階段集合涵蓋問題求 解,得出滿足作業人力需求之最佳工作班組合;演算流程如圖4.5 所示。

圖4.5 檢查員排班二階段模式演算流程