AnyLogic
Развернуть
Размер шрифта

Исключения в расписании

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

Каждое расписание может иметь неограниченное количество исключений.

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

Исключения задаются в секции свойств Исключения расписания. В общем случае вам будет нужно задать как дату и время начала исключительного интервала, так и дату и время его окончания. Но поскольку часто исключения соответствуют ровно одному дню, то для этого случая AnyLogic предоставляет специальный, упрощенный, режим задания исключений — Весь день, в котором вы задаете дни-исключения просто указанием нужного вам дня, без задания начала и конца исключительного интервала.

Национальные праздники

Самый частый пример исключений, длящихся целый день — национальные праздники. Если ваше расписание задает рабочее расписание для каких-то ресурсов, то объявив праздничные дни исключениями и задав для них нулевое значение или выбрав статус доступности нет, вы тем самым сделаете так, что в дополнение к обычным выходным дням, эти дни также будут нерабочими.

Обратите внимание, что во всех строках таблицы установлен флажок Ежегодно, поскольку эти праздники празднуются из года в год, и таким образом вы задаете их не для конкретно указанного 2013 года, а для всех годов.

Переносы рабочих дней

Другой часто встречающийся случай — вызванные праздничными днями переносы рабочих дней на выходные. Для этого вы объявляете исключениями определенные соседствующие с праздничными днями выходные и задаете для них ненулевое Значение или устанавливаете статус доступности да.

Но если праздники можно легко задать в режиме Весь день, просто выбирая нужные вам дни, то задать так же просто переносы рабочих дней на выходные не получится. Дело в том, что вам надо будет не просто перечислить эти дни, но и задать рабочее время для каждого такого сверхурочного рабочего дня, и поэтому опция Весь день вам не подойдет — вам нужно будет указывать Начало и Конец для каждого исключительного интервала.

На приведенном ниже примере заданы переносы, связанные с тем, что праздники 23 февраля и 4 ноября попали на середину недели. Поэтому в 2010 году выходной день переносится с субботы, 20-го февраля, на понедельник, 22-е. Аналогично выходной день переносится с воскресенья, 7 ноября, на пятницу, 5-е.

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

Обратите внимание, что флажок Ежегодно в этом случае снят, поскольку картина переносов рабочих дней меняется каждый год.

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

С помощью исключений можно решать и другие задачи, например, задавать увеличение интенсивности прихода покупателей в те же праздники или увеличение штата сотрудников, который должен работать в эти дни в авральном режиме.

Чтобы задать исключения в расписании

  1. Перейдите на страницу свойств расписания Исключения.

  2. Если вы хотите задать исключения, каждое из которых длится целый день, установите флажок Весь день. Если какие-то исключительные интервалы имеют другую длительность, оставьте его сброшенным.
  3. Задайте нужное вам количество исключительных интервалов в приведенной на этой странице свойств таблице. Каждый интервал задается в отдельной строке. Чтобы добавить новую строку, щелкните по кнопке справа от таблицы.
  4. Добавив строку, задайте длительность исключительного интервала. Если выбрана опция Весь день, и все исключения в данном расписании имеют длительность строго равную одному дню, то вам будет нужно просто выбрать с помощью элемента выбора даты нужный вам день в ячейке День этой строки таблицы:

  5. Если исключения имеют другую длительность (и опция Весь день сброшена), то нужно будет задать с помощью элемента выбора даты дату и время начала исключительного интервала и дату и время его окончания в ячейках Начало и Конец этой строки:

  6. Если вы хотите, чтобы данный интервал считался исключением не только для указанного вами года, а ежегодно, то оставьте установленным флажок в поле Ежегодно. Если же это исключение должно учитываться только в одном определенном году — то снимите его.
  7. В ячейке Значение задайте значение, соответствующее этому исключительному интервалу (тип значения здесь будет тот же, что вы выбрали в качестве Типа значения для данного расписания на странице его основных свойств).
  8. Добавьте другие нужные вам исключительные интервалы, повторив пункты 4-7.

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

Как мы можем улучшить эту статью?