Работа оператора в режиме Логистика >
Многодневные рейсы |
![]() ![]() ![]() |
Начиная с версии 2.7, появилась возможность рассчитывать временной график обслуживания клиентов в многодневных рейсах, созданнных с помощью LogistinWeb.
В целом, процесс формирования многодневных рейсов осуществляется в два этапа: формирование рейсов обычным, как для однодневных, образом (автоматически и/или вручную), и далее, пересчёт рейсов инструментом «Пересчитать рейс» в режиме «Многодневный маршрут». Для запуска пересчета рейса как многодневного, начиная с версии 2.7, в диалоге "Пересчитать рейс" добавлен чек-бокс "Многодневный маршрут".
Диалог «Пересчитать рейс»
Первый этап даёт набор маршрутов, невозможных к исполнению, т.к. при их формировании не учитывается отдых водителей. Но на втором этапе будут вставлены временны́е и географические метки отдыха водителей, откорректированы временны́е графики и продолжительности маршрутов.
Для успешной реализации этого алгоритма необходимо, чтобы заказы и машины, участвующие в многодневных маршрутах, были соответственно подготовлены, а именно, временны́е окна заказов содержали в себе диапазон дат возможного приезда машины (приблизительно, с запа-сом относительно начального дня планирования), и также, максимальный пробег и максималь-ное время работы машин были настроены на существенную продолжительность. Например, если начальный день планирования – 31.08.2022 и рейс может продлиться 5 дней, то для задач логично установить диапазон дат от 31.08 по 4.09.2022. При этом временно́е окно остаётся неизменным:
Настройка временного окна
Перед началом расчета многодневгого рейса пользователю необходимо настроить его параметры. См. диалог "Суммарные настройки" вкладка "Параметры логистики".
Если предположить что пробег машины в многодневном рейсе составит примерно 10000км., то настройки "Опции машины" могут выглядить так:
Настройки "Параметры логистики"
Особенности при расчёте:
- Рейс «прокладывается» исключительно по улицам, с учётом временных окон, незави-симо от того, что выбрано в диалоге «Пересчитать рейс»;
- Заказы в рейсе не переупорядочиваются, считается, что порядок обслуживания уже установлен на первом этапе;
- Метки отдыха водителя визуально вставляются как в пунктах обслуживания заказов, хотя вполне возможно, что водитель выберет иное место отдыха, так и в некоторых точ-ках непрерывного продолжительного движения. Ещё раз уточню, что водителю на ме-сте виднее, где удобнее отдохнуть – программа не в состоянии точно определить, где можно устроить ночной отдых и где нельзя.
Для наглядности, рассмотрим пример расчета такого рейса и объясним, как должны быть истолкованы результаты.
Так может выглядеть результат первого этапа формирования многодневного рейса:
Результат первого этапа расчета
Видно, что машина не попадает в некоторые временны́е окна и нет меток отдыха водителя. Теперь пересчитаем этот маршрут в режиме многодневного рейса.:
Результат второго этапа расчета
Теперь с временными окнами всё в порядке – в каждый пункт машина приезжает вовремя и вставлены метки отдыха водителя.
Обратите внимание на информацию в столбце «Плановое время», содержатся признаки перехода на другие сутки, например, запись 15:47 – 1.04:29 означает – с 15:47 текущих суток до 04:29 следующих. Всё это, но в полном формате, можно увидеть в окне диалога «Редактировать задачу» в подразделе «Плановое и фактическое время»:
Окно "Редактировать задачу"
Рассмотрим значение параметров, которые управляют построением многодневного расписа-ния. Их можно увидеть и отредактировать в разделе «Опции логистики/Многодневные марш-руты (Multi-day routs)» в «Настройках» приложения (кнопка )
Во время построения расписания обслуживания программа пытается вставить отдых водителя в разные места (то есть до или после обслуживания разных заказов, в места продолжительной непрерывной езды), оценивает каждое такое расписание с точки зрения его общей продолжи-тельности и нарушения норм работы и отдыха, а затем выбирает среди всех этих расписаний то, которое минимизирует оценочную функцию. Оценочная функция имеет следующий вид:
Cost:= p1*Makespan + p4*Valid +
+ p2*< продолжительность движения в неурочное время > +
+ p3*< продолжительность отдыха в неурочное время >
Здесь p1, p2, p3 и p4 – параметры, Makespan – продолжительность расписания и Valid оценка правильности (корректности) расписания, то есть оценка соблюдения в нем норм работы и от-дыха. Чем больше Valid, тем больше отклонений от норм работы и отдыха. Если никаких от-клонений нет, то Valid=0. Нормы работы и отдыха задаются параметрами (см. ниже). Показа-тель правильности является суммой следующих слагаемых:
pValid1*(workWithoutRest –DailyWorkTime) – штраф за превышение оптимальной продолжи-тельности рабочего дня
pValid2*(workWithoutRest –DailyWorkTimeMax) – штраф за превышение максимально допусти-мой продолжительности рабочего дня
Параметры, управляющие расчётом многодневных маршрутов:
Параметры многодневных рейсов
Параметры многодневного рейса:
№ п/п |
Название |
Примерное значение |
Смысл |
Символическое обозначение |
---|---|---|---|---|
1 |
Шаг сдвига времени многодневного расчета (мин.) / Calculation time shift step (min.) |
30 |
При подборе времени начала рейса рассматривает разные моменты начала с этим интервалом, начиная от самого раннего возможного времени выезда машины до самого позднего |
|
2 |
Оптимальный непрерывный отдых / Optimal continuous rest (hour) |
12 |
Рекомендуемая продолжительность ежедневного отдыха в часах. Уменьшение возможно, но штрафуется |
|
3 |
Минимальный непрерывный отдых / Minimum continuous rest (hour) |
8 |
Минимальная продолжительность ежедневного отдыха в часах. Уменьшение возможно, но штрафуется очень сильно |
|
4 |
Рабочий день / Working day (hour) |
10 |
Номинальная продолжительность рабочего дня в часах. Превышение возможно, но штрафуется |
|
5 |
Предельный рабочий день / Maximum working day (hour) |
12 |
Максимальная продолжительность рабочего дня в часах. Превышение возможно, но штрафуется очень сильно |
|
6 |
Желательное время начала работы / Desired working time |
08:00 – 19:00 |
Обыкновенно желательно работать днем |
|
7 |
Важность езды в урочное время / The importance of driving at the appointed time |
0.5 |
См. формулу выше |
p2 |
8 |
Важность отдыха в урочное время / The importance of rest at the appointed time |
1 |
См. формулу выше |
p3 |
9 |
Важность соблюдения номинальной работы без отдыха / The importance of meeting the work limit |
1 |
См. формулу выше |
pValid1 |
10 |
Важность соблюдения лимита работы без отдыха / The importance of working without rest |
5 |
См. формулу выше |
pValid2 |
11 |
Учет выходных дней / Weekend accounting |
2 |
Если 0, то выходных дней нет. Если 1, то считается, что у приемных пунктов есть один выходной в неделю – воскресенье, Если 2, то два выходных в неделю – суббота и воскресенье.Таким образом, если, например, установлено, что приемные пункты имеют 2 выходных – субботу и воскресенье – и машина подъехала к пункту вечером в пятницу после его закрытия, то она должна ожидать разгрузки не до утра следующего дня, но до утра понедельника. |
|
12 |
Коэффициент показателя корректности / Correctness coefficient |
1 |
См. формулу выше |
p4 |
13 |
Важность продолжительности рейса / The importance of the duration of the rout |
0.1 |
См. формулу выше |
p1 |
14 |
Суточная норма пробега (км/сутки) / Daily mileage rate (km.) |
500 |
На преодоление каждого участка маршрута между двумя пунктами доставки длиной, равной указанному количеству километров отводятся сутки. Время, необходимое для преодоления остатка пути (остаток от деления общей длины на 500), рассчитывается исходя из средней скорости. Например, если длина пути между двумя пунктами равна 1200 км, то на преодоление первых 1000 км потребуется двое суток и на оставшиеся 200 км потребуется еще около 4 часов (в зависимости от средней скорости, вычисленной по графу дорог на всем участке в 1200 км). Итого, на преодоление все 1200 км потребуется 48 + 4 = 52 часа. |
|