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

3.3.8. Моделирование многоканальных устройств

Многоканальному устройству в системе GPSSсоответствует объектпамять(символическое обозначениеS). Память может выполнять параллельное обслуживание нескольких транзактов. При этом необходимо, чтобы такое обслуживание было однородным, т.е. обладало некоторыми общими свойствами. Например, среднее время обслуживания и разброс этого времени для кассиров банка, одновременно обслуживающих клиентов, должно быть одинаковым. Если же они обслуживают с разной скоростью, то для их имитации следует использовать несколько параллельно расположенных устройств.

Емкость памяти, т.е. максимальное количество одновременно обслуживаемых транзактов (число каналов обслуживания) задается оператором описанияSTORAGE, который имеет следующий формат:

NameSTORAGEA

Где Name– имя (номер) памяти;A– емкость памяти.

Например,

1 STORAGE100 ; память с номером 1 емкости 100

PAMSTORAGE10 ; память именемPAMемкости 10

Операторы описания памятей обычно помещаются в начале программы перед первым оператором GENERATE.

Изменение состояния памяти в модели осуществляется с помощью операторов занятия и освобождения памяти ENTERиLEAVE:

ENTER A,B

LEAVE A,B

Где A– имя (номер памяти);

B– число единиц памяти, занимаемых (освобождаемых) транзактом при входе в блоки (по умолчанию 1).

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

На блок-схеме блоки ENTERиLEAVEизображаются, как показано на рис. 13.

Рис13. Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ).

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

Рис.14. Многоканальная система массового обслуживания с одной очередью и приоритетами

В конце моделирования по каждой памяти в отчете распечатывается статистика:

  • количество свободных каналов памяти на момент окончания моделирования (REM.),

  • минимальное и максимальное количество одновременно занятых каналов (MIN. иMAX.),

  • счетчик входов (ENTRIES),

  • среднее число занятых каналов (AVE.C.),

  • коэффициент использования памяти (UTIL.).

Тема 4. Генерация случайных чисел

4.1. Общие принципы генерации случайных величин

Имитационное моделирование требует использования большого количества случайных величин. Например, в моделях систем массового обслуживания требуется получение случайного интервала времени между поступлениями заявок, а также случайное время их обслуживания. Кроме того, случайные числа могут быть нужны для определения маршрута движения транзакта (блок TRANSFERв режиме статистической передачи), розыгрыша объема покупки или спроса на товар в моделях управления запасами, и т.д. Моделирование этих случайных величин может быть выполнено на основе наблюдений за реальной системой. Результаты наблюдений могут быть использованы в модели либо непосредственно (т.е. в “сыром виде”), либо через генераторы случайных чисел, воспроизводящие их статистические аналоги.

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

a) не гарантируется типичность данных;

b) длительность моделируемого процесса ограничена длительностью реального;

c) модель лишается прогностической силы, т.к. фактические данные отсутствуют для систем, которые еще только проектируются, либо эксплуатируются в экстремальных условиях.

Поэтому в практике моделирования обычно применяется второй подход, т.е. формирование случайных величин в соответствии с нужным законом распределения. Получение случайных чисел с требуемым законом распределения обычно выполняется в два этапа:

  1. Физическим или программным методом формируется случайное число Ui, равномерно распределенное на интервале [0,1).

  2. Выполняется программный переход от Uiк случайному числуXi,имеющему требуемое распределение.

Равномерно распределенное на [0,1) случайное число представляется в компьютере в виде n– разрядной последовательности нулей и единиц, причем в каждом разряде нуль или единица должны наблюдаться с вероятностью 0,5.

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

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

Числа, выдаваемые программными генераторами, называются “псевдослучайными”. В работе Лемера (1951г) формулируется идея использования псевдослучайных чисел следующим образом: ”последовательность псевдослучайных чисел можно считать случайной, если ее каждый элемент непредсказуем для непосвященных и она удовлетворяет ряду традиционных статистических тестов”.

В n- разрядной сетке компьютера количество различных двоичных чисел равно 2n, т.е. ограничено. Поэтому последовательность генерируемых псевдослучайных чисел рано или поздно начнет повторяться. Количество чисел, генерируемых до начала повторения последовательности, называетсяпериодом генератора L. В лучшем случае период генератораL=2n. Тогда говорят, что генератор имеетполный период. Однако для многих генераторов период гораздо меньше, чем 2n, и может зависеть от начального значения генератора.

Хороший программный генератор случайных чисел должен обладать следующими свойствами:

1. Получаемые числа должны быть равномерно распределены в интервале [0,1) и не должны иметь корреляции друг с другом. Данное свойство проверяется различными методами: например, исследуется равномерность заполнения r - мерного единичного гиперкуба точками (U1,U2,…,Ur),(Ur+1,Ur+2,…,U2r),…Существуют и другие тесты проверки равномерности и отсутствия корреляции.

2. Генератор должен обладать быстродействием и не требовать больших затрат памяти (удобство использования на практике).

3. В генераторе должен быть предусмотрен простой способ получения отдельных потоков случайных чисел, т.е. независимых последовательностей чисел. Каждый поток можно выделить для конкретного источника случайности при моделировании. Например, один поток – для интервала прихода транзактов, а другой поток – для интервалов обслуживания. Либо один поток – для интервалов прихода транзактов одного типа, а второй – для транзактов другого типа. В этом случае обеспечивается сравнимость результатов моделирования.

4. Генератор должен иметь достаточно большую длину периода.