Шаг 3. Добавление клерков

Теперь мы усложним нашу модель, добавив в нее служащих – банковских кассиров. Мы могли бы промоделировать кассиров, как и банкомат, с помощью объекта Delay. Но куда более удобным представляется моделирование кассиров с помощью ресурсов. Ресурс – это специальный объект Библиотеки моделирования процессов, который может потребоваться агенту для выполнения какой-то задачи. В каждый момент времени ресурс может быть занят только одним агентом. В нашем примере посетителям банковского отделения (агентам) необходимо получить помощь у банковских служащих (ресурсов).

Изменения в диаграмме процесса

Добавьте обслуживание

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите на диаграмму Main блок Service.
    Объект Service захватывает для агента заданное количество ресурсов, задерживает агента, а затем освобождает захваченные им ресурсы.

  1. Перейдите в панель Свойства блока service.
  2. Измените параметры объекта следующим образом:

Смоделируйте выбор клиентов

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите на диаграмму процесса Main блок SelectOutput в свободное место между блоками source и queue. Возможно, вам понадобится переместить несколько блоков, чтобы увеличить длину соединителя между ними. Вы можете выделить несколько блоков диаграммы процесса и переместить их все вместе или перемещать блоки по одному.
    SelectOutput является блоком принятия решения. В зависимости от заданного вами условия, агент, поступивший в объект, будет поступать на один из двух выходных портов объекта.

  1. Выделите блок selectOutput в диаграмме процесса. В панели Свойства этого блока выберите опцию При выполнении условия в параметре Выход true выбирается. Убедитесь, что в поле Условие стоит выражение randomTrue( 0.5 ).
    В этом случае к кассирам и банкомату будет приходить примерно равное количество клиентов.
  2. Соедините блоки selectOutput и service с другими блоками так, как показано на рисунке ниже:

Добавьте ресурсы для сервиса

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите блок ResourcePool на диаграмму агента Main. Объект ResourcePool задает ресурсы определенного типа (в нашей модели это будут банковские клерки). 
  2. Поместите его, например, под блоком service и перейдите в панель Свойства
  3. Назовите объект tellers.

  1. Задайте число кассиров в поле Кол-во ресурсов: 4.

  1. Блок ResourcePool указывается в объектах, использующих ресурсы, в нашем случае это блок Service. Поэтому нам необходимо изменить свойства блока service диаграммы процесса.
  2. Выделите блок service и перейдите в панель Свойства. Выберите опцию Ресурсы одного типа в параметре Захватить ресурсы. Затем укажите блок tellers, который мы добавили на диаграмму, в параметре Блок ResourcePoolВы можете выбрать его из выпадающего списка подходящих объектов, щелкнув стрелку "вниз", или выбрать фигуру из графического редактора, предварительно щелкнув кнопку справа от параметра (в таком случае все неподходящие объекты в графическом редакторе будут обесцвечены).

  1. Поскольку наша модель изменилась, мы должны изменить и ее анимацию.

Добавление фигур разметки пространства

Теперь давайте нарисуем область для ожидания и место обслуживания клиентов кассирами.

Задайте фигуру разметки для электронной очереди

  1. В этот раз мы будем рисовать место ожидания клиентами, используя прямоугольный узелВначале откройте палитру Разметка пространства панели Палитра. 
  2. Двойным щелчком выделите элемент Прямоугольный узел  палитры Разметка пространства, чтобы перейти в режим рисования.
  3. Щелкните мышью в графическом редакторе, чтобы задать вершину верхнего левого угла, затем тащите прямоугольник, не отпуская кнопки мыши. Отпустите, когда прямоугольный узел достигнет нужной формы. Вы можете редактировать фигуру и после того, как ее рисование завершено
  4. Назовите эту область waitingArea.
  5. Переключите элемент управления Видимость в положение нет. Таким образом разметка пространства не будет видна на анимации во время выполнения модели.

  1. Выделите щелчком блок service block в диаграмме процесса и перейдите в его свойства.
  2. Выберите только что нарисованный нами узел waitingArea в параметре Место агентов (queue)

Задайте фигуру разметки места обслуживания клиентов

  1. Клиентам банка требуется место, на котором они могли бы находиться во время обслуживания у кассиров. Мы нарисуем такую область, используя прямоугольный узел.
  2. Вначале откройте палитру Разметка пространства панели Палитра. 
  3. Двойным щелчком выделите элемент Прямоугольный узел  палитры Разметка пространства, чтобы перейти в режим рисования.
  4. Щелкните мышью в графическом редакторе, чтобы задать вершину верхнего левого угла, затем тащите прямоугольник, не отпуская кнопки мыши. Отпустите, когда прямоугольный узел имеет нужную форму. Вы можете редактировать фигуру и после того, как ее рисование завершено.
  5. Назовите эту область customerPlaces.
  6. Переключите элемент управления Видимость в положение нет.

  1. Мы будем использовать аттракторы, чтобы задать местоположение тех клиентов, которые будут обслуживаться у кассиров. Выделите узел customerPlaces в графическом редакторе и щелкните кнопку Аттракторы... в свойствах узла. В открывшемся окне Аттракторы укажите число аттракторов 4 в режиме создания Количество аттракторов, затем щелкните OK. Вы увидите, что четыре аттрактора появились в узле customerPlaces на равном расстоянии друг от друга.

  1. Теперь нам необходимо сослаться на эту фигуру в диаграмме процесса. Щелкните блок service и перейдите в панель Свойства этого блока.
  2. Выберите нарисованный нами узел customerPlaces в параметре Место агентов (delay)

Задайте фигуру разметки для кассиров

  1. Кассирам банка также требуется место, где они могли бы находиться во время обслуживания клиентов. Мы нарисуем такую область, используя прямоугольный узел.
  2. Вначале откройте палитру Разметка пространства панели Палитра. 
  3. Двойным щелчком выделите элемент Прямоугольный узел  палитры Разметка пространства, чтобы перейти в режим рисования.
  4. Щелкните мышью в графическом редакторе, чтобы задать вершину верхнего левого угла, затем тащите прямоугольник, не отпуская кнопки мыши. Отпустите, когда прямоугольный узел имеет нужную форму. Вы можете редактировать фигуру и после того, как ее рисование завершено.
  5. Назовите эту область tellerPlaces.
  6. Переключите элемент управления Видимость в положение нет.

  1. Мы будем использовать аттракторы, чтобы задать местоположение клерков. Выделите узел tellerPlaces в графическом редакторе и щелкните кнопку Аттракторы... в свойствах узла. В открывшемся окне Аттракторы укажите число аттракторов 4 в режиме создания Количество аттракторов, затем щелкните OK
  2. Вы увидите, что четыре аттрактора появились в узле tellerPlaces на равном расстоянии друг от друга, но они направлены не в ту сторону. Выделите все аттракторы, зажав клавишу Shift и щелкнув по ним мышью, и потом выберите +180.0 в параметре Ориентация секции свойств Местоположение и размер.

  1. Щелкните объект tellers в диаграмме процесса и перейдите в его свойства.
  2. Выберите нарисованный нами узел tellerPlaces в параметре Базовое местоположение (узлы)

Вы можете запустить модель и наблюдать, как клиенты обслуживаются у банкоматов и проходят к кассирам.

Добавление 3D объектов

Давайте добавим 3D фигуры клерков в нашу модель. Мы создадим новый тип ресурсов для анимации клерков.

Создайте новый тип ресурсов

  1. Откройте Библиотеку моделирования процессов в панели Палитра.
  2. Перетащите элемент Тип ресурса  в графический редактор.

  1. Откроется диалоговое окно Мастера создания агентов на шаге Создание нового типа агента. Введите Teller в поле Имя нового типа, оставьте опцию  Создать новый тип агента "с нуля" выбранной. Нажмите Далее.

  1. Выберите опцию 3D для типа анимации и фигуру анимации Служащий из списка 3D фигур.

  1. Щелкните Готово. Новая диаграмма Teller автоматически откроется. Вы можете найти 3D фигуру Служащий в начале координат. Переключитесь обратно на диаграмму Main.

 Настройте использование нового типа ресурсов в блок-схеме

  1. На диаграмме Main, выделите блок tellers в графическом редакторе.
  2. Выберите тип ресурсов Teller в выпадающем списке параметра Новый ресурс.

  1. Запустите модель, чтобы увидеть получившуюся анимацию клерков.

Добавьте столы для клерков

  1. Откройте палитру 3D Объекты в панели Палитра.
  2. Перетащите четыре 3D фигуры Стол из секции палитры Офис в графический редактор и поместите их в узел tellerPlaces.
  3. Расположите столы на аттракторах, так как аттракторы обозначают место, где стоят клерки

  1. Вы заметите, что они стоят не той стороной к клеркам. Выделите все столы методом Shift-щелчок и перейдите в их свойства.
  2. В секции Расположение измените параметр Поворот Z: -90.0 градусов.
  3. При необходимости, выровняйте расположение всех восьми аттракторов и столов.

Теперь вы можете запустить модель и увидеть в 3D анимации, как некоторые клиенты идут к банкомату, а другие обслуживаются у столов клерков.

Контрольная модель: Bank - Шаг 3


          Шаг 2, Создание анимации модели

          Шаг 4, Добавление статистики модели