У меня есть OD-матрица примерно из 3 миллионов путей, которые я хотел бы маршрутизировать в сети OSM. Используя Dijkstra, я получаю около 20 путей в минуту или общее время 2500 часов. Было бы плохо, если бы алгоритм ближайшего_узла не пропустил относительно удаленный ближайший узел. С Bellman-Ford у меня, похоже, нет этой проблемы, но она в 40 раз медленнее, а у меня нет 100 000 часов. ;} У меня есть 24 ГБ ОЗУ на мой выбор Ubuntu или Windows машина. Между прочим, службы веб-маршрутизации publi c сталкиваются с той же проблемой - не могут найти маршрут. Мои местоположения OD - это центроиды переписных кварталов в районе залива (где некоторые отдаленные районы могут находиться в нескольких милях от ближайшей дороги). У меня два вопроса: (1) как я могу избежать проблемы, связанной с обнаружением маршрута, и (2) как я могу ускорить процесс (не поможет, если я использую экземпляр Cloud, скажем, с 512 ГБ ОЗУ)? Функция, которую я пытаюсь улучшить, - это route = networkx.shortest_path (G, start_node, end_node, weight = 'travel_time') в сочетании с start_node = osmnx.get_nearest_node (G, start) и его соответствующим аналогом end_node