gifts2017

Простой пример поиска оптимального маршрута и его протяженности

Опубликовал Николай Беляев (freez1301) в раздел Программирование - Практика программирования

Надо быстро рассчитать расстояние или время в пути между заданными точками маршрута? Или, может, есть необходимость оптимизировать маршрут? Без использования ВК и HTML.

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

Обработку можно использовать в качестве примера, в котором можно быстро разобраться с минимальными усилиями.  В обработке не используется внешних компонент, также нет необходимости строить маршрут на карте.  

Небольшой тест:

Пункт отправления и прибытия можно не указывать, по умолчанию подставится Красная Площадь в г. Москва. Введем несколько адресов и выполним рассчет маршрута без оптимизации.

До оптимизации

Теперь установим признак использования оптимизации и рассчитаем маршрут еще раз

После оптимизации

Время в пути сократилось на 10 мин., а расстояние на 5 км, кроме того, поменялся порядок следования адресов в табличной чатси обработки.

Требования:

Платформа 8.3.6+

Плюсы:

Адреса можно вводить практически в произвольном виде.

Скачать файлы

Наименование Файл Версия Размер
Поиск оптимального маршрута 12
.epf 8,72Kb
11.11.16
12
.epf 8,72Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Виталий Попов (Сурикат) 11.11.16 22:53
А какой алгоритм используется? В примере один кретерий оптимизации, легко ли будет расширить на несколько критериев? На трех точках и перебор нормально будет работать =)
2. Николай Беляев (freez1301) 11.11.16 23:37
(1) Сурикат, расширить на несколько критериев может и легко - если знать их принципы реализации. А по поводу промежуточных точек - в данном примере их может быть до 8, без учета пункта отправления и прибытия
3. Макс Макс (max61) 15.11.16 23:28
Добрый день!
А для 8.2 нет такой обработки?
4. Николай Беляев (freez1301) 16.11.16 10:05
(3) max61, для 8.2 можно немного переделать - особого труда в этом нет.
5. Николай Зайков (Mortiferus) 16.11.16 16:00
Классная обработка! Спасибо!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа