Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

m1044

.pdf
Скачиваний:
5
Добавлен:
15.11.2022
Размер:
5.17 Mб
Скачать

Рис. 2.7. Основные свойства второго перехода

Запустите модель. Поэкспериментируйте с ней, используя слайдеры. Продемонстрируйте модель преподавателю

Контрольные вопросы и задания

1.Измените модель таким образом, чтобы слайдеры действовали на оба мяча одновременно.

2.Измените модель таким образом, чтобы подсчитывалось время, прошедшее с момента последнего отскока мяча.

3.Измените модель таким образом, чтобы при отскоке от горизонтальных стенок мяч становился желтым на 0,5 с, а при отскоке от боковых – зеленым.

4.Измените модель таким образом, чтобы на один мяч сила тяжести действовала по оси Х, а на другой по оси Y.

5.Измените модель таким образом, чтобы в верхней-правой четверти пространства мячи были синего цвета, а в остальном пространстве – голубого, а при отскоке цвет менялся на желтый на 0,5 с.

6.Измените модель таким образом, чтобы при каждом отскоке изменялся диаметр мяча на 20 %.

7.Измените модель таким образом, чтобы мяч № 1 менял свой цвет тогда, когда мяч № 2 соударяется со стенками.

8.Измените модель таким образом, чтобы в верхней половине пространства мячи были желтого цвета, а в нижней – голубого, при отскоке цвет не меняется.

21

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

10.Измените модель таким образом, чтобы подсчитывалось количество отскоков мяча.

11.Измените модель таким образом, чтобы при полете вверх мяч был красного цвета, а при полете вниз – голубого, при отскоке цвет не меняется.

12.Измените модель таким образом, чтобы моделировалось движение мяча в правой половине пространства.

13.Измените модель таким образом, чтобы моделировалось движение мяча в верхней половине пространства.

14.Измените направление движения мяча на горизонтальное.

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

16.Измените модель таким образом, чтобы мяч вначале выполнения модели был в правом верхнем углу.

17.Измените модель таким образом, чтобы при отскоке мячи меняли цвет на 1 с.

18.Измените направление движения мяча на вертикальное.

Лабораторная работа № 3. Дискретно-событийная модель

Цель работы:

Изучить пользовательский интерфейс и инструментальные средства пакета AnyLogic для имитационного моделирования дискретно-событийных моделей.

Задание к лабораторной работе:

Построить с помощью элементов библиотеки Enterprise Library модель простой системы массового обслуживания – модель банковского отделения.

В банковском отделении находятся банкомат, операторыкассиры. Необходимо произвести оценку пропускной способности банкомата.

3.1. Создание новой модели

Щелкните мышью по кнопке панели инструментов Создать. Появится диалоговое окно Новая модель. В поле Имя модели введите Банк. Выберите каталог, в котором будут сохранены

22

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

вполе Местоположение или выбрать этот каталог по кнопке Выбрать. Щелкните мышью по кнопке Далее. Откроется вторая страница Мастера создания модели. Здесь будет предложено выбрать шаблон модели, на базе которого вы будете разрабатывать свою модель. Поскольку требуется создать новую дискрет- но-событийную модель, установите флажок Использовать шаб-

лон модели и выберите Дискретно-событийное моделирование

врасположенном ниже списке. Щелкните мышью по кнопке Далее. На следующей странице Мастера будет предложено выбрать, хотите ли вы сразу же добавить в создаваемую модель ресурсы, график, отображающий длину очереди к сервису, анимацию обслуживающихся и ожидающих обслуживания или гистограмму, отображающую распределение времени пребывания людей в моделируемой системе. Поскольку нужно создать с помощью Мастера лишь простейшую диаграмму процесса, а остальные шаги выполнять вручную, чтобы научиться их делать самостоятельно, то оставьте флажок Использовать ресурсы сброшенным и закончите создание модели, щелкнув мышью по кнопке Готово. Соберите модель, как показано на рис. 3.1.

Для изменения свойств элемента модели нужно предварительно щелчком мыши выделить его в графическом редакторе или в панели Проект.

Первым объектом в диаграмме процесса является объект типа Sourse. Объект Source генерирует заявки определенного типа. Заявки представляют собой объекты, которые производятся, обрабатываются, обслуживаются, или еще каким-нибудь образом подвергаются действию моделируемого процесса: это могут быть клиенты в системе обслуживания, детали в модели производства, документы в модели документооборота и т.д. В этом примере заявками будут посетители банка, а объект Source будет моделировать их приход в банковское отделение. В нашем случае объект создает заявки через заданный временной интервал. Введите в поле Интенсивность прибытия 0.67.

23

Рис. 3.1. Использование шаблона для построения дискретно-событийной модели

Рис. 3.2. Настройка свойств объекта Source

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

24

Рис. 3.3. Настройка свойств объекта Queue

Задайте максимальную длину очереди. Введите в поле Вместимость 15. В очереди будут находиться не более 15 человек. Установите флажок Включить сбор статистики, чтобы включить сбор статистики для этого объекта. В этом случае по ходу моделирования будет собираться статистика по количеству человек в очереди, по умолчанию она отключена для повышения скорости выполнения модели.

Следующим в диаграмме процесса следует объект Delay. Он задерживает заявки на заданный период времени, представляя в модели банкомат, у которого посетитель банковского отделения тратит свое время на проведение необходимой ему операции. Обслуживание одного клиента занимает примерно 1 мин. Задайте время обслуживания, распределенное по треугольному закону со средним значением, равным 1, минимальным – равным 0.8 и максимальным – 1.3 мин.

Введите в поле Время задержки triangular(0.8, 1, 1.3). Функ-

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

жок Включить сбор статистики.

25

Рис. 3.4. Настройка свойств объекта Delay

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

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

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

Bank Office/Simulation (рис. 3.5).

26

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

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

Щелкните по этой кнопке. Тем самым вы запустите модель и перейдете к презентации корневого класса активного объекта запущенного эксперимента (рис. 3.6).

Рис. 3.6. Вид эксперимента модели

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

27

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

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

Нарисуйте круг, который будет обозначать банкомат на анимации.

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

Перетащите элемент Овал из палитры Презентация на диаграмму класса активного объекта. Поместите его, как показано на рис. 3.7.

Рис. 3.7. Добавление элементов анимации

Сделаем так, что цвет этого кружка будет меняться в зависимости от того, обслуживает ли банкомат в данный момент времени клиента или нет. Для этого выделите нарисованную нами фигуру на диаграмме и перейдите на страницу Динамические панели свойств, перейдите в поле Цвет заливки и введите там следующую строку:

delay.size() > 0 ?red :green

28

Здесь delay – это имя нашего объекта Delay. Функция size() возвращает число человек, обслуживаемых в данный момент времени. Если банкомат занят, то цвет кружка будет красным, в противном случае – зеленым (рис. 3.8).

Рис. 3.8. Настройка динамического изменения цвета объекта Oval

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

Рис. 3.9. Добавление ломаной для отображения очереди

29

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

Теперь надо задать анимационные объекты в качестве анимационных фигур блоков диаграммы процесса (рис. 3.10).

Рис. 3.10. Связывание объекта Queue с элементом презентации

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

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]