Мы начинаем с чистых адресов: единый формат улиц, корпуса и строения, метки подъездов и домофонов. Геокодер должен возвращать не абстрактный центр здания, а конкретную точку посадки у бордюра. Исправляя системные смещения и добавляя пользовательские пины, вы экономите минуты на каждом прибытии.
Гиперлокальные флотилии часто смешанные: автомобили, карго-велосипеды и пешие курьеры. Разные профили скорости, допустимые дорожки и лестницы требуют отдельных графов. Добавьте факторы наклона, качество покрытия, запрещенные для машин зоны и вы получите реалистичную оценку времени, которая помогает правильно разложить соседние остановки.
Никакая карта не знает двор лучше, чем водитель, который там был вчера. Просите отмечать закрытые арки, новые шлагбаумы, удобные карманы и опасные развороты. Автоматически агрегируйте сигналы, подтверждайте их несколькими наблюдениями и пересчитывайте маршруты, превращая коллективный опыт в конкурентное преимущество вашего района.
Простые правила часто дают быстрый выигрыш: ближайший сосед с поправкой на окна времени, вставки с минимальным увеличением пути, переупорядочивание трех точек. Локальный поиск сглаживает острые углы, но важно не застрять в локальном оптимуме. Помогают случайные перетасовки и аккуратные критерии отката.
Окна времени и вместимость меняют всё: нельзя опоздать к школе, нельзя перевезти больше ящиков, чем вмещает багажник. Мы вводим штрафы за ранние прибытия, мягкие и жесткие ограничения, балансируем загрузку между машинами и не забываем про обязательные остановки на отдых и перезагрузку.