簡體   English   中英

使用 Google OR 工具解決車輛路徑問題 (CVRPTW) 所需的時間取決於車輛容量的排序

[英]Time taken to solve a Vehicle Routing Problem (CVRPTW) using Google OR Tools depends on the ordering of vehicle capacity

我試圖通過結合官方文檔中提供的示例中的 CVRP 和 VRPTW 來創建 CVRPTW 解決方案。

由於代碼很大,我無法將其粘貼在這里,所以我分享了一個 colab 筆記本,演示了一個重現問題的簡短示例: https://colab.research.google.com/drive/1YN-6kABqGqSkQKxOtWD6YA2ZDlP8RfqD?usp=sharing

每個節點的交付數量為[0, 80, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1]

我有 22 輛車,21 輛容量為 25 的車輛和 1 輛容量為 600 的車輛。如果車輛按升序排序,則具有 14 個節點的示例需要 200 多秒才能解決,如果它們按降序排序,則相同的示例得到解決不到一秒鍾。

我是第一次使用 Google OR Tools,所以我不知道這是否是預期的。 我也嘗試過添加引導式本地搜索,但是當我添加時間限制以停止它時,它會停止而沒有給出解決方案。

我在 repo 中創建了一個問題,但它被轉換為討論。

https://github.com/google/or-tools/discussions/2554

我也在官方郵件列表中問過這個問題。

https://groups.google.com/g/or-tools-discuss/c/MHoMwkHQuoo

這是 OR 求解器的一個眾所周知的特性。 因為它們包含許多啟發式方法,所以它們對 model 中的變量或約束的順序非常敏感。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM