Проблема с маршрутизацией транспортных средств с падениями и погрузками с ограничениями по вместимости

Я использую Google OR Tools для решения проблемы:

Транспортные средства всегда стартуют со склада со всеми грузами, загруженными для точек высадки. И есть пункты приема, откуда приходится загружать грузы. Тур должен быть завершен в течение 10 часов.

Пример:

Узлы = [A, B, C, D, E, F, G]

Вес = [50, 60, 30, 20, 80, 90, 40]

PointType = [D, D, P, D, P, D, D], где D = доставка и P = самовывоз.

Я пробовал использовать пример Самовывоз в OR Tools и использовал фиктивный узел самовывоза для каждого узел сброса и фиктивный узел сброса для каждого пикапа. Таким образом, уникальная комбинация пикапа и дропа.

Этот подход хорошо работает для 50-60 местоположений, но решатель не может вернуть какое-либо решение для большого количества местоположений (135 местоположений и, следовательно, 135 * 2 = 270 узлов, потому что по одному фиктивному узлу для каждого).

Есть ли другой способ решить эту проблему с помощью инструментов OR, который не требует использования фиктивных узлов, которые эффективно уменьшили бы общее количество узлов?


person Yash Sharma    schedule 07.08.2020    source источник
comment
Можете попробовать поиграться с алгоритмами? Я заметил, что OR-tools не вернет решение, если первый алгоритм решения не сможет сгенерировать начальное решение. Лучше всего попробовать различные алгоритмы, чтобы увидеть, что лучше всего подходит для вашего варианта использования. Кроме того, попробуйте сделать узлы необязательными, что значительно повысит скорость решателя.   -  person k88    schedule 08.08.2020


Ответы (1)


OR-tools не генерировали решение, потому что проблема 135 узлов была невозможна в пределах временного окна, которое я проходил.

При подходящем временном окне у него нет проблем с поиском решения.

Кроме того, вероятно, необходимо создание фиктивных / дублирующих узлов, потому что в любом варианте задачи коммивояжера (TSP) один узел можно посетить только один раз.

person Yash Sharma    schedule 11.08.2020