Промоделировать работу библиотекаря. Интервалы прихода читателей распределены равномерно в интервале а. Время работы b с читателями также распределено равномерно. Читатели обслуживаются в порядке «первым пришел - первым обслужен». Модель работы библиотекаря на GPSS должна обеспечить сбор статистики об очереди. Необходимо промоделировать работу библиотекаря в течение с часов.
а= 10 ± 5 b= 8 ± 4 c= 8
Процесс моделирования завершить листингом отчета системы GPSS с обсуждением результата моделирования.
Решение
Пакет GPSS (General Purpose Simulating System - общецелевая система моделирования) является одним из наиболее эффективных и распространенных программных средств моделирования дискретных систем на IBM PC и успешно используется для моделирования систем, формализуемых в виде схем массового обслуживания (СМО).
Примерами таких схем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, справочные бюро, парикмахерские и т.п. Каждая такая система состоит из определенного числа обслуживающих единиц, называемых «каналами» обслуживания. В качестве каналов могут фигурировать: линии связи: лица, выполняющие те или иные операции: различные приборы и т.д. Системы массового обслуживания могут быть как одно-, так и многоканальными.
Работа любой системы массового обслуживания состоит в выполнении поступающего в нее потока требований или заявок. Заявки поступают одна за другой в некоторые, вообще говоря, случайные моменты времени. Обслуживание поступившей заявки продолжается какое-то время, после чего канал освобождается и готов для приема следующей заявки.
В нашем случае рассматривается работа библиотеки. Поток требований (заявок) - приход читателей, обслуживание заявки – обслуживание читателя библиотекарем.
Введем определения:
Транзакт - динамический (движущийся) элемент GPSS – модели (у нас это читатель).
Работа GPSS-модели заключается в перемещении транзактов от блоков к блокам.
В самом начале моделирования в GPSS-модели нет ни одного транзакта. В процессе моделирования транзакты входят в модель в определенные моменты в соответствии с логическими потребностями, которые возникают в моделируемой системе.
Подобным же образом транзакты покидают модель в определенные моменты в зависимости от специфики моделирования.
Если транзакт начал движение, он перемещается от блока к блоку, вызывая выполнение соответствующих подпрограмм.
Продвижение транзакта продолжается до тех пор, пока не произойдет одно из следующих возможных событий:
1
. Транзакт входит в блок, функция которого - задержка транзакта на некоторое определенное модельное время (у нас это стол библиотекаря ).
2. Транзакт входит в блок, который удаляет транзакт из модели.
3. Транзакт пытается войти в некоторый блок согласно блок-схеме, но блок отказывается его принять. В этом случае транзакт остается в том блоке, в котором он находится. Позднее он повторит свою попытку войти в блок. Одна из таких попыток может оказаться успешной, после чего транзакт может продолжать свое перемещение в модели.
В нашем случае это выглядит так:
Читатели приходят в библиотеку и встают в очередь; когда приходит их очередь, они попадают к столу библиотекаря. Обслуживание читателя библиотекарем заканчивается, и читатель покидает библиотеку. Если все эти события представить в модели, то их возникновение должно происходить на фоне модельного времени.
Рассмотрим процесс моделирования.
Внесение транзактов в модель.
Элементы, символизирующие обслуживающие приборы
Элементами, представляющими прибор, может быть либо человек, либо какой-то предмет. Люди: парикмахер, заправщик бензоколонки, продавец, библиотекарь