задача может быть уже решена в виде готовых библиотечных модулей. Однако при моделировании отдельных решений, систем массового обслуживания, различных дисциплин обслуживания и проверки адекватности аналитических моделей, изучении их свойств данная система дает возможность быстрого и наглядного получения результатов. Поэтому ее стоит рассматривать как весьма полезный инструмент в решении научных и инженерных задач.
Как было отмечено выше, данная система может быть инсталлирована в различных операционных системах Windows, MAC и Linux.
Система имеет графический редактор, в котором может быть построена модель исследуемой системы с использованием типовых элементов (из палитры элементов), при минимальном использовании программирования. Основными элементами системы, с точки зрения разработчика модели, являются графический редактор и палитры (библиотеки) элементов. Можно выделить следующие основные этапы построения модели:
-выбор элементов и построение структуры системы,
-определение свойств элементов: численных (начальных) значений параметров и логики функционирования,
-определение измеряемых параметров, методов получения статистических результатов и выбор соответствующих элементов,
-описание имитационного эксперимента,
-компиляция модели,
-выполнение имитационного эксперимента.
Модель может иметь иерархическую структуру, в которой построенная модель может быть оформлена в виде модуля, который может быть использован при построении более сложной модели, наравне с типовыми модулями.
В данном учебном пособии рассмотрена только малая доля возможностей данной системы. Далее будет рассмотрено построение двух моделей систем массового обслуживания в среде AnyLogic. Для углубленного изучения возможностей и освоения приемов работы с данной системы имитационного моделирования следует обратиться к справочной информации и документации на данную систему.
Инсталляция данной системы, как правило, не вызывает сложностей, поэтому она отдельно не рассматривается.
2.2.1. Построение модели
Для моделирования СМО с отказами требуется определить поток заявок с заданными свойствами и несколько обслуживающих устройств, которые принимают заявки на обслуживание. Обслуживание длится в
26
течение определенного (в общем случае случайного) времени. Поступившая заявка принимается на обслуживание, если в момент ее поступления имеется хотя бы одно свободное обслуживающее устройство. Если свободных обслуживающих устройств нет, то заявка получает отказ (теряется) и покидает систему. В общем случае, с некоторой вероятностью заявка может вернуться в систему, но в рассмотренной ниже модели мы этот вариант рассматривать не будем.
Таким образом, для построения модели нам нужно иметь:
-источник заявок (потока),
-набор элементов, имитирующих обслуживающие устройства,
-средства сбора статистики о работе модели.
1.Запускаем среду разработки AnyLogic (в данном примере используется AnyLogic 7.0.2).
2.Создаем новую модель (Файл->Создать->Модель). В диалоговом окне зададаем имя модели MMV.
3.Выбираем и соединеняем основные элементы модели. Перейдем в элемент проекта «Main». Откроем палитру и выберем библиотеку «Библиотека моделирования процессов». В окне редактора модели добавляем нужные элементы: «source», «Select output», «delay» и «sink».
Затем выбираем библиотеку «основная» и добавляем из нее переменную, задав ей имя «p».
Соединяем выход «source» со входом «Select output», выход
«Select output» со входом «delay», выход «delay» со входом «sink»
соединительными линиями.
Модель будет выглядеть как приведено на рис. 1.
Рис. 1. Вид модели в редакторе
27
4. Изменим свойства элементов модели. Чтобы открыть свойства элемента нужно выделить его, при этом справа или внизу (в зависимости от настоек среды) откроется окно свойств выделенного элемента.
4.1. Свойства источника потока и обслуживающего устройства. Введем в модель следующие параметры (рис. 1):
для источника заявок –интенсивность поступающих заявок «alfa». Заметим, что интенсивность заявок численно равна произведению удельной интенсивности на количество обслуживающих устройств
(alfa=y0*v);
для обслуживающего устройства – длительность задержки «tau» и вместимость «v».
Введем переменную (рис. 1):
«p» – для отображения вероятности потерь.
В свойствах параметров введем значения по умолчанию (на данном этапе установим значения alfa=1; tau=1; v=1).
Откроем свойства элемента «source» и внесем следующие изменения
(рис. 2).
Рис. 2. Свойства элемента «source»
Откроем свойства элемента «delay» и внесем следующие изменения
(рис. 3).
Рис. 3. Свойства элемента «delay»
28
4.2. Свойства элемента «sink1»:
Рис. 4. Свойства элемента «sink1»
4.3. Свойства элемента «selectOutput»:
Рис.5. Свойства элемента «selectOutput»
После проделанных действий можно проверить работоспособность модели. Для этого выберем в панели инструментов имя модели для запуска процесса имитации (рис. 6).
Рис. 6. Компиляция модели
29
Если модель введена без ошибок, то будет открыто окно имитационной модели (рис. 7).
Рис. 7. Окно имитационной модели
Далее нажмем кнопку «Запустить». В результате будет отображена анимация работы модели (рис. 8).
Рис. 8. Окно имитационной модели
Работу модели можно ускорить, нажав кнопку с двойной стрелкой, выделенной на рисунке 10. Значение переменной «p» должно быть близко к 0,5. Значение, которое дает первая формула Эрланга [2] при интенсивности нагрузки равной 1 Эрл и одном обслуживающем устройстве.
30