Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИМЭП (методичка1) обр-Ариал.doc
Скачиваний:
4
Добавлен:
06.09.2019
Размер:
631.3 Кб
Скачать

Федеральное агентство по образованию

ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Институт экономики и права

Кафедра «Макроэкономика, экономическая информатика и статистика»

«ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ

на языке GPSS»

Т еоретическая часть

Составитель

А.Л. Хилтухин

Издательство ВСГТУ

Улан-Удэ

2005

Настоящее учебно-методическое пособие предназначено для студентов очного обучения, изучающих новейшие информационные технологии в области имитационного моделирования.

Система GPSS/PC предназначена для имитационного моделирования сложных дискретных систем.

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

Материалы пособия построены таким образом, чтобы студент освоил основы имитационного моделирования на языке GPSS World.

Оглавление

1. "Внесение транзактов в модель. Блок GЕNЕRАТЕ (ГЕНЕРИРОВАТЬ)" 5

2. "Строки, соответствующие блокам GPSS" 9

3. "Удаление транзактов из модели. Блок ТЕRМINАТЕ (ЗАВЕРШИТЬ)" 10

4. "Элементы, символизирующие обслуживающие приборы" 13

5. "Занятие свободных приборов. 14

Блоки SЕIZЕ (ЗАНЯТЬ) и RELEASE (ОСВОБОДИТЬ)" 14

6. "Реализация задержки во времени. Блок АDVANСЕ (ЗАДЕРЖАТЬ)" 16

7. "Ожидание обслуживания: где при каких условиях происходит ожидание транзакта" 18

8. "Сбор статистики при ожидании. Блоки QUEUE (СТАТЬ В ОЧЕРЕДЬ) и DЕРАRТ (ПОКИНУТЬ ОЧЕРЕДЬ)" 19

9. "Логика работы интерпретатора" 28

10. "Переход транзактов в блок, отличный от последующего. Блок ТRАNSFЕR (ПЕРЕДАТЬ)" 30

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

12. "Использование параллельно работающих каналов. Блоки ЕNТЕR (ВОЙТИ) и LEAVE (ВЫЙТИ)" 32

13. "Многоканальная система массового обслуживания с очередью" 35

14. "Управляющие карты GPSS. Карта RESET (СБРОСИТЬ)" 38

15. "Описание стандартов для записи примеров моделирования" 40

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 42

1. "Внесение транзактов в модель. Блок gеnеrате (генерировать)"

GENERATE - это блок, через который транзакты входят в модель. Не существует ограничений на число различных блоков GЕNЕRАТЕ в одной модели. Интервал времени между последовательными появлениями транзактов блока GENERAТЕ называют интервалом поступления.

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

В системе обслуживания разработчик должен был построить логическую схему, необходимую для реализации процедуры планирования. При использовании GPSS интерпретатор автоматически выполняет требуемые шаги для реализации блока GENERАТЕ. Это дает возможность разработчику уделить больше внимания тем деталям моделирования, которые вызывают у него наибольшие трудности.

Все разработчики должны задавать спецификацию распределения интервалов времени поступления в блоке GENERАТЕ. Информация, необходимая для данного блока, задается операндами А и В. Все возможные виды распределения интервалов времени прибытия в GPSS делят на равномерно распределенные и все другие виды распределения.

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

Блок GENERАТЕ вместе с операндами А и В изображен на рис. 1.1.

Рис. 1.1

Блок GENERATE (ГЕНЕРИРОВАТЬ) с операндами А и В:

Операнд

Значение

Значение по умолчанию

А

Средний интервал времени

Ноль

В

Половина поля допуска равномерно распределенного интервала

Ноль

Операнд А определяет среднее время между последовательными приходами транзактов в блоке GENERАТЕ.

Операнд В задает половину поля допуска (или половину размаха) интервалов времени прибытия. Когда операнды задают в виде констант, они должны быть неотрицательными целыми числами. В GPSS/360 существует только один единственный блок (рассмотрен ниже), для которого разрешено использование десятичной точки в операнде. Во всех остальных случаях включение десятичной точки при использовании операндов ошибочно.

Рис. 1.2. Блок GENERATE (ГЕНЕРИРОВАТЬ) с конкретными значениями операндов А и В.

На рис. 1.2 показан пример использования блока GENERАТЕ. Операндами А и В являются соответственно 5 и 3. Интервалом времени прибытия, таким образом, является случайное число со средним значением, равным 5, и полем допуска, равным 6, т. е. интервал прихода может быть выражен целыми числами 2, 3, 4, 5, 6, 7 и 8.

Напомним, что таймер GPSS регистрирует только целые значения, поэтому транзакты могут быть внесены в модель только в целые значения моментов времени. Это объясняет, почему запись 5 - 3 описывает замкнутый интервал целых значений от 2 до 8, а не непрерывный интервал между 2 и 8.

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

Для иллюстрации планирования событий предположим, что транзакт входит в блок GENERАТЕ, представленный на рис.1.2, в момент модельного времени 15. После того, как этот транзакт попадет в следующий блок модели, интерпретатор GPSS разыграет случайное значение времени из распределения интервалов времени, равного 5-3.Пусть разыгранным значением является число 7. Тогда интерпретатор планирует приход следующего транзакта в блок GENERАТЕ в момент времени 15 + 7,или 22. В момент, когда этот транзакт появляется в блоке GENERАТЕ и идет к следующему блоку, планируется время прихода его последователя. Эта техника аналогична той, которую использовали для планирования прихода заявок в системе обслуживания с одним прибором и очередью.

Операнды А и В в блоке GENERАТЕ не обязательно должны быть заданы. Когда одно (или оба) из этих значений не указано, по умолчанию предполагается нулевое значение.

Рис. 1.3. Блок GЕNERАТЕ с заданием по умолчанию операнда В.

На рис. 1.3 показано, как может быть задано значение операнда В для блока GENERАТЕ по умолчанию. Операнд А равен 10. Поскольку для В предполагается нулевое значение, то интервалы времени распределены равномерно в соответствии с записью 10 - О. Иначе говоря, интервал времени прихода равен в точности 10. Это пример того, как может быть задано детерминированное (т.е. неслучайное) значение интервалов времени.

Теперь мы рассмотрим еще три дополнительных операнда. Они показаны в табл. 1.1.

Таблица 1.1. Значения операндов С, D и Е блока GENERАТЕ.

Значения операндов C, D, и E блока GENERATE

Операнд

Значение

Значение по умолчанию

C

Смещение интервалов

Смещение отсутствует

D

Ограничитель

Бесконечность

E

Уровень приоритета

Ноль

Операнд С используют для задания смещения интервалов. Смещение интервалов - это момент времени, в который в блоке GENERАТЕ должен появиться первый транзакт. После этого первого прихода все остальные приходы заявок возникают в соответствии с распределением интервала времени, заданным операндами А и В. Операнд С разработчик может использовать как для ускорения, так и для замедления прихода первого транзакта или для указания прихода в желаемый момент времени.

Когда операнд С не используется, все приходы в блок GENERАТЕ определяются операндами А и В.

Операнд D задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERАТЕ в течение времени моделирования. Когда это число достигнуто, данный блок GENERАТЕ перестанет быть активным. Если не определено граничное значение, блок GENERАТЕ остается активным в течение всего времени моделирования.

Операнд Е устанавливает уровень или класс приоритета каждого из транзактов, входящих в модель через данный блок GENERАТЕ.

Всего при моделировании на GPSS существует 128 различных уровней приоритетов. Эти уровни задают с помощью чисел от 0 до 127. Чем больше число, тем выше приоритет. Следовательно, наименьшим приоритетом является ноль. Как показано в табл. 1.1, транзакту присваивается именно этот наименьший приоритет, если в блоке GENERАТЕ не используется в явном виде операнд Е.

На рис. 1.4 показаны примеры блоков GENERАТЕ, в которых значения операндов С, В и Е указаны в явном виде. На рис.1.4,а моментом первого прихода является значение 10. После этого интервалы времени прибытия находят из равномерного распределения 3-3, иначе говоря, от 0 до 6 включительно. Однако только первые пять транзактов должны войти в модель через этот блок GENERАТЕ.

Рис. 1.4.Дополнительные примеры блока GENERATE:

а - с операндами A-D;

б - с заданными операндами А и С;

в - с заданными значениями операндов А, В и Е.

На рис.1.4,б время первого прибытия задано числом 2.После этого приход новых транзактов будет осуществляться через каждые пять единиц времени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]