Имитационное моделирование (работа 1)
КУРСОВАЯ РАБОТА
Имитационное моделирование
Введение
Процессы функционирования различных систем могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования. Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSS транзактами. Транзакт – это элемент системы массового обслуживания. Они "создаются" и "уничтожаются" так, как это необходимо по логике модели в процессе моделирования. С каждым транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте.
Блоки в GPSS подразделяются на три типа:
выполняемые, через которые проходят транзакты;
описательные, на этапе выполнения отсутствуют;
управляющие работой системы GPSS;
Комментарий записывается через пробел за операндами или целой строкой со звездочкой в первой позиции. В качестве операндов могут быть использованы стандартные числовые и логические атрибуты.
Породить Транзакт
GENERATE
Среднее_значение_времени_между_транзактами[,Отклонение_от_среднего][,Время_до_первого_транзакта],Количество_порождаемых_транзактов][,Приоритет_транзактов][,Количество_параметров_транзакта][,F|H]. Среднее значение времени по умолчанию
1. Отклонение по умолчанию
0.Время до первого транзакта вычисляется на основании первых двух аргументов. Если оно равно 0, то приравнивается
1. Значение приоритета в интервале от 0 до 127. По умолчанию 0. Значение количества параметров в интервале от 0 до 100. По умолчанию 12. По смыслу блока транзакты не должны входить в GENERATE.
Присвоить начальное значение
Описательный блок
INITIAL XНомер_хранимого_значения,
Значениеконстанта
INITIAL XHНомер_хранимого_значения,
Значениеконстанта
INITIAL X$Имя_хранимого_значения,
Значениеконстанта
Пример: INITIAL X4,17
INITIAL X$RATE,19
Отметить транзакт в очереди
[Метка] QUEUE Имя_очереди[,Число_прибавляемое_
к_длине_очереди]
Освободить устройство
[Метка] RELEASE Устройство
Пример: RELEASE IBM5
Сохранить значение
[Метка] SAVEVALUE Номер_хранимого_значения[+|],
Значение
Пример: SAVEVALUE 3+,P2
Занять без приоритета устройство
[Метка] SEIZE Устройство
Пример: SEIZE IBM5
Сравнить значения
[Метка] TEST Операция Первый_операнд,Второй_операнд,
[Метка_передачи_транзакта]
Операция > E|NE|GE|LE|G|L
Пример: TEST E P1,3,BRAK
Уничтожить транзакт
[Метка] TERMINATE [Значение_вычитаемое_из_
счетчика_в_START]
Пример: TERMINATE 1
Задержать транзакт
[Метка] ADVANCE Среднее_значение_задержки
[,Отклонение_от_среднего]
Пример: ADVANCE 37,7
Присвоение параметру транзакта значения
[Метка] ASSIGN Номер_параметра_транзакта,Значение
Пример: ASSIGN 3,1
Описать булевскую переменную
Имя_переменной BVARIABLE Логическое_выражение
Пример: BOOL1 BVARIABLE SE3 + LR7
Покинуть очередь
[Метка] DEPART
Имя_очереди[,Количество_единиц]
Пример: DEPART QTOWRK
Направить транзакт на другую часть модели [Метка] TRANSFER|BOTH| Вероятность Метка1[,Метка2]
Пример: TRANSFER ,LABL2
Начать моделирование
Описательный блок.
START Значение_счетчика
Пример: START 200
Целью проектирования является углубленное изучение языка программирования GPSS и приобретение навыков решения прикладных задач на основе моделирования.
Основные возможности разработки: Изучение языка GPSS и создание имитационной модели для системы передачи цифровой информации, позволяющая определить параметры ее функционирования.
GPSS World Student Version 4.1.3
Задание на курсовое проектирование
Задание 4.
В системе передачи цифровой информации передается речь в цифровом виде. Речевые пакеты передаются через два транзитных канала, буферизуясь в накопителях перед каждым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6 ± 3 мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. При снижении уровня до приемлемого происходит отключение ресурсов.
Смоделировать 10 с работы системы. Определить частоту уничтожения пакетов и частоту подключения ресурса.
Система обозначений объектов моделируемой системы
BOL - метка
KANAL1 – первый канал
KANAL2 – второй канал
MET1 - метка
METBOL - метка
METTERM - метка
METTERM1 метка
OCH_KANAL1 - очередь к первому каналу
OCH_KANAL2 - очередь ко второму каналу
PVREMA1 - метка
PVREMA2 - метка
VREM - метка
VSEGO - метка
VVREMA - метка
Диаграмма IDEF0
Правила и процедуры
Цифровая
обработка
Речевые пакеты Выход
Декодер
Рис 1.Контекстная диаграмма
поток на Правила и процедуры
Выбор обработку
к
1 канал
аналаВыход
Р
Очередь
Обработка
ечевые пакеты
2 канал
Декодер
Рис 2.Диаграмма декомпозиций
Текст программы
VVrema variable 5
INITIAL X$Vrem,5
GENERATE 6,3
SAVEVALUE Vsego+,1
ASSIGN PVrema1,V$VVrema
ASSIGN PVrema2,V$VVrema
QUEUE Och_kanal1
SEIZE kanal1
DEPART Och_kanal1
ADVANCE P$PVrema1
RELEASE kanal1
QUEUE Och_kanal2
SEIZE kanal2
DEPART Och_kanal2
ADVANCE P$PVrema2
RELEASE kanal2
TEST LE (P$PVrema1+P$PVrema2),10,MetBol
TEST L (X$Bol/X$Vsego),.3,MetTerm
SAVEVALUE Vrem,5
MetTerm TERMINATE
MetBol SAVEVALUE Bol+,1
TEST GE (X$Bol/X$Vsego),.3,Met1
SAVEVALUE Vrem,4
MetTerm1 TERMINATE
Met1 SAVEVALUE Vrem,5
TRANSFER, MetTerm1
GENERATE 100
TERMINATE 1
START 1
Результаты моделирования (листинг)
GPSS World Simulation Report - Untitled Model 1.1.1
Thursday, June 14, 2007 12:06:24
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 100.000 26 2 0
NAME VALUE
BOL 10009.000
KANAL1 10006.000
KANAL2 10008.000
MET1 23.000
METBOL 19.000
METTERM 18.000
METTERM1 22.000
OCH_KANAL1 10005.000
OCH_KANAL2 10007.000
PVREMA1 10003.000
PVREMA2 10004.000
VREM 10001.000
VSEGO 10002.000
VVREMA 10000.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 16 0 0
2 SAVEVALUE 16 0 0
3 ASSIGN 16 0 0
4 ASSIGN 16 0 0
5 QUEUE 16 0 0
6 SEIZE 16 0 0
7 DEPART 16 0 0
8 ADVANCE 16 1 0
9 RELEASE 15 0 0
10 QUEUE 15 0 0
11 SEIZE 15 0 0
12 DEPART 15 0 0
13 ADVANCE 15 1 0
14 RELEASE 14 0 0
15 TEST 14 0 0
16 TEST 14 0 0
17 SAVEVALUE 14 0 0
METTERM 18 TERMINATE 14 0 0
METBOL 19 SAVEVALUE 0 0 0
20 TEST 0 0 0
21 SAVEVALUE 0 0 0
METTERM1 22 TERMINATE 0 0 0
MET1 23 SAVEVALUE 0 0 0
24 TRANSFER 0 0 0
25 GENERATE 1 0 0
26 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KANAL1 16 0.768 4.798 1 17 0 0 0 0
KANAL2 15 0.730 4.865 1 16 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
OCH_KANAL1 1 0 16 9 0.118 0.737 1.684 0
OCH_KANAL2 1 0 15 15 0.000 0.000 0.000 0
SAVEVALUE RETRY VALUE
VREM 0 5.000
VSEGO 0 16.000
BOL 0 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
16 0 102.024 16 13 14
PVREMA2 5.000
PVREMA1 5.000
17 0 103.228 17 8 9
PVREMA1 5.000
PVREMA2 5.000
18 0 104.384 18 0 1
19 0 200.000 19 0 25
Гистограмма функции распределения
Рис 3. Очередь к первому каналу
Рис 4. Очередь ко второму каналу
Исследование устойчивости модели
Для проведения исследования устойчивости модели, я провел моделирование для двух значений времени моделирования, причем каждое последующее значение выбиралось больше предыдущего.
№1 START 100
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 10100.000 26 2 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KANAL1 1674 0.828 4.997 1 1775 0 0 0 0
KANAL2 1673 0.828 4.999 1 1774 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
OCH_KANAL1 2 0 1674 958 0.115 0.692 1.619 0
OCH_KANAL2 1 0 1673 1673 0.000 0.000 0.000 0
№2 START 200
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 30100.000 26 2 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KANAL1 5006 0.831 4.999 1 5307 0 0 0 0
KANAL2 5005 0.831 5.000 1 5306 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
OCH_KANAL1 2 0 5006 2744 0.122 0.736 1.629 0
OCH_KANAL2 1 0 5005 5005 0.000 0.000 0.000 0
При проведении исследования выявилось, что модель является надежной и устойчивой, так как результаты полученные при каждом сеансе моделирования оказались близкими по своим значениям.
Вывод
В данной курсовой работе описывается моделирование, анализ и исследование характеристик системы передачи цифровой информации.
Средства GPSS позволяют проанализировать работу, результаты деятельности любой организации, даже еще не созданной, что очень важно. Это позволяет спрогнозировать результаты деятельности создаваемой организации, дает анализ рентабельности данного проекта. Также позволяет проанализировать устойчивость модели при корректировки вносимых данных. Все это поможет избежать бесполезных затрат на реализацию не перспективных проектов, дают возможность выбрать оптимальный вариант работы СМО в зависимости от количества имеющихся каналов на входе и каналов обслуживания. Но для правильного выбора оптимальной работы модели руководителю нужно уметь выбрать из множества данной информации ту, которая заслуживает наибольшего внимания, т.е. которая является наиболее правильной и экономичной по времени, средствам и т.д. с точки зрения данного предприятия.
Список используемой литературы
В.Н. Томашевский, Е.Г. Жданова «Имитационное моделирование в среде GPSS».-М.:Бестселлер,2003.-416с.
Б.Я. Советов, С.Я. Яковлев «Моделирование систем».-М.: «Высшая школа»,2003.
В. Боев «Моделирование систем. Инструментальные средства GPSS World».-Спб.: «БХВ-Петербург»,2004.
1