易普優APS混合優化算法求解VRPTW帶時間窗的車輛路徑優化調度問題


        易普優APS集成多種優化調度算法,不僅僅可以解決車間調度問題,而且可以解決VRPTW帶時間窗的車輛路徑配送優化調度問題,這篇文章描述 易普優APS基於禁忌搜索算法求解VRPTW問題。

        VRPTW問題可描述為:假設一個配送中心為周圍若干個位於不同地理位置、且對貨物送達時間有不相同要求的客戶點提供配送服務。其中,配送中心全部用於運行的車輛都是同一型號的(即擁有相同的容量);配送中心對車輛出入的時間有限制;車輛在所有客戶點有相同的停留服務時間。

給出的連通G=(N,A)中,n+1個位置節點表示為集合N={0,1,2,...,n},連接節點之間的邊表示為集合A={(i,j):i≠j∈N}。其中節點0是倉庫,剩余每個節點對應一個客戶。假設車輛的速度恆定(即從節點i到節點j的行駛時間tij在數值上與其歐式距離dij相等)。可用的車輛數表示為m,所有車必須從位置0開始並回到位置0。每個點節i屬於N且帶有時間窗[a_i, b_i],其中a_i和b_i分別表示節點i最早和最晚允許開始接受貨物的時間。若節點i被選中且在路線r中,則決策變量y_{ri}的值為1,否則為0。若邊(i,j)被選中且在路線r中,則決策變量x_{rij}的值為1,否則為0。路線r中車輛抵達客戶i的時間點用決策變量s_{ri}表示。在車輛早抵達的情況下,車輛必須等候至時間窗起始時間點。若抵達時間點沒有超出時間窗的結束時間點,則服務成功(即獲得利潤)。

采取讀取文本格式來作為數據輸入的形式,具體格式見下表:

序號

橫坐標

縱坐標

服務量

時間窗起始

時間窗結束

服務時間

1

35.00

35.00

0.00

0.00

230.00

0.00

2

41.00

49.00

10.00

161.00

171.00

10.00

      由上表可知,輸入數據為一行七列的形式,依次為對應點的序號橫坐標縱坐標所需服務量服務時間窗起始時間點服務時間窗結束時間點服務所需時間。由此可見,節點1倉庫(depot),其他節點待服務點。完整數據格式見文章 末尾附錄

第一步:APS數據建模,將 VRPTW問題中的每一個配送任務作為一個訂單導入APS系統,並將所需服務量服務時間窗起始時間點服務時間窗結束時間點服務所需時間,轉換為時分秒的時間,

其中服務時間窗起始時間點對應訂單下單時間(即最早開始時間)服務時間窗結束時間點對應訂單交貨期(即最晚結束時間),服務時間對應生產制造時間數據如下圖所示,:

 

 

第二步:APS資源建模,由於不限制車輛數量,假設車輛數量與任務數量相同,如下圖所示,系統導入100台車輛,算法需要自動計算需要派幾台車輛配送任務最合適。

 

第三步:配置APS排程策略,使用禁忌搜索算法求解,計算每個任務的前處理時間(從前一個任務地點(配送中心)到當前任務位置的距離),生產時間(服務時間+提前到達當前任務位置的等待時間),后處理時間(最后一個任務完成后返回配送中心的距離)。 

計划開始時間(出發去下一個位置的開始時間),計划結束時間(任務完成時間),計划主資源(任務選擇那一台車輛進行配送)

 

 第四步:APS資源甘特圖上,可視化展示優化調度結果,資源甘特圖上:一行表示一台配送車輛的任務安排,不同顏色的圖塊表示任務處理的時間與轉移時間。可以看出每台配送車輛在0點出發,23點返回配送中心

 

 第五步:APS提供數據看板,直觀展示每台車輛的任務安排,管理人員可以直接按照計划結果進行車輛調度

 

 

 易普優APS 支持多種算法解決VRPTW問題,本文采用禁忌搜索算法,基本步驟如下:

①  初始化

利用貪婪算法等局部搜索算法生成一個初始解,清空禁忌表,設置禁忌長度。

②  鄰域搜索產生候選解

根據步驟產生初始解,通過搜索算子(search operators),如relocation、exchange、2-opt等,產生候選解(candidate solution),並計算各個候選解的適應值(即解對應的目標函數值)。

③  選擇最好的候選解

從步驟產生的所有候選解中選出適應值最好的候選解,將其與當前最好解(即搜索算法開始到現在找到的最好解)進行比較,如果優於當前最好解,那么就不考慮其是否被禁忌,用這個最好的候選解來更新當前最好解,並且作為下一個迭代的當前解,然后將對應的操作加入禁忌表;如果不優於當前最好解,就從所有候選解中選出不在禁忌狀態下的最好解作為新的當前解,然后將對應操作加入禁忌表。

④  判斷終止條件

若滿足終止條件,則立即停止並輸出當前最好解;否則繼續搜索。一般終止條件為是否到達一定的迭代次數或者達到了一個時間限制。 

禁忌搜索算法流程圖:

 

 

 

    禁忌搜索算法涉及編碼解碼(Encoding and decoding)搜索算子(search operators)鄰域 (Neighborhood)禁忌表(Tabu list)禁忌長度(Tabu tenure)候選解(Candidate solution)藐視准則(Aspiration criterion)等關鍵組成部分。

附錄:R101數據

 1      35.00      35.00       0.00       0.00     230.00       0.00

    2      41.00      49.00      10.00     161.00     171.00      10.00

    3      35.00      17.00       7.00      50.00      60.00      10.00

    4      55.00      45.00      13.00     116.00     126.00      10.00

    5      55.00      20.00      19.00     149.00     159.00      10.00

    6      15.00      30.00      26.00      34.00      44.00      10.00

    7      25.00      30.00       3.00      99.00     109.00      10.00

    8      20.00      50.00       5.00      81.00      91.00      10.00

    9      10.00      43.00       9.00      95.00     105.00      10.00

   10      55.00      60.00      16.00      97.00     107.00      10.00

   11      30.00      60.00      16.00     124.00     134.00      10.00

   12      20.00      65.00      12.00      67.00      77.00      10.00

   13      50.00      35.00      19.00      63.00      73.00      10.00

   14      30.00      25.00      23.00     159.00     169.00      10.00

   15      15.00      10.00      20.00      32.00      42.00      10.00

   16      30.00       5.00       8.00      61.00      71.00      10.00

   17      10.00      20.00      19.00      75.00      85.00      10.00

   18       5.00      30.00       2.00     157.00     167.00      10.00

   19      20.00      40.00      12.00      87.00      97.00      10.00

   20      15.00      60.00      17.00      76.00      86.00      10.00

   21      45.00      65.00       9.00     126.00     136.00      10.00

   22      45.00      20.00      11.00      62.00      72.00      10.00

   23      45.00      10.00      18.00      97.00     107.00      10.00

   24      55.00       5.00      29.00      68.00      78.00      10.00

   25      65.00      35.00       3.00     153.00     163.00      10.00

   26      65.00      20.00       6.00     172.00     182.00      10.00

   27      45.00      30.00      17.00     132.00     142.00      10.00

   28      35.00      40.00      16.00      37.00      47.00      10.00

   29      41.00      37.00      16.00      39.00      49.00      10.00

   30      64.00      42.00       9.00      63.00      73.00      10.00

   31      40.00      60.00      21.00      71.00      81.00      10.00

   32      31.00      52.00      27.00      50.00      60.00      10.00

   33      35.00      69.00      23.00     141.00     151.00      10.00

   34      53.00      52.00      11.00      37.00      47.00      10.00

   35      65.00      55.00      14.00     117.00     127.00      10.00

   36      63.00      65.00       8.00     143.00     153.00      10.00

   37       2.00      60.00       5.00      41.00      51.00      10.00

   38      20.00      20.00       8.00     134.00     144.00      10.00

   39       5.00       5.00      16.00      83.00      93.00      10.00

   40      60.00      12.00      31.00      44.00      54.00      10.00

   41      40.00      25.00       9.00      85.00      95.00      10.00

   42      42.00       7.00       5.00      97.00     107.00      10.00

   43      24.00      12.00       5.00      31.00      41.00      10.00

   44      23.00       3.00       7.00     132.00     142.00      10.00

   45      11.00      14.00      18.00      69.00      79.00      10.00

   46       6.00      38.00      16.00      32.00      42.00      10.00

   47       2.00      48.00       1.00     117.00     127.00      10.00

   48       8.00      56.00      27.00      51.00      61.00      10.00

   49      13.00      52.00      36.00     165.00     175.00      10.00

   50       6.00      68.00      30.00     108.00     118.00      10.00

   51      47.00      47.00      13.00     124.00     134.00      10.00

   52      49.00      58.00      10.00      88.00      98.00      10.00

   53      27.00      43.00       9.00      52.00      62.00      10.00

   54      37.00      31.00      14.00      95.00     105.00      10.00

   55      57.00      29.00      18.00     140.00     150.00      10.00

   56      63.00      23.00       2.00     136.00     146.00      10.00

   57      53.00      12.00       6.00     130.00     140.00      10.00

   58      32.00      12.00       7.00     101.00     111.00      10.00

   59      36.00      26.00      18.00     200.00     210.00      10.00

   60      21.00      24.00      28.00      18.00      28.00      10.00

   61      17.00      34.00       3.00     162.00     172.00      10.00

   62      12.00      24.00      13.00      76.00      86.00      10.00

   63      24.00      58.00      19.00      58.00      68.00      10.00

   64      27.00      69.00      10.00      34.00      44.00      10.00

   65      15.00      77.00       9.00      73.00      83.00      10.00

   66      62.00      77.00      20.00      51.00      61.00      10.00

   67      49.00      73.00      25.00     127.00     137.00      10.00

   68      67.00       5.00      25.00      83.00      93.00      10.00

   69      56.00      39.00      36.00     142.00     152.00      10.00

   70      37.00      47.00       6.00      50.00      60.00      10.00

   71      37.00      56.00       5.00     182.00     192.00      10.00

   72      57.00      68.00      15.00      77.00      87.00      10.00

   73      47.00      16.00      25.00      35.00      45.00      10.00

   74      44.00      17.00       9.00      78.00      88.00      10.00

   75      46.00      13.00       8.00     149.00     159.00      10.00

   76      49.00      11.00      18.00      69.00      79.00      10.00

   77      49.00      42.00      13.00      73.00      83.00      10.00

   78      53.00      43.00      14.00     179.00     189.00      10.00

   79      61.00      52.00       3.00      96.00     106.00      10.00

   80      57.00      48.00      23.00      92.00     102.00      10.00

   81      56.00      37.00       6.00     182.00     192.00      10.00

   82      55.00      54.00      26.00      94.00     104.00      10.00

   83      15.00      47.00      16.00      55.00      65.00      10.00

   84      14.00      37.00      11.00      44.00      54.00      10.00

   85      11.00      31.00       7.00     101.00     111.00      10.00

   86      16.00      22.00      41.00      91.00     101.00      10.00

   87       4.00      18.00      35.00      94.00     104.00      10.00

   88      28.00      18.00      26.00      93.00     103.00      10.00

   89      26.00      52.00       9.00      74.00      84.00      10.00

   90      26.00      35.00      15.00     176.00     186.00      10.00

   91      31.00      67.00       3.00      95.00     105.00      10.00

   92      15.00      19.00       1.00     160.00     170.00      10.00

   93      22.00      22.00       2.00      18.00      28.00      10.00

   94      18.00      24.00      22.00     188.00     198.00      10.00

   95      26.00      27.00      27.00     100.00     110.00      10.00

   96      25.00      24.00      20.00      39.00      49.00      10.00

   97      22.00      27.00      11.00     135.00     145.00      10.00

   98      25.00      21.00      12.00     133.00     143.00      10.00

   99      19.00      21.00      10.00      58.00      68.00      10.00

  100      20.00      26.00       9.00      83.00      93.00      10.00

  101      18.00      18.00      17.00     185.00     195.00      10.00

 

其他APS高級計划排程系統相關擴展閱讀

1、APS高級計划排程系統應該支持的企業應用場景

2、機械加工行業計划排程:中車實施應用易普優APS

3、 APS演繹飯局模型(通俗的告訴您為什么ERP計划與APS計划的區別)

4、烽火集團PCBA企業應用易普優APS實現智能計划排產案例

5、APS行業方案1:包裝印刷行業高級計划排程

6、APS行業方案2:線束線纜行業高級計划排程

 7、易普優高級計划排程Light版助力中小企業實現精益化計划

 8、易普優APS與國外知名高級計划排程系統對比分析

 9、易普優APS混合遺傳算法求解FJSP柔性車間調度最優化問題

 10、易普優APS混合優化算法求解TSP旅行商最優化調度問題

 11、易普優APS混合優化算法求解VRPTW帶時間窗的車輛路徑配送優化調度問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM