Задачу можно сформулировать следующим образом: используя ограниченное количество машин, доставить товары покупателям. Учитывая, ограничения:
- вместимость каждой машины
- время доставки товара покупателю
- количество точек доставки
- время работы водителя
Оптимизировать пробег машин для экономии времени и топлива.
Предлагаем вашему вниманию программу Optaplanner для оптимизации маршрутов доставки.
OptaPlanner — это модуль планирования, написанный на Java™. Модуль совмещает набор эврестических и метаэвристических алгоритмов с эффективной оценкой результатов.
OptaPlanner — open source software, распространяется под лицензией Apache Software License.
Выгрузка для 1С Предприятия 7.7
Предлагаем воспользоваться обработкой для выгрузки точек доставки из 1С Предприятие 7.7 Комплексная в формате СVRP и CVRPTW
- CVRP — Capaсity Vehile Routing Problem — Задача оптимизации маршрутов с ограниченной вместимостью
- CVRPTW — Capaсity Vehile Routing Problem with Time Windows — Задача оптимизации маршрутов с ограниченной вместимостью и временем доставки
Координаты точек доставки предлагается определять по адресу доставки с помощью Yandex maps api
Алгоритм работы:
- В 1С Предприятии 7.7 запустить обработку Конструктор логиста
- Заполнить отгрузки за один день
- Установить координаты для всех точек доставки
- Установить последнюю версию Optaplanner
- Запустить ..optaplanner-distribution-6.0.1.Finalexamples
unExamples.bat - Пункт Vehile Routing
- Import — для CVRP, Open — для CVRPTW
На мой взгляд самое сложное в данной задаче легально получить матрицу расстояний между точками, а лучше время проезда с учетом пробок. Если брать по прямой, то толку от такой оптимизации крайне мало
с учетом пробок? это было бы интереснее)
Ссылки интересные приведены
(1) MadHead, собственно да. Мало того, что нужно раздобыть полный граф карты города. Всем ветвям графа нужно как-то проставить вес. Следующая проблема, что граф рельного города настолько большой, что вычисления оптимального маршрута — задача для мощного сервака, а не десктопа.
И тут получается вывод, что нужен сервис типа Яндекса, в котором есть средние скорости по каждому отрезку пути, есть все карты и есть огромные вычислительные мощности
100 процентов не коммуникативно ?
(4) monkbest, никаких огромных мощностей не нужно:http://habrahabr.ru/post/211388/ там у них получилось от 60 до 250 ms на на Core i7 3.4 Ghz.
(1) MadHead, город можно сравнить с сильно связным графом
Vehicle routing with real road distances проводится сравнение вычислений с матрицей расстояний «по прямой» и «реальными» расстояниями, выигрыш составляет 5%
если вы ставите вопрос о том, что с реальными расстояниями будет точнее, то я с вами соглашусь.
в статье
Если же сравнивать алгоритмы кластеризации (или деление по районам, как все обычно делают) с оптимизацией с расстояниями «по прямой», то думаю что выигрыш будет больше — порядка 20-30% , хотя с такими исследованиями пока не сталкивался.
Geoffrey De Smet предлагает воспользоваться Java библиотекойGraphHopper , основанной на OpenStreetMap, Загрузка всей сети дорог Северной Америки занимает около 6GB.
(4) monkbest, вы можете опробовать Optaplanner на своём компьютере, думаю, вы будете приятно удивлены
без наложения на карту и построения маршрута по конкретным географическим условиям и дорогам задача большого смысла не имеет, но разве что в будущем для летающих машин))
(10) pt_olga, будущее уже(Ссылка)
совсем рядомнаступило — DHL запускает беспилотную доставку в ГерманииА вот еще на ту же тему:Создателя Copter Express оштрафовали за доставку пиццы дронами . В последнем случае дело происходило в Сыктывкаре.
Можно попробовать сервис от Гугл Матрица Расстояний называется
(12) mdmdvd, спасибо за интересную ссылку.
(12) mdmdvd, но там только 25 точек (входов и выходов суммарно) или 100 связей ограничение. То есть получится только 10 точек реально считать. Да и с лицензией как то мутно. С чего бы Гугл задарма такой сервис десктопным приложениям раздавало? Это для сайтов, как и у Яндекса, чтобы рекламу доставлять.
С момента публикации прошло более 3 лет.
Просьба к автору поделится опытом практического применения. Используется ли где нибудь на текущий момент времени данный расчет маршрутов? Если используется, то насколько оптимально решается задача и как часто логисты вносят изменения в конечные маршруты? Сколько машин и адресов доставки обычно участвует в расчетах?
Сам optaplanner пока еще развивается, судя по дате последнего релиза: 7.4.1.Final от 24.10.2017.
лучше использовать ODL Studio
http://www.opendoorlogistics.com/software/odl-studio/