Алгоритм распределения заказов

Сразу же после приобретения программы для такси каждая диспетчерская служба сталкивается с главным вопросом — как отдать заявку нужному борту и с минимальной задержкой. Клиент не готов долго ждать, а количество бортов на линии может не всегда хватать. Нехватка бортов особенно ощущается, если клиент высказывает дополнительные предпочтения к выбору борта (некурящий водитель, детское кресло, машина представительского класса и пр.).

Основной метод выбора борта на заказ — это поиск подходящего по параметрам борта на ближайшей к адресу подачи стоянке.

Рассмотрим на примере как это реализовано в программе для такси «О-Такси»

В «О-Такси» у каждого типа транспортного средства (далее ТС) есть возможность указать порядок очередности распределения заказов. Называется это круги распределения.

Круги распределения заказов

Круги распределения заказов

  • Круг первый — поиск борта в Микрорайоне/зоне (в Зоне 1, Зоне 2, Зоне 3)
  • Круг второй — поиск борта в Районе (Район Центр)
  • Круг третий — поиск любого свободного борта

Например, необходимо реализовать распределение заказа в «О-Такси» таким образом, чтобы:

Распределить заказ среди свободных в микрорайоне/зоне бортов в порядке очереди, если никого нет — подождать освобождения машин в этом микрорайоне/зоне заданное время. Если распределить вызов не удалось, продолжить алгоритм распределения.
Распределить заказ среди всех свободных в районе или на ближайших стоянках, если через заданное время появилась свободная машина в нужном районе предложить ей. Если распределить вызов не удалось, продолжить алгоритм распределения.
Предложить заказ всем свободным машинам в городе.

Настройка распределения в программе для такси «О-Такси» будет выглядеть следующим образом:

1. Общие параметры

Настройка распределения в программе для такси «О-Такси». Общие параметры

Настройка распределения в программе для такси «О-Такси». Общие параметры

2. Круг первый

 Направлять заказ — всем свободным в микрорайоне/зоне Количество водителей — 1 (для примера) Время на принятие водителем решения — 30 секунд Количество итераций — 2 Длительность круга — 60 секунд Все дополнительные параметры не используются (галочки сняты)

Настройка распределения в программе для такси «О-Такси». Круг первый

  • Направлять заказ — всем свободным в микрорайоне/зоне
  • Количество водителей — 1 (для примера)
  • Время на принятие водителем решения — 30 секунд
  • Количество итераций — 2
  • Длительность круга — 60 секунд

Все дополнительные параметры не используются (галочки сняты)

3. Круг второй

 Направлять заказ — всем свободным в районе Количество водителей — 5 (для примера) Время на принятие водителем решения — 20 секунд Количество итераций — 6 Длительность круга — 125 секунд Дополнительные параметры: Предлагать водителям на ближайших стоянках/зонах

Настройка распределения в программе для такси «О-Такси». Круг второй

  • Направлять заказ — всем свободным в районе
    Количество водителей — 5 (для примера)
    Время на принятие водителем решения — 20 секунд
    Количество итераций — 6
    Длительность круга — 125 секунд
    Дополнительные параметры: Предлагать водителям на ближайших стоянках/зонах

4. Круг третий

 Направлять заказ — Никому Длительность круга — 300 секунд Дополнительные параметры: Показывать заказы этого круга в «свободных заказах»

Настройка распределения в программе для такси «О-Такси». Круг третий

  • Направлять заказ — Никому
    Длительность круга — 300 секунд
    Дополнительные параметры: Показывать заказы этого круга в «свободных заказах»

Параметры распределения на каждом круге в «О-Такси» схожи, различается лишь зона распределения:

  • Микрорайон
    Район
    Всем свободным
    Никому

На каждом круге вы можете указать:

количество бортов, на которые будут распределяться заказы;
время на принятие решения — позволяет ограничить время на подтверждением принятия заказа бортом;
количество итераций (повторов) заказа между бортами на данном круге;
длительность круга — общее время распределения заказа между бортами на данном круге, произведение времени на принятия решения на количество итераций (повторов);

Из дополнительных параметров можно отметить:

Разрешить предлагать повторно новый заказ водителю — вдруг водитель не успел подтвердить прием заказа или передумал;
Разрешить предлагать заказ на замещающих типах ТС (аналогах) — если нет свободных бортов бизнес класса, то можно отправить борт из класса люкс;
Завершить круг распределения, если нет ни одного подходящего водителя — позволит сократить время поиска борта, в ином случае система будет искать водителя в течение всей длительности круга.


Программа для такси «О-Такси» успешно работает в диспетчерских службах: Такси «Пятерочка», г. Петропавловск; Такси «Авангард», г. Белгород; Такси «Мое такси», Московская область; Такси «Европа», гг. Борисов, Владикавказ; Такси «Курьер», гг. Вольск, Брянск; Такси «Агент 007», г. Пенза; Такси «Такси 24», г. Улан-Удэ; Такси «Эскорд», г. Евпатория; Такси «Прекрасное такси», гг. Екатеринбург, Кемерово, Киров; Такси «Желтое такси», гг. Екатеринбург, Кемерово, Киров; Такси «Кортеж», г. Новороссийск; Такси «Номер 1», г. Новороссийск; Такси «Союз», гг. Красноярск, Липецк, Майкоп; Такси «Ну погоди», гг. Мурманск, Николаевск-на-Амуре, Новосибирск; Такси «Такси 102», гг. Мурманск, Николаевск-на-Амуре, Новосибирск; Такси «Радио такси», гг. Мурманск, Николаевск-на-Амуре, Новосибирск; Такси «Love», гг. Невиномысск, Набережные Челны, Тверь; Такси «Единая служба такси», г. Тула; Такси «Бумер», гг. Харьков, Череповец; Такси «Стрит», г. Элиста; Такси «Курьер», г. Элиста; Такси «Экспресс», г. Лубны; Такси «Экспресс-люкс», г. Петропавловск; Такси «Народное такси», г. Белгород; Такси «Лидер», г. Пенза; Такси «Пантера», г. Пенза; Такси «Европа», г. Пенза; Такси «Лига», г. Пенза; Такси «Олимп», г. Пенза; Такси «Халява», г. Пенза; Такси «Стрит», г. Пенза; Такси «Семерочка», г. Пенза;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *