時窗離散化方法為利用固定的時間間隔或固定的分割數量,將VRPBTW中 的各個作業點(包括送貨作業與取貨作業)的時間窗,分割為數個連續且獨立的服 務時間窗,並分別視為一個新的子作業點。實務問題中各作業點的服務時間窗大 小不盡相同,若使用固定分割數量進行時窗離散化,可能會造成子作業時間窗大 小差距甚大的情況,部分子作業時間窗很小,增加問題規模;部分子作業時間窗 很大,車輛閒置時間過長,造成搜尋最佳解的困難,因此本研究採用固定的時間 間隔來進行時窗離散化。
Wang [44]曾採用時窗離散化的方法來求解mTSP問題,將各作業的連續時窗 離散化,分割成數個子時窗,其文獻使用的方法是設計寬鬆離開時間限制(Under Constrained)與嚴謹離開時間限制(Over Constrained),求出最佳解的上、下限值,
再藉由調整子時窗的大小,漸漸逼近至找出最佳解。寬鬆離開時間限制是指無論 到達子作業點的時間為何時,皆將該子作業點的最早開始服務時間視為服務完成 後的離開時間;嚴謹離開時間限制是指無論到達子作業點的時間為何時,皆將該 子作業的最晚完成服務時間視為服務完成後的離開時間。
本研究採用固定的時間間隔,將VRPBTW問題的作業點時間窗離散化為數 個連續且獨立的子時間窗,分別視為一項新的子作業點,並利用嚴謹離開時間限 制(Over Constrained)的概念,將子作業最晚完成服務的時間視為離開子作業的時 間,進而轉換成無時間窗的VRPB問題,並建立各子作業點間的旅行成本矩陣。
嚴謹離開時間限制所建立出的子作業旅行成本矩陣中,存在旅行成本的路段即表 示其連接的兩個子作業點能夠依序連接,且不會違背兩子作業點的服務時間窗限 制。因此當進行作業點插入或交換等改善作業時,只要新增的路段在子作業成本 矩陣中有成本存在,即可確定路徑中所有作業點的服務時間窗能夠被滿足。利用 子作業成本矩陣求解轉換過後之VRPB問題時,即不需考慮與時間窗有關的運 算,成功的消除了VRPBTW問題中的時間窗限制。
3.1.1 時窗離散化方法步驟
3.1.2 時窗離散化方法使用範例
本研究利用以下簡單例題來說明時窗離散化之方法,將VRPBTW問題轉換 成無時窗的VRPB問題。
表3.1 VRPBTW例題資料表
作業點 作業性質 運載量 服務時間窗 [
e ,
ul ]
uJ
0 場站 0 單位 [0, 1320]J1 送貨作業 5 單位 [480, 660]
J2 送貨作業 10 單位 [600, 780]
J
3 取貨作業 15 單位 [660, 840]J4 取貨作業 5 單位 [540, 1020]
服務時間窗代表該作業點必須在此時間內完成服務,且因VRPBTW例題具 有回程取貨的特性,必須先服務完送貨作業才能開始服務取貨作業。其旅行成本 矩陣表如表3.2。
表3.2 VRPBTW例題旅行成本矩陣表
作業點
J
0 J1 J2J
3 J4J
0 - 60 60 210 330J1 60 - 120 240 360
J2 60 120 - 180 300
J
3 210 240 180 - 180J4 330 360 300 180 -
首先利用固定時間間隔δ 值(假設δ = 60),將例題中各作業點的時間窗做離 散化,分割成數個連續且獨立的服務時間窗,並分別視為一項新的子作業,離散 化結果如表3.3所示。
表3.3 利用固定時間間隔δ 值離散化例題結果
化分割出的子作業,只能選擇其中一個服務一次,因為這些子作業點都是由原問 題中的同個作業點所分割出來,除了服務時間的差異之外,其他性質皆完全相同。