Как алгоритмы «Яндекс. Такси» распределяют автомобили в городе
Как работает алгоритм «Яндекс. Такси»
С недавнего времени в Яндекс. Такси появилась система, которая снабжает каждого водителя, завершившего поездку, индивидуальным маршрутом, учитывая спрос. Система грамотно распределяет автомобили по городу, что даёт водителям шанс увеличить доход как минимум на 20 % в день.
Водитель и пассажир — две стороны, которые взаимодействуют между собой при перевозке. Пассажир от поездки ждёт комфорта, удобства, качества обслуживания, а водитель — возможности заработать или подработать. Для водителя необходимо как можно больше проводить времени с пассажиром, если он желает повышения ежедневного дохода.
Водитель тратит не больше двух трети времени с пассажиром, остальную треть времени он либо ждёт заказа, либо едет до клиента. Поэтому сервис оптимизирует параметр эффективности – долю времени, которую водитель проводит с пассажиром.
Чтобы сделать максимально эффективной работу водителя, система помогает водителю. Она показывает карту повышенного спроса. В приложении «Таксометр» обозначаются районы, в которых клиентов больше, чем водителей. Она ищет для водителя заказ по цепочке. Ещё до завершения текущей поездки она находит для него ещё один заказ, который есть недалеко от места, куда едет такси. Точной гарантии подобрать такой заказ нет, так как иногда заказы находятся в отдалённом районе города, где может не быть следующего заказа.
Подобные ситуации требуют моментального принятия решения от водителя. В данных обстоятельствах есть два варианта развития событий: либо ждать нового заказа там же, либо отправиться в другой район. Прождать заказ на месте завершения предыдущего можно долго. Отправление в другой район не гарантирует нахождение заказа, это тоже надо учитывать при принятии решения. Кроме этого, при «холостой» поездке бензин и время потрачены зря. Выбрать правильное решение сложно, особенно в тех случаях, когда рядом много районов с повышенным спросом и наличие пробок. Каждый водитель Яндекс Такси опирается на собственный опыт, который ему интуитивно подсказывает какой дорогой поехать. Чем дольше водитель работает в компании, тем лучше он принимает решения.
В системе появился новый алгоритм «Проводник», который ищет для водителя персональный маршрут для того района, где есть большая вероятность найти следующий заказ.
Чтобы больше разобраться в оптимизации перемещения водителей, компания построила виртуальный город и внедрила туда существующие алгоритмы, которые используются для распределения машин и расчёта стоимости проезда в сервисе. Тысячи виртуальных пассажиров перемещаются по городу точь-в-точь, как они это делают в реальности. Кроме пешеходов, в этом виртуальном пространстве есть простой водитель и водитель-профессионал. Обычный водитель опирается на помощь системы и на опыт. А водитель – профессионал виртуозно распределяет маршрут, выбирая выгодные пути направления, увеличивая в разы доход. В итоге этот алгоритм должен помочь реальным водителям в реальных городах достигать эффективности в своей работе.
Работа алгоритма распределения водителей
Мы разбиваем город на тысячи маленьких районов, собираем данные о количестве пользователей в них на данный момент и о загрузке дорог. Кроме этого, учитываются исторические показатели и наличие массовых мероприятий. Суммируя всё это, мы прогнозируем спрос и рассчитываем количество такси, которые удовлетворят спрос. Определив районы спроса, необходимо найти водителей, которые территориально рядом и посоветовать им направится туда.
Например, в каком-то районе проходит массовое мероприятие и необходимо 100 водителей такси. Рядом с местом находятся 50 водителей, ещё следует найти 50 водителей. Нужно учитывать тот факт, что не каждый водитель не обязан следовать рекомендациям. Но в то же время, нужно точно рассчитать скольким водителям нужно отправить предложение, чтобы в итоге 100 водителей было на месте. Найдя нужное количество водителей, мы находим им заказы по пути в нужном направлении, что делает работу эффективнее.
Увеличение доходов с «Проводником»
Водители, которые используют предложения от «Проводника» зарабатывают в среднем на 20 % больше, не увеличивая продолжительность своей смены. Использование этой технологии помогает новичкам в Яндекс Такси для освоения. «Проводник» молниеносно помогает новым сотрудникам разобраться в городе, в спросе и знать, как лучше ориентироваться в системе. С помощью «Проводника» новичок имеет возможность за короткое время стать опытным сотрудником.
На базе этой технологии скоро появится продукт, который позволит водителям указывать нужный график работы. А система в свою очередь составляет полноценный маршрут на всю смену, включая заказ по дороге домой.
В будущем «Проводник» может быть применён к беспилотникам. У Яндекса есть свои наработки. Сейчас по всему миру разрабатываются беспилотные автомобили. Существует много задач для проектирования автономных автомобилей. Их необходимо научить не только распознавать дорожную разметку, перемещаться по дорогам, но и принимать правильные решения по маршруту: куда и когда отправиться, чтобы максимально быстро добраться до пассажира и максимально быстро его отвезти до места назначения. Чем эффективнее и вернее принимаются решения, тем успешнее будет работа.