График работы «сутки-трое»

Обсуждение примера на официальном Форуме

График работы 'сутки-трое' На практике график работы ресурсов на задачах может быть любым. Начиная с классической пятидневки и заканчивая вахтами. Реализация графика работы ресурсов осуществляется при помощи Календарей и Календарных исключений.





 Задача
Смоделировать на операции работу четырех Исполнителей по вахтовому методу <сутки-трое>. Под Исполнителем в данном случае подразумевается любой ресурс — от сменного дежурного до комплексной бригады.

 Реализация
  Самое важное при моделировании сложных пересекающихся графиков работы разных групп ресурсов на одной задаче помнить о том, что эти группы должны быть в разных Командах. У смен, вахт и прочих групп ресурсов рабочее время может пересекаться частично или вообще не пересекаться (пересменки). Чтобы они могли независимо друг от друга выходить на исполнение задачи их размещают в разных Командах. В этом случае алгоритм программы не будет искать общее у всех ресурсов из разных Команд рабочее время, чтобы производить работы. Каждая Команда работает независимо от других.

Создаем в Гантте или Таблице операций Операцию длительностью например 20 дней.

Гантт работ

Создаем в таблице Ресурсы записи наших четырех Исполнителей. Календари в свойствах ресурсов пока не трогаем, ими мы займемся позже.

Таблица Ресурсы

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

Назначения

Теперь настроим для нашей Операции и Исполнителей рабочее время. Начинаем с таблицы Недели. Поскольку мы в данном примере моделируем рабочее время без экзотических перерывов (Новогодние каникулы, Предпраздничные укороченные дни, Технологические окна и т.п.), то считаем, что наши Исполнители работают все дни года. Вахтовый метод подразумевает работу все 24 часа вахты. Создаем в таблице Недели запись для круглосуточной недели Неделя 7х24. В данном примере отсутствуют перерывы на обед, пересменки и т.д. Вы можете их заложить самостоятельно.

Неделя 7х24

На базе этой Недели будут формироваться Календари Исполнителей. Помимо данной Недели 7х24 нам понадобится Пустая неделя. Это Неделя, в которой отсутствует рабочее время. На основе этой Пустой недели мы будем моделировать перерывы в работе.

Пустая неделя

Теперь перейдем с таблицу Календарные исключения и создадим там дни, по которым наши Исполнители не будут выходить на работу — дни отдыха. Создаем Первый день отдыха. При моделировании подобных циклических исключений необходимо создать их так, чтобы они заведомо происходили во время всего проекта. Наша Операция планируется к началу 15 июля 2014 года, поэтому создаем Первый день отдыха заведомо раньше, например в январе 2014 года. После этого он начнет повторяться постоянно.

Календарное исключение

Указываем ему начало 1 января в полночь и окончание 2 января в полночь, т.е. ровно сутки. В настройке Периодичность повторения указываем, что исключение повторяется каждый 4 и в выпадающем списке выбираем <День>. Аналогично настраиваем Второй, Третий и Четвертый дни отдыха. У них выставляются даты 2-3, 3-4 и 4-5 января.

Таблица Календарные исключения

Теперь на основе имеющихся Недель и Календарных исключений необходимо собрать Календари для Исполнителей. Переходим в таблицу Календари.

Таблица Календари

На основе нашей круглосуточной недели создаем чистый Календарь круглосуточный. Это просто Календарь исполнения нашей Операции. Работы на ней можно производить в любое время.

Календарь круглосуточный

Календари Исполнителей тоже создаются на основе Недели 7х24, поскольку каждый из них выходит на Операцию в определенный день по графику и работает 24 часа. Далее в каждый из Календарей добавляем три дня отдыха (Календарных исключения) по следующему принципу:

  • Первый Исполнитель работает 1, а отдыхает 2, 3 и 4 день.
  • Второй Исполнитель работает 2, а отдыхает 1, 3 и 4 день.
  • Третий Исполнитель работает 3, а отдыхает 1, 2 и 4 день.
  • Четвертый Исполнитель работает 4, а отдыхает 1, 2 и 3 день.
Добавление исключений

Календари готовы. Теперь их необходимо назначить. В таблице Ресурсов в поле Календарь указываем каждому Исполнителю его личный Календарь. В Гантте работ или таблице Операции назначаем нашей Операции Календарь 7х24.

Назначение календарей ресурсам

Назначение календаря операции

Производим расчет. Исполнители выходят на Операцию раз в четыре дня друг за другом.

Гантт работ. Работа Исполнителей сутки-трое

Мы реализовали график работы <сутки-трое> путем периодического отключения рабочих дней Исполнителям при помощи Календарных исключений.

Внимание! При моделировании Календарных исключений не используйте последний день февраля или последние дни месяцев, в которых 31 день. Это нестандартные дни, имеющие собственный график повторяемости, что может внести искажения в желаемый результат.

Примеры
Модель созданная в данном примере.
Пример модели в Spider Project
Модель с более сложным графиком. Добавлены вахты.
Пример с вахтами