Проблема маршрутизації та розподілу вантажів з одного вузла до кількох зупинок є ключовою задачею в транспортній логістиці. У цьому контексті виникає проблема варіюючої вмісткості транспортних засобів залежно від кількості зупинок, відомої як Комбінована задача маршрутизації транспорту з обмеженням часу та вантажопотоком (CVRPTW).
В CVRPTW кожен транспортний засіб має фіксовану вмісткість, яка може змінюватися в залежності від кількості зупинок, обмеження часу на прибуття до кожної зупинки відрізняється, кожен засіб може обслуговувати обмежену кількість зупинок, а кількість використовуваних транспортних засобів необмежена.
Мені потрібно було знайти рішення для цієї задачі, використовуючи OR Tools, але я не зміг знайти способу програмно реалізувати це. Крім того, я не є експертом з Python, тому будь-яка допомога буде вельми цінною.
Для кращого розуміння проблеми наведемо таблицю, де вказана вмісткість транспортних засобів в залежності від кількості зупинок:
1 2 3 4 5 6 |
# Кількість зупинок Вмісткість транспортного засобу 1 до 2 1000 3 до 4 800 5 700 6 500 ... ... |
Нижче наведено приклад реалізації цієї задачі у мові R:
1 2 3 4 5 6 7 8 9 |
if (stops %in% c(1,2)) { max_volume <- 2000 } else if (stops %in% c(3)) { max_volume <- 1800 } else if (stops %in% c(4,5)) { max_volume <- 1700 } else { max_volume <- 1550 } |