Примеры настроек по бизнес-кейсам
Решения основаны на кейсах из воркшопа, в котором подробно разбираются:
-
логика работы алгоритма календарного планирования;
-
особенности настройки параметров;
-
интерфейс рабочего места логиста;
-
работа с отчетами.
Все примеры актуальны для сотрудников, которые передвигаются на автомобилях.
Подбор количества сотрудников
В каких ситуациях использовать
Используйте, чтобы подобрать оптимальное количество сотрудников для посещения всех локаций.
Как реализовать сценарий
На листе employees:
-
Установите фиксированную стоимость выхода на работу для каждого сотрудника
cost.fixed= 30 000. Алгоритм назначит дополнительную стоимость за каждого сотрудника и найдет минимально необходимое количество. -
Добавьте стоимость дня простоя для каждого сотрудника
cost.empty_run= 10 000. Так алгоритм использует все рабочие дни каждого сотрудника. -
Чтобы маршруты были более кучными, заполните следующие поля:
-
максимальное время передвижения между точками
max_edge_duration_s= 1200; -
максимальное время передвижения между последней точкой дня и первой точкой следующего дня
between_days_max_edge_duration_s= 1800.
-
Значения параметров были подобраны для высокой плотности расположения локаций.
Если количество запланированных локаций существенно превышает количество локаций, которые смогут посетить сотрудники, уменьшите значения 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 заданы:
-
фактор близости местоположения точек
daily_proximity_factor= 0.3; -
глобальный фактор кучности маршрутов по расстоянию
global_proximity_factor= 0.2; -
дооптимизация последовательности
post_optimization=true, чтобы улучшить решение.
В результате:
-
алгоритм запланировал все локации для 42 сотрудников;
-
утилизация общего рабочего времени сотрудников выросла до 92%;
-
средняя продолжительность маршрута выросла до 7 часов 22 минут;
-
кучность маршрутов сохранена.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API
Совет
Чтобы сделать решение еще более оптимальным, ограничьте количество сотрудников до 41 или 40. При этом у сотрудников могут появиться переработки.
Дозагрузка сотрудников дополнительными посещениями
В каких ситуациях использовать
Используйте, чтобы увеличить количество посещений без добавления новых сотрудников. Сценарий используется после того, как были сформированы кучные маршруты, см. пример 2 в разделе Подбор количества сотрудников.
Как реализовать сценарий
Используйте те же параметры, что и в примере 2 из раздела Подбор количества сотрудников, кроме листа options:
-
daily_proximity_factor= 0; -
global_proximity_factor= 0; -
post_optimization=false.
После этого:
-
Чтобы увеличить количество посещений, добавьте дополнительное посещение для тех локаций, у которых
visit_countравен 1 и 3. -
Закрепите сотрудников за локациями, чтобы каждый сотрудник посещал те же локации, что и в примере 2 раздела Подбор количества сотрудников — это сохранит кучность маршрутов. Для этого:
-
Скачайте готовое решение, которое получилось в результате предыдущего планирования, или экспортируйте свое.
-
Откройте лист
visit orderв экспортированном решении. Для следующего шага вам понадобятся значения полейemployeeиlocation_id. -
Перенесите данные в новый Excel-файл планирования:
-
На листе
locationsпроверьте, что значения поляidсовпадают со значениямиlocation_idиз предыдущего планирования. -
Там же добавьте поле
required_tagsи укажите в нем значения поляemployeeиз предыдущего планирования для каждой локации. -
На листе
employeesзаполните полеtagsдля каждого сотрудника значениями поляemployeeиз предыдущего планирования.
-
-
-
Разделите посещения на базовые и дополнительные с помощью поля
titleна листеvisits, где:-
first,second,third— базовые; -
dop— дополнительные.
-
-
Задайте штраф за пропуск посещений в поле
dropна листеvisits:-
10 000 за пропуск базовых (
first,second,third); -
500 за пропуск дополнительных (
dop).
-
О том, как открыть полученное решение на карте, см. в разделе Просмотр решения на карте.
Пример
В планировании участвуют 42 сотрудника и 1666 локаций с типом check-in.
В результате планирования:
-
утилизация общего рабочего времени сотрудников — 97%;
-
количество посещений увеличилось;
-
кучность маршрутов сохранена;
-
все базовые посещения (
first,second,third) выполнены; -
не распределены 590 дополнительных посещений (
dop).
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API
Работа с приоритетными точками
В каких ситуациях использовать
Используйте, если нужно планировать посещения меньшим количеством сотрудников и посетить в первую очередь приоритетные локации.
Как реализовать сценарий
Используйте те же параметры, что и при планировании Дозагрузка сотрудников дополнительными посещениями. После этого:
-
На листе locations в поле
commentsразметьте локации по приоритетам:-
1 priority; -
2 priority; -
3 priority.
-
-
На листе locations в поле
penalty.visit_count.per_visitустановите штрафы за пропуск посещений:-
для
1 priority— 100 000; -
для
2 priority— 10 000; -
для
3 priority— 1000.
-
-
Уменьшите количество сотрудников до нужного количества.
-
Чтобы маршруты были более кучными, на листе employees заполните поля:
-
max_edge_duration_s= 600; -
between_days_max_edge_duration_s= 1200.
-
-
Чтобы алгоритм сделал посещения более кучными с точки зрения приближенности точек между собой, на листе options задайте следующие параметры:
-
фактор близости местоположения точек
daily_proximity_factor= 0.4; -
глобальный фактор кучности маршрутов по расстоянию
global_proximity_factor= 0.3; -
дооптимизация последовательности
post_optimization=true.
-
Совет
Поля 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