Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: "Создание имитационных моделей и изучение их свойств и характеристик"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.07.2012
Размер файла 4,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Рисунок 33. Открыть

Для выхода из программы необходимо нажать кнопку , или File->Exit, после чего приложение закроется.

4. Сообщения оператору

В данной программе предусмотрены стандартные для данной версии GPSS World сообщения оператору, которые отображаются в окне журнала событий с указанием номеров строк, текста этих строк и описанием ошибки. Пример таких ошибок продемонстрирован выше (рис 30).

5. Экспериментальная часть

5.1 Программа и методика испытаний

1. Объект испытаний

Объектом испытаний является созданная в результате выполнения одного из заданий из лабораторной работы программа - «моделирование работы автозаправочной станции», по дисциплине «Компьютерное моделирование», так как все задания однотипные будем проводить тестирование только для этой программы из лабораторной работы №2 задание для 2 варианта.

2. Цель испытаний

Целью испытаний являются:

· проверка корректной работы программы;

· обеспечение отсутствия непредвиденных сбоев в работе программы.

3. Требования к программе

Необходимо проверить:

· наличие созданного файла и корректность записей в нем

· правильное выполнение операций

4. Требования к программной документации

При проведении испытаний должен присутствовать следующий состав программной документации:

· Программа и методика испытаний;

· Эксплуатационные документы.

5. Средства и порядок испытаний

Во время проведения испытаний использовались следующие аппаратные и программные средства:

· персональный компьютер на базе процессора Intel Core i3 2.4 ГГц;

· ОЗУ 3072 Мб;

· видеокарта и монитор, работающие в режиме 1366Ч768;

· клавиатура, мышь.

· операционная система Windows 7;

· среда программирования GPSS World Student Version 5.2.2.

Порядок проведения испытаний

Для проверки правильности функционирования программы выполнялись следующие задачи:

· запуск программы Command->Create Simulation;

· ввод неизвестного оператора;

· передача оператору параметров несоответствующего типа

· запуск начала моделирования Command->START;

· изменение входных данных модели;

6. Методы испытаний

Разработанное программное обеспечение выполняет одну главную задачу - это моделирование работы автозаправочной станции.

Для проверки правильности моделирования необходимо провести серию тестов, заключающихся в том, что бы менять время заправки на каждой колонке и параметры экспоненциального распределения вероятностей.

5.2 Испытания программы

Экспериментальные исследования проведены в соответствии с приведенной программой исследования.

Цель проведения эксперимента:

· проверка корректности сообщений об ошибке

· проверка правильности изменения результатов при изменении тех или иных входных данных.

1) Проверка корректности сообщений об ошибке.

Для проверки корректности сообщений об ошибке было проведено два эксперимента:

а) запуск программы с ошибкой в синтаксисе оператора;

б) запуск программы с ошибкой в типе передаваемого оператору параметра.

Результаты экспериментов приведены на рис. 34 и 35 соответственно.

Рисунок 34. Ошибка в синтаксисе оператора

Рисунок 35. Ошибка в типе передаваемого оператору параметра.

2) Проверка правильности изменения результатов при изменении тех или иных входных данных.

Для проверки изменения результатов при изменении тех или иных входных данных проведено два эксперимента:

а) запуск моделирования с исходными данными предложенными по заданию;

б) запуск моделирования с измененными входными данными.

Результаты эксперимента для режима соответствия интерфейсных элементов их прямым функциям приведены на рисунке 36, 37 и 38, 39 соответственно.

Рисунок 36. Моделирование с исходными данными предложенными по заданию (часть 1)

Рисунок 37. Моделирование с исходными данными предложенными по заданию (часть 2)

Рисунок 38. Моделирование с измененными входными данными (часть 1)

Рисунок 39. Моделирование с измененными входными данными (часть 2)

5.3 Выводы по результатам испытаний

Во время тестирования программа не давала сбоев и работала абсолютно корректно. Как видно из тестирования по проверке корректности сообщений об ошибке сообщения выданы корректно с указанием ее названия, номера строк и столбца, а так же вывод самой строки. Так же можно отметить что при тестировании правильности изменения результатов при изменении тех или иных входных данных было зафиксированы изменения в отчете моделирования. Так при исходных данных по заданию по результатам моделирования видно, что на первая колонка обслужила 32 автомобилей, а вторая 37, при этом 14 автомобилей осталось не обслуженными так как обе колонки были заняты, так же видно что вторая колонка обслужила на 5 автомобилей больше чем первая так как время обслуживания на ней меньше (13±1 мин) чем на второй (15±2 мин). Можно заметить, что после уменьшения времени обслуживания на второй колонке (7±2 мин) она обслужила на 22 автомобиля больше чем вторая колонка (50 и 28 соответственно), так же видно что нагрузка на колонки снизилась и как следствие все пришедшие на заправку автомобили обслужены. Из этого можно сделать вывод, что чем меньше времени обслуживающий аппарат удерживает транзакт тем больше транзактов он сможет обработать и больше вероятность что все пришедшие на его вход заявки будут обслужены. Таким образом делаем вывод что программа работает правильно и выполняет все поставленные перед ней задчи.

Заключение

Проведенные в данной выпускной квалификационной работе исследования позволяют сформулировать основные результаты.

· Проведен анализ языка GPSS World и на основе его структуры и операторов, в соответствии с темой данной квалификационной работы были разработаны задания;

· Для этих заданий были разработаны методические указания и контрольные вопросы, необходимые для выполнения заданий и лучшего понимания языка.

· Разобран способ построения алгоритмов для языка моделирования GPSS World. На основе этого в соответствии с заданиями разработаны алгоритмы их решений.

· Разобран принцип кодирования на языке GPSS World и его основные операторы. На основе этого, а так же разработанных ранее алгоритмов разработаны тесты программ для соответствующих заданий.

· Проведено тестирования одно из заданий, в рамках которого удостоверились, что при изменении входных данных мы получаем изменение результатов на ожидаемые. Сделаны соответствующие выводы.

В дальнейшем предполагается развитие программно-методических средств за счет доработки и добавления заданий, разработки новых лабораторных работ. Кроме этого в лабораторных работах можно за счет изменения заданий установить более тесную связь с практическими занятиями по дисциплине «Компьютерное моделирование».

Список использованных источников

1. Шрайбер Т. Дж. Моделирование на GPSS. - М.:Машиностроение, 1980. - 592 с.

2. Феррари Д. Оценка производительности вычислительных систем. - М.: Мир, 1981. - 576 с.

3. Кудрявцев Е. М. GPSS World. Основы имитационного моделирования различных систем. - М.: ДМК Пресс, 2004.- 320 с.

4. Томашевский В., Жданова E. Имитационное моделирование в среде GPSS. - М.:Бестселлер, 2003. - 416 c.

5. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World Учебное пособие - Спб: БХВ-Петербург, 2004. - 368 с.

Приложение А

Лабораторные работа №1,2

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

Приложение Б

Решение всех заданий лабораторных работ

Программа 1.1

Постановка задачи

В парикмахерскую c одним креслом приходят клиенты двух типов. Клиенты первого типа желают только стричься. Клиенты второго типа желают постричься и побриться.. Парикмахер обслуживает клиентов в порядке «первым пришел - первым обслужился». Написать GPSS-модель парикмахерской, обеспечив сбор данных об очереди клиентов.

Исходные данные

Все исходные данные по вариантам приведены в табл. 1 (все числовые параметры подчиняются равномерному распределению).

Необходимо реализовать отличие в обслуживании клиентов, которые только стригутся, и клиентов, которые стригутся и бреются.

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

Таблица 1 Исходные данные

Вариант

Категория запроса

Интервалы времени прихода клиентов, мин

Время обслуживания, с

1

1

2

35±10

60±20

18±6

10±2

4

1

2

4020

3210

276

157

7

1

2

3714

2512

2410

125

Построение модели

Необходимо реализовать отличие в обслуживании клиентов, которые только стригутся, и клиентов, которые стригутся и бреются.

Такую систему можно промоделировать c помощью двух сегментов. Один из них моделирует обслуживание только стригущихся клиентов, А второй - стригущихся и бреющихся. В каждом из сегментов пара QUEUE-DEPART должна описывать одну и ту же очередь. Таким же образом пара блоков SEIZE-RELEASE должна описывать в каждом из двух сегментов одно и то же устройство и моделировать работу парикмахера.

Таблица 2 Таблица определений

Элементы GPSS

Интерпретация

Транзакты

В 1 сегменте модели

Во 2 сегменте модели

В 3 сегменте модели

Клиенты, которые только стригутся

Клиенты, которые бреются и стригутся

Таймер

Устройство

PAR1

PAR2

Стрижка у парикмахера

Бритьё у парикмахера

Очередь

PARQ

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

Рисунок 40.

Единица модельного времени - 1 мин.

Программа:

Вариант 1

;Клиенты для стрижки

GENERATE 35,10 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 18,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

; Клиенты для стрижки и бритья

GENERATE 60,20 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 10,2 ; Бритье у парикмахера

ADVANCE 18,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

;Моделирование

GENERATE 480 ; Время моделирования

TERMINATE 1 ; Завершение моделирования

START 1 ; Начало моделирования

Вариант 4

;Клиенты для стрижки

GENERATE 40,20 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 27,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

; Клиенты для стрижки и бритья

GENERATE 32,10 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 15,7 ; Бритье у парикмахера

ADVANCE 27,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

;Моделирование

GENERATE 480 ; Время моделирования

TERMINATE 1 ; Завершение моделирования

START 1 ; Начало моделирования

Вариант 7

;Клиенты для стрижки

GENERATE 37,14 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 24,10 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

; Клиенты для стрижки и бритья

GENERATE 25,20 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 12,5 ; Бритье у парикмахера

ADVANCE 24,10 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

;Моделирование

GENERATE 480 ; Время моделирования

TERMINATE 1 ; Завершение моделирования

START 1 ; Начало моделирования

Программа 1.2

Изготовление деталей определенного вида включает длительный процесс сборки, который заканчивается коротким периодом обжига в печи. Поскольку эксплуатация печи обходится очень дорого, несколько сборщиков используют одну печь, в которой одновременно можно обжигать только одну деталь. Сборщик не может начать новую сборку, пока не вытащит из печи предыдущую деталь.

Исходные данные

Необходимо построить на GPSS модель описанного процесса. Определить оптимальное число сборщиков, использующих одну печь, т.е. такое количество, которое дает наибольшую прибыль при моделировании в течение 40 часов модельного времени. Предполагается, что в течение рабочего дня нет перерывов, а рабочими днями являются все дни (без выходных).

Таким образом, сборщик работает в таком режиме:

1) собирает следующую деталь;

2) ожидает возможности использования печи по принципу FIFO;

3) использует печь;

4) возвращается к п. 1.

Время, необходимое на выполнение различных операций, приведено в табл. 3.

Таблица 3 Исходные данные

Вариант

Операция

Необходимое время, мин

2

Сборка

Обжиг

30±5

8±2

5

Сборка

Обжиг

21±4

10±1

8

Сборка

Обжиг

37±7

12±5

Построение модели

В данном случае есть два ограничивающих условия, влияющих на пропускную способность системы: одна печь и некоторое фиксированное количество сборщиков, работающих в системе.

Естественно для моделирования печи использовать понятие «устройство», также естественно отождествлять сборщиков c транзактами. Тогда можно считать, что сборщики «циркулируют» в системе, периодически осуществляя сборку и обжиг. Аналогично и транзакты должны циркулировать в GPSS-модели системы. Как видно из постановки задачи, модель представляет собой замкнутую CMO c одним устройством обслуживания.

В реальной системе, после того, как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели после того, как транзакт завершает использование устройства, он должен быть перемещен c помощью блока TRANSFER в блок следующей сборки. Для ограничения общего количества транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE.

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

Таблица 4 Таблица определений

Элементы GPSS

Интерпретация

Транзакты

В 1 сегменте модели

Во 2 сегменте модели

Сборщики

Таймер

Устройство

OBG

SBOR

Печь

Сборочное оборудование

Рисунок 41.

Единица модельного времени - 1 мин.

Программа:

Вариант 2

GENERATE ,,,4 ;Определение количества сборщиков

BACK1 ADVANCE 30,5 ;Сборка следующей детали

SEIZE OBG ;Занятие печи

ADVANCE 8,2 ;Использование печи

RELEASE OBG ;Освобождение печи

TRANSFER ,BACK1 ;Переход к сборке следующей детали

GENERATE 2400 ;Моделирование 5 дней работы

TERMINATE 1 ;Завершение работы

START 1 ;Начало прогона модели

Вариант 5

GENERATE ,,,4 ;Определение количества сборщиков

BACK1 ADVANCE 21,4 ;Сборка следующей детали

SEIZE OBG ;Занятие печи

ADVANCE 10,1 ;Использование печи

RELEASE OBG ;Освобождение печи

TRANSFER ,BACK1 ;Переход к сборке следующей детали

GENERATE 2400 ;Моделирование 5 дней работы

TERMINATE 1 ;Завершение работы

START 1 ;Начало прогона модели

Вариант 8

GENERATE ,,,4 ;Определение количества сборщиков

BACK1 ADVANCE 37,7 ;Сборка следующей детали

SEIZE OBG ;Занятие печи

ADVANCE 12,5 ;Использование печи

RELEASE OBG ;Освобождение печи

TRANSFER ,BACK1 ;Переход к сборке следующей детали

GENERATE 2400 ;Моделирование 5 дней работы

TERMINATE 1 ;Завершение работы

START 1 ;Начало прогона модели

Программа 1.3

Морские судна двух типов прибывают в порт, где происходит их разгрузка. В порту есть два буксира, обеспечивающих ввод и вывод кораблей из порта. К первому типу судов относятся корабли малого тоннажа, которые требуют использования одного буксира. Корабли второго типа имеют большие размеры, и для их ввода и вывода из порта требуется два буксира. Из-за различия размеров двух типов кораблей необходимы и причалы различного размера. Кроме того, корабли имеют различное время погрузки-разгрузки. Исходные данные приведены в табл. 5.

Построить модель системы, в которой можно оценить время ожидания кораблями каждого типа входа в порт. (Время ожидания входа в порт включает время ожидания освобождения причала и буксира). Корабль, ожидающий освобождения причала, не обслуживается буксиром до тех пор, пока не будет предоставлен нужный причал. Корабль второго типа не займет буксир до тех пор, пока ему не будут доступны оба буксира.

Таблица 5 Исходные данные

Вариант

Тип корабля

Интервал прибытия, мин

Время входа в порт, мин

Количество доступных причалов

Время погрузки-разгрузки, час

Время выхода из порта, мин

3

1

2

130 ± 30

390 ± 60

30 ± 7

45 ± 12

6

3

12 ± 2

18 ± 4

20 ± 5

35 ± 10

6

1

2

155 ± 21

275 ± 48

34 ± 5

38 ± 10

5

4

15 ± 2

19 ± 5

26 ± 6

39 ± 12

9

1

2

121 ± 32

361 ± 50

28 ± 6

41 ± 14

7

2

13 ± 3

15 ± 2

22 ± 4

30 ± 9

Рисунок 42.

Программа:

Вариант 3

PRCH1 STORAGE 6 ;6 причалов для кораблей первого типа

PRCH2 STORAGE 3 ;2 причала для кораблей второго типа

BUKS STORAGE 2 ;2 буксира

;Корабль первого типа

GENERATE 130,30 ;Подход к порту

QUEUE TYPE1 ;Занятие очереди

ENTER PRCH1 ;Получение причала

ENTER BUKS ;Получение буксира

DEPART TYPE1 ;Освобождение очереди

ADVANCE 30,7 ;Буксирование до причала

LEAVE BUKS ;Освобождение буксира

ADVANCE 720,120 ;Погрузка-разгрузка

ENTER BUKS ;Получение буксира

LEAVE PRCH1 ;Освобождение причала

ADVANCE 20,5 ;Буксирование (отчаливание)

LEAVE BUKS ;Освобождение буксира

TERMINATE ;Завершение модели

;Корабль второго типа

GENERATE 390,60

QUEUE TYPE2

ENTER PRCH2

ENTER BUKS,2

DEPART TYPE2

ADVANCE 45,12

LEAVE BUKS,2

ADVANCE 1080,240

ENTER BUKS,2

LEAVE PRCH2

ADVANCE 35,10

LEAVE BUKS,2

TERMINATE 0

;Моделирование

GENERATE 48000 ;Моделирование времени работы

TERMINATE 1 ;Завершение моделирования

START 1 ;Начало моделирования

Вариант 6

PRCH1 STORAGE 5 ;6 причалов для кораблей первого типа

PRCH2 STORAGE 4 ;2 причала для кораблей второго типа

BUKS STORAGE 2 ;2 буксира

;Корабль первого типа

GENERATE 155,21 ;Подход к порту

QUEUE TYPE1 ;Занятие очереди

ENTER PRCH1 ;Получение причала

ENTER BUKS ;Получение буксира

DEPART TYPE1 ;Освобождение очереди

ADVANCE 34,5 ;Буксирование до причала

LEAVE BUKS ;Освобождение буксира

ADVANCE 900,120 ;Погрузка-разгрузка

ENTER BUKS ;Получение буксира

LEAVE PRCH1 ;Освобождение причала

ADVANCE 26,6 ;Буксирование (отчаливание)

LEAVE BUKS ;Освобождение буксира

TERMINATE ;Завершение модели

;Корабль второго типа

GENERATE 275,48

QUEUE TYPE2

ENTER PRCH2

ENTER BUKS,2

DEPART TYPE2

ADVANCE 38,10

LEAVE BUKS,2

ADVANCE 1140,300

ENTER BUKS,2

LEAVE PRCH2

ADVANCE 39,12

LEAVE BUKS,2

TERMINATE 0

;Моделирование

GENERATE 48000 ;Моделирование времени работы

TERMINATE 1 ;Завершение моделирования

START 1 ;Начало моделирования

Вариант 9

PRCH1 STORAGE 7 ;6 причалов для кораблей первого типа

PRCH2 STORAGE 2 ;2 причала для кораблей второго типа

BUKS STORAGE 2 ;2 буксира

;Корабль первого типа

GENERATE 121,32 ;Подход к порту

QUEUE TYPE1 ;Занятие очереди

ENTER PRCH1 ;Получение причала

ENTER BUKS ;Получение буксира

DEPART TYPE1 ;Освобождение очереди

ADVANCE 22,4 ;Буксирование до причала

LEAVE BUKS ;Освобождение буксира

ADVANCE 780,180 ;Погрузка-разгрузка

ENTER BUKS ;Получение буксира

LEAVE PRCH1 ;Освобождение причала

ADVANCE 20,5 ;Буксирование (отчаливание)

LEAVE BUKS ;Освобождение буксира

TERMINATE ;Завершение модели

;Корабль второго типа

GENERATE 361,50

QUEUE TYPE2

ENTER PRCH2

ENTER BUKS,2

DEPART TYPE2

ADVANCE 41,14

LEAVE BUKS,2

ADVANCE 900,120

ENTER BUKS,2

LEAVE PRCH2

ADVANCE 30,9

LEAVE BUKS,2

TERMINATE 0

;Моделирование

GENERATE 48000 ;Моделирование времени работы

TERMINATE 1 ;Завершение моделирования

START 1 ;Начало моделирования

Программа 2.1

Постановка задачи

Допустим, к рабочим поступают на изготовление детали с транспортного конвейера. Интервал между поступлениями двух идущих одна за другой деталей равен 9±1 мин. Время изготовления детали первым рабочим составляет 12+1 мин, а вторым- 13±2 мин. Если рабочий занят, он не берет деталь с конвейера, и она перемещается к другому рабочему. Требуется смоделировать работу первого и второго рабочих в течение смены. Необходимо определить коэффициент использования первого и второго рабочих (первого и второго каналов обслуживания) и число деталей, изготовленных каждым из них.

Модифицировать Программа. Ввести третьего рабочего. Если первый рабочий занят - деталь подается ко второму; если и он занят - то к третьему рабочему. При этом третий рабочий должен обрабатывать все поступающие к нему детали. Детали поступают на обработку через интервал времени, равный 3±1,25 мин. Время изготовления деталей первым, вторым и третьим рабочими соответственно равно 14±1,5, 16±2 и 11±2,5 мин. Требуется смоделировать работу всей линии в течение смены. Надо определить число деталей, обработанных каждым рабочим в течение смены, коэффициенты загрузки (использования) рабочих, максимальную и среднюю длину очередей деталей, ожидающих обработки у третьего рабочего, и среднее время пребывания детали в очереди к третьему рабочему. Результат записать в файл

Рисунок 43

Программа на языке GPSS имеет вид:

**************************************************

INITIAL X1,3 ;Ср. время поступления деталей на обработку

INITIAL X2,1.25 ;Отклонение от ср. времени

INITIAL X3,14 ;Ср. время выполнения операции 1-м рабочим

INITIAL X4,1.5 ;Отклонение от ср. времени

INITIAL X5,16 ;Ср. время выполнения операции 2-м рабочим

INITIAL X6,2 ;Отклонение от ср. времени

INITIAL X7,11 ;Ср. время выполнения операции 3-м рабочим

INITIAL X8,2.5 ;Отклонение от ср. времени

**************************************************

GENERATE X1,X2 ;Интервал поступления деталей

TRANSFER ALL,RAB_1,RAB_3,4 ;Передача деталей 1-му, 2-му или 3-му рабочему

RAB_1 SEIZE RAB1 ;Занимаем устройство RAB1 (1-й рабочий)

ADVANCE X3,X4 ;Задерживаем деталь на время обработки

RELEASE RAB1 ;Освобождение 1-го рабочего

TERMINATE ;Завершение операции

**************************************************

SEIZE RAB2 ;Занимаем устройство RAB2 (2-й рабочий)

ADVANCE X5,X6 ;Задерживаем деталь на время обработки

RELEASE RAB2 ;Освобождение 2-го рабочего

TERMINATE ;Завершение операции

**************************************************

RAB_3 QUEUE RAB3 ; Занятие очереди

SEIZE RAB3 ; Занимаем устройство RAB3 (3-й рабочий)

DEPART RAB3 ; Освобождение очереди

ADVANCE X7,X8 ; Задерживаем деталь на время обработки

RELEASE RAB3 ; Освобождение 3-го рабочего

TERMINATE ; Завершение операции

**************************************************

GENERATE 480 ;Время моделирования системы (8 часов)

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

**************************************************

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$RAB1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$RAB1/1000)),,Met

WRITE (Catenate ("Facility= ",FC$RAB2)),,Met

WRITE (Catenate ("Util. Facility= ",FR$RAB2/1000)),,Met

WRITE (Catenate ("Max= ",QM$RAB3)),,Met

WRITE (Catenate ("CONT.= ",Q$RAB3)),,Met

WRITE (Catenate ("ENTRY= ",QC$RAB3)),,Met

WRITE (Catenate ("AVE.TIME= ",QT$RAB3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ; Завершение операции

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1,NP ;Начало моделирования

**************************************************

Программа 2.2

Постановка задачи

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

Задание:

* Создать графическую модель системы

* промоделировать работу участка цеха в течение рабочего дня (8 ч) при двухсменном режиме;

* определить среднюю загрузку каждого вида оборудования, среднее время обработки изделий, длину очередей перед каждым видом оборудования (среднюю и максимальную). Результаты записать в файл.

* На основе полученных данных сделать вывод о необходимость увеличения или уменьшения размера склада перед каждым видом оборудования, необходимого для данного потока изделий;

Исходные данные приведены в табл. 6.

Таблица. 6. Исходные данные

Вариант

Категория запроса

Интервалы времени между поступлениями изделий каждого типа на обработку, мин

Время изготовления изделия первого потока, мин

Время изготовления изделия второго потока, мин

1

1

2

3

40±5

23±4,5

15±2

29±1

24±5

21±2

19±5,5

28±1

5

1

2

3

38±6

28±3

22±2,9

13±2

48±6

7±1

8±2

15±4

9

1

2

3

20±5

51±4

30±1,3

22±5

27±2,5

31±3

17±3,75

21±7

Рисунок 44

Программа

Вариант 1

**************************************************

;Первый поток

GENERATE 40,5 ;Интервал поступления изделий 1-го типа

QUEUE OCHER1 ;Занятие очереди 1

SEIZE OBOR1 ;Занимаем оборудование 1

DEPART OCHER1 ;Освобождение очереди 1

ADVANCE 15,2 ;Задерживаем изделие на время обработки

RELEASE OBOR1 ;Освобождение оборудования 1

QUEUE OCHER2 ;Занятие очереди 2

SEIZE OBOR2 ;Занимаем оборудование 2

DEPART OCHER2 ;Освобождение очереди 2

ADVANCE 29,1 ;Задерживаем изделие на время обработки

RELEASE OBOR2 ;Освобождение оборудования 2

QUEUE OCHER3 ;Занятие очереди 3

SEIZE OBOR3 ;Занимаем оборудование 3

DEPART OCHER3 ;Освобождение очереди 3

ADVANCE 24,5 ;Задерживаем изделие на время обработки

RELEASE OBOR3 ;Освобождение оборудования 3

TERMINATE ; Завершение операции

**************************************************

;Второй поток

GENERATE 23,4.5 ;Интервал поступления изделий 2-го типа

QUEUE OCHER1 ;Занятие очереди 1

SEIZE OBOR1 ;Занимаем оборудование 1

DEPART OCHER1 ;Освобождение очереди 1

ADVANCE 21,2 ;Задерживаем изделие на время обработки

RELEASE OBOR1 ;Освобождение оборудования 1

QUEUE OCHER2 ;Занятие очереди 2

SEIZE OBOR2 ;Занимаем оборудование 2

DEPART OCHER2 ;Освобождение очереди 2

ADVANCE 19,5.5 ;Задерживаем изделие на время обработки

RELEASE OBOR2 ;Освобождение оборудования 2

QUEUE OCHER3 ;Занятие очереди 3

SEIZE OBOR3 ;Занимаем оборудование 3

DEPART OCHER3 ;Освобождение очереди 3

ADVANCE 28,1 ;Задерживаем изделие на время обработки

RELEASE OBOR3 ;Освобождение оборудования 3

TERMINATE ; Завершение операции

**************************************************

;Моделирование

GENERATE 960

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility1= ",FC$OBOR1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Facility2= ",FC$OBOR1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Max1= ",QM$OCHER1)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$OCHER1)),,Met

WRITE (Catenate ("Max2= ",QM$OCHER2)),,Met

WRITE (Catenate ("AVE.CONT2= ",QA$OCHER2)),,Met

WRITE (Catenate ("Max3= ",QM$OCHER3)),,Met

WRITE (Catenate ("AVE.CONT3= ",QA$OCHER3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 5

**************************************************

;Первый поток

GENERATE 38,6

QUEUE OCHER1

SEIZE OBOR1

DEPART OCHER1

ADVANCE 22,2.9

RELEASE OBOR1

QUEUE OCHER2

SEIZE OBOR2

DEPART OCHER2

ADVANCE 13,2

RELEASE OBOR2

QUEUE OCHER3

SEIZE OBOR3

DEPART OCHER3

ADVANCE 48,6

RELEASE OBOR3

TERMINATE

**************************************************

;Второй поток

GENERATE 28,3

QUEUE OCHER1

SEIZE OBOR1

DEPART OCHER1

ADVANCE 7,1

RELEASE OBOR1

QUEUE OCHER2

SEIZE OBOR2

DEPART OCHER2

ADVANCE 8,2

RELEASE OBOR2

QUEUE OCHER3

SEIZE OBOR3

DEPART OCHER3

ADVANCE 15,4

RELEASE OBOR3

TERMINATE

**************************************************

;Моделирование

GENERATE 960

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility1= ",FC$OBOR1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Facility2= ",FC$OBOR1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Max1= ",QM$OCHER1)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$OCHER1)),,Met

WRITE (Catenate ("Max2= ",QM$OCHER2)),,Met

WRITE (Catenate ("AVE.CONT2= ",QA$OCHER2)),,Met

WRITE (Catenate ("Max3= ",QM$OCHER3)),,Met

WRITE (Catenate ("AVE.CONT3= ",QA$OCHER3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1

**************************************************

Вариант 9

**************************************************

;Первый поток

GENERATE 20,5

QUEUE OCHER1

SEIZE OBOR1

DEPART OCHER1

ADVANCE 30,1.3

RELEASE OBOR1

QUEUE OCHER2

SEIZE OBOR2

DEPART OCHER2

ADVANCE 22,5

RELEASE OBOR2

QUEUE OCHER3

SEIZE OBOR3

DEPART OCHER3

ADVANCE 27,2.5

RELEASE OBOR3

TERMINATE

**************************************************

;Второй поток

GENERATE 51,4

QUEUE OCHER1

SEIZE OBOR1

DEPART OCHER1

ADVANCE 31,3

RELEASE OBOR1

QUEUE OCHER2

SEIZE OBOR2

DEPART OCHER2

ADVANCE 17,3.75

RELEASE OBOR2

QUEUE OCHER3

SEIZE OBOR3

DEPART OCHER3

ADVANCE 21,7

RELEASE OBOR3

TERMINATE

**************************************************

;Моделирование

GENERATE 960

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility1= ",FC$OBOR1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Facility2= ",FC$OBOR1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Max1= ",QM$OCHER1)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$OCHER1)),,Met

WRITE (Catenate ("Max2= ",QM$OCHER2)),,Met

WRITE (Catenate ("AVE.CONT2= ",QA$OCHER2)),,Met

WRITE (Catenate ("Max3= ",QM$OCHER3)),,Met

WRITE (Catenate ("AVE.CONT3= ",QA$OCHER3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1

**************************************************

Программа 2.3

Постановка задачи

Необходимо промоделировать работу автомобильной заправочной станции (АЗС), которая имеет две заправочные колонки. Известны следующие параметры работы АЗС:

* поток автомобилей, поступающих на заправку, подчиняется экспоненциальному распределению вероятностей с параметрами л и в;

* автомобиль подъезжает к колонке, которая не занята обслуживанием другого автомобиля.

Требуется создать графическую модель системы, промоделировать работу АЗС в течение рабочей смены - 8 ч - и определить параметры функционирования АЗС:

* коэффициент загрузки каждой колонки;

* среднее время обслуживания в каждой колонке;

* максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;

* среднее время нахождения автомобиля в очереди (сохранить значение в переменной).

* результаты записать в файл

Таблица 7 Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Время заправки, мин

2

1

2

0

6,5

15±2

13±1

6

1

2

0

7

11±3

23±4

10

1

2

0

5,5

17±1,3

12±2,5

Рисунок 45

Программа

Вариант 2

**************************************************

GENERATE (Exponential (1,0,6.5)) ;Поступление автомобилей на заправку

QUEUE ZAPR ;Вход авто в очередь на заправку

TRANSFER BOTH KOL_1,KOL_2 ;Переход авто к свободной колонке

KOL_1 SEIZE KOL1 ;Определение занятости 1 колонки

DEPART ZAPR ;Вход авто из очереди на заправку

ADVANCE 15,2 ;Заправка авто на 1 колонке

RELEASE KOL1 ; Освобождение 1 колонки

TRANSFER ,NEXT ; Переход к NEXT

KOL_2 SEIZE KOL2 ; Определение занятости 2 колонки

DEPART ZAPR ; Вход авто из очереди на заправку

ADVANCE 13,1 ; Заправка авто на 2 колонке

RELEASE KOL2 ; Освобождение 2 колонки

NEXT SAVEVALUE AVE_QUEUE,QT$ZAPR ;Сохранение времени пребывания в очереди

TERMINATE ;Выход авто из системы

**************************************************

GENERATE 480 ;Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("AVE_TIME 1= ",FT$KOL1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$KOL2/1000)),,Met

WRITE (Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met

WRITE (Catenate ("Max1= ",QM$ZAPR)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$ZAPR)),,Met

WRITE (Catenate ("CONT1= ",Q$ZAPR)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 6

**************************************************

GENERATE (Exponential (1,0,7)) ;Поступление автомобилей на заправку

QUEUE ZAPR ;Вход авто в очередь на заправку

TRANSFER BOTH KOL_1,KOL_2 ;Переход авто к свободной колонке

KOL_1 SEIZE KOL1 ;Определение занятости 1 колонки

DEPART ZAPR ;Вход авто из очереди на заправку

ADVANCE 11,3 ;Заправка авто на 1 колонке

RELEASE KOL1 ; Освобождение 1 колонки

TRANSFER ,NEXT ; Переход к NEXT

KOL_2 SEIZE KOL2 ; Определение занятости 2 колонки

DEPART ZAPR ; Вход авто из очереди на заправку

ADVANCE 23,4 ; Заправка авто на 2 колонке

RELEASE KOL2 ; Освобождение 2 колонки

NEXT SAVEVALUE AVE_QUEUE,QT$ZAPR ;Сохранение времени пребывания в очереди

TERMINATE ;Выход авто из системы

**************************************************

GENERATE 480 ;Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("AVE_TIME 1= ",FT$KOL1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$KOL2/1000)),,Met

WRITE (Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met

WRITE (Catenate ("Max1= ",QM$ZAPR)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$ZAPR)),,Met

WRITE (Catenate ("CONT1= ",Q$ZAPR)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 10

**************************************************

GENERATE (Exponential (1,0,5.5)) ;Поступление автомобилей на заправку

QUEUE ZAPR ;Вход авто в очередь на заправку

TRANSFER BOTH KOL_1,KOL_2 ;Переход авто к свободной колонке

KOL_1 SEIZE KOL1 ;Определение занятости 1 колонки

DEPART ZAPR ;Вход авто из очереди на заправку

ADVANCE 17,1.3 ;Заправка авто на 1 колонке

RELEASE KOL1 ; Освобождение 1 колонки

TRANSFER ,NEXT ; Переход к NEXT

KOL_2 SEIZE KOL2 ; Определение занятости 2 колонки

DEPART ZAPR ; Вход авто из очереди на заправку

ADVANCE 12,2.5 ; Заправка авто на 2 колонке

RELEASE KOL2 ; Освобождение 2 колонки

NEXT SAVEVALUE AVE_QUEUE,QT$ZAPR ;Сохранение времени пребывания в очереди

TERMINATE ;Выход авто из системы

**************************************************

GENERATE 480 ;Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("AVE_TIME 1= ",FT$KOL1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$KOL2/1000)),,Met

WRITE (Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met

WRITE (Catenate ("Max1= ",QM$ZAPR)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$ZAPR)),,Met

WRITE (Catenate ("CONT1= ",Q$ZAPR)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Программа 2.4

Постановка задачи

В цехе работает инструментальная кладовая по принципу самообслуживания. Поток рабочих (требований) за инструментами равномерный. Каждый рабочий может взять один или несколько инструментов, лежащих на разных стеллажах. Время, необходимое для поиска инструмента на стеллажах, число инструментов, взятых со стеллажа, и вероятности взятия их приведены в табл. 3.

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

Необходимо определить:

* Создать графическую модель системы

* число посещений рабочими кладовой в течение смены;

* коэффициент использования (загрузки) учетчика;

* максимальную длину очереди в кладовой;

* среднюю длину очереди в кладовой;

* общее число входов в кладовую;

* число входов в кладовую без ожидания;

* процент входов в кладовую без ожидания;

* среднее время учета взятого инструмента.

* результаты записать в файл

Таблица 8 Исходные данные

Вариант

Интервалы времени между приходами рабочих, мин

Категория запроса

Время, необходимое для поиска инструмента на стеллажах, мин

Число инструментов, взятых со стеллажа

Вероятности взятия инструментов

3

9±2

1

2

10±5

11±2,5

5±2

3±1

0,71

0,54

7

7±1,5

1

2

12±6

9±4

6±3

4±2

0,92

0,77

11

11±3

1

2

15±2

17±4,5

7±3

8±1

0,34

0,29

Рисунок 46.

Программа

Вариант 3

**************************************************

INST1 FUNCTION RN1,D5 ; Опр. числа взятых инструментов с 1 стеллажа

0.2,3/0.4,4/0.6,5/0.8,6/1,7

INST2 FUNCTION RN1,D3 ; Опр. числа взятых инструментов со 2 стеллажа

0.33,2/0.66,3/1,4

T_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2 ; Опр. Времени учета взятых инструментов

**************************************************

GENERATE 9,2 ;Прибытие рабочих за инструментом

TRANSFER .29,,STEL2 ;Переход с заданной вероятностью ко 2 стеллажу

ADVANCE 10,5 ;Поиск инструмента на 1 стеллаже

STEL2 TRANSFER .46,,KLAD ;Переход с заданной вероятностью к кладовщику

ADVANCE 11,2.5 ;Поиск инструмента на 2 стеллаже

KLAD QUEUE UCHET ;Вход в очередь к кладовщику

SEIZE CLAD ;Ожидание освобождения кладовщика

DEPART UCHET ;Выход из очереди к кладовщику

ADVANCE V$T_OBSL ;Время учета взятых инструментов

RELEASE CLAD ;Освобождение кладовщика

TERMINATE ;Выход рабочего из кладовой

**************************************************

GENERATE 480 ; Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$CLAD /1000)),,Met

WRITE (Catenate ("Max= ",QM$UCHET)),,Met

WRITE (Catenate ("ENTRIES= ", QC$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)= ",QZ$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)%= ", ((QZ$UCHET#100)/ QC$UCHET))),,Met

WRITE (Catenate ("AVE_TIME = ",FT$UCHET)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 7

**************************************************

INST1 FUNCTION RN1,D7 ; Опр. числа взятых инструментов с 1 стеллажа

0.14,3/0.28,4/0.42,5/0.56,6/.7,7/.84,8/1,9

INST2 FUNCTION RN1,D5 ; Опр. числа взятых инструментов со 2 стеллажа

0.2,2/0.4,3/0.6,4/0.8,5/1,6

T_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2 ; Опр. Времени учета взятых инструментов

**************************************************

GENERATE 7,1.5 ;Прибытие рабочих за инструментом

TRANSFER .8,,STEL2 ;Переход с заданной вероятностью ко 2 стеллажу

ADVANCE 12,6 ;Поиск инструмента на 1 стеллаже

STEL2 TRANSFER .23,,KLAD ;Переход с заданной вероятностью к кладовщику

ADVANCE 9,4 ;Поиск инструмента на 2 стеллаже

KLAD QUEUE UCHET ;Вход в очередь к кладовщику

SEIZE CLAD ;Ожидание освобождения кладовщика

DEPART UCHET ;Выход из очереди к кладовщику

ADVANCE V$T_OBSL ;Время учета взятых инструментов

RELEASE CLAD ;Освобождение кладовщика

TERMINATE ;Выход рабочего из кладовой

**************************************************

GENERATE 480 ; Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$CLAD /1000)),,Met

WRITE (Catenate ("Max= ",QM$UCHET)),,Met

WRITE (Catenate ("ENTRIES= ", QC$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)= ",QZ$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)%= ", ((QZ$UCHET#100)/ QC$UCHET))),,Met

WRITE (Catenate ("AVE_TIME = ",FT$UCHET)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 11

**************************************************

INST1 FUNCTION RN1,D7 ; Опр. числа взятых инструментов с 1 стеллажа

0.14,4/0.28,5/0.42,6 /0.56,7/.7,8/.84,9/1,10

INST2 FUNCTION RN1,D3 ; Опр. числа взятых инструментов со 2 стеллажа

0.33,7/0.66,8/1,9

T_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2 ; Опр. Времени учета взятых инструментов

**************************************************

GENERATE 11,3 ;Прибытие рабочих за инструментом

TRANSFER .29,,STEL2 ;Переход с заданной вероятностью ко 2 стеллажу

ADVANCE 15,2 ;Поиск инструмента на 1 стеллаже

STEL2 TRANSFER .46,,KLAD ;Переход с заданной вероятностью к кладовщику

ADVANCE 17,4.5 ;Поиск инструмента на 2 стеллаже

KLAD QUEUE UCHET ;Вход в очередь к кладовщику

SEIZE CLAD ;Ожидание освобождения кладовщика

DEPART UCHET ;Выход из очереди к кладовщику

ADVANCE V$T_OBSL ;Время учета взятых инструментов

RELEASE CLAD ;Освобождение кладовщика

TERMINATE ;Выход рабочего из кладовой

**************************************************

GENERATE 480 ; Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$CLAD /1000)),,Met

WRITE (Catenate ("Max= ",QM$UCHET)),,Met

WRITE (Catenate ("ENTRIES= ", QC$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)= ",QZ$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)%= ", ((QZ$UCHET#100)/ QC$UCHET))),,Met

WRITE (Catenate ("AVE_TIME = ",FT$UCHET)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Программа 2.5

Постановка задачи

Необходимо промоделировать систему управления качеством производственного процесса, включающего две операции обработки изделия с соответствующим контролем. Известны следующие параметры производственного процесса:

* поток изделий, поступающих на обработку, подчиняется экспоненциальному распределению вероятностей с параметрами л и в;

* время выполнения первой операции определяется с помощью дискретной числовой функции

* время выполнения второй операции определяется с использованием нормального распределения с параметрами м , у.

* устранение брака осуществляется путем возвращения изделия на повторную обработку.

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

* коэффициент загрузки каждого контролера;

* среднее время обслуживания каждым контролером;

* результаты записать в файл

* создать таблицу для сбора информации в процессе моделирования

Таблица 9 Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Параметры нормального распределения вероятностей

Время контроля операции, мин

Вероятность брака

Вероятность возврата изделия на повторную обработку

4

1

2

0

25

25

3

2

3

7%

15%;

35%

62%

8

1

2

0

21

20

2

4

7

10%

5%;

78%

42%

12

1

2

0

30

28

5

6

4

12%

10%;

45%

82%

Рисунок 47.

Программа

Вариант 4

**************************************************

RMULT 231

Time_obrab TABLE M1,100,20,7

Oper_1 FUNCTION RN1,D7

0,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************

GENERATE (Exponential (1,0,25)) ; Интервал поступления изделий

ASSIGN 1,FN$Oper_1 ; Присваивание 1 переменной значения функции

Oper1 SEIZE Oborud_1 ; Занимаем оборудование 1

ADVANCE P1 ; Задерживаем изделие на время обработки

RELEASE Oborud_1 ; Освобождение оборудования 1

ADVANCE 2 ; Задерживаем изделие на время контроля

TRANSFER .07,,Ustr_brak_1 ; Переход с вероятностью к Ustr_brak_1

**************************************************

Oper2 SEIZE Oborud_2 ; Занимаем оборудование 2

ADVANCE (Normal (1,25,3)) ; Задерживаем изделие на время обработки

RELEASE Oborud_2 ; Освобождение оборудования 2

ADVANCE 3 ; Задерживаем изделие на время контроля

TRANSFER .15,,Ustr_brak_2 ; Переход с вероятностью к Ustr_brak_2

TABULATE Time_obrab ; Запись результата в таблицу

TERMINATE ; Завершение операции

**************************************************

Ustr_brak_1 TRANSFER .35,,Oper1 ; Переход с вероятностью к Oper1

TERMINATE ; Завершение операции

Ustr_brak_2 TRANSFER .62,,Oper2 ; Переход с вероятностью к Oper2

TERMINATE ; Завершение операции

**************************************************

GENERATE 480

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility2= ",FR$Oborud_2/1000)),,Met

WRITE (Catenate ("AVE_TIME1 = ",FT$Oborud_1)),,Met

WRITE (Catenate ("AVE_TIME2 = ",FT$Oborud_2)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 8

**************************************************

RMULT 231

Time_obrab TABLE M1,100,20,7

Oper_1 FUNCTION RN1,D7

0,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************

GENERATE (Exponential (1,0,21))

ASSIGN 1,FN$Oper_1

Oper1 SEIZE Oborud_1

ADVANCE P1

RELEASE Oborud_1

ADVANCE 4

TRANSFER .1,,Ustr_brak_1

**************************************************

Oper2 SEIZE Oborud_2

ADVANCE (Normal (1,20,2))

RELEASE Oborud_2

ADVANCE 7

TRANSFER .05,,Ustr_brak_2

TABULATE Time_obrab

TERMINATE

**************************************************

Ustr_brak_1 TRANSFER .78,,Oper1

TERMINATE

Ustr_brak_2 TRANSFER .42,,Oper2

TERMINATE

**************************************************

GENERATE 480

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility2= ",FR$Oborud_2/1000)),,Met

WRITE (Catenate ("AVE_TIME1 = ",FT$Oborud_1)),,Met

WRITE (Catenate ("AVE_TIME2 = ",FT$Oborud_2)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Вариант 12

**************************************************

RMULT 231

Time_obrab TABLE M1,100,20,7

Oper_1 FUNCTION RN1,D7

0,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************

GENERATE (Exponential (1,0,30))

ASSIGN 1,FN$Oper_1

Oper1 SEIZE Oborud_1

ADVANCE P1

RELEASE Oborud_1

ADVANCE 6

TRANSFER .12,,Ustr_brak_1

**************************************************

Oper2 SEIZE Oborud_2

ADVANCE (Normal (1,28,5))

RELEASE Oborud_2

ADVANCE 4

TRANSFER .1,,Ustr_brak_2

TABULATE Time_obrab

TERMINATE

**************************************************

Ustr_brak_1 TRANSFER .45,,Oper1

TERMINATE

Ustr_brak_2 TRANSFER .82,,Oper2

TERMINATE

**************************************************

GENERATE 480

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility2= ",FR$Oborud_2/1000)),,Met

WRITE (Catenate ("AVE_TIME1 = ",FT$Oborud_1)),,Met

WRITE (Catenate ("AVE_TIME2 = ",FT$Oborud_2)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

**************************************************

Размещено на Allbest.ru


Подобные документы

  • Существующие подходы к построению моделей телетрафика. Использование формулы Полячека-Хинчина и ее аналогов для определения характеристик СМО. Способы построения имитационных программ. Этапы и цели имитационного моделирования на языке GPSS World.

    курсовая работа [1,4 M], добавлен 06.03.2014

  • Автоматизация технологических процессов. Написание имитационных моделей систем с дискретными событиями. Модели систем массового обслуживания в общецелевой системе GPSS. Логическая схема алгоритмов и схема программы. Математическая модель и ее описание.

    курсовая работа [1,4 M], добавлен 29.06.2011

  • Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.

    курсовая работа [291,3 K], добавлен 11.01.2012

  • Процесс моделирования имитационной модели функционирования класса персональных компьютеров на языке GPSS World. Поиск линейной зависимости и оценка полученного уравнения. Отчет по результатам работы имитационной модели. Листинг разработанной программы.

    курсовая работа [49,2 K], добавлен 07.09.2012

  • Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.

    контрольная работа [279,5 K], добавлен 16.03.2014

  • Основные сведение о системе моделирования GPSS и блоки, используемые при моделировании одноканальных и многоканальных систем массового обслуживания. Разработка модели работы ремонтного подразделения в течение суток с использованием программы GPSS World.

    курсовая работа [36,4 K], добавлен 11.02.2015

  • Принципы работы в системе имитационного моделирования GPSS World. Анализ количества транзактов, вошедших в блок с момента последней трансляции. Характеристика команд Window/Simulation, Window/Block, Command/Creat Simulation. Образец системы Sample 1.

    лабораторная работа [343,3 K], добавлен 29.03.2015

  • Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.

    курсовая работа [487,4 K], добавлен 18.12.2014

  • Использование языка GPSS для описания модели автосервиса, обслуживающего автомобили различных моделей с учетом их приоритета. Сущность и возможности имитационного моделирования. Разработка GPSS-модели функционирования ремонтных работ в автосервисе.

    курсовая работа [259,4 K], добавлен 08.05.2013

  • Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.

    курсовая работа [504,6 K], добавлен 14.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.