Моделирование обслуживания с приоритетами
СОДЕРЖАНИЕ: Федеральное агентство по образованию Ростовская - на - Дону Государственная Академия Сельскохозяйственного Машиностроения Кафедра “Информационные и управляющие системы”Федеральное агентство по образованию
Ростовская - на - Дону Государственная Академия
Сельскохозяйственного Машиностроения
Кафедра “Информационные и управляющие системы”
ОТЧЕТ
по лабораторной работе № .
по дисциплине “Теория информационных систем”
Ростов-на-Дону.
Лабораторная работа № 1
Тема работы: моделирование обслуживания с приоритетами.
Цель работы: освоение приемов моделирования на GPSS системы обслуживания с приоритетами и оценки результатов моделирования.
Постановка задачи
На заводском складе работает один кладовщик. Он выдает запасные части механикам, ремонтирующим станки. Время, необходимое для удовлетворения запроса, зависит от типа запасной части. Запросы бывают двух категорий.
Категория запроса |
Интервалы времени прихода механиков, с |
Время обслуживания, с |
1 2 |
420 ± 360 360 ± 240 |
300 ± 90 100 ± 30 |
Кладовщик обслуживает механиков по принципу «первым пришел – первым обслужен» независимо от категории запроса. Так как сломанный станок ничего не производит, то простой одного механика в очереди приносит убыток 90 руб. в час.
Директор завода считает, что среднее число простаивающих механиков можно уменьшить, если запросы категории 2 будут удовлетворяться быстрее запросов категории 1.
Задание
1. Постройте модель работы склада для бесприоритетного и приоритетного обслуживания. Промоделируйте работу склада в течение 8 часов.
2. Дайте ответ на следующие вопросы:
Уменьшится ли среднее число ожидающих механиков в очереди?
Какова ежедневная экономия при использовании приоритетного обслуживания?
В стоимость потерь не включать простои механиков во время обслуживания.
Текст программы:
1) Без приоритетное обслуживание:
1 |
SIMULATE |
|
2 |
1 |
GENERATE 420,360 |
3 |
2 |
QUEUE 1 |
4 |
3 |
SEIZE 1 |
5 |
4 |
DEPART 1 |
6 |
5 |
ADVANCE 300,90 |
7 |
6 |
RELEASE 1 |
8 |
7 |
TERMINATE |
10 |
8 |
GENERATE 360,240 |
11 |
9 |
QUEUE 1 |
12 |
10 |
SEIZE 1 |
13 |
11 |
DEPART 1 |
14 |
12 |
ADVANCE 100,30 |
15 |
13 |
RELEASE 1 |
16 |
14 |
TERMINATE |
18 |
15 |
GENERATE , ,28800 |
19 |
16 |
TERMINATE 1 |
21 |
START 1 |
|
22 |
END |
Полученный результат
Текст программы:
2) Приоритетное обслуживание:
1 |
SIMULATE |
|
2 |
1 |
GENERATE 420,360, , ,0 |
3 |
2 |
QUEUE 1 |
4 |
3 |
SEIZE 1 |
5 |
4 |
DEPART 1 |
6 |
5 |
ADVANCE 300,90 |
7 |
6 |
RELEASE 1 |
8 |
7 |
TERMINATE |
10 |
8 |
GENERATE 360,240, , ,1 |
11 |
9 |
QUEUE 1 |
12 |
10 |
SEIZE 1 |
13 |
11 |
DEPART 1 |
14 |
12 |
ADVANCE 100,30 |
15 |
13 |
RELEASE 1 |
16 |
14 |
TERMINATE |
18 |
15 |
GENERATE , ,28800 |
19 |
16 |
TERMINATE 1 |
21 |
START 1 |
|
22 |
END |
Полученный результат
Ответы на контрольные вопросы.
1. Приоритеты заявок в модели задаются параметром Е блока GENERATE , который используется для ввода транзактов в модель.
2. Окончание процесса моделирования происходит при обнулении счетчика завершения. Начальное значение счетчика завершения устанавливается картой START , а уменьшение его значения происходит при входе транзактов в блоки TERMINATE . Для определения конца программы используется системная карта END . Когда интерпретатор GPSS доходит до этой карты, управление передается программе отображения результатов моделирования.
Структура программы на языке GPSS имеет следующий вид:
SIMULATE
карты описания объектов
блоки GPSS
START N
END
3. Работу прибора моделируют следующие блоки: SEIZE (занять устройство) и RELEASE (освободить устройство).
Блок SEIZE имеет следующий формат:
SEIZE А
При входе в блок SEIZE транзакт пытается занять устройств, номер которого указан в поле А . Если данное устройство занято или прервано, то транзакт задерживается перед блоком SEIZE до освобождения устройства.
Блок RELEASE имеет следующий формат:
RELEASE А
При входе в блок RELEASE освобождается устройство, номер которого указан в поле А . Устройство становится доступным для других транзактов.
При моделировании работы устройств, когда новое требование пытается прервать обслуживание предыдущего, используются блоки PREEMPT (захватить устройство) и RETURN (вернуть устройство ранее прерванному требованию).
Блок PREEMPT имеет следующий формат:
PREEMPT А
При входе в блок PREEMPT транзакт прерывает работу устройства, номер которого указан в поле А , и получает данное устройство в своё использование, если оно не было прервано другим транзактом. Если предыдущий транзакт захватил устройство через блок PREEMPT , данный транзакт блокируется до момента освобождения устройства предыдущим транзактом.
Блок RETURN имеет следующий формат:
RETURN A
При входе транзакта в блок RETURN снимается прерывание с устройства, которое было прервано этим же транзактом при его входе в блок PREEMPT . Номер устройства, с которого снимается прерывание, указывается в поле А . Снятие прерывания должно быть осуществлено тем же транзактом, который вызвал прерывание. Если устройство было занято до прерывания другим транзактом, то прерванный транзакт после снятия прерывания вновь занимает данное устройство.
После окончания моделирования выдается стандартная статистика по использованию устройств.
4.Прибор обслуживает заявки с одинаковым приоритетом в последовательном порядке.
5.Транзакты - объекты динамической категории, которые являются средством реализации событий в моделируемой системе. Продвигаясь по фиксированной структуре, представляющей собой совокупность объектов других категорий, транзакты производят в модели определенные действия.
6.Удаление транзактов из модели происходит с помощью блока TERMINATE , имеющего следующий формат:
TERMINATE А
При входе в блок TERMINATE транзакт удаляется из модели. Если параметр А не задан, то счетчик завершения не изменяется. В противном случае его значение уменьшается на величину, равную значению параметра А .
7.После окончания моделирования выдается стандартная статистика по использованию устройств, памятей, очередей
Лабораторная работа № 2
Тема работы: моделирование замкнутой системы массового обслуживания.
Цель работы: изучение способов моделирования на GPSS замкнутой системы массового обслуживания и оценки результатов моделирования.
Постановка задачи
Производство деталей определенного вида включает процесс сборки, заканчивающийся периодом обжига в печи. Несколько сборщиков используют одну печь, в которой одновременно можно обжигать только одну деталь. Сборщик не может начать новую сборку, пока не вытащит из печи предыдущую деталь. Таким образом, сборщик работает в следующем режиме:
1. Собирает следующую деталь.
2. Ожидает возможности использования печи по принципу «первым пришел – первым обслужен».
3. Использует печь.
4. Возвращается в пункт 1.
По результатам моделирования описанного процесса необходимо определить оптимальное число сборщиков, обеспечивающее максимальную прибыль. Моделирование следует провести в течение 40 часов модельного времени.
Таблица 1Время, необходимое на различные операции
№ варианта |
Необходимое время на операцию, мин |
|
Сборка |
Обжиг |
|
1 |
30 ± 5 |
8 ± 2 |
Таблица 2Стоимость операций и изделий
Элемент |
Стоимость |
Зарплата сборщика |
3,75 доллара в час |
Стоимость печи |
80 долларов за 8-часовой рабочий день |
Цена материала |
2 доллара на одну деталь |
Стоимость готового изделия |
7 долларов за деталь |
Задание
1. Изучите работу блока TRANSFER в системе моделирования GPSS.
2. Решите описанную выше задачу.
Текст программы:
Полученный результат.
Ответы на контрольные вопросы
1. Транзакты - объекты динамической категории, которые являются средством реализации событий в моделируемой системе. Продвигаясь по фиксированной структуре, представляющей собой совокупность объектов других категорий, транзакты производят в модели определенные действия. В данной задачи транзактом является сборщик, используемый прибор.
2. Данная система является замкнутой т.к. после того, как транзакт завершает использование прибора, моделирующего печь, он должен быть возвращен назад посредством блока TRANSFER в блок следующей сборки.
3. Блок TRANSFER имеет следующий формат:
TRANSFER A , B , C
После входа в блок TRANSFER транзакт направляется в блок, определяемый в соответствии с режимом передачи значением поля A . Поле А может содержать следующие значения:
· пробел – транзакт передаётся в блок, метка которого указывается в поле B ;
· “ . ” – статистический режим; в поле А указывается вещественное число в интервале от 0 до 1, определяющее вероятность перехода в блок С , дополнение этого числа до единицы определяет вероятность перехода в блок B ;
· BOTH – транзакт последовательно пытается войти в блок, метка которого указана в поле В , затем в блок, метка которого указана в поле С , до тех пор, пока один из этих блоков станет доступным для транзакта.