1 / 28

指導老師:林燦煌 博士 學生 : 劉芳怡

Vehicle routing with time windows: Two optimization algorithms. Marshall L. Fisher ,Kurt O. Jornsten,Oli B. G. Madsen Operation Research,Vol.45,No3,May-June 1997,pp.488-492. 指導老師:林燦煌 博士 學生 : 劉芳怡. 目的. 作者提出兩個最佳化方法來解決有時間窗限制的車輛排程問題。 拉氏 鬆弛法 (Lagrangian relaxation) 。

salim
Download Presentation

指導老師:林燦煌 博士 學生 : 劉芳怡

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vehicle routing with time windows: Two optimization algorithms Marshall L. Fisher ,Kurt O. Jornsten,Oli B. G. Madsen Operation Research,Vol.45,No3,May-June 1997,pp.488-492 指導老師:林燦煌 博士 學生:劉芳怡

  2. 目的 • 作者提出兩個最佳化方法來解決有時間窗限制的車輛排程問題。 • 拉氏鬆弛法(Lagrangian relaxation)。 • K-Tree鬆弛法(K-tree relaxation)。

  3. 大綱 • 介紹VRPTW formulation • 拉氏鬆弛法(Lagrangian relaxation) • K-Tree鬆弛法(K-tree relaxation) • 結論

  4. VRPTW之參數 • m=車輛數 • n=顧客數;index 0=場站 • Qk=第k輛車的容量 • qi=顧客i的需求量 • cij=從顧客i到顧客j的旅行成本 • tij=從顧客i到顧客j的旅行時間 • si=顧客i的服務時間 • ei=顧客i的時窗下限 • ui=顧客i的時窗上限 • T=為一個很大的常數,所有路線之中具有最大的可服務時間 • N={1,….,n},N0=NՍ{0} • M={1,….,m}

  5. VRPTW之變數 • xijk= 1,代表顧客i至顧客j由第k輛車配送 0,otherwise • yik= 1,代表顧客i被第k輛車拜訪 0,otherwise • ti=顧客i到達時間 • t0ek=第k輛車離開場站的時間 • t0uk=第k輛車到達場站的時間

  6. VRPTW之數學模式 • 目標:求總旅行成本最小 • cij=從顧客i到顧客j的旅行成本 • xijk= 1,代表顧客i至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0}

  7. 限制式(2): • 表示車輛若服務某顧客,服務完之後必須離開該顧客。 • xijk= 1,代表顧客i至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0}

  8. 限制式(3): • 限制每部車的起點與終點皆來自於同一配送中心 • xijk= 1,代表顧客i至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0}

  9. 限制式(4): • 計算車輛從這個顧客到下一個顧客點的到達時間,同時避免不必要的子迴路。 • ti+si+tij-(1-xijk)T≤tj • xijk= 1,代表顧客i至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0} • ti=顧客i到達時間 • tj=顧客j到達時間 • tij=從顧客i到顧客j的旅行時間 • si=顧客i的服務時間 • T=為一個很大的常數,所有路線之中具有最大的可服務時間

  10. 限制式(5): • 計算車輛從場站出發到下一個顧客點的到達時間。 • t0ek+t0j-(1-x0jk)T≤tj • x0jk= 1,代表場站至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0} • tj=顧客j到達時間 • t0j=從場站到顧客j的旅行時間 • t0ek=第k輛車離開場站的時間 • T=為一個很大的常數,所有路線之中具有最大的可服務時間

  11. 限制式(6): • 計算車輛從顧客i到場站的到達時間。 • ti+si+tt0-(1-xi0k)T≤t0uk • xi0k= 1,代表顧客i至場站由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0} • ti=顧客i到達時間 • ti0=從顧客i到場站的旅行時間 • si=顧客i的服務時間 • T=為一個很大的常數,所有路線之中具有最大的可服務時間 • t0uk=第k輛車到達場站的時間

  12. 限制式(7): • 車輛抵達顧客i時,須在顧客i所規定的時間窗內到達。 • ei≤ti ≤ui • ti=顧客i到達時間 • ei=顧客i的時窗下限 • ui=顧客i的時窗上限

  13. 限制式(8): • 場站的時間窗上下限 • e0≤t0ek • t0uk ≤u0 • t0ek=第k輛車離開場站的時間 • t0uk=第k輛車到達場站的時間 • e0=場站的時窗下限 • u0=場站的時窗上限

  14. 限制式(10): • 每部車所服務的顧客總需求量必須小於等於車容量限制。 • xijk= 1,代表顧客i至顧客j由第k輛車配送 • 0,otherwise • m=車輛數,M={1,….,m} • n=顧客數,N={1,….,n},N0=NՍ{0} • qi=顧客i的需求量 • Qk=第k輛車的容量

  15. 限制式(11): • 每一顧客點之到達時間必大於0 • ti≥0 • 限制式(12): • xijk為0或1變數 • xijk∈{0,1}

  16. 限制式(13): • 確定每一顧客須被服務一次 • 限制式(14): • yik ∈{0,1} • 限制式(15): • 任一車輛只能從任一顧客點離開一次 • yik= 1,代表顧客i被第k輛車拜訪 • 0,otherwise

  17. Solution Methods • 作者於時窗限制的車輛排程問題發展兩種最佳化演算法: • 拉氏鬆弛法(Lagrangian relaxation)。 • K-Tree鬆弛法(K-tree relaxation)。

  18. Solution Method- Lagrangian relaxation(1/7) • 方法1:使用Lagrangian relaxation來分割變數,目的是將一個問題分成好幾個子問題。 • Lagrangian relaxation是一種可以求得近似最佳解(Near Optimal Solution)的方法,它藉由鬆弛(relax)複雜的限制式(constrain),使得原始的問題(primal problem)簡化。 • 它可以取代線性規劃(Linear Programming Relaxation),因為拉氏鬆弛法所求出來的下界(lower bound)比線性規劃所求出的下界,可以較逼近最佳化(optimal)。

  19. Solution Methods- Lagrangian relaxation(2/7) • 在尋求目標函數的最小值時,可以將最複雜的限制式(constrain)移項再乘上一個Lagrangian multiplier,然後加回原來的目標函式,若限制式為不等式的情形下,拉氏乘數必需不為負的。 • 使用次梯度法(subgradient),去找出拉氏乘數,經由不斷地重覆計算以找到最接近最佳值的一個點。

  20. Solution Methods- Lagrangian relaxation(3/7) • 將鬆弛限制式(15)並且導入拉式乘數λik。 • 子問題1變成: • min- (16) • subject to (13) and (14) • 是一個半指派問題

  21. Solution Methods- Lagrangian relaxation(4/7) • 子問題2變成: min (17) subject to (2)-(12) • 是一個最短路徑問題,含有時窗及載重限制(shortest path problem with time windows and capacity constraints,SPTWCC)。 • 由於SPTWCC可能包含負cycles,為了避免發生此情形,two-cycle elimination(Kolen et al.1987)被使用來解決此種情形。

  22. Solution Methods- Lagrangian relaxation(5/7) • 為了協調鬆弛限制式(15)所帶來的問題,將之寫成對偶型式: (18) Where

  23. Solution Methods- Lagrangian relaxation(6/7) • 由於x,y在原始與對偶問題的目標函數的最佳解可能會有一個缺口(Gap=(Optimal solution-Lower bound)/Lower bound in %)。在這個case 對於VRPTW問題將是一個lower bound。 • 在式子(18)使用梯度最佳解(subgradient optimization)來做迭代。作者為了關閉對偶缺口,藉由引入branch-and-bound method,接著使用變數分離法(Variable Splitting Approach)去判斷lower bounds。

  24. Solution Methods- Lagrangian relaxation(7/7) • 下面分割的規則是被使用在branching process: (1)分派一輛車給顧客,如固定yik不是1就是0。 (2)選擇過去最常拜訪的顧客。

  25. Solution Method - K-tree Approach(1/3) • Tree: • Basis: one node is a tree • K-tree: • Basis: 有K個children is a K-tree ……

  26. Solution Method - K-tree Approach(2/3) • Example: 4-tree

  27. Solution Method - K-tree Approach(3/3) • 方法2:利用K-tree鬆弛法,是於時窗限制下所發展出的K-tree演算法;此法為應用求解TSP中典型解法1-tree的延伸。 • 在此法中,須假設每一路徑中至少須有兩個顧客。 • Fisher(1994)提到minimum K-tree method -有較少時窗違反的路徑發生。 -最少的限制式。

  28. Conclusion • 這篇paper所使用的兩種演算法,皆能夠解決顧客數100的最佳化問題,但是尚無法判斷哪種問題形態對於此兩種方法是最合適的。 • 這兩個方法,無法像列產生法(Column Generation Approach)(Desrochers et al.1992)可以解決各種型態的問題。

More Related