Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 57
Текст из файла (страница 57)
Как мы видели в главах 6 и 9, построение моделей дискретных систем было выполнено с помощью блоков библиотеки без написания программного кода и других средств Авуаров)с, просто в стиле гйвй-апд-йор. Поэтому блоки библиотеки Апу) ой(с можно назвать "высокоуровневыми" средствами моделироваия. Все другие возможности АпуЕоя)с очень просто комбинируются с блоками библиотеки. Библиотека Епгегрг)зе ЫЬгагу содержит несколько десятков блоков с предопределенной функциональностью (рис. 14.!). Каждый блок имеет набор параметров, которые при построении модели можно конкретизировать в любом экземпляре блока„использованного в модели. Полное описание библиотеки можно найти в справочных материалах продукта Апу) оя)с.
Кроме того„каждый блок библиотеки имеет связанное с ним свое описание. Здесь мы дадим только краткую характеристику двум классам блоков. Первый класс включает блоки для управления потоком заявок. Эти блоки имеют желтый цвет. Сюда входят источник заявок (воихоа), сток (въох), очередь заявок (ааааа), разветвитель попжов (вр1ье) и др.
Данная группа Глава 24. Дискретно-событийное моделирование блоков удобна для быстрого создания моделей систем, которые можно оха- рактеризовать как классические системы массового обслуживания. Мы ис- пользовали некоторые из этих блоков в моделях, построенных ранее. Классические ресурсы й| О О Оа ОЩУтфз а Елкваз Расписания ~Ю,~ Обработка Транспсртгукзвгв Управпоние потоком заявок Трюк псртировкв по сети ~ еад,;"! Бенет Г~ ~м.~1 ИЕнг И Нугве ) фек О, БООГС Б!ОК 'О а- ГО Ы Гвз Би :""'а а; Оная ! Епьг гызв с~ О аек а в' авзю Еяг Аззиаве ! Оа а з а ОЗИГГЗО ЙА Оовгв о 'евга.
О реева ЛА м Работе С совегя инг кн заявя аню Га Вауабб Оагес' 1 Ркин ~ ~о~о'у) Мюгиоупящъг, узпы а а о Нсгб 1 | Брут О Оз, О СОПЗЬП бвио. 14.1. Структура библиотеки Ел!егргзвв ывгагу Г б За к. 4248 Второй класс включает два блока, задержку (Ое)ау) и сервер (Всгуег). Блок задержки просто удерживает каждую поступившую на его вход заявку на определенное время. Число возможных заявок, которые одновременно и независимо могут быть задержаны в этом блоке, определено параметром сарасИу. Время задержки может залаваться как реализация случайной величины, распределенной по некоторому закону.
Блок задержки молелирует независимую обработку заявок, т. е. время задержки каждой заявки в блоке не зависит от числа задержанных заявок, находящихся в блоке одновременно. Сервер также задерживает пришедшие на его вход заявки, однако этот блок моделирует совсем другой принцип обработки заявок, чем простая задержка. Предполагается, что кажлая заявка должна получить от сервера опрелеленное обслуживание, но в сервере на обслуживании могут находиться несколько заявок (до определенного предела, устанавливаемого как параметр), и поэтому время сервера делится межлу всеми заявками, одновременно нахолящимися в обработке. Такой порядок обслуживания моделирует разделение процессорного времени между несколькими задачами с выделением одинаковых квантов времени всем задачам.
Третий класс блоков библиотеки необходим лля построения моделей систем, которые имеют существенные отличия от простых СМО. рассматривавшихся нами ранее. Первое отличие состоит в том, что в этих системах яво Часть! К Современные парадигмы в имитационном моделировании для обслуживания потока заявок используются ресурсы. Например, в отделении скорой помощи госпиталя, который, конечно, является системой обслуживания, есть несколько типов ресурсов: спецоборудование, врачи, медсестры, комнаты первичного осмотра и процедурные комнаты. Наличие некоторого набора свободных ресурсов обязательно для выполнения процесса обслуживания пациента; очередная заявка, моделирующая пациента, может быть принята к обслуживанию, если свободны ресурсы определенных типов, например, медсестра и один из процедурных кабинетов. Второй отличительной особенностью этих систем является то, что время обслуживания заявок в системе зависит от геометрических характеристик системы.
Например, время, затраченное на движение к процедурному кабинету в отделении скорой помощи, зависит от меси расположения свободного кабинета, поэтому и время обслуживания пациентов зависит от деталей архитектурного плана здания: длины коридоров, расположения комнат, их назначения. Таким образом, время обслуживания заявок в подобной системе существенно зависит от реальных расстояний на плане. Подобными особенностями обладают также производственные системы с конвейерами и средствами внутрицеховой доставки, складские системы. Другую группу обслуживающих систем, в которых архитектурные детали и расположение на плане пунктов обслуживания играет существенную роль при их анализе, составляют крупные магазины, аэропорты и им подобные системы.
Имитационные модели всех таких систем являются, конечно, дискретно- событийными, но их построение требует специальных средств. Для построения моделей таких систем обслуживания в библиотеку включена группа блоков "Трпнспорторовка ло сети". В следующем разделе мы рассмотрим использование блоков этой группы для создания имитационных моделей таких специфических систем массового обслуживания.
14.5. Упрощенная модель отделения скорой помощи Полная модель впетдепсу верьте пс, разработанная в рамках проекта для реального госпиталя, является не очень простой для построения в рамках учебного пособия. Трудоемкость реализации этой модели при понимании постановки задачи и наличии полного описания процессов, происходящих в системе, составляет две-три недели. Поэтому здесь мы рассмотрим построение упрощенной версии данной модели. 14.5.1. Процесс обслуживания пациентов Рассмотрим упрощенное описание процесса обслуживания пациентов в отделении скорой помощи. На рис.
14.2 представлен упрошенный план отделения скорой помощи, в котором производится обслуживание пациентов. гвт Глава т4. искретно-событийное моделирование пооиедтлные кабинеты Комнаты летюичното ооюляа Комната медоеотея комната оынденнн Рмо. т4.2. Упрощенный план отделения скорой помощи Процесс обслуживания пациента состоит из последовательных шагов: К Пациент входит в систему и проходит к регистратуре. 2. Пациент проходит регистрацию и получает формы для заполнения дан- ными об обращении в отделение. 3. С этими формами пациент проходит в комнату ожидания.
где заполняет формы. 4. После заполнения формы пациент ждет в комнате ожидания, пока не освободится одна из комнат первичного осмотра. Первая освободившаяся медсестра сопровожлает пациента в свободную комнату первичного осмотра. 5. Эта же медсестра выполняет первичный осмотр пациента и уходит. 6. Пациент находится в комнате первичного осмотра, пока не освободится одна из процедурных комнат для прохождения процедуры, назначенной по результатам первичного ослютра. Как только процедурная освобождается, пациент переходит в эту комнату.
7. Выполняются необходимые процедуры. 8. Пациент покидает отделение. 14.5.2. Структура имитационной модели В АиуЕоятс, как и в большинстве других инструментов для моделирования дискретных систем, ключевой сущностью является траттзакдття (заявка). Заявки обрабатываются в системе, захватывают и освобождают ресурсы, тем Часть ггт. Современные парадигмы в имитационном моделировании самым влияя ца те характеристики производительности системы, которые нас интересуют. В нашей модели отделения скорой помоши заявки моделируют пациентов — они создаются, двигаются по системе и, в конце концов, выходят из нее, имитируя то, как пациенты перемешаются в реальном госпитале. В модели одновременно перемещается множество независимых заявок. Для того чтобы придать заявкам индивидуальность, нужно налелить их атрибутами или свойствами.
Например, заявке можно приписать вид лечения, назначенного пациенту. В нашей модели вид лечения будет влиять только на необходимое время, которое заявка проведет в системе. Дополнительно мы можетм отслеживать время входа заявки в систему, времена нахождения заявок в очередях и т. д. (точно так же, как это мы делали в модели операционного зала банка). Заявки в модели будут использовать ресурсы.
Ресурсы представляют медперсонал и оборудование госпиталя, которые используются пациентами. Комнаты и процедурные кабинеты также нужно представить как ресурсы. Ресурсов одного типа может быть несколько, но количество ресурсов всегда ограничено, поэтому заявки конкурируют за ресурсы. Они получают ресурсы в соответствии с некоторой дисциплиной обслуживания. Заявки лля своего обслуживания могут потребовать наличия нескольких ресурсов одновременно.
Если заявка не находит свободного ресурса, она ожидает в очереди. Модели дискретных событийных систем, как было сказано ранее, строятся как имитация прохождения заявок по сети, состоягцей из блоков обработки и направленных связей, соединяюшнх блоки. В нашей модели такая структура базируется на реальном плане отделения скорой помоши: конкретное обслуживание производится в определенных помещениях, поэтолгу структура сети, которая будет прелставлять модель, задается расположением комнат определенного назначения и возможными маршрутами, по которым ходят пациенты. Имитационная модель отлеления скорой помощи, которую мы будем строить, состоит из трех частей.
Первая часть — это анимация. основу которой составляет реальный план отдела скорой помоши. На анимации мы указываем узлы и связи сети, по которой в процессе молелирования перемещаются заявки. Вторая часть — это описание ресурсов, доступных в этой сети на структурной диаграмме. Третья часть — это непосредственно блок-схема процесса обслуживания.
14.5.3. Создание сети на анимации модели Первая фаза реализации модели представлена в модели вветяеасу ггератеьеое внове т в папке Моде! Ехашр!ез. В данном проекте сушествует только окно анимации, в которое помещено графическое изображение плана отделения скорой помощи. Это графическое изображение скопировано из файла Е01луоцьрпя. Раааа Ы Дискретно-событийное моделирование Поверх рисунка добавлена сеть, определяюшая геометрические объекты плана„которые будут использоваться в модели. Сеть состоит из узлов и их связей.
Узлами сети являются все те пункты, где пациент может находиться некоторое время, а именно комнаты, регистратура, вход и выход. Ребра сети — это пути, по которым в процессе моделирования будут перемещаться заявки, имитирующие пациентов. Узлы сети задаются в анимации с помощью прямоугольников, а ребра сети — с помошыо линий и ломаных. Когда заявка переместится в один из узлов сети, визуально она будет отображаться в случайно выбранной точке внутри узла-прямоугольника.