Режим Дни/Недели обычно используется для задания расписаний, которые задаются как календарные времена и даты, но имеют длительность цикла, отличную от недельной - определенное количество дней или недель.
Например, в таком режиме удобно задавать то, как интенсивность создания агентов изменяется в течение дня - в данном случае длительность расписания равна одному дню.
Мы же, как и в примере недельного расписания, опять зададим расписание работы служащих - но на этот раз оно не будет иметь недельную цикличность. Давайте зададим расписание работы смены "два рабочих дня через два выходных" (длительность такого расписания составляет четыре дня). Начинают работу служащие пусть в десять утра, заканчивают в семь, для простоты задания предположим, что обеденного перерыва нет.
Чтобы задать расписание смены "два через два"
- Перетащите элемент Расписание из палитры Агент на диаграмму типа агентов.
- Перейдите в панель Свойства.
- Задайте имя расписания в поле Имя. По этому имени вы будете ссылаться на это расписание в свойствах объекта(ов) или программно из кода вашей модели.
- Перейдите в секцию Данные и выберите тип значения, которое будут задаваться этим расписанием: да/нет, целое или вещественное. Пусть в нашем случае на смену заступают по пятеро служащих - выберите значение целое.
- Поскольку мы хотим задавать значения не для каких-то отдельно взятых моментов, а для интервалов времени, оставьте в секции Расписание задает выбранной опцию Интервалы (Начало, Конец).
- Выберите подходящий для вашей задачи режим задания расписания, основываясь на длительности этого расписания - Неделя, Дни/Недели или Другая (нет привязки к календарю). Поскольку длительность цикла нашего расписания составляет четыре дня, то выберите опцию Дни/Недели, а ниже, в свойстве Повторять каждые..., выберите 4 дня. Тем самым мы задаем цикличность нашего расписания - заданная нами последовательность интервалов будет повторяться через 4 дня.
- В поле Значение по умолчанию вы можете задать значение, которое будет использоваться расписанием для тех интервалов времени, которые не будут покрыты этим расписанием - в нашем случае оставим здесь значение 0.
- Задайте интервалы в расположенной ниже таблице. Чтобы добавить новый интервал, щелкните по кнопке . В таблицу будет добавлена новая строка.
- Задайте для этого интервала его Начало и Конец, как указано на рисунке ниже, а также соответствующее данному интервалу Значение.
- Аналогично задайте еще один интервал. Обратите внимание, что в ячейках Начало и Конец теперь указан День 2 - здесь мы задаем рабочее время для второго рабочего дня смены.
При необходимости вы можете удалять заданные интервалы и перемещать их по таблице вверх и вниз (при этом вы должны будете сами следить за тем, чтобы заданное в таблице расписание было целостным). Это можно сделать, предварительно выделив нужную вам строку в таблице и затем воспользовавшись расположенными справа от таблицы кнопками , и соответственно.
Закончив задание расписания, вы можете использовать его в вашей модели, ссылаясь на него в нужных вам свойствах объектов и/или работая с ним программно с помощью соответствующих методов.
При желании вы можете перейти на страницу свойств Предв. просмотр и посмотреть, как будет выглядеть заданное вами расписание в общепринятом для электронных органайзеров виде.
Также вы можете можно задать для расписания исключения - особые интервалы времени, в которые задаваемая расписанием величина должна иметь значения, отличные от предписываемых расписанием (обычно с помощью исключений задаются праздники и связанные с ними переносы рабочих дней).
Обычно если есть одна смена рабочих, работающая по графику "N дней через N", то есть и другая смена, работающая в таком же графике, но заступающая на работу на N дней позже.
Чтобы задать две дополняющие друг друга смены
- Пусть созданное вами на данный момент расписание задает расписание работы первой смены, которая заступает на работу с первого моделируемого дня.
- Задайте расписание для второй смены. Создайте копию ранее созданного расписания, перетащив мышью существующее расписание (с одновременно нажатыми левой кнопкой мыши и клавишей Ctrl (macOS: Cmd)).
- Укажите, что это расписание должно применяться не с первого моделируемого дня, а с третьего. Для этого нужно выбрать в свойстве Перейти к этого расписания (секция Предв. просмотр) день, отстоящий на два дня от дня, выбранного в аналогичном свойстве расписания первой смены.
Если вы задаете расписание работы (доступности) ресурсов, то вы должны соответствующим образом изменить свойства блока ResourcePool, задающего эти ресурсы.
Для этого нужно открыть свойства этого объекта и выбрать из выпадающего списка Количество задано опцию Расписанием. Введите имя вашего расписания в расположенном ниже поле Расписание (вы можете пользоваться при этом помощью Мастера подстановки кода). Таким образом, объекту сообщается о том, что теперь ваше расписание будет определять то, как количество доступных ресурсов меняется во времени.
Обычно эта опция (Расписание) используется тогда, когда количество доступных ресурсов меняется с течением времени и в отличие от приведенного выше примера, значений больше, чем 2 (здесь же - только 0 и 5).Если же количество доступных ресурсов всегда одинаково, и просто меняется их статус (все они либо работают, либо нет), то вы можете просто один раз явно задать их количество в свойстве Количество ресурсов блока ResourcePool и использовать у расписания в качестве типа значения тип да/нет. В выпадающем списке Количество задано тогда будет нужно выбрать опцию Расписанием доступности, а в расположенном ниже поле Расписание доступности ввести имя вашего расписания.
Обратите внимание, что если вы выберете в опции Повторять каждые: недели, то справа появится еще одна опция - Неделя начинается с. Эта опция имеет смысл только тогда, когда длительность расписания составляет несколько недель.
Дело в том, что в одних странах (например, России) первым днем недели считается понедельник, а в некоторых других (например, США) - воскресенье. Поэтому если вы зададите расписание с длительностью в несколько недель с учетом того, что первый день недели - понедельник, и потом перешлете модель в страну, где первым днем считается воскресенье, то расписание будет интерпретироваться не так, как это нужно.
Поэтому если ожидается использование вашей модели в других странах, рекомендуется явно задавать, какой день недели является первым днем для задаваемого расписания. И делать это нужно до задания интервалов, потому что при смене значения в опции Неделя начинается с все данные в таблице интервалов удаляются.
-
Как мы можем улучшить эту статью?
-