У меня есть 100 пунктов назначения и 5 транспортных средств, и мне нужно кодировать решение, которое эффективно направляет автомобили к каждому пункту назначения, поэтому каждый пункт назначения посещается 1 транспортным средством. У некоторых из этих мест назначения также могут быть временные окна, которые необходимо посетить во время.
Я использую PostgreSQL и PostGIS и хотел использовать pgrouting, но я не уверен, что он подходит для нескольких транспортных средств - из-за моего ограниченного знания Dijkstra и т. Д. Я думаю, что они предназначены для одного транспортного средства.
Есть мысли о том, может ли pgrouting решить эту проблему, и если да, то какие примеры кода? Если нет, есть ли альтернативы с открытым исходным кодом, которые могут это сделать?
Ответы:
В pgRouting есть функция, которая называется DARP (Решение проблем с Dial-a-Ride) :
Подробнее о DARP и pgRouting:
Чтобы использовать эту новую функцию, вам нужно установить ветвь darp pgRouting .
Ответы на этот вопрос о stackexchange могут предоставить дополнительную информацию: алгоритм маршрутизации для нескольких транспортных средств с несколькими сбрасываниями .
источник
В pgRouting появилась новая функция для решения DARP: http://www.pgrouting.org/docs/1.x/darp.html.
источник
Хотя ESRI ArcLogistics явно не соответствует вашим конкретным потребностям использования PostGIS или открытого исходного кода, для тех, кто может не иметь навыков программирования или времени для реализации собственных решений, это хорошее готовое платное расширение для ArcGIS, которая предназначена для выполнения задач, которые вы описали.
В настоящее время они также предлагают 30-дневную бесплатную пробную версию, если вы хотите проверить это.
источник