Имитационное моделирование

КУРСОВАЯ РАБОТА

Имитационное моделирование


Введение



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

Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык 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