Оптимізація маршруту для кількох транспортних засобів


12

У мене є 100 напрямків та 5 транспортних засобів, і мені потрібно розробити рішення, яке ефективно спрямовує транспортні засоби до кожного пункту призначення, тому кожне місце відвідування здійснює 1 транспортний засіб. Деякі з цих напрямків також можуть мати вікна часу, які слід відвідати.

Я використовую PostgreSQL та PostGIS, і хотів використати pgrouting, але я не впевнений, що він підходить для декількох транспортних засобів - з моїх обмежених знань Dijkstra тощо, я думаю, що вони розроблені для одного транспортного засобу.

Будь-які думки щодо того, чи може pgrouting вирішити цю проблему, і якщо так, то будь-які приклади коду? Якщо ні, чи є альтернативи з відкритим кодом, які можуть це зробити?


У мене, схоже, є така ж потреба, як у вас. Я керую компанією NPO NEMT (невідкладна медична допомога). нам потрібно транспортувати пацієнтів до їх зустрічей за допомогою часових вікон для пікапів або доставки. Більшість запитів надходять заздалегідь, інші - на місці. Здається, DARP є хорошим алгоритмом. Ви потребуєте вирішувача DARP з тієї ж причини? Нік
Нік Бацци

Відповіді:


10

pgRouting має функцію, що називається вирішувачем DARP (Dial-a-Ride Problem) :

Проблема вирішення проблеми набору (DARP) намагається мінімізувати транспортні витрати, одночасно задовольняючи обмеження рівня обслуговування клієнтів (порушення часових вікон, час очікування та поїздки) та обмеження парку (кількість автомобілів та місткість, а також місце депо).

Детальніше про DARP та pgRouting:

Щоб скористатися цією новою функцією, вам потрібно встановити дамп-гілку pgRouting .


Відповіді на це запитання щодо stackexchange можуть надати додаткову інформацію: Алгоритм маршрутизації для декількох транспортних засобів із декількома краплями .


Спочатку я бачив алгоритм DARP, але перебирав його, оскільки не розумів, що його можна використовувати для кур'єрів. Схоже, це зробить роботу чудово! Шкода, що на сторінці документації немає прикладів використання, хоча це може бути випадком полювання через вихідний код, щоб побачити, як це працює.
RichW

2

pgRouting має нову функцію для вирішення DARP: http://www.pgrouting.org/docs/1.x/darp.html


Дивіться також деякі повідомлення тут: openvrp.com/blog/darp-algorithm-in-pgrouting
dkastl

Дякую Даніелю, це відмінна функція, яку ти там побудував. Я не усвідомлював, що його можна використовувати для цілей доставки, але це, безумовно, виглядає здійсненним. Дякую!
RichW

1

Хоча ESRI ArcLogistics явно не відповідає вашим конкретним потребам використання PostGIS або відкритого коду, для інших, хто може не мати навичок програмування або часу на реалізацію власних рішень, це непогана оплата за розширення на ArcGIS, який призначений для виконання описаних вами завдань.

Зараз вони також пропонують 30-денну безкоштовну пробну версію, якщо ви хочете перевірити її.


Минулого тижня я спустився до штаб-квартири ESRI, щоб обговорити це програмне забезпечення для них, але воно, схоже, не відповідає нашим потребам (потребує запуску на сервері, а також досить дороге). Чудовий шматок комплекту, хоча!
RichW

Наш продукт FleetEngine працює як сервер з інтерфейсом SOAP. 100 напрямків, 5 транспортних засобів та часові вікна, безумовно, в межах можливостей. Це дуже близько до готовності до виробництва, зв’яжіться зі мною для отримання тестової ліцензії. Це не з відкритим кодом або безкоштовно, але з іншого боку, не так дорого, як ArcLogistics.
Uffe Kousgaard

1
Привіт, Uffe, чи може вона враховувати обмеження на транспортні засоби (вага та габарити) і відповідно сортувати пакунки на транспортні засоби? Крім того, чи працює вона у Великобританії та використовує дані історії доріг для визначення швидкості тощо?
RichW

Так, на всі ваші запитання. Він використовує прості добавки ваги / обсягів. Він також не може робити 3D-упаковку, на що було б надто сподіватися. Повна підтримка вуличних мереж також у будь-якій країні, але вам потрібно забезпечити мережу вулиць. На жаль, я не побачив відповіді раніше, я вважав, що це обговорення закінчилося. Пінг мені на uffe@routeware.dk, якщо ви хочете обговорити це далі.
Uffe Kousgaard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.