Итак, у меня есть набор точек в городе (например, дома или резиденции), и я хочу найти кратчайшее расстояние между этими точками и набор точек-кандидатов для магазина. Я ищу лучшие магазины, которые минимизируют расстояние до всех домов в комплекте. Поэтому я буду итеративно перемещать точки хранилища кандидатов, а затем пересчитывать расстояния между каждым магазином и домом (опять же используя алгоритм Джикстры). Из-за огромного объема вычислений я не могу продолжать использовать базу данных для каждой итерации алгоритма оптимизации.Способы рассчитать расстояния до дороги в городе очень быстро
Я использовал pgrouting много раз, и это сработает, однако это будет слишком медленно из-за большого количества точек и того факта, что он должен каждый раз искать диск.
Есть ли инструмент, в котором я загружаю небольшую карту Карты уличной карты Open Street в память, а затем вычисляю кратчайшие маршруты в памяти? Мне нужно что-то быстрое, поэтому желательно на C или python? Но любой язык в порядке, пока он работает.
Обычный способ расчета этих проблем с «достижением» - начать вычисление «один ко многим» из потенциальных мест хранения. Сделайте это, например. с простой Dijkstra и использованием быстрого предварительно обработанного графика может дать вам ответы для каждого магазина в миллисекундах. Например. посмотрите на маршрутизаторы OSM http://wiki.openstreetmap.org/wiki/Routing – Karussell