ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.03.2019
Просмотров: 1000
Скачиваний: 2
СОДЕРЖАНИЕ
- среднее число находящихся в системе (на обслуживании и в очереди) заявок;
- среднюю продолжительность пребывания заявки в системе;
- среднее число находящихся в очереди заявок;
- среднюю продолжительность пребывания заявки в очереди.
-
Разработайте имитационную модель СМО в среде GPSSWorld.
-
Проведите 3 эксперимента с разработанной моделью в течение длительного времени и оцените требуемые характеристики системы.
-
Внесите рассчитанные данные в таблицу и оцените величину абсолютного отклонения характеристик СМО, рассчитанных по имитационной модели, с аналитическими расчетами.
-
Сделайте выводы о результатах работы.
Отчет о работе
Отчет о проделанной лабораторной работе должен содержать:
-
титульный лист;
-
задания и исходные данные;
-
листинги программ с комментариями;
-
сравнение результатов, полученных аналитически и на моделях;
-
выводы о проведенной работе.
ЛАБОРАТОРНАЯ РАБОТА №8
СОЗДАНИЕ КОПИЙ ТРАНЗАКТОВ И ОРГАНИЗАЦИЯ В МОДЕЛЯХ СИНХРОНИЗАЦИИ ДВИЖЕНИЯ ТРАНЗАКТОВ
Цель работы: изучение блоков, обеспечивающих формирование и взаимодействие ансамблей и групп транзактов.
Краткие
теоретические сведения
Кроме блока GENERATEдля создания транзактов используется блок SPLIT (расщепить). Но, в отличие от GENERATE, блок SPLIT не создает самостоятельных транзактов, а лишь генерирует заданное число копий входящего в него транзакта – порождающего. Блок SPLITимеет следующий формат:
SPLIT А,В,С
Операнд А – число создаваемых копий одного семейства. Он может быть именем, натуральным числом, выражением в скобках, стандартным числовым атрибутом. Все копии формируются в момент входа порождающего транзакта в блок SPLIT.
Операнд В – метка блока, к которому переходят копии порождающего транзакта. После прохождения блока SPLITпорождающий транзакт направляется в следующий блок, а все копии направляются по адресу, указанному операндом В (в том числе и к следующему блоку, если операнд В не указан).
Операндом С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров. Если операнд С не используется, по умолчанию номеров выходящих из блока SPLITтранзактов в их параметрах нет.
Операнды В и С могут быть такими же, как и операнд А.
Приведем пример:
SPLIT 7,Меt,5
создает при входе порождающего транзакта 7 копий, которые направляются к блоку с меткой Меt. Каждая копия имеет тот же приоритет, время входа в модель и значения параметров, что и порождающий транзакт, за исключением параметра номер 5. В параметр номер 5 каждой очередной копии будет записан порядковый номер. Этот номер зависит от значения параметра 5 порождающего транзакта
Если параметр номер 5 порождающеготранзакта не определен заранее, он будет создан, и ему будет присвоено значение 0.В этом случае после выхода из блока SPLIT в параметр номер 5 порождающего транзакта будет записана 1, а в параметр номер 5 копий 2, 3, …, 8.
Если же параметр номер 5 порождающего транзакта определен заранее и его значение равно k,то в параметре номер 5 порождающего транзакта и его копий после выхода из блока SPLIT будут записаны k+1, k+2, k+3, …, k+8.
Блок ASSEMBLE(объединить) используется для объединения заданного числа транзактов, принадлежащих одному семейству, в один транзакт (т.е. осуществляет сборку заданного числа транзактов). После сборки из блока ASSEMBLE выходит только один транзакт, который входит в следующий по порядку блок. Блок ASSEMBLE имеет следующий формат:
ASSEMBLE А
Операнд А – число транзактов одного семейства, участвующих в сборке. Может быть натуральным числом, выражением в скобках, стандартным числовым атрибутом.
В одном и том же ASSEMBLE возможна одновременная сборка транзактов нескольких семейств. Так как сборка длится в течение какого-то промежутка модельного времени, блок ASSEMBLE имеет список синхронизации. В список синхронизации помещаются первые вошедшие в блок ASSEMBLEтранзакты каждого собираемого семейства. Они ожидают прихода транзактов своих семейств.
Например:
ASSEMBLE9
собирает 9транзактов одного семейства, 8 уничтожаются, один переходит в следующий блок.
Блок GATHER (собирать) предназначен для сроба заданного количества транзактов одного семейства, движущихся по одному и тому же пути. Отличие блока GATHER от блока ASSEMBLE состоит в том, что в нем транзакты не уничтожаются, а после сбора все направляются к следующему блоку.
Формат блока:
GATHER А
Операнд А задает число транзактов, принадлежащих одному семейству, которые нужно собрать при их движении по одному пути. Операнд может быть именем, натуральным числом, выражением в скобках, стандартным числовым атрибутом.
Блок GATHER также может одновременно производить сбор транзактов нескольких семейств и также имеет список синхронизации.
Блок MATCH(синхронизировать) предназначен для синхронизации движения транзактов одного семейства, продвигающихся по разным путям. Для синхронизации необходимы два блока MATCH, находящихся в соответствующих местах модели и называемых сопряженными.
Форматблока:
Name MATCH A
ОперандомА каждого блока MATCH указывается метка сопряженного ему блока. Первый транзакт, достигнув блока MATCH, задерживается в нем до тех пор, пока другой транзактсемейства достигнет сопряженного блока MATCH, указанного в поле А. Во время задержки поступивший транзакт помещается в список синхронизации. При поступлении другого транзакта в сопряженный блок MATCH оба транзакта будут исключены из списка синхронизации и одновременно будут пропущены в следующие за блоками MATCH блоки.
Приведем пример:
…
…
…
…
…
При входе транзактав блок MATCHc именем Wait1 он будет ожидать момента, когда другой транзакт того же семейства войдет в блок MATCH с именем Wait2. Только после этого оба транзакта выйдут одновременно из блоков MATCH.
Задание к работе
1. В порту естьКбригад для обслуживания контейнеровозов. Интервалы времени между прибытиями судов подчинены экспоненциальному закону со средним значением τ1часов. Количество контейнеров на судне распределено по биномиальному закону с параметрами n и р. Время обработки (разгрузки и загрузки) одного контейнера одной бригадой распределено по экспоненциальному закону со средним значением τ2мин. После обработки контейнеры вновь собираются на том же судне. Построить модель функционирования порта в течение N суток с целью определения коэффициента загрузки бригад.
Варианты заданий приведены в табл. 13.
Таблица 13
Вариант |
К |
n |
р |
τ1 |
τ2 |
N |
1 |
4 |
40 |
0,7 |
5 |
25 |
10 |
2 |
3 |
25 |
0,8 |
6 |
30 |
15 |
3 |
2 |
30 |
0,6 |
8 |
20 |
7 |
4 |
3 |
20 |
0,9 |
7 |
28 |
14 |
5 |
4 |
45 |
0,6 |
4 |
22 |
30 |
Пример выполнения задания 1
В мастерской, в которой работают 4 специалиста, производится ремонт приборов путем замены неисправных блоков исправными. Интервалы времени поступления приборов в мастерскую подчинены экспоненциальному закону со средним значением 4 часов. Количество неисправных блоков в приборе распределено по дискретно-равномерному закону на отрезке [15; 25]. Время замены одного блока распределено по экспоненциальному закону со средним значением 25 мин. После замены всех неисправных блоков прибор тестируется в течение 5 мин и направляется на склад.
Построить модель функционирования мастерской в течение 5 суток с целью определения коэффициента загрузки специалистов.
* Время измеряется в минутах
Sp STORAGE 4; число специалистов
GENERATE (Exponential(4,0,240));поступлениеприборов
ASSIGN 1,(DUniform(57,15,25));розыгрышчисла
;неисправных приборов
SPLIT (P1-1); выделение неисправных блоков
QUEUE Qsp; занять очередь
ENTER Sp; занять специалиста
DEPART Qsp; покинуть очередь
ADVANCE (Exponential(4,0,25)); замена блока
LEAVE Sp; освободить специалиста
ASSEMBLE P1; сборка прибора
ADVANCE 5; тестирование прибора
TERMINATE ; прибор направлен на склад
* Сегмент таймера
GENERATE 7200; моделирование в течение 5 суток
TERMINATE 1
START 1
2.В порту есть 2бригады для обслуживания контейнеровозов. Интервалы времени между прибытиями судов подчинены экспоненциальному закону со средним значением τ1 часов. Количество контейнеров на суднераспределено по биномиальному закону с параметрами n и р. При поступлении судна первой бригадой производится разгрузка всех контейнеров, и только потом осуществляется их загрузка второй бригадой. Время разгрузки контейнера время его загрузки распределены по экспоненциальному закону. Среднее время разгрузки равно τ2 мин, а среднее время загрузки – τ3 мин. После обработки контейнеры вновь собираются на том же судне. Построить модель функционирования порта в течение N суток с целью определения коэффициента загрузки бригад.
Варианты заданий приведены в табл. 14.
Таблица 14
Вариант |
n |
р |
τ1 |
τ2 |
τ3 |
N |
6 |
25 |
0,8 |
8 |
20 |
15 |
5 |
7 |
40 |
0,5 |
7 |
15 |
20 |
10 |
8 |
30 |
0,6 |
4 |
10 |
15 |
15 |
9 |
45 |
0,4 |
5 |
15 |
10 |
20 |
10 |
35 |
0,6 |
6 |
25 |
20 |
25 |
Пример выполнения задания 2
Документы поступают в бюро переводов в соответствии с пуассоновским законом распределения со средней интенсивностью 6 документов за сутки. Количество страниц в одном документе распределено по нормальному закону со средним значением 18 и средним квадратическим отклонением 3. При поступлении документа переводчиком осуществляется перевод на иностранный язык всего текста и только потом выполняется машинисткой набор этого документа на иностранном языке. Время перевода страницы текста и время ее набора машинисткой распределены по экспоненциальному закону со средним значением 15 и 10 мин соответственно. Построить модель функционирования бюро в течение 150 часов и определить коэффициенты загрузки переводчика и машинистки.
* Время измеряется в минутах
GENERATE (Exponential(7,0,240));поступление текстов
ASSIGN 1,(Normal(27,18,3)); розыгрыш числа страниц
SPLIT (P1-1);транзакты - страницы для перевода
SEIZE Per; занятьпереводчика
ADVANCE (Exponential(27,0,15)); перевод
RELEASE Per;освободить переводчика
GATHER P1;собрать переведенные страницы
SEIZE Mas;занять машинистку
ADVANCE (Exponential(27,0,10));набор текста
RELEASE Mas;освободить машинистку
ASSEMBLE P1;собрать документ
TERMINATE ;один документ готов
GENERATE 9000
TERMINATE 1
START 1
3. На регулировочный участок цеха, где работают две бригады специалистов, через каждые τ1±τ2поступают изделия. Первичная регулировка изделия выполняется специалистами обеих бригад параллельно в течение τ3±τ4 и τ5±τ6 минсоответственно. После этого производится в течение 5 мин тестирование изделия. Окончательная регулировка изделия также производится обеими бригадами параллельно в течение τ7±τ8 и τ9±τ10 минсоответственно. Затем в отделе технического контроля проводится приемка изделия, которая занимает τ11±τ12мин. Необходимо смоделировать регулировку 500 изделий и определить коэффициенты занятости бригад и отдела контроля.
Варианты заданий приведены в табл. 15.
Таблица 15
Вариант |
τ1± τ2 |
τ3± τ4 |
τ5±τ6 |
τ7±τ8 |
τ9±τ10 |
τ11±τ12 |
11 |
190±20 |
80±12 |
70±10 |
30±5 |
40±6 |
60±8 |
12 |
180±15 |
78±10 |
67±8 |
28±4 |
38±5 |
55±7 |
13 |
170±12 |
75±9 |
65±7 |
26±4 |
36±6 |
50±6 |
14 |
200±23 |
90±15 |
80±12 |
33±6 |
44±8 |
65±10 |
15 |
195±18 |
85±14 |
75±11 |
32±6 |
42±7 |
63±9 |
16 |
185±16 |
79±13 |
68±9 |
29±5 |
39±6 |
62±9 |
17 |
175±14 |
76±10 |
66±7 |
27±4 |
37±6 |
56±7 |
18 |
205±25 |
95±17 |
85±13 |
35±7 |
46±9 |
67±11 |
19 |
165±10 |
70±8 |
60±6 |
25±4 |
35±7 |
49±6 |
20 |
210±28 |
97±18 |
88±14 |
37±8 |
48±10 |
70±12 |
Пример выполнения задания 3
Техническое обслуживание автомобиля производят в два этапа два специалиста. Первый этап выполняется обоими специалистами параллельно со средним временем соответственно 80 и 70 мин. После первого этапа производится уточнение мероприятий по техническому обслуживанию в течение 7 мин. После уточнения обоими специалистами параллельно выполняется второй этап со средним временем 30 и 40 мин соответственно. Затем третий специалист производит комплексную проверку автомобиля со средним временем 60 мин. Продолжительности выполнения всех видов работ подчиняются экспоненциальному закону. Автомобили поступают на техническое обслуживание каждые 210±30 мин.
Построить модель технического обслуживания 500 автомобилей и определить коэффициент загрузки каждого специалиста.
* Время измеряется в минутах
GENERATE 210,30; поступление автомобилей
SPLIT 1,Spe2; разделение на 2 транзакта
SEIZE Sp1; занять 1-го специалиста
ADVANCE (Exponential(52,0,80));1 этапобслуживания
Wt1MATCH Wt2; уточнение мероприятий
ADVANCE 7; по техобслуживанию
ADVANCE (Exponential(52,0,30));2 этапобслуживания
RELEASE Sp1; освободить 1-госпециалиста
TRANSFER ,Spe3
Spe2SEIZE Sp2; занять 2-го специалиста
ADVANCE (Exponential(52,0,70)); 1 этап обслуживания
Wt2 MATCH Wt1; уточнение мероприятий
ADVANCE 7; по техобслуживанию
ADVANCE (Exponential(52,0,40)); 2 этап обслуживания
RELEASE Sp2; освободить 2-го специалиста
Spe3 ASSEMBLE 2; передача авто 3-му специалисту
SEIZE Sp3; занять 3-го специалиста
ADVANCE (Exponential(52,0,60));комплексная проверка
RELEASESp3; освободить 3-го специалиста
TERMINATE 1; техобслуживание автомобиля закончено
START 500
Порядок выполнения работы
-
Выберите параметры системы из соответствующей таблицы согласно вашему варианту.
-
Разработайте имитационную модель СМО в среде GPSSWorld.
-
Проведите 3 эксперимента с разработанной моделью и оцените требуемые характеристики системы.
-
Сделайте выводы о результатах работы.
Отчет о работе
Отчет о проделанной лабораторной работе должен содержать:
-
титульный лист;
-
задания и исходные данные;
-
листинги программ с комментариями;
-
распечатку стандартного отчета (объекта «Отчет»);
-
выводы о проведенной работе.
ПРИЛОЖЕНИЕ 1
Системные числовые атрибуты
Системные числовые атрибуты являются переменными состояния процесса моделирования и доступны для использования в течение всего процесса моделирования. Они возвращают числовые или строковые значения и могут быть применимы в операндах операторов GPSS и выражениях.
Часть СЧА поддерживаются автоматически, другие требуют вычисления после их вызова. Например, как СЧА доступен счетчик количества входа транзактов в блок. Всего существует свыше 50 СЧА.
Ниже перечисленные системные числовые атрибуты допустимы для использования в операндах и выражениях команд и операторов. Во всех случаях Еntпит необходимо заменять одним из спецификаторов объектов. Это может быть имя (перед именем должен стоять символ «$») или номер.