Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитац модел мат моделей.doc
Скачиваний:
10
Добавлен:
21.09.2019
Размер:
1.56 Mб
Скачать
    1. Сбор статистики.

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

      1. Включаем сбор статистики

Щелкаем по объекту ATM

Выбираем true в свойстве statsEnabled.

    1. Добаляем индикатор на анимацию

Щелкаем по кнопке Столбцовый индикатор

Поместим индикатор щелчком мыши по диаграмме

Поставим в свойствах индикатора минимальное отображаемое значение – Минимум равен 0

Максимальное отображаемое значение – Максимум равен 1

В строке Отображает задаем следующее выражение:

ATM.getStatsUtilization().mean()

ATM – это имя созданного объекта Delay. Функция getStatsUtilization() объекта Delay возвращает статистику занятости объекта, а функция mean() возвращает среднее из измеренных значений. Можно использовать и другие методы, например, min() и max(), для получения минимального и максимального измеренных значений соответственно.

    1. Добавляем текстовую метку.

Щелкаем мышью по кнопке панели инструментов Текст, и затем щелкаем по диаграмме под индикатором.

Вводим текст, который будет отображен на анимации ATM utilization

1.9. Добавляем столбцовый индикатор текущей длины очереди

Назовем его ATM queue size.

Отображаемое значение queue.size()

Функция size() объекта Queue возвращает текущее количество людей в очереди.

Установим максимальное отображаемое значение равное 15.

    1. 1.10. Запускаем модель

2. Моделирование банковских кассиров

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

2.1. Изменяем блок-схему

2.1.1. Добавляем объект SelectOutput

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

Оставим условие Select Condition: uniform()<0.5.

В этом случае к кассирам и банкомату будет приходить примерно равное количество клиентов.

2.1.2. Добавляем объект ProcessQ

Объект ProcessQ моделирует занятие заявкой ресурса на определенное время. С помощью этого объекта промоделируем обслуживание клиента кассиром.

Назовем объект tellerLines

Укажем, что в очереди к кассирам может находиться до 20 человек

queue Capacity: 20

Задаем время обслуживания delay Time: triangular(2.5, 6, 11)

Мы полагаем, что время обслуживания имеет треугольное распределение с минимальным значением равным 2.5, средним - 6, и максимальным - 11 минутам.

2.1.3. Добавляем объект Resource

Объект Resource задает ресурсы определенного типа. Он должен быть подсоединен к объектам, моделирующим занятие и освобождение ресурсов (в нашем случае это объект ProcessQ).

Назовем объект tellers

Задаем число кассиров Capacity: 4

2.1.4. Запускаем модель и изучите ее поведение.