Курсовая работа: Создание имитационной модели

Название: Создание имитационной модели
Раздел: Рефераты по экономико-математическому моделированию
Тип: курсовая работа

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

МЕЖДУНАРОДНЫЙ ИНСТИТУТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ СИСТЕМ

Кафедра информатики и вычислительной техники

КУРСОВОЙ ПРОЕКТ

по дисциплине «Моделирование»

Тема: «Создание имитационной модели»

2010


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

МЕЖДУНАРОДНЫЙ ИНСТИТУТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ СИСТЕМ

Кафедра информатики и вычислительной техники

Задание на курсовой проект

по дисциплине «Моделирование»

Вариант 19

Система автоматизированного проектирования состоит из ЭВМ и трёх терминалов. Каждый проектировщик формирует задание на расчет в интерактивном режиме. Набор строки занимает 10±5 с. Получение ответа на строку требует 3 с работы ЭВМ и 5 с работы терминала. После набора 10 строк задание считается сформированным и поступает на решение, при этом в течение 10±3 с ЭВМ прекращает выработку ответов на вводимые строки. Вывод результата требует 8 с работы терминала. Анализ результата занимает у проектировщика 30 с, после чего цикл повторяется.

Смоделировать работу системы в течении 6 часов. Определить время простоя проектировщика из-за занятости ЭВМ и коэффициент загрузки ЭВМ.

2010


Содержание

Введение

1. Функциональная схема модели

2. Блок-диаграмма модели

3. Программа модели

4. Отчет о результатах моделирования

5. Вывод

Заключение

Список литературы


Введение

Моделирование − это способ исследования реального процесса или объекта с помощью его заменителя (модели). Модель должна отражать те свойства объекта или процесса, которые важны для исследования.

Моделирование на ЭВМ представляет собой создание программы, описывающей поведение модели и позволяющей увидеть результаты исследования.

Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является язык GPSS. Он может быть использован для моделирования систем, формализуемых в виде систем массового обслуживания (СМО). В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. На ПК типа IBM/PC язык GPSS реализован в рамках пакета прикладных программ «GPSS PC» и «GPSS World».

Данный курсовой проект выполнен с помощью программы GPSS World 4.3.5.0


1. Функциональная схема модели

На функциональной схеме представлены основные блоки модели и маршруты транзактов между ними. Модель содержит следующие устройства: 3 оператора, 3 терминала и одну ЭВМ. Порядок взаимодействия оператора и терминала с соответствующим номером, также пары «оператор-терминал» с ЭВМ аналогичен для всех трёх терминалов.

2. Блок-диаграмма модели

NT − номер транзакта, соответствует номеру оператора и терминала

PR − приоритет транзакта (разный для строки и для задачи)

OBS − время обслуживания

DOBS − модификатор времени обслуживания

K1 − логический переключатель, разрешающий прохождение транзакта для оператора 1 (K2, K3 – для оператора 2, 3 соответственно)

OP1 − оператор 1 (OP2, OP3 − операторы 2, 3 соответственно)

T1 − терминал 1 (T2, T3 − терминалы 2, 3 соответственно)

E1 − ЭВМ

SB1 − счётчик строк, набранных оператором 1 (SB2, SB3 − то же для операторов 2, 3 соответственно)

3. Программа модели

GENERATE 1,,,1

ASSIGNNT,0; номер проектировщика или терминала

SPLIT 2,MET2,NT; размножили с индивидуальными номерами

; начало для оператора 1

MET1SPLIT 1,MET11; начало формирования строки

LOGICRK1; K1=0 - к набору новой строки не готов

GATELSK1; ожидание готовности оператора

TRANSFER ,MET1

MET11SEIZE OP1; наборстрокиоператором

ADVANCE 10,5

RELEASEOP1

ASSIGNOBS,3; время ответа от ЭВМ

ASSIGNDOBS,0; отклонение времени ответа

TRANSFER ,EVM; отсылка строки на ЭВМ

MET12SEIZET1; ответ терминала на строку

ADVANCE 5

RELEASE T1

SAVEVALUESB1+,1; счётчик строк

TESTNEX$SB1,10,MET13; проверка готовности задания

LOGICSK1; разрешение набора строки

MET13ASSEMBLE 10; накапливание 10 строк

SAVEVALUESB1,0; обнуление счётчика строк

PRIORITY 1; приоритет задачи выше, чем у строки

ASSIGN OBS,10

ASSIGN DOBS,3

TRANSFER ,EVM; отсылка задачи на ЭВМ

MET14SEIZET1; выдача результата терминалом

ADVANCE 8

RELEASET1

SEIZEOP1; анализ результата оператором

ADVANCE 30

RELEASE OP1

LOGICSK1; разрешение набора строки

TERMINATE; конец обработки задачи

; начало обработки на ЭВМ

EVMPREEMPTE1,PR,,OBS; обработка на ЭВМ строки или задачи

ADVANCE P$OBS,P$DOBS

RETURN E1

TESTEPR,0,OBR10; возврат строк (задачи идут к OBR10)

TESTEP$NT,1,OBR02

TRANSFER ,MET12; возврат строки терминалу 1

OBR02TESTEP$NT,2,OBR03

TRANSFER ,MET22; возврат строки терминалу 2

OBR03TRANSFER,MET32; возврат строки терминалу 3

OBR10TESTEP$NT,1,OBR12; возврат решённых задач

TRANSFER ,MET14; возврат решения терминалу 1

OBR12TESTEP$NT,2,OBR13

TRANSFER ,MET24; возврат решения терминалу 2

OBR13TRANSFER ,MET34; возврат решения терминалу 3

; конец обработки на ЭВМ

MET2TESTEP$NT,2,MET3; пропустить 2-й транзакт, 3-й - на MET3

; начало для оператора 2

MET20SPLIT 1,MET21; начало формирования строк

LOGICRK2; K2=0 - к набору новой строки не готов

GATELSK2; ожидание готовности оператора

TRANSFER ,MET20

MET21SEIZE OP2; наборстрокиоператором

ADVANCE 10,5

RELEASEOP2

ASSIGNOBS,3; время ответа от ЭВМ

ASSIGNDOBS,0; отклонение времени ответа

TRANSFER ,EVM; отсылка строки на ЭВМ

MET22SEIZET2; ответ терминала на строку

ADVANCE 5

RELEASE T2

SAVEVALUESB2+,1; счётчик строк

TESTNEX$SB2,10,MET23; проверка готовности задания

LOGICSK2; разрешение набора строки

MET23ASSEMBLE 10; накапливание 10 строк

SAVEVALUESB2,0; обнуление счётчика строк

PRIORITY 1; приоритет задачи выше, чем у строки

ASSIGN OBS,10

ASSIGN DOBS,3

TRANSFER ,EVM; отсылка задачи на ЭВМ

MET24SEIZET2; выдача результата терминалом

ADVANCE 8

RELEASET2

SEIZEOP2; анализ результата оператором

ADVANCE 30

RELEASE OP2

LOGICSK2; разрешение набора строки

TERMINATE; конец обработки задачи; начало для оператора 3

MET3SPLIT 1,MET31; начало формирования строк

LOGICRK3; K3=0 - к набору новой строки не готов

GATELSK3; ожидание готовности оператора

TRANSFER ,MET3

MET31SEIZE OP3; наборстрокиоператором

ADVANCE 10,5

RELEASEOP3

ASSIGNOBS,3; время ответа от ЭВМ

ASSIGNDOBS,0; отклонение времени ответа

TRANSFER ,EVM; отсылка строки на ЭВМ

MET32SEIZET3; ответ терминала на строку

ADVANCE 5

RELEASE T3

SAVEVALUESB3+,1; счётчик строк

TESTNEX$SB3,10,MET33; проверка готовности задания

LOGICSK3; разрешение набора строки

MET33ASSEMBLE 10; накапливание 10 строк

SAVEVALUESB3,0; обнуление счётчика строк

PRIORITY 1; приоритет задачи выше, чем у строки

ASSIGN OBS,10

ASSIGN DOBS,3

TRANSFER ,EVM; отсылка задачи на ЭВМ

MET34SEIZET3; выдача результата терминалом

ADVANCE 8

RELEASET3

SEIZEOP3; анализ результата оператором

ADVANCE 30

RELEASE OP3

LOGICSK3; разрешение набора строки

TERMINATE; конец обработки задачи

GENERATE 21600; 6 часов

TERMINATE 1

START 1

4. Отчет о результатах моделирования

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

Требуемые данные о работе проектировщиков и ЭВМ можно получить из второй таблицы (FACILITY). Видно, что 1-й оператор был занят в течение 0.531 времени моделирования, 2-й − в течение 0.539, 3-й − в течении 0.538 , а ЭВМ работала 0.500 времени моделирования.

Время простоя проектировщиков определим так: Тпр =6*(1-Траб )

1-й: 2,814 ч

2-й: 2,776 ч

3-й: 2,772 ч

Коэффициент загрузки ЭВМ: 0,5

GPSS World Simulation Report - Kursovoj.36.5

Thursday, February 04, 2010 09:24:05

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 21600.000 110 7 0

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 1 0 0

2 ASSIGN 1 0 0

3 SPLIT 1 0 0

MET1 4 SPLIT 893 0 0

5 LOGIC 893 1 0

6 GATE 892 0 0

7 TRANSFER 892 0 0

MET11 8 SEIZE 893 0 0

9 ADVANCE 893 0 0

10 RELEASE 893 0 0

11 ASSIGN 893 0 0

12 ASSIGN 893 0 0

13 TRANSFER 893 1 0

MET12 14 SEIZE 892 0 0

15 ADVANCE 892 0 0

16 RELEASE 892 0 0

17 SAVEVALUE 892 0 0

18 TEST 892 0 0

19 LOGIC 803 0 0

MET13 20 ASSEMBLE 892 1 0

21 SAVEVALUE 89 0 0

22 PRIORITY 89 0 0

23 ASSIGN 89 0 0

24 ASSIGN 89 0 0

25 TRANSFER 89 0 0

MET14 26 SEIZE 89 0 0

27 ADVANCE 89 0 0

28 RELEASE 89 0 0

29 SEIZE 89 0 0

30 ADVANCE 89 0 0

31 RELEASE 89 0 0

32 LOGIC 89 0 0

33 TERMINATE 89 0 0

EVM 34 PREEMPT 2954 0 0

35 ADVANCE 2954 1 0

36 RETURN 2953 0 0

37 TEST 2953 0 0

38 TEST 2686 0 0

39 TRANSFER 892 0 0

OBR02 40 TEST 1794 0 0

41 TRANSFER 894 0 0

OBR03 42 TRANSFER 900 0 0

OBR10 43 TEST 267 0 0

44 TRANSFER 89 0 0

OBR12 45 TEST 178 0 0

46 TRANSFER 89 0 0

OBR13 47 TRANSFER 89 0 0

MET2 48 TEST 2 0 0

MET20 49 SPLIT 895 0 0

50 LOGIC 895 1 0

51 GATE 894 0 0

52 TRANSFER 894 0 0

MET21 53 SEIZE 895 0 0

54 ADVANCE 895 1 0

55 RELEASE 894 0 0

56 ASSIGN 894 0 0

57 ASSIGN 894 0 0

58 TRANSFER 894 0 0

MET22 59 SEIZE 894 0 0

60 ADVANCE 894 0 0

61 RELEASE 894 0 0

62 SAVEVALUE 894 0 0

63 TEST 894 0 0

64 LOGIC 805 0 0

MET23 65 ASSEMBLE 894 1 0

66 SAVEVALUE 89 0 0

67 PRIORITY 89 0 0

68 ASSIGN 89 0 0

69 ASSIGN 89 0 0

70 TRANSFER 89 0 0

MET24 71 SEIZE 89 0 0

72 ADVANCE 89 0 0

73 RELEASE 89 0 0

74 SEIZE 89 0 0

75 ADVANCE 89 0 0

76 RELEASE 89 0 0

77 LOGIC 89 0 0

78 TERMINATE 89 0 0

MET3 79 SPLIT 900 0 0

80 LOGIC 900 1 0

81 GATE 899 0 0

82 TRANSFER 899 0 0

MET31 83 SEIZE 900 0 0

84 ADVANCE 900 0 0

85 RELEASE 900 0 0

86 ASSIGN 900 0 0

87 ASSIGN 900 0 0

88 TRANSFER 900 0 0

MET32 89 SEIZE 900 0 0

90 ADVANCE 900 0 0

91 RELEASE 900 0 0

92 SAVEVALUE 900 0 0

93 TEST 900 0 0

94 LOGIC 810 0 0

MET33 95 ASSEMBLE 900 0 0

96 SAVEVALUE 90 0 0

97 PRIORITY 90 0 0

98 ASSIGN 90 0 0

99 ASSIGN 90 0 0

100 TRANSFER 90 0 0

MET34 101 SEIZE 89 0 0

102 ADVANCE 89 0 0

103 RELEASE 89 0 0

104 SEIZE 89 0 0

105 ADVANCE 89 0 0

106 RELEASE 89 0 0

107 LOGIC 89 0 0

108 TERMINATE 89 0 0

109 GENERATE 1 0 0

110 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

OP1 982 0.531 11.673 1 0 0 0 0 0

OP2 984 0.539 11.824 1 2692 0 0 0 0

OP3 989 0.538 11.748 1 0 0 0 0 0

E1 2954 0.500 3.654 1 2665 0 0 0 1

T2 983 0.240 5.272 1 0 0 0 0 0

T1 981 0.239 5.272 1 0 0 0 0 0

T3 989 0.241 5.270 1 0 0 0 0 0


5. Вывод

Результаты моделирования данной системы показывают, что при значительном простое проектировщиков ЭВМ загружена лишь наполовину, а терминалы простаивают более ¾ времени. Следовательно, повышения производительности можно добиться тремя способами:

1)Увеличением производительности ЭВМ. Производительность повысится за счёт сокращения времени простоя проектировщиков.

2) Увеличением числа терминалов, чтобы максимально загрузить ЭВМ. Поскольку ЭВМ простаивает из-за медленной работы проектировщиков и терминалов, то время простоя проектировщиков при таком решении увеличится незначительно. Суммарная же их производительность будет существенно выше.

3) Увеличением быстродействия терминалов. Наименее эффективный способ, поскольку терминалы наименее загружены.

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


Заключение

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


Список литературы

1. Анализ и оптимизация вычислительных систем: учебное пособие. С. А. Олейникова − Воронеж, МИКТ, 2006

2. Интернет: «Помощь по языку GPSS» − http://www.simulation.kiev.ua