[英]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
我也在官方郵件列表中問過這個問題。
這是 OR 求解器的一個眾所周知的特性。 因為它們包含許多啟發式方法,所以它們對 model 中的變量或約束的順序非常敏感。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.