Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Пучкова ( на печать).doc
Скачиваний:
24
Добавлен:
24.09.2019
Размер:
701.95 Кб
Скачать

Примеры построения gpss-моделей

Пример 1. В парикмахерскую с одним креслом приходят клиенты двух типов. Клиенты первого типа хотят только стричься. Распределение интервалов их прихода 35 ± 10 мин. Клиенты второго типа хотят постричься и побриться. Распределение интервалов их прихода 60 ± 20 мин. Парикмахер обслуживает клиентов в порядке FIFO: «первым пришел, первым обслужился». Время, затраченное на стрижку составляет 18 ± 6 мин., а на бритье – 10±2 мин. Написать GPSS-модель парикмахерской, обеспечивая сбор данных об очереди клиентов.

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

Необходимо реализовать отличие в обслуживании клиентов, которые только стригутся и которые стригутся и бреются. Такую систему можно промоделировать с помощью 2-х сегментов. Один из них моделирует обслуживание «только стригутся», а второй – «стригутся и бреются». В каждом из сегментов пара queuedepart должна описывать одну и ту же очередь. Таким образом, пара блоков seize - release должна описывать в каждом из двух сегментов одно и то же устройство и моделировать работу парикмахерской. Возьмем единицу модельного времени 1 минута.

Программа:

* HAIR CUT

generate 35, 10; приход клиентов, которые только стригутся;

queue BARBER Q; присоединение к очереди;

seize BARBER; переход в кресло парикмахера;

depart BARBER Q; выход из очереди;

advance 18, 6; стрижка у парикмахера;

release BARBER; освобождение парикмахера;

* HAIR CUT AND SHAVING

generate 60, 20; приход клиентов, которые стригутся и бреются;

queue BARBER Q; присоединение к общей очереди;

seize BARBER; переход в кресло парикмахера;

depart BARBER Q; выход из очереди;

advance 10,2; бритье у парикмахера;

advance 18,6; стрижка у парикмахера;

release BARBER; освобождение парикмахера;

terminate 0; уход из парикмахерской;

*сегмент – таймер

generate 480; транзакт – таймер приходит в момент 480;

terminate 1; комментарий завершения прогона;

***

start 1

480 – восьмичасовой рабочий день.

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

Значение

Тип корабля

1

2

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

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

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

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

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

130 ± 30

30 ± 7

6

12 ± 2

20 ± 5

390 ± 60

45 ± 12

3

18 ± 4

35 ± 10

Текст программы:

PRCH 1 storage 6; 6 причалов для кораблей 1-го типа

PRCH 2 storage 3; 3 причала для кораблей 2-го типа

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

* SHIPS OF TYPE 1; для кораблей 1-го типа определяем время ожидания

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

queue type 1; регистрируем очередь 1-го типа

enter PRCH 1; получение причала

enter BUKS 1;

depart type 1; изъятие причала

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

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

advance 720; 120; погрузка – разгрузка

enter BUKS; получение буксира

leave PRSH 1; освобождение причала

advance 20,5; буксирование / отчаливание

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

terminate

* SHIPS OF TYPE 2

generate 390, 60

queue type 2

enter PRCH 2

enter BUKS 2

depart type 2

advance 45,12

leave BUKS 2

advance 1080, 240

enter BUKS 2

leave PRSH 2

advance 35,10

leave BUKS 2

terminate

generate 48000 время не критично (100 дней)

terminate 1

start 1