Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование систем. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
221 Кб
Скачать

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦионаЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС»

Институт информационных технологий и автоматизированных систем управления

Кафедра автоматизированных систем управления

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

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

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

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

Москва 2022

УДК 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

3

Введение

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

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

– объектно-ориентированные языки, но их использование сопряжено со значительными затратами времени и сложностями при программировании.

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

GPSS является языком моделирования, который используется для построения дискретных моделей и проведения моделирования на ЭВМ. В него входят специальные средства для

4

описания динамического поведения систем, меняющихся во времени, причем изменение состояний происходит в дискретные моменты времени.

Моделирование дискретных процессов опирается на фундаментальные области теории вероятности и математической статистики.

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

Интерпретатор GPSS выполняет многие функции автоматически, например, сбор статистических данных, распечатку итоговой статистики, планирование событий.

5

Основные инструменты GPSS, используемые при выполнении лабораторных работ

Транзакт

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

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

Транзакты в GPSS могут «создаваться» («вводиться»), «уничтожаться» («выводиться»), «задерживаться», «размножаться», «сливаться», «накапливаться» и т.д. Весьма важным является то, что в процессе моделирования можно изменять параметры транзактов, что позволяет моделировать такие процессы, как старение оборудования или изменение производственной ситуации.

Блок

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

Блоки GPSS можно классифицировать следующим образом: yy аппаратно-ориентированные, используемые для отображения функционирования элементов оборудования реальных схем;

6

yy транзактно-ориентированные, используемые для операций с транзактами;

yy статистические блоки, предназначенные для сбора и вывода статистики.

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

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

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

Операции, реализуемые блоками, могут быть описаны в форме указаний интерпретатору GPSS, например «генерировать», «назначить», «проверить», «задержать» и т.д. Блоки могут содержать различные операнды, уточняющие указания. Число операндов каждого блока зависит от его типа, но не превышает семи.

Для составления программы на GPSS необходимо знать назначение блоков, правила их использования, правила спецификации операндов.

Оператор

Операторы в GPSS можно подразделить на операторы описаний и управляющие операторы. Управляющие операторы имеют следующее назначение:

yy подготовка интерпретатора и ЭВМ к выполнению программ;

7

yy указания интерпретатору начать или завершить имитацию;

yy указания к повторному прогону и т.д.

Управляющие операторы не входят в имитационную программу и служат для подготовки к процессу имитации и переопределения условий при повторных прогонах.

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

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

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

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

Переменные GPSS

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

8

менные в GPSS могут быть: целыми арифметическими, вещественными арифметическими и булевскими. Арифметическая переменная представляет собой описываемый пользователем набор СЧА, функций или других переменных, соединенных знаками арифметических операций. В программе каждая переменная описывается на отдельной строке.

При описании переменной можно использовать следующие знаки арифметических операций:

«+» – алгебраическое сложение; «–» – алгебраическое вычитание; « » – алгебраическое умножение; «/» – алгебраическое деление;

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

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

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

Аналогично обращение к вещественной переменной СЧА, имя которой FV.

Функции GPSS

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

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

9

(х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.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]