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

Посмотреть архив целиком













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

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


Введение


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

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

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

Блоки в GPSS подразделяются на три типа:

  • выполняемые, через которые проходят транзакты;

  • описательные, на этапе выполнения отсутствуют;

  • управляющие работой системы GPSS;

Комментарий записывается через пробел за операндами или целой строкой со звездочкой в первой позиции. В качестве операндов могут быть использованы стандартные числовые и логические атрибуты.

  1. Породить Транзакт


GENERATE

Среднее_значение_времени_между_транзактами[,Отклонение_от_среднего][,Время_до_первого_транзакта],Количество_порождаемых_транзактов][,Приоритет_транзактов][,Количество_параметров_транзакта][,F|H]. Среднее значение времени по умолчанию

1. Отклонение по умолчанию

0.Время до первого транзакта вычисляется на основании первых двух аргументов. Если оно равно 0, то приравнивается

1. Значение приоритета в интервале от 0 до 127. По умолчанию 0. Значение количества параметров в интервале от 0 до 100. По умолчанию 12. По смыслу блока транзакты не должны входить в GENERATE.

  1. Присвоить начальное значение

Описательный блок

INITIAL XНомер_хранимого_значения,

Значениеконстанта

INITIAL XHНомер_хранимого_значения,

Значениеконстанта

INITIAL X$Имя_хранимого_значения,

Значениеконстанта

Пример: INITIAL X4,17

INITIAL X$RATE,19

  1. Отметить транзакт в очереди

[Метка] QUEUE Имя_очереди[,Число_прибавляемое_

к_длине_очереди]

  1. Освободить устройство

[Метка] RELEASE Устройство

Пример: RELEASE IBM5

  1. Сохранить значение

[Метка] SAVEVALUE Номер_хранимого_значения[+|],

Значение

Пример: SAVEVALUE 3+,P2

  1. Занять без приоритета устройство

[Метка] SEIZE Устройство

Пример: SEIZE IBM5

  1. Сравнить значения

[Метка] TEST Операция Первый_операнд,Второй_операнд,

[Метка_передачи_транзакта]

Операция > E|NE|GE|LE|G|L

Пример: TEST E P1,3,BRAK

  1. Уничтожить транзакт

[Метка] TERMINATE [Значение_вычитаемое_из_

счетчика_в_START]

Пример: TERMINATE 1

  1. Задержать транзакт

[Метка] ADVANCE Среднее_значение_задержки

[,Отклонение_от_среднего]

Пример: ADVANCE 37,7

  1. Присвоение параметру транзакта значения

[Метка] ASSIGN Номер_параметра_транзакта,Значение

Пример: ASSIGN 3,1

  1. Описать булевскую переменную

Имя_переменной BVARIABLE Логическое_выражение

Пример: BOOL1 BVARIABLE SE3 + LR7

  1. Покинуть очередь

[Метка] DEPART

Имя_очереди[,Количество_единиц]

Пример: DEPART QTOWRK

  1. Направить транзакт на другую часть модели [Метка] TRANSFER|BOTH| Вероятность Метка1[,Метка2]

Пример: TRANSFER ,LABL2

  1. Начать моделирование

Описательный блок.

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


Гистограмма функции распределения


Случайные файлы

Файл
83742.rtf
71442-1.rtf
91250.rtf
Java99-1.doc
103154.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.