Примеры настроек по бизнес-кейсам

Решения основаны на кейсах из воркшопа, в котором подробно разбираются:

  • логика работы алгоритма календарного планирования;

  • особенности настройки параметров;

  • интерфейс рабочего места логиста;

  • работа с отчетами.

Все примеры актуальны для сотрудников, которые передвигаются на автомобилях.

Подбор количества сотрудников

В каких ситуациях использовать

Используйте, чтобы подобрать оптимальное количество сотрудников для посещения всех локаций.

Как реализовать сценарий

На листе employees:

  1. Установите фиксированную стоимость выхода на работу для каждого сотрудника cost.fixed = 30 000. Алгоритм назначит дополнительную стоимость за каждого сотрудника и найдет минимально необходимое количество.

  2. Добавьте стоимость дня простоя для каждого сотрудника cost.empty_run = 10 000. Так алгоритм использует все рабочие дни каждого сотрудника.

  3. Чтобы маршруты были более кучными, заполните следующие поля:

Значения параметров были подобраны для высокой плотности расположения локаций.

Если количество запланированных локаций существенно превышает количество локаций, которые смогут посетить сотрудники, уменьшите значения max_edge_duration_s и between_days_max_edge_duration_s в два раза.

О том, как открыть полученные решения на карте, см. в разделе Просмотр решения на карте.

Пример 1

В планировании 1666 локаций с типом check-in. Для них на листе locations заданы:

  • сервисное время service_duration_s — 30 минут или 1 час;

  • количество посещений visit_count — от 1 до 3.

В планировании участвуют 60 сотрудников, для них на листе working_days заданы:

  • рабочие дни смены working_days — понедельник–пятница;

  • максимальная продолжительность смены max_duration_s — 8 часов;

  • жесткое ограничение на максимальную продолжительность смены hard_max_duration_s — 9 часов.

В результате:

  • алгоритм запланировал все локации для 43 сотрудников;

  • утилизация общего рабочего времени сотрудников — 90%;

  • средняя продолжительность маршрута — 7 часов 10 минут.

Пример ExcelЗапрос API (JSON)Ответ API

Пример 2

То же, что в примере 1, но в планировании участвуют 42 сотрудника. Указана стоимость за факт выхода на работу для каждого сотрудника cost.fixed = 0. Это нужно, чтобы алгоритм использовал всех сотрудников и не пытался оптимизировать их количество.

Максимальное время передвижения между точками max_edge_duration_s сокращено до 900 для большей кучности.

Чтобы алгоритм сделал посещения более кучными с точки зрения приближенности точек между собой, на листе options заданы:

В результате:

  • алгоритм запланировал все локации для 42 сотрудников;

  • утилизация общего рабочего времени сотрудников выросла до 92%;

  • средняя продолжительность маршрута выросла до 7 часов 22 минут;

  • кучность маршрутов сохранена.

Пример ExcelЗапрос API (JSON)Ответ API

Совет

Чтобы сделать решение еще более оптимальным, ограничьте количество сотрудников до 41 или 40. При этом у сотрудников могут появиться переработки.

Дозагрузка сотрудников дополнительными посещениями

В каких ситуациях использовать

Используйте, чтобы увеличить количество посещений без добавления новых сотрудников. Сценарий используется после того, как были сформированы кучные маршруты, см. пример 2 в разделе Подбор количества сотрудников.

Как реализовать сценарий

Используйте те же параметры, что и в примере 2 из раздела Подбор количества сотрудников, кроме листа options:

  • daily_proximity_factor = 0;

  • global_proximity_factor = 0;

  • post_optimization = false.

После этого:

  1. Чтобы увеличить количество посещений, добавьте дополнительное посещение для тех локаций, у которых visit_count равен 1 и 3.

  2. Закрепите сотрудников за локациями, чтобы каждый сотрудник посещал те же локации, что и в примере 2 раздела Подбор количества сотрудников — это сохранит кучность маршрутов. Для этого:

    1. Скачайте готовое решение, которое получилось в результате предыдущего планирования, или экспортируйте свое.

    2. Откройте лист visit order в экспортированном решении. Для следующего шага вам понадобятся значения полей employee и location_id.

    3. Перенесите данные в новый Excel-файл планирования:

      1. На листе locations проверьте, что значения поля id совпадают со значениями location_id из предыдущего планирования.

      2. Там же добавьте поле required_tags и укажите в нем значения поля employee из предыдущего планирования для каждой локации.

      3. На листе employees заполните поле tags для каждого сотрудника значениями поля employee из предыдущего планирования.

  3. Разделите посещения на базовые и дополнительные с помощью поля title на листе visits, где:

    • first, second, third — базовые;

    • dop — дополнительные.

  4. Задайте штраф за пропуск посещений в поле drop на листе visits:

    • 10 000 за пропуск базовых (first, second, third);

    • 500 за пропуск дополнительных (dop).

О том, как открыть полученное решение на карте, см. в разделе Просмотр решения на карте.

Пример

В планировании участвуют 42 сотрудника и 1666 локаций с типом check-in.

В результате планирования:

  • утилизация общего рабочего времени сотрудников — 97%;

  • количество посещений увеличилось;

  • кучность маршрутов сохранена;

  • все базовые посещения (first, second, third) выполнены;

  • не распределены 590 дополнительных посещений (dop).

Пример ExcelЗапрос API (JSON)Ответ API

Работа с приоритетными точками

В каких ситуациях использовать

Используйте, если нужно планировать посещения меньшим количеством сотрудников и посетить в первую очередь приоритетные локации.

Как реализовать сценарий

Используйте те же параметры, что и при планировании Дозагрузка сотрудников дополнительными посещениями. После этого:

  1. На листе locations в поле comments разметьте локации по приоритетам:

    • 1 priority;

    • 2 priority;

    • 3 priority.

  2. На листе locations в поле penalty.visit_count.per_visit установите штрафы за пропуск посещений:

    • для 1 priority — 100 000;

    • для 2 priority — 10 000;

    • для 3 priority — 1000.

  3. Уменьшите количество сотрудников до нужного количества.

  4. Чтобы маршруты были более кучными, на листе employees заполните поля:

    • max_edge_duration_s = 600;

    • between_days_max_edge_duration_s = 1200.

  5. Чтобы алгоритм сделал посещения более кучными с точки зрения приближенности точек между собой, на листе options задайте следующие параметры:

Совет

Поля daily_proximity_factor и global_proximity_factor рекомендуем заполнять значениями до 0.5, чтобы маршруты получались более оптимальными.

О том, как открыть полученное решение на карте, см. в разделе Просмотр решения на карте.

Пример

В планировании участвуют 30 сотрудников и 1666 локаций с типом check-in.

В результате планирования:

  • посещены все локации с типами 1 priority и 2 priority;

  • не распределены 662 локаций, но только с типом 3 priority;

  • утилизация общего рабочего времени сотрудников — 98%;

  • средняя длина маршрута — 16.6 км.

Пример ExcelЗапрос API (JSON)Ответ API

Написать в службу поддержки