Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание простой имитационной модели



Практическая работа № 1-2.

«Разработка имитационной модели банка»

Цель: освоить основные методы разработки имитационных моделей средствами бесплатной версии AnyLogic Personal Learning Edition (PLE).

Время: 2 часа.

План:

1. Создание простой имитационной модели. (40 мин.)

2. Создание анимации модели. (40 мин.)

3. Добавление клерков. (40 мин.)

4. Добавление статистики модели. (40 мин.)

Создание простой имитационной модели

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

Примерами систем массового обслуживания могут служить:

· расчетно-кассовые узлы в банках, на предприятиях;

· персональные компьютеры, обслуживающие поступающие заявки или требования на решение тех или иных задач;

· станции технического обслуживания автомобилей; АЗС;

· аудиторские фирмы;

· отделы налоговых инспекций, занимающиеся приёмкой и проверкой текущей отчетности предприятий;

· телефонные станции и т. д.

СМО Узлы Требования
Банк Кассы Клиенты
Больница Врачи Санитары Койки Пациенты
Производство Станки Рабочие Детали
Аэропорт Выходы на взлетно-посадочные полосы Пункты регистрации Пассажиры

 

Рассмотрим схему работы СМО (рис. 1). Система состоит из генератора заявок, диспетчера и узла обслуживания, узла учета отказов (терминатора, уничтожителя заявок). Узел обслуживания в общем случае может иметь несколько каналов обслуживания.

Рис. 1

1. Генератор заявок – объект, порождающий заявки: улица, цех с установленными агрегатами. На вход поступает поток заявок (поток покупателей в магазин, поток сломавшихся агрегатов (машин, станков) на ремонт, поток посетителей в гардероб, поток машин на АЗС и т. д.).

2. Диспетчер – человек или устройство, которое знает, что делать с заявкой. Узел, регулирующий и направляющий заявки к каналам обслуживания. Диспетчер:

· принимает заявки;

· формирует очередь, если все каналы заняты;

· направляет их к каналам обслуживания, если есть свободные;

· дает заявкам отказ (по различным причинам);

· принимает информацию от узла обслуживания о свободных каналах;

· следит за временем работы системы.

3. Очередь – накопитель заявок. Очередь может отсутствовать.

4. Узел обслуживания состоит из конечного числа каналов обслуживания. Каждый канал имеет 3 состояния: свободен, занят, не работает. Если все каналы заняты, то можно придумать стратегию, кому передавать заявку.

5. Отказ от обслуживания наступает, если все каналы заняты (некоторые в том числе могут не работать).

Кроме этих основных элементов в СМО в некоторых источниках выделяются также следующие составляющие:

терминатор – уничтожитель трансактов;

склад – накопитель ресурсов и готовой продукции;

счет бухгалтерского учета – для выполнения операций типа «проводка»;

менеджер – распорядитель ресурсов;

и пр.

Классификация СМО

Первое деление (по наличию очередей):

· СМО с отказами;

· СМО с очередью.

В СМО с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем не обслуживается.

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

СМО с очередями подразделяются на разные виды в зависимости от того, как организована очередь, – ограничена или не ограничена. Ограничения могут касаться как длины очереди, так и времени ожидания, «дисциплины обслуживания».

Итак, например, рассматриваются следующие СМО:

· СМО с нетерпеливыми заявками (длина очереди и время обслуживания ограничено);

· СМО с обслуживанием с приоритетом, т. е. некоторые заявки обслуживаются вне очереди и т. д.

Типы ограничения очереди могут быть комбинированными.

Другая классификация делит СМО по источнику заявок. Порождать заявки (требования) может сама система или некая внешняя среда, существующая независимо от системы.

Естественно, поток заявок, порожденный самой системой, будет зависеть от системы и ее состояния.

Кроме этого СМО делятся на открытые СМО и замкнутые СМО.

В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии сама СМО (сколько каналов занято). В замкнутой СМО – зависят. Например, если один рабочий обслуживает группу станков, время от времени требующих наладки, то интенсивность потока «требований» со стороны станков зависит от того, сколько их уже исправно и ждет наладки.

Пример замкнутой системы: выдача кассиром зарплаты на предприятии.

По количеству каналов СМО делятся на:

· одноканальные;

· многоканальные.

Характеристики очереди

· ограничениевремени ожидания момента наступления обслуживания (имеет место очередь с ограниченным временем ожидания обслуживания, что ассоциируется с понятием «допустимая длина очереди»);

· длина очереди.

Механизм обслуживания

Механизм обслуживания определяется характеристиками самой процедуры обслуживания и структурой обслуживающей системы. К характеристикам процедуры обслуживания относятся:

· количество каналов обслуживания (N);

· продолжительность процедуры обслуживания (вероятностное распределение времени обслуживания требований);

· количество требований, удовлетворяемых в результате выполнения каждой такой процедуры (для групповых заявок);

· вероятность выхода из строя обслуживающего канала;

· структура обслуживающей системы.

Для аналитического описания характеристик процедуры обслуживания оперируют понятием «вероятностное распределение времени обслуживания требований».

Пусть:

Si – время обслуживания i-го требования;

E(S) – среднее время обслуживания;

μ =1/E(S)– скорость обслуживания требований.

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

Создание диаграммы процесса

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

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

Диаграмма процесса в AnyLogic создается путем добавления объектов библиотеки из палитры на диаграмму агента, соединения их портов и изменения значений свойств блоков в соответствии с требованиями Вашей модели.

Создайте диаграмму процесса

1. По умолчанию при создании новой модели в панели Палитра открывается Библиотека моделирования процессов. Вы можете открывать палитры щелчком по соответствующей иконке на вертикальной панели слева от палитры:

2. Добавьте блоки Библиотеки моделирования процессов на диаграмму и соедините их, как показано на рисунке. Чтобы добавить объект на диаграмму, перетащите требуемый элемент из палитры в графический редактор.

3. Когда Вы перетаскиваете блоки и располагаете их рядом друг с другом, Вы можете видеть, как появляются соединительные линии между блоками. Будьте внимательны, эти линии должны соединять только порты, находящиеся с правой или левой стороны иконок.

Данная схема моделирует простейшую систему очереди, состоящую из источника агентов, задержки (и очереди перед задержкой) и финального уничтожения агентов.

Объекты диаграммы:

Объект Source генерирует агентов определенного типа. Обычно он используется в качестве начальной точки диаграммы процесса, формализующей поток агентов. В нашем примере агентами будут посетители банка, а объект Source будет моделировать их приход в банковское отделение.

Объект Queue моделирует очередь агентов, ожидающих приема объектами, следующими за данным в диаграмме процесса. В нашем случае он будет моделировать очередь клиентов, ждущих освобождения банкомата.

Объект Delay задерживает агентов на заданный период времени, представляя в нашей модели банкомат, у которого посетитель банковского отделения тратит свое время на проведение необходимой ему операции.

Объект Sink уничтожает поступивших агентов. Обычно он используется в качестве конечной точки потока агентов (и диаграммы процесса соответственно).

За детальным описанием объектов Библиотеки моделирования процессов, пожалуйста, обращайтесь к Справочному руководству по Библиотеке моделирования процессов.

Настройте блоки диаграммы

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

2. Выделите блок source. В панели Свойства укажите, как часто должны прибывать клиенты. Введите 0.3 и выберите в минуту в поле Интенсивность прибытия.

3. Измените свойства блока queue. Введите в поле Вместимость 15. В очереди будут находиться не более 15 человек.

4. Измените свойства блока delay. Назовите объект ATM. Задайте время обслуживания в поле Время задержки, распределенное по треугольному закону со средним значением, равным 1.5, минимальным - равным 0.8 и максимальным - 3.5 минутам.

Функция triangular() является стандартной функцией генератора случайных чисел AnyLogic. AnyLogic предоставляет функции и других случайных распределений, таких как нормальное, равномерное, треугольное, и т.д.

Запуск модели

Мы закончили моделирование простейшей системы очереди и готовы запустить созданную модель. Сначала постройте Вашу модель с помощью кнопки панели инструментов Построить модель (при этом в рабочей области AnyLogic должен быть выбран какой-то элемент именно этой модели). Если в модели есть какие-нибудь ошибки, то построение не будет завершено, и в панель Ошибки будет выведена информация об ошибках, обнаруженных в модели. Двойным щелчком мыши по ошибке в этом списке Вы можете перейти к месту ошибки, чтобы исправить ее.

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

Запустите модель

1. Щелкните мышью по кнопке панели инструментов Запустить и выберите из открывшегося списка эксперимент, который Вы хотите запустить. Эксперимент этой модели будет называться Bank/Simulation.

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

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

Щелкните по кнопке Запустить. Тем самым, Вы запустите модель и перейдете к презентации агента верхнего уровня запущенного эксперимента. Для каждой модели, созданной с помощью объектов Библиотеки моделирования процессов, автоматически создается блок-схема с наглядной визуализацией процесса, с помощью которой Вы можете изучить текущее состояние модели, например, длину очереди, количество обслуженных человек и так далее.

Вы можете изменить скорость выполнения модели с помощью кнопок панели инструментов Замедлить и Ускорить.

Вы можете следить за состоянием любого блока диаграммы процесса во время выполнения модели с помощью окна инспекта этого объекта. Чтобы открыть окно инспекта, щелкните мышью по значку блока. В окне инспекта будет отображена базовая инормация по выделенному блоку: например, для блока Queue будет отображена вместимость очереди, количество агентов, прошедших через каждый порт объекта, и т.д.

Строка Содержит отображает количество агентов, находящихся в данный момент на объекте вместе с ID этих агентов.

Создание анимации модели

Добавление 3D анимации

Первым делом нам будет нужно добавить на диаграмму типа агента 3D Окно.

3D Окно используется для задания на диаграмме агента области, в которой во время запуска модели будет отображаться трехмерная анимация этой модели.

Добавьте 3D окно

1. Перетащите элемент 3D Окно из секции 3D палитры Презентация в графический редактор.

2. Вы увидите в графическом редакторе закрашенную серым область. Поместите ее туда, где Вы хотите видеть 3D анимацию во время запуска модели:

Запустите модель и опробуйте навигацию по сцене трехмерной анимации

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

1. Щелкните кнопку панели инструментов Показать область... и выберите [window3D].

2. Попробуйте " подвигаться" по трехмерной сцене с помощью описанных ниже команд навигации:

Чтобы Выполните следующие действия
Переместить сцену 1. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой. 2. Передвиньте мышь в направлении перемещения.
Повернуть сцену 1. Нажмите клавишу Alt и держите ее нажатой. 2. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой. 3. Передвиньте мышь в направлении вращения.
Приблизить/отдалить сцену 1. Покрутите колесо мыши от/на себя в области 3D окна.

 

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

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

Создайте новый тип агента

1. Откройте Библиотеку моделирования процессов в панели Палитра.

2. Перетащите элемент Тип агента в графический редактор.

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

4. Выберите опцию 3D для типа анимации и фигуру анимации Человек из списка 3D фигур.

5. Щелкните Готово. Диаграмма нового агента Customerоткроется автоматически. Вы можете найти3D фигуруЧеловек в начале координат.

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

1. На диаграмме Main, выделите блок source в графическом редакторе.

2. Выберите тип агента Customer в выпадающем списке параметра Новый агент.

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

Добавьте объект банкомата

1. Откройте палитру 3D Объекты в панели Палитра.

2. Перетащите 3D фигуру Банкомат из секции палитры Супермаркет в графический редактор и поместите ее на точечный узел.

3. Если вы сейчас запустите модель и проверите 3D анимацию в режиме просмотра window3D, вы заметите, что банкомат стоит не той стороной по направлению к очереди клиентов, и нам необходимо развернуть его в правильную сторону.

4. Выделите 3D объект банкомата atm в графическом редакторе и откройте секцию свойств Расположение.

5. Выберите из выпадающего списка параметра Поворот Z 0 градусов.

6. Запустите модель, чтобы убедиться, что фигура банкомата стоит " лицом" к клиентам.

Добавление клерков

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

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

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

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

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

1. Откройте Библиотеку моделирования процессов в панели Палитра.

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

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

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

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

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

1. На диаграмме Main, выделите блок tellers в графическом редакторе.

2. Выберите тип ресурсов Teller в выпадающем списке параметра Новый ресурс.

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

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

1. Откройте палитру 3D Объекты в панели Палитра.

2. Перетащите четыре 3D фигуры Стол из секции палитры Офис в графический редактор и поместите их в узел tellerPlaces.

3. Расположите столы на аттракторах, так как аттракторы обозначают место, где стоят клерки

4. Вы заметите, что они стоят не той стороной к клеркам. Выделите все столы методом Shift-щелчок и перейдите в их свойства.

5. В секции Расположение измените параметр Поворот Z: -90.0 градусов.

6. При необходимости, выровняйте расположение всех восьми аттракторов и столов.

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

Практическая работа № 1-2.

«Разработка имитационной модели банка»

Цель: освоить основные методы разработки имитационных моделей средствами бесплатной версии AnyLogic Personal Learning Edition (PLE).

Время: 2 часа.

План:

1. Создание простой имитационной модели. (40 мин.)

2. Создание анимации модели. (40 мин.)

3. Добавление клерков. (40 мин.)

4. Добавление статистики модели. (40 мин.)

Создание простой имитационной модели

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

Примерами систем массового обслуживания могут служить:

· расчетно-кассовые узлы в банках, на предприятиях;

· персональные компьютеры, обслуживающие поступающие заявки или требования на решение тех или иных задач;

· станции технического обслуживания автомобилей; АЗС;

· аудиторские фирмы;

· отделы налоговых инспекций, занимающиеся приёмкой и проверкой текущей отчетности предприятий;

· телефонные станции и т. д.

СМО Узлы Требования
Банк Кассы Клиенты
Больница Врачи Санитары Койки Пациенты
Производство Станки Рабочие Детали
Аэропорт Выходы на взлетно-посадочные полосы Пункты регистрации Пассажиры

 

Рассмотрим схему работы СМО (рис. 1). Система состоит из генератора заявок, диспетчера и узла обслуживания, узла учета отказов (терминатора, уничтожителя заявок). Узел обслуживания в общем случае может иметь несколько каналов обслуживания.

Рис. 1

1. Генератор заявок – объект, порождающий заявки: улица, цех с установленными агрегатами. На вход поступает поток заявок (поток покупателей в магазин, поток сломавшихся агрегатов (машин, станков) на ремонт, поток посетителей в гардероб, поток машин на АЗС и т. д.).

2. Диспетчер – человек или устройство, которое знает, что делать с заявкой. Узел, регулирующий и направляющий заявки к каналам обслуживания. Диспетчер:

· принимает заявки;

· формирует очередь, если все каналы заняты;

· направляет их к каналам обслуживания, если есть свободные;

· дает заявкам отказ (по различным причинам);

· принимает информацию от узла обслуживания о свободных каналах;

· следит за временем работы системы.

3. Очередь – накопитель заявок. Очередь может отсутствовать.

4. Узел обслуживания состоит из конечного числа каналов обслуживания. Каждый канал имеет 3 состояния: свободен, занят, не работает. Если все каналы заняты, то можно придумать стратегию, кому передавать заявку.

5. Отказ от обслуживания наступает, если все каналы заняты (некоторые в том числе могут не работать).

Кроме этих основных элементов в СМО в некоторых источниках выделяются также следующие составляющие:

терминатор – уничтожитель трансактов;

склад – накопитель ресурсов и готовой продукции;

счет бухгалтерского учета – для выполнения операций типа «проводка»;

менеджер – распорядитель ресурсов;

и пр.

Классификация СМО

Первое деление (по наличию очередей):

· СМО с отказами;

· СМО с очередью.

В СМО с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем не обслуживается.

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

СМО с очередями подразделяются на разные виды в зависимости от того, как организована очередь, – ограничена или не ограничена. Ограничения могут касаться как длины очереди, так и времени ожидания, «дисциплины обслуживания».

Итак, например, рассматриваются следующие СМО:

· СМО с нетерпеливыми заявками (длина очереди и время обслуживания ограничено);

· СМО с обслуживанием с приоритетом, т. е. некоторые заявки обслуживаются вне очереди и т. д.

Типы ограничения очереди могут быть комбинированными.

Другая классификация делит СМО по источнику заявок. Порождать заявки (требования) может сама система или некая внешняя среда, существующая независимо от системы.

Естественно, поток заявок, порожденный самой системой, будет зависеть от системы и ее состояния.

Кроме этого СМО делятся на открытые СМО и замкнутые СМО.

В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии сама СМО (сколько каналов занято). В замкнутой СМО – зависят. Например, если один рабочий обслуживает группу станков, время от времени требующих наладки, то интенсивность потока «требований» со стороны станков зависит от того, сколько их уже исправно и ждет наладки.

Пример замкнутой системы: выдача кассиром зарплаты на предприятии.

По количеству каналов СМО делятся на:

· одноканальные;

· многоканальные.


Поделиться:



Последнее изменение этой страницы: 2017-04-13; Просмотров: 348; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.097 с.)
Главная | Случайная страница | Обратная связь