Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 23
Текст из файла (страница 23)
Обслуживающий прибор может быть прелставлен просто как блок задержки. Блоки, представленные на рис. 6.22, часто используются для моделирования систем массового обслуживания. Все такие блоки есть в библиотеке Ептегрпзе (зЬгагу.
Часть Н, Средства ДлуСоо1с длл имитационного моделирования систем Выход теиетк из системы Рис. 6.22. Структура модели операционного зала банка Постройте модель операционного зала банка. Создайте новый проект, назо- ВктЕ ЕГО Оцецзпянсае1ъзттхеху, ОтКрОйтЕ бИбЛИОтЕКу ЕП1ЕГрПЗЕ ЫЬГату И В окно структуры корневого активного объекта методом с1таа-апс1-с1гор внесите из библиотеки следуюшие элементы — рис. 6.23. Влоки еехтехл, вех гехв и вехтгехс — это экземпляры блока ое1ву библиотеки.
Соедините блоки нужным образом и запустите модель на выполнение. (Соединяются блоки библиотеки так же, как интерфейсные переменные или порты.) Рис 6.23. Структура модели банка в среде АпуЬов|с Настройка параметров включенных в модель блоков из библиотеки тоже не займет много времени. Пусть в соответствии с измерениями (или предположениями) поток клиентов к первому менеджеру является случайным, интервалы времени между клиентами в нем распределены экспоненциально со средним 16.5 мин., поток ко второму менеджеру — тоже экспоненциальный со средним интервалом времени между приходами клиентов 12.5 мин. Выделите блок воцхсе, и в окне свойств этого обьекта в строчке параметра 1псехаххьта1т1сте запишите ехропепсъа1! 1/16.
5) . Заметим, что парал1етром фуНКЦИИ екропепхье1 (КОтОрая ПРИ ОбраШЕНИИ К НЕй ГЕНЕрИруЕт рсаЛИЗацию случайной величины с экспоненциальным законом распределения) является интенсивность потока событий, обратная среднему времени между событиями. Остальные параметры этого объекта не изменяйте. На рис. 6.24 видно, что измененные значения параметров в соответствуюших полях свойств блоков выделяются полужирным шрифтом.
Глава б. Разработка моделейдискретно-событийных систем Рис. В.24. Окно свойств объекта воъ кое Аналогично измените значение параметра '. секатстча1т~ е у другою генератОра ПОтОКа ЗаяВОК воское1. Пусть время обработки заявок обоими менеджерами и кассиром тоже случайно, и пусть оно распределено экспоненциально со средними значениями 15, 1О и б.5. Введите соответствуюшие значения параметра це1аутьее у эк- ЗЕМПЛярОВ це1ау, сте1ау1 И Се1ау2 (рИС. 6.25). Рис. 6.26. Окно свойств объекта се1ау Запустите модель на выполнение. Целью моделирования подобной сервисной системы является, конечно, не просто имитация функционирования его служаших и поведения клиентов, а определение тех параметров, которые Часть!/.
Средства Апу1ода для имитационного моделирования систем характеризуют качество сервиса и затраты на обеспечение этого сервиса при определенных характеристиках входного потока клиентов и структуры системы. В частности, средней длины очередей, занятость обслуживающего персонапа и т. и. Окно гоог модели банка после обработки -32 тыс. заявок представлено на рис. 6.26. На нем видно, что 14 032 заявки прошли через первою менеджера (сзе1ау), 18 364 заявки — через второго менеджера (сзе1ау1) и 32 336 заявок обработано кассиром. Далее на этом же рисунке видно, что в данный момент времени до генерации очередной заявки объекту воотсе осталось 10.635 мин.; а вош-се1 — 0.366 мин., в очереди к первому менеджеру стоит одна заявка, ко второму — 7 заявок, а к кассиру — 60 заявок.
Рис. 6.26. Окно тооФ модели банка Все эти значения получены без каких-либо усилий со стороны разработчика модели. Они представляются при работе библиотечных блоков автоматически. Блоки библиотеки Ептегрг)зе 1лЬгагу имеют и другие встроенные средства сбора статистической информации, однако по умолчанию сбор части статистики отключен для повышения производительности модели. В окне сВОЙстВ блОкОВ чаеие, чиеие1 и сулеце2, а также Йе1ау, ое1ау1 и Йе1ау2 в поле значений параметра аеаеаелаь1ед вместо га1ае вставьте из выпадаюшего меню значение стае. Запустите систему на выполнение опять.
На рис. 6.27 представлено окно гоа( модели банка, в которой для экземпляров активных объектов о~еде и Ое1ау включен сбор статистики. В системе собирается статистика по длинам очередей для анена и статистика по коэффициенту использования (доля времени занятости) для блоков Ое1ау, представляющих в нашей модели менеджеров. В системе обработано более 34 тысячи заявок. Видно, что средняя ллина очереди чаете равна 9.968, очереди чнесе1 равна 3.963, а очереди чиеиег равна 12.437. Коэффициент использовании двух менеджеров и кассира соответственно 0.914, 0.795 и 0.918. Глава 6.
Разработка моделей дискретно-событийных систем 115 рис. 6.27. Окно тост модели банка с включенным сбором статистики блоков На основе этого анализа можно с уверенностью сказать, что при указанных ранее входных потоках клиентов и производительности обслуживания зафиксированная в модели структура операционного зала банка неудовлетворительна. Первый менеджер (которого моделирует блок ае1ву) и кассир (блок ае1ауз) перегружены, средняя длина очередей к ним Ю вЂ” 12 человек.
Клиенты банка будут не удовлетворены. Аналогичная модель пол именем ооеоьоянопезьььхахут находится в папке Первые модели. 6.5. Средства Апу~.о91с для разработки дискретно-событийных моделей В данной главе мы рассматривали средства АпуЕорс, поддерживаюшие моделирование дискретно-событийных систем. Эти средства включают сушности, порождающие события, и сущности, позволяюшие изменять состояние системы как реакцию на наступившие события.
Основными средствами порождения событий в модели являются таймеры и сгейтчарты. Кроме базовых средств разработки дискретно-событийных систем, пользователю доступна библиотека Епгегрг|зе ЫЬгагу, в которой собраны высокоуровневые средства — блоки, часто используемые в моделировании широкого класса дискретно событийных систем массового обслуживания. Рассмотрим все эти средства еше раз по порядку. 6.5.1. События Основной абстрактной сушностью в дискретно-событийных моделях является событие. Понятие события в моделировании существенна отличается 116 Часть Л. Средства Апут ода дле имитационного модели ввнил систем от обычного понимания события. Для человека событием может быть поезлка за границу или свадьба, гюсешение театра или рождение сына.
В моделировании событие является абстракцией с ясно определенной семантикой. Событие — это нечто, не имеющее протяженности во времени и изменяющее состояние системы. Событием в модели может быть, например, срабатывание таймера или получение сообщения в порт. То, что событие в молелировании является мгновенным, это абстракция, но только при наличии такой абстракции возможна организация в модели выполнения множества параллельно протекающих процессов, которые отражают параллелизм окружающего нас мира. Таким образом, важнейшей концепцией дискретно-событийного моделирования является то, что собьпие никогда не длится во времени, оно происходит мгновенно, вызывая мгновенное же изменение состояния системы и, возможно, порождая новые булушие события либо удаляя ранее запланированные события.
В результате наступления события может быть выполнено действие по изменению состояния системы. В соответствии с указанной ранее концепцией, любое такое действие является "атомным", неделимым в том смысле, что оно не может быть прервано никаким другим действием и событием, даже если действие это представлено длинной цепочкой операций. Иногда представление реального события в модели как мгновенного неделимого действия по изменению состояния системы является слишком грубой абстракцией, то есть временем выполнения такого действия в реальной системе нельзя пренебречь.
В этом случае можно ввести два мгновенных события. Первое представляет начало действия„второе представляет конец действия, а само действие, которое занимает какое-то время, представляется промежуточным состоянием, в котором будет находиться система в период выполнения этого действия. Например, при моделировании банка появление новой инвестиции можно считать событием. Для более детальною анализа появление новой инвестиции можно описать как некоторый процесс, имеющий свое начало, конец и промежуточные стадии (состояния). Событиями в моделях на Апу) оя1с являются срабатывание таймера, получение сообщения в порт, смена значения логического условия, опрелеленного на непрерывных переменных, срабатывание перехода стейтчарта, нажатие кнопки внешним пользователем и т. д.
Действия, связанные с событиями, обычно представляются выполнением некоторого кода языка Мата (вызовом одной или нескольких функций, выполнением последовательности операторов и т. и.), и нужно ясно понимать, что, хотя при имитации поведения системы (при прогоне программы) выполнение этого кода обязательно занимает некоторый интервал физического времени, молельное время при этом не изменяется. Каждое событие может порождать новые события: например, в последовательности операций, выполняемых при наступлении данного события, может находиться операция взведения таймера на следувший интервал времени.
Действия, связанные с обрабатываемым собьггием, Глава 6. Раэработка моделей дискретно-событийных систем 117 могут быть у состояний при событии изменения состояний. у переходов при выполнении переходов, у таймеров при событии их срабатывания, у портов при событии получения ими сообщения и т. п. Выполнение события таймера является выполнением кода, заданного в поле Действие при срабатывании таймера. Выполнение события перехода является выполнением набора действий, связанных с переходом в поле Действие окна свойств перехода. В результате выполнения события может измениться лискретное состояние модели: могут начать ожидание другие переходы, запуститься другие таймеры, измениться текущие состояния стейтчартов, стать активными другие уравнения.
При выполнении этих действий могут измениться переменные модели и состояние, могут быть добавлены новые события или удалены некоторые из ранее запланированных событий. Если несколько событий наступило в один и тот же момент модельного времени, обработка их исполнительной системой АпуЕорс выполняется в каком-либо последовательном порядке. Изменение состояния модели в результате наступления одного события не моэсет перекрываться другими действиями.