Скачать

Создание имитационной модели

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

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

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

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

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

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

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

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

GATE LS K1; ожидание готовности оператора

TRANSFER ,MET1

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

ADVANCE 10,5

RELEASE OP1

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

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

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

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

ADVANCE 5

RELEASE T1

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

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

LOGIC S K1; разрешение набора строки

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

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

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

ASSIGN OBS,10

ASSIGN DOBS,3

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

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

ADVANCE 8

RELEASE T1

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

ADVANCE 30

RELEASE OP1

LOGIC S K1; разрешение набора строки

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

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

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

ADVANCE P$OBS,P$DOBS

RETURN E1

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

TEST E P$NT,1,OBR02

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

OBR02TEST E P$NT,2,OBR03

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

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

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

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

OBR12TEST E P$NT,2,OBR13

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

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

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

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

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

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

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

GATE LS K2; ожидание готовности оператора

TRANSFER ,MET20

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

ADVANCE 10,5

RELEASE OP2

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

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

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

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

ADVANCE 5

RELEASE T2

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

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

LOGIC S K2; разрешение набора строки

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

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

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

ASSIGN OBS,10

ASSIGN DOBS,3

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

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

ADVANCE 8

RELEASE T2

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

ADVANCE 30

RELEASE OP2

LOGIC S K2; разрешение набора строки

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

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

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

GATE LS K3; ожидание готовности оператора

TRANSFER ,MET3

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

ADVANCE 10,5

RELEASE OP3

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

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

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

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

ADVANCE 5

RELEASE T3

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

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

LOGIC S K3; разрешение набора строки

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

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

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

ASSIGN OBS,10

ASSIGN DOBS,3

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

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

ADVANCE 8

RELEASE T3

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

ADVANCE 30

RELEASE OP3

LOGIC S K3; разрешение набора строки

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