Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Моделирование систем

Покупка
Артикул: 797218.01.99
Доступ онлайн
2 000 ₽
В корзину
Лабораторный практикум предназначен для проведения лабораторных работ по курсу «Моделирование систем». Включает в себя теоретический материал и задачи для программирования, что позволяет эффективно выполнять задания и получать корректные и легко интерпретируемые результаты моделирования. Предназначен для обучающихся в бакалавриате по направлению подготовки 09.03.01 «Информатика и вычислительная техника», а также обучающихся по другим направлениям подготовки, изучающих информационные технологии. Может быть рекомендован для построения моделей при выполнении основной части выпускной квалификационной работы.
Гончаренко, А. Н. Моделирование систем : лабораторный практикум / А. Н. Гончаренко. - Москва : Издательский Дом НИТУ «МИСиС», 2022. - 56 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1914786 (дата обращения: 11.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Москва  2022

М инис терс тво науки и высш его о б ра з о ва н и я рФ

ФеДераЛЬное госуДарственное автоноМное образоватеЛЬное уЧреЖДение 
высшего образования 
«наЦионаЛЬныЙ иссЛеДоватеЛЬскиЙ теХноЛогиЧескиЙ университет «Мисис»

институт инФорМаЦионныХ теХноЛогиЙ и автоМатизированныХ систеМ 
управЛения 
 
Кафедра автоматизированных систем управления

А.Н. Гончаренко

МОДЕЛИРОВАНИЕ СИСТЕМ

Лабораторный практикум

рекомендовано редакционно-издательским 
советом университета

№ 4678

УДК 65.011.56 
 
Г65

Р е ц е н з е н т 
канд. техн. наук, доц. Д.В. Калитин

Гончаренко, Алексей Николаевич.
Г65  
Моделирование систем : лаб. практикум / А.Н. Гонча-
ренко. – Москва : Издательский Дом НИТУ «МИСиС», 
2022. – 56 с.

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

УДК 65.011.56

 А.Н. Гончаренко, 2022
 НИТУ «МИСиС», 2022

СОДЕРЖАНИЕ

Введение ....................................................................... 4
Основные инструменты GPSS, используемые  
при выполнении лабораторных работ ................................ 6
Методические рекомендации к выполнению  
лабораторных работ .......................................................17
Лабораторная работа 1. Основные сведения о языке 
моделирования GPSS .....................................................18
Лабораторная работа 2. Системы массового  
обслуживания с одним прибором и очередью .....................22
Лабораторная работа 3. Расширение системы массового 
обслуживания с одним прибором и очередью .....................27
Лабораторная работа 4. Система с одним прибором  
и очередью для приоритетной дисциплины обслуживания ... 30
Лабораторная работа 5. Система обслуживания  
с прибором, очередью и обратной связью ..........................32
Лабораторная работа 6. Моделирование многоканальных 
систем массового обслуживания ......................................35
Лабораторная работа 7. Многоканальная система  
массового обслуживания с очередью ................................38
Лабораторная работа 8. Проверка числовых  
атрибутов БЛОК TEST ...................................................41
Лабораторная работа 9. Использование распределений 
вероятностей в GPSS. Использование равномерных 
распределений в блоках ADVANCE и GENERATE ..............43
Лабораторная работа 10. Определение непрерывных  
функций моделирования экспоненциально  
распределенных интервалов времени обслуживания ..........47
Лабораторная работа 11. Использование вероятностей  
в GPSS .........................................................................50
Лабораторная работа 12. Влияние длины очереди  
на среднюю интенсивность обслуживания ........................53
Библиографический список ............................................55

ВВЕДЕНИЕ

Имитационное моделирование является мощным инженер-
ным методом исследования сложных систем, используемым 
в тех случаях, когда другие методы оказываются малоэффек-
тивными.
Имитационная модель представляет собой систему, отобра-
жающую структуру и функционирование исходного объекта в 
виде алгоритма, связывающего входные и выходные перемен-
ные, принятые в качестве характеристик исследуемого объек-
та. Имитационные модели реализуются на вычислительных 
машинах с использованием различных языков программи-
рования. Вообще говоря, для построения имитационных мо-
делей можно использовать любые языки процедурного (под-
программного) типа или, как теперь их принято называть, 
– объектно-ориентированные языки, но их использование со-
пряжено со значительными затратами времени и сложностя-
ми при программировании. 
В то же время очевидно, что в состав любой имитационной 
модели должен входить целый ряд типовых модулей, необ-
ходимых для моделирования, – модули, имитирующие веро-
ятностные элементы и процессы, модули сбора и статистиче-
ской обработки результатов и др. Если эти типовые модули 
заготовить заранее и при построении имитационной модели 
конкретной системы лишь настраивать их, то, очевидно, тру-
доемкость разработки имитационной модели значительно 
уменьшится. Это обстоятельство было замечено достаточно 
давно, что привело к разработке целого ряда имитационных 
систем на базе универсальных языков программирования. 
Дальнейшее развитие этой концепции позволило разработать 
специализированные языки программирования, позволяю-
щие с наибольшим удобством и эффективностью проектиро-
вать имитационные модели сложных систем. Наиболее извест-
ным и распространенным языком моделирования дискретных 
систем является общецелевой язык имитационного моделиро-
вания GPSS (General Purpose Simulating System – общецеле-
вая система моделирования), разработанный фирмой IBM.
GPSS является языком моделирования, который использу-
ется для построения дискретных моделей и проведения моде-
лирования на ЭВМ. В него входят специальные средства для 

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

ОСНОВНыЕ ИНСтРУмЕНты GPSS, 
ИСпОльзУЕмыЕ пРИ ВыпОлНЕНИИ 
лАбОРАтОРНых РАбОт

транзакт

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

блок

Другим фундаментальным понятием GPSS является поня-
тие «блок». Блок GPSS представляет собой некоторый само-
стоятельный элемент моделирующей программы, ассоции-
рующийся с некоторым реальным элементом моделируемой 
системы. Каждый блок реализует одну или несколько опера-
ций над транзактом, группой транзактов или параметрами 
транзактов, а совокупность блоков составляет моделирующую 
программу. Таким образом, GPSS представляет собой блочную 
систему программирования, что в значительной мере упроща-
ет построение моделирующих программ.
Блоки GPSS можно классифицировать следующим образом:
 y
аппаратно-ориентированные, используемые для отображе-
ния функционирования элементов оборудования реальных схем;

y
транзактно-ориентированные, используемые для опера-
ций с транзактами;
 y
статистические блоки, предназначенные для сбора и вы-
вода статистики.
Заметим, однако, что такая классификация носит весьма 
условный характер, и один и тот же блок может быть отнесен 
как к той, так и к другой группе. Некоторые блоки GPSS яв-
ляются парными, т.е. использование одного блока неизбежно 
связано с использованием другого блока.
При работе моделирующей программы транзакты последо-
вательно передвигаются от одного блока к другому, причем 
при прохождении через блок могут меняться параметры тран-
закта. В блоке транзакт может задерживаться, преобразовы-
ваться, уничтожаться и т.д. С помощью специальных блоков 
можно изменить последовательность прохождения блоков в 
зависимости от некоторых условий.
Каждый блок в программе GPSS занимает вполне опреде-
ленное место, и интерпретатор при анализе программы при-
сваивает номера, соответствующие месту блока в модели. Раз-
работчик программы может присвоить блоку символическое 
имя и использовать его при ссылке на блок. Символические 
имена составляются из алфавитно-цифровых символов, при-
чем первые три символа должны быть буквенными, а их число 
не должно превышать пяти.
Операции, реализуемые блоками, могут быть описаны в 
форме указаний интерпретатору GPSS, например «генериро-
вать», «назначить», «проверить», «задержать» и т.д. Блоки 
могут содержать различные операнды, уточняющие указания. 
Число операндов каждого блока зависит от его типа, но не пре-
вышает семи. 
Для составления программы на GPSS необходимо знать на-
значение блоков, правила их использования, правила спец-
ификации операндов.

Оператор

Операторы в GPSS можно подразделить на операторы опи-
саний и управляющие операторы. Управляющие операторы 
имеют следующее назначение:
 y
подготовка интерпретатора и ЭВМ к выполнению про-
грамм;

y
указания интерпретатору начать или завершить имита-
цию;
 y
указания к повторному прогону и т.д.
Управляющие операторы не входят в имитационную про-
грамму и служат для подготовки к процессу имитации и пере-
определения условий при повторных прогонах.
Операторы описаний в GPSS подразделяются на операторы 
описаний переменных, таблиц и функций. Операторы опи-
саний переменных и функций предназначены для описания 
количественных связей между элементами моделируемой си-
стемы, а также между системой и окружающей средой. С по-
мощью операторов описаний можно описывать характер свя-
зи между элементами, вид распределений случайных величин 
или событий, моделируемых в системе, произвольные ариф-
метические и логические соотношения, влияющие на процесс 
имитации. Операторы описаний располагаются в начале про-
граммы GPSS, до ее имитирующей части.
В GPSS для идентификации переменных и функций широко 
используются стандартные мнемонические обозначения. Каж-
дая переменная или функция может иметь символическое имя 
или номер. Обращение к той или иной переменной включает в 
себя стандартное мнемоническое обозначение, имя или номер. 

Стандартные числовые атрибуты GPSS

Стандартные числовые атрибуты GPSS представляют собой 
некоторые переменные, часто используемые в задачах имита-
ционного моделирования. Они подразделяются на два клас-
са – стандартные числовые атрибуты (СЧА) и стандартные 
булевские атрибуты (СБА). Назначение стандартных атри-
бутов – упрощение составления имитационной программы и 
контроля ее выполнения. Стандартные атрибуты характеризу-
ют состояние объектов моделирования и изменяются в процес-
се моделирования автоматически.

переменные GPSS

При создании модели системы могут понадобиться сложные 
логические и количественные зависимости между переменны-
ми системы. Для этой цели в GPSS введены переменные. Пере-

менные в GPSS могут быть: целыми арифметическими, вещественными 
арифметическими и булевскими. Арифметическая 
переменная представляет собой описываемый пользователем 
набор СЧА, функций или других переменных, соединенных 
знаками арифметических операций. В программе каждая переменная 
описывается на отдельной строке.
При описании переменной можно использовать следующие 
знаки арифметических операций:
«+» – алгебраическое сложение;
«–» – алгебраическое вычитание;
«⋅» – алгебраическое умножение;
«/» – алгебраическое деление;
«@» – деление по модулю, при котором частное отбрасывается, 
а остаток считается положительным и является результатом 
операции.
При описании переменных можно использовать скобки. 
Скобки могут быть использованы для группировки членов выражения 
или для обозначения умножения. После вычисления 
выражения в качестве ответа для арифметической переменной 
берется целая часть.
При задании переменной с плавающей точкой (вещественной 
переменной) в поле операции записывается слово 
FVARIABLE. В программе может использоваться несколько 
арифметических переменных VARIABLE и FVARIABLE. 
При описании переменных указывается номер или имя переменной. 
Обращение к целой переменной осуществляется с помощью 
стандартного числового атрибута V в форме Vj, где j – 
номер переменной, или в форме V@AAAAА, где ААААА – имя 
переменной.
Аналогично обращение к вещественной переменной СЧА, 
имя которой FV.

Функции GPSS

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

(х1, y1), (х1, y1), ..., (хn, уn). Вычисление y в промежуточных 
точках выполняется с помощью линейной интерполяции.
Функции GPSS могут быть непрерывными, дискретными и 
атрибутивными. Тип функции задается при описании функций. 
Дискретной функцией называется функция, принимающая 
конечное число целых значений. Непрерывная функция 
принимает любые значения из некоторого интервала. Атрибутивной 
функцией в GPSS называется функция, в таблице 
определения которой используются стандартные числовые 
атрибуты (другие функции или арифметические переменные).
В строке описания функции записывается номер или символическое 
имя функции, в поле операндов А записывается 
мнемоническое обозначение независимой переменной, а в поле 
В – число пар координат (точек). Если перед числом точек стоит 
буква С, то функция непрерывная, если D, – дискретная, 
если Е – атрибутивная. В строке описания функции никакие 
другие поля не заполняются. Значения координат записываются 
в строках, следующих непосредственно за строкой описания 
функции, в следующем порядке: х1, y1; x1, y1; ..., хn, yn.

блоки организации движения транзактов 
в модели

Блоки GENERATE (генерировать), TERMINATE (выводить). 
Ввод транзактов в имитационную модель осуществляется 
с помощью блока GENERATE.  Операнд А этого блока 
обозначает среднее время между вводом транзактов в модель. 
В качестве операнда А можно использовать целое число R без 
знака или стандартный числовой атрибут.
В последнем случае операнд может быть описан в одной из 
двух форм – СЧАj, СЧА@ИМЯ, где под СЧА подразумевается 
мнемоническое обозначение стандартного числового атрибута, 
например V, Q, и т.д., j – обозначает номер числового атрибута, 
«ИМЯ» – символическое название переменной или функции. 
Операнд B обозначает модификатор интервалов между 
транзактами. В простейшем случае операндом может являться 
некоторое целое число P. В этом случае интервалы времени 
между последовательными транзактами принимают с равной 
вероятностью целые значения в интервале D = R ± p. Вместо 
числа может быть использован стандартный числовой атрибут 
в форме СЧАj, СЧА@ИМЯ, например FN@FUNC.

В случае если операндом А является стандартный числовой 
атрибут генератора случайных чисел RN, j = 1, 2, ..., 8, а операндом 
В является функция Fni, i = 1, 2, ..., распределение интервалов 
между транзактами модифицируется по правилу 

D = RNj ⋅ FNi.

Операнд С (необязательный) характеризует интервал смещения 
момента ввода в модель первого транзакта относительно 
нулевой отметки времени. В качестве операнда С может быть 
использовано целое число без знака R, стандартный числовой 
атрибут в форме СЧАj, СЧА@ИМЯ, например V1, V0TEM.
Операнд D задает максимальное число транзактов, которые 
могут быть введены в модель через данный блок GENERATE 
в течение всего времени моделирования. Операнд D является 
либо целым числом, либо СЧАj, либо СЧА@ИМЯ. Операнд Е 
(необязательный) определяет уровень приоритета транзакта. 
Он может быть либо целым числом R, либо СЧА в форме СЧАj, 
либо СЧА@ИМЯ.
Операнд F (необязательный) определяет число параметров 
транзакта. Он может быть либо целым числом K, либо СЧАj, 
либо СЧА@ИМЯ.
Операнды В, С, Д, Е, Р при спецификации блока могут быть 
опущены. В этом случае значения параметров блока определя-
ются по умолчанию. По умолчанию значения операндов сле-
дующие: В = 0, С = 0, D = ∞, Е = 0, F = 12.
Блок TERMINATE в GPSS позволяет удалять транзакты из 
модели. В операнде поля А блока TERMINATE указывается 
величина, которая должна вычитаться из специального счет-
чика завершений каждый раз, когда транзакт входит в блок 
TERMINATE. Если содержимое поля А пусто, то этот блок не из-
меняет содержимое счетчика. Начальное значение счетчика за-
вершений устанавливается управляющим оператором START.
Если в моделирующей программе содержится несколь-
ко блоков TERMINATE с операндами поля А, отличными 
от нуля, при входе транзактов в любой блок TERMINATE из 
счетчика завершений вычитается значение операнда поля А.
Команда START в моделируемой системе всегда одна. Зна-
чение операнда поля А этой команды определяет начальное 
значение счетчика завершений.

Доступ онлайн
2 000 ₽
В корзину