В логике назначения водителей на заказы есть фундаментальное противоречие — чем лучше мы хотим оптимизировать интегральную характеристику системы (суммарное время подачи) — тем длиннее нужно делать временнОе окно (то есть время интегрирования) — а значит, снижать реакцию системы (то есть понижать качество сервиса) для индивидуальных запросов, и наоборот.
Идеи разрешения этого противоречия — динамическое распределение между интегральным (bulk) и дифференциальным (greedy) алгоритмами в зависимости от загрузки сети, а также виртуальная буферизация предсказанных запросов для разрешения этого противоречия — очень здравые. Многие клиенты ездят в определенное время из одной и той же точки с одним и тем же набором опций (например, отвозят детей на занятия после школы), и краткосрочное предсказание должно работать.
Пришли к таким же выводам — пока запускаем расчет графа как можно чаще, но принимаем его решение не для всех найденных пар заказ-водитель. Анализируем окружение заказа и можем отправить его на «следующий круг».
В каком городе совершали поездку? Я нашел несколько Волгоградских шоссе в разных городах, но, насколько мне известно, ни в одном из них балковый подход еще не включали.
Пришли к таким же выводам — пока запускаем расчет графа как можно чаще, но принимаем его решение не для всех найденных пар заказ-водитель. Анализируем окружение заказа и можем отправить его на «следующий круг».