Задача 4

Смоделировать обслуживание 100 заявок, при одном и двух прогонах программы, которые поступают на обслуживание каждые 4±3 мин. Обработка заявок может осуществляться четырьмя каналами с равной вероятностью и временем обслуживания 12±2 мин, 7±2 мин, 10±2 мин, 13±2 мин соответственно. Проанализируйте полученные результаты.

Лабораторная работа №3
Обработка транзактов, принадлежащих одному семейству

Цель работы: научиться генерировать транзакты, принадлежащих одному или разным семействам.

Задачи: ознакомиться с основными операторами генерации транзактов одного семейства, реализовать представленные примеры, сгенерировать отчет и проанализировать его.

Блок SPLIT выполняет функцию копирования транзакта, входящего в него, самостоятельно создавать транзакты он не может. При этом входящий транзакт называют транзактом-родителем, а копию – транзактом-потомком. Каждый транзакт-потомок становится членом семейства транзактов, порожденных одним транзактом-родителем. Формат блока:

SPLIT <А>, <B>, <С>

Операнд А указывает число создаваемых копий транзакта. Операнд B - метка блока, куда отправляются копии. В операнде С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров.

Блок ASSEMBLE объединяет определенное количество транзактов, после чего из него выходит один транзакт, а все остальные уничтожаются. Т.о., этот блок осуществляет сборку заданного числа транзактов. Он имеет следующий формат:

ASSEMBLE <А>

Поле А объединяет заданное число транзактов, принадлежащих к одному семейству, в один транзакт, который переходит в следующий по номеру блок.

Пример 6. В цех поступают детали по равномерному закону в интервале 5±2 мин. Обработка деталей, поступивших на первую сортировку, осуществляется также по равномерному закону в интервале от 4 до 8 мин. Далее рассортированные детали проходят параллельную обработку с еще одним этапом сортировки, т.е. формируется новая деталь, состоящая из двух исходных. После обработки новые детали собираются в одном помещении. Смоделировать работу цеха по обработке 100 деталей.

Листинг программы примера 6:

generate 5,2,,100

split 1,obr1det

seize 1

advance 6,2

release 1

transfer,out

obr1det split 1, obr2det

seize 2

advance 6,2

release 2

transfer,out

obr2det seize 3

advance 6,2

release 3

out assemble 3

terminate 1

start 100

Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.

Блок GATHER осуществляет накопление транзактов одного и того же семейства, с последующей попыткой одновременной передачи их к следующему блоку. Формат блока:

GATHER <А>

Операнд А задает число транзактов, которое необходимо накопить.

Пример 7. На участок сборки подшипников поступает 100 деталей с интервалом времени от 21 до 29 мин. Одна деталь состоит из 1 обоймы и 8 шариков. На контроль обоймы затрачивается от 3 до 5 мин; контроль шариков осуществляется последовательно от 1 до 3 мин на шарик. Операция сборки требует одновременного поступления обоймы и 8 шариков и производится от 2 до 6 мин. Все процессы подчиняются равномерному закону. Смоделировать процесс прохождение 100 деталей на производственном участке сборочного цеха.

Листинг программы примера 7:

detal generate 25,4,,100

split 8,shar

oboima seize 1

advance 4,1

release 1

transfer,soed

shar seize 2

advance 2,1

release 2

gather 8

soed assemble 9

podsh seize 3

advance 4,2

release 3

terminate 1

start 100

Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.

С помощью блока MATCH осуществляется синхронизация продвижения транзактов по модели с другим блоком MATCH.

Пример 8. Детали на участок поступают с интервалом времени 300±50 мин, их обрабатывают двое рабочих. После завершения операции обработки, выполняемой 1-м рабочим со временем 90 мин и 2-м со временем 60, осуществляется операция сверки, время выполнения которой принимается равной нулю. Затем 3-й рабочий производит сборку изделия из этих деталей со временем 40 мин. Сборка начинается только после поступления всех деталей. Смоделировать процесс прохождения 100 деталей.

Листинг программы примера 8:

detal generate 300,50

split 1,rab2

rab1 seize 1

advance 90

qq1 match qq2

release 1

transfer,soed

rab2 seize 2

advance 60

qq2 match qq1

release 2

soed assemble 2

rab3 seize 3

advance 40

release 3

terminate 1

start 100

Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы. Смоделируйте пример 7 без условия синхронизации.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: