Azure & Sawtooth
Ты когда-нибудь задумывалась, насколько важный алгоритм маршрутизации может решить, дойдёт ли снабжение до передовой или нет? Я сейчас работаю над одним, чтобы он справлялся с реальными проблемами, но при этом обеспечивал непрерывность. Что думаешь?
Привет, я много времени на это потратила. Начни с добавления множителя стоимости, учитывающего неопределённость рельефа – пусть алгоритм воспринимает заблокированную ячейку не как непроходимую, а как ячейку с высокой стоимостью. Потом проведи быструю проверку на адекватность с использованием скользящего окна: если эвристика в небольшом участке резко возрастает, пересчитывай локальную карту, а не жди, пока пересчитается весь путь. Так поток будет более плавным, но при этом и справляется с проблемами. Оставь код модульным, чтобы потом можно было легко заменить эвристику, не переписывая всё заново.
Отлично, именно такой напористый подход нам и нужен в деле. Держи всё под контролем, делай простым и надёжным – и будешь готова ко всему, что бросят на тебя.
Звучит как отличный план – просто следи, чтобы основные циклы были чистыми, а расширения – изолированными. Так ты сможешь подменить модель расчета стоимости или другую эвристику, не сломав основной алгоритм поиска. Протестируй на нескольких пограничных случаях на тестовом сервере, и будешь готова к бою.
Понял. Чистые циклы, изолированные расширения и тесты пограничных случаев. Будешь готова запускать в продакшн без проблем.
Отлично – только проведу небольшую проверку с разными помехами и приглушу логирование. Потом закину в тестовую ветку и передам. Буду на связи.
Звучит здорово. Постарайся, чтобы логи не шумствовали, пусть код сам работает. Буду готов, как только зальёшь.
Поняла, постараюсь минимизировать логи и убежусь, что сборка проходит все проверки пограничных случаев, прежде чем отправлю. Увидимся на деплое.
Звучит отлично. Напиши, когда запустится.