Расчет оптимальных маршрутов при касании всех доступных дорог в сети ArcGIS?

13

Для подготовки к зимнему сезону мы хотим рассчитать наиболее оптимальные маршруты для разбрызгивания соли на дорогах. Анализ знает следующие критерии:

  • автомобили запускаются и останавливаются в одной точке погрузки
  • все имеющиеся дороги нужно засыпать солью
  • один маршрут может занять не более определенного времени (предположим, 2 часа)
  • из-за ограниченной загрузки соли на транспортное средство, расстояние маршрута ограничено количеством доступной соли. (допустим, 10 км)

Сетевой аналитик ArcGIS (10.0) предполагает, что у вас есть начальная и конечная точки для расчета маршрута. Однако в этом случае речь идет не о расчете самого быстрого маршрута от пункта отправления до пункта назначения, а о наиболее оптимальных маршрутах, чтобы покрыть как можно большее расстояние дороги в течение ограниченного периода времени.

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

Марк Вершуур
источник
2
Это очень похоже на движение мусоровоза только там, где грузовики возвращаются в склад, чтобы опустошить, а соль перезаряжается. Оба должны посетить все части сети.
PolyGeo
Очень верно. У вас есть советы по решению такого рода вопросов маршрутизации?
Марк Вершуур
В нашей юрисдикции у нас есть дополнительная переменная - Sand. так как дороги с меньшим объемом дают песок, а дороги с большим объемом - соль. Если вы хотите открыть чат со мной, и мы сможем полностью обсудить проблему. Я также могу дать вам некоторое представление о том, что мы сделали, и можно ли сравнить наши решения
dassouki
Это может быть сведено к нескольким проблемам с доставкой и доставкой автомобилей, и на этот счет имеется множество документов.
Якуб Кания
Связанный: gis.stackexchange.com/questions/99886/…
Крис W

Ответы:

5

Я думаю, что некоторые ответы зависят от схемы дорожной сети, и этот вопрос, возможно, стоит опубликовать на Math Stack Exchange ( /math// ), поскольку это кажется проблемой теории графов. Я не думаю, что это будет оптимальным решением, но оно может помочь вам приблизиться.

Вы можете разделить дорожную сеть на естественные регионы, где сумма длин отрезков будет примерно равна сумме, которую грузовик может покрыть заданной нагрузкой. Затем для каждого региона вы можете запустить eularian tour, чтобы найти маршрут, который коснется всех сегментов. Пример кода на Python

def eulerian_tour(network_graph):
    graph = network_graph[:]
    route = []
    def find_route(start):
        for (i, j) in graph:
            if i == start:
                graph.remove((i, j))
                find_route(j)
            elif j == start:
                graph.remove((i, j))
                find_route(i)
        route.append(start)

    find_route(graph[0][0])
    route.reverse()
    return route

Затем вы можете рассмотреть маршрутизацию между регионами и складом и разбить маршрут доступа на логические сегменты для доступных грузовиков. Надеюсь это поможет.

Острый перец
источник
1

Я бы подошел к этой задаче таким образом. ArcGIS Network Analyst имеет решатель под названием VRP , который может помочь вам упорядочить и управлять вашими маршрутами. Я бы преобразовал каждую дорожную ссылку, имеющуюся в наборе сетевых данных, в точечные объекты ( например, инструмент GP Feature To Point (Управление данными)) или, возможно, сначала разбил линии на простые двухвершинные сегменты, а затем получил бы середину, чтобы стать центральной точкой. ).

Говоря с точки зрения VRP, они станут вашими заказами. Затем вы назначаете свои маршруты, ограничивая их определенным временем (2 часа), и место вашего депо будет одновременно точкой старта и остановки. Если у вас есть несколько транспортных средств, вы сможете получить несколько маршрутов для одного транспортного средства или несколько маршрутов для одного и того же транспортного средства.

Я настоятельно рекомендую пройти учебник, который поможет вам понять, как начать работу с VRP в Network Analyst. Я сам использовал этот решатель для нескольких проектов и нашел его очень мощным и настраиваемым в очень большой степени, чтобы соответствовать моему бизнес-процессу.

Помните, что Network Analyst будет хорошо работать с ограниченным количеством входных заказов (в вашем случае - центроид дорог). Я был успешным с несколькими тысячами заказов (до 9000). Поэтому, если вы хотите обслуживать действительно большой город, вы можете ограничить свои маршруты для работы только в определенных частях города (с точки зрения VRP - Маршрутных зон).

Если вы ищете более готовое и мощное решение, разработанное специально для точечной маршрутизации высокой плотности, рассмотрите возможность использования RouteSmart . Он построен на основе ArcGIS и был разработан для решения подобных проблем.

Алекс Терешенков
источник
Спасибо за предложения. Я обязательно проверю RouteSmart
Марк Вершуур