|
|||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример моделирования системы с одним прибором и очередьюПостановка задачи. Интервалы прихода клиентов к банкамату распределены равномерно в интервале 18 ± 6 мин. Время использование банкомата клиентом распределено равномерно, 16 ± 4 мин. Клиенты подходят к банкомату, обслуживаются в порядке «первым пришел – первым обслужен» и уходят. Модель на GPSS должна обеспечить сбор статистических данных об очереди. Промоделировать работу банкомата в течение 8 ч. модельного времени. Метод построения модели. В реальной системе клиенты приходят; если необходимо, ждут своей очереди; занимают банкомат; происходит процесс обслуживания банкоматом клиентов; клиенты уходят. Модель представляет собой непрерывную цепь блоков, соответствующих данной последовательности действий. Период моделирования описывается в сегменте таймера, состоящего из двух блоков. Таблица определений. Составим таблицу определений для данного примера. Единица времени - 1 мин.
Блок-схема модели приведена в приложении 2. Программа на языке GPSS:
Выходные данные:
Результаты моделирования. Прибор BANC использовался в течение 86% времени и был занят обслуживанием 26 раз. Среднее время интервала обслуживания прибора BANC равно 15,93 мин. В очереди никогда не было более одного клиента. Число входов в очередь – 26. Среди них 15 нулевых. Расшифровка всех позиций выходных данных дана в приложении 3.
Управление временем моделирования. После того, как модель введена, она запускается на выполнение командой
START А, [В, С, D]
Целое число, указываемое в поле A команды START называется счетчиком. С помощью счетчика определяется момент, когда моделирование должно быть прекращено. Это осуществляется следующим образом. В процессе выполнения модели каждый раз, когда какой-либо транзакт уничтожается в блоке TERMINATE, одновременно с этим GPSS вычитает из счетчика команды START число, заданное в поле A этого блока TERMINATE. Процесс моделирования прекращается в тот момент, когда значение счетчика команды START становится нулевым или отрицательным. Одновременно с остановом модели начинается вывод всей собранной статистики на печать, точнее - вывод в текстовый файл с именем REPORT.GPS. Такой механизм управления временем моделирования позволяет задавать остановку модели по достижению заданного числового момента времени или же по заданному логическому условию, возникшему в модели. Примеры: · START 50 - означает закончить моделирование после прохождения через модель 50 транзактов; · START 200, NP – для 200 транзактов прогон без статистики; · START 3,,1 - выдача статистики трижды, через каждые А транзактов, указанных в блоке GENERATE А. Поле В может быть использовано для блокирования выдачи статистики в конце счета. Для этого в поле В записывают мнемоническое обозначение NP. Поле С позволяет задавать интервалы промежуточной выдачи статистик. Если в поле D указано значение «1», это является указанием на то, что при выдаче статистик нужно распечатывать списки текущих и будущих событий, список прерываний, списки пользователя. В противном случае поле оставляют незаполненным.
Изменение маршрута транзактов. Блок TRANSFER (ПЕРЕДАТЬ). Обычно транзакты последовательно проходят по блокам задающим структуру модели, однако возможны ситуации когда требуется направить транзакт к вполне определенному блоку, расположенному в произвольном месте структуры. Блок TRANSFER используется для того чтобы направить входящее в него сообщение к любому блоку. Передача может быть осуществлена логически, статистически, условно и безусловно. Вид передачи определяется мнемоническими обозначениями указанными в операнде А блока TRАNSFER. При безусловной передаче указывается один блок, а при условной – два пути продвижения транзактов. Выбор того или иного пути определяется режимом работы блока. Вид и общая форма записи блока:
TRANSFER А, В, С
а) Безусловный переход. Операнд А блока TRANSFER отсутствует, все транзакты, входящие в этот блок, будут передаваться в блок, имя которого указано в операнде В (наличие этого операнда обязательно). TRANSFER, NEXT означает, что транзакты всегда направляются в блок с именем NEXT. б) Условный переход. Возможен выбор одного из двух блоков (BOTH) или более двух (ALL). Ограничимся рассмотрением более распространенного первого случая. Режим BOTH задается в операнде А блока TRANSFER. В блоке осуществляется выбор одного из двух блоков, указанных в операндах В и С. Порядок выбора принят следующий. Сначала транзакт пытается войти в блок, заданный в операнде В, если это невозможно, то пытается войти в блок, указанный в операнде С, причем эти попытки происходят в один момент модельного времени. Если и вторая попытка безрезультатна, то транзакт задерживается в блоке TRANSFER до следующего момента времени. Затем опрос блоков повторяется, пока выход не будет найден. Если блок TRANSFER в режиме BOTH не имеет операнда В, то это означает переход к блоку, следующему за ним. Следует помнить, что режим BOTH существенно увеличивает время счета модели. Например, запись TRANSFER BOTH, NEXT, SAM означает, что транзакт попытается войти сначала в блок с именем NEXT, а если это не удастся, то в блок SAM. в) Статистический переход. Если в операнде А блока TRANSFER записана десятичная дробь, то производится случайный выбор между блоками, указанными в операндах В и С. Вероятность выбора блока С задается дробью. Например, запись TRANSFER 0.25, ROB, IRA означает, что с вероятностью 0,25 (25% всех транзактов) сообщение будет направленно в блок IRA. Остальные 75% попадут в блок ROB. Для каждого транзакта выбирается только один из путей и только в момент входа в блок TRANSFER. Отсутствие операнда В интерпретируется аналогично случаю условного перехода.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |