АНИМАЦИЯ СТРУКТУРНОЙ СХЕМЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ

Ю. И. Рыжиков, А. И. Михайлин (Санкт-Петербург)
 

Квалифицированная и продуктивная работа в области имитационного моделирования, хотя бы и на GPSS, требует четкого осознания принципов построения моделей и прежде всего – логики и динамики соответствующих схем. Как показывает опыт преподавания одного из авторов доклада (и изучения другим) соответствующей дисциплины, их усвоение достигается далеко не сразу и дается с заметным трудом. Представляемая разработка имеет целью придать базовой схеме моделирования многоканальной системы обслуживания  GI/G/n/R, иллюстрирующей общие принципы, максимальную наглядность, сохраняемую в процессе самоподготовки обучаемых – курсантов Военно-космической академии им. А.Ф. Можайского.

Модель предназначена для расчета стационарного распределения числа заявок в системе и моментов распределения времени ожидания начала обслуживания. Она используется для ознакомления с принципами разработки имитационных моделей и в лабораторной работе по экспериментальной проверке законов сохранения. В разработанной анимации приводимая ниже схема накладывается на «военно-прикладной фон» – зимний пейзаж космодрома Плесецк с n-канальным стартовым комплексом подготовки к запуску. В связи с методической установкой на уяснение работы  модели стартовый комплекс представлен предельно упрощенно – ангарами, причем занятые подсвечиваются, открывая лежащую внутри ракету. Кроме того, на экран выводятся значения управляющих переменных модели – таймера T; общего числа заявок r; момента прибытия очередной заявки Z; моментов завершения текущего обслуживания {ei} и наиболее раннего из них E и т. п.

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

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

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

  Рис. 1. Структурная схема базовой имитационной модели

Пользователь, заинтересованный только в получении результатов, может запустить чисто «счетный» режим работы модели – с отключенной анимацией.

Анимация разрабатывалась в среде Macromedia Flash. В процессе разработки была поставлена и частично решена задача накопления приемов решения типовых подпроблем и написания сценариев, которые предполагается использовать в дисциплине «Компьютерная графика». Демонстрация анимации курсантам младших курсов, обучаемым компьютерному моделированию, заметно оживила их интерес к обеим  упомянутым дисциплинам.

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

Осознав с помощью анимации принципы построения имитационных моделей, курсанты в составе бригад могут приступить к самостоятельной разработке структурных схем. Перечислим некоторые варианты с указанием впервые возникающих в них специфических особенностей:

Кольцевая система очередей. Здесь очереди с независимыми источниками заявок обслуживаются «по кругу» согласно одному из вариантов дисциплины:

·      по одной заявке из каждой непустой очереди;

·      до исчерпания заявок, скопившихся в текущей очереди к моменту начала ее обслуживания;

·      до исчерпания текущей очереди.

Дополнительных рекомендаций требует только второй вариант: следует запоминать момент начала обслуживания очереди и сравнивать его с моментами прибытия заявок. Для выбора следующей очереди после i-й при  принимается

Система с относительным приоритетом. Моделируется неоднородный рекуррентный поток заявок. Момент прибытия ближайшей заявки и ее тип определяются аналогично освобождению каналов в базовой модели. Накопление моментов распределения времени ожидания ведется отдельно по каждому типу заявок.

Система с динамическим приоритетом. В общей очереди размещаются паспорта заявок с указанием их типов и моментов прибытия. В момент завершения обслуживания начинается просмотр очереди с вычислением текущего диспетчерского приоритета каждой заявки и его сравнением с текущим максимумом. При необходимости значение максимума и его координата обновляются. По окончании просмотра «максимальная» заявка выбирается в канал, а следующая за ней часть очереди уплотняется.

Многоуровневая система очередей с квантованным одноканальным обслуживанием. Здесь появляется новый тип события – исчерпание кванта текущего обслуживания. Соответственно заявка перемещается в конец следующей очереди, где она будет дожидаться предоставления большего кванта.

Моделирование длины периода непрерывной занятости (ПНЗ). При прибытии в n-канальную систему заявки, увеличивающей их текущее количество до n, фиксируется начало ПНЗ – значение таймера. При завершении обслуживания и уменьшении текущего числа заявок до n-1 отмечается окончание ПНЗ и к счетчикам добавляются последовательные степени его длительности (для  вычисления моментов). К счетчику числа ПНЗ добавляется единица.

Одноканальная система с абсолютным приоритетом. Случайное время обслуживания  для новой заявки генерируется в момент ее прибытия. Тип вновь прибывшей заявки сравнивается с типом обслуживаемой и определяется необходимость прерывания. Прерванная заявка помещается в голову очереди своего приоритета с временем обслуживания, равным разности между расчетным моментом завершения его и текущим значением таймера (режим дообслуживания). Возможны варианты генерации времени обслуживания в момент приема в канал (независимо от кратности захода) или сохранения первоначально сформированной длительности. Все три варианта рассматриваются в теории очередей [1]. В паспорт заявки может быть внесен раздел кратности прерываний, куда при каждом прерывании добавляется единица. Статистика накапливается при нормальном завершении обслуживания. Просмотр очередей для выбора следующей заявки начинается с номера, соответствующего типу обслуженной (при наличии более приоритетных заявок она была бы прервана).

Многоканальная система, приоритет с прерываниями. Здесь новая проблема – выбор прерываемого канала. Целесообразно иметь список занятых каналов, упорядоченный по убыванию приоритетов обслуживаемых заявок (при равных приоритетах – по возрастанию моментов прибытия в систему): в этом случае приоритет вновь прибывшей заявки достаточно сопоставить с обслуживаемой в последнем канале. Такая технология требует переупорядочения списка при прерывании и при выборе заявки из очереди после завершении обслуживания

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

Литература

1.      Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний/пер. с англ. – М.: Наука, Физмат, 1975. – 360 с.

2.      Рыжиков Ю.И. Имитационное моделирование систем массового обслуживания. – Л.: ВИККИ им. А.Ф. Можайского, 1991. – 111 с.