Главная страница

Работа 1. Лабораторная работа 3 (1). Динамические системы и методы их математического моделирования в пакете Matlab Simulink


Скачать 363.5 Kb.
НазваниеДинамические системы и методы их математического моделирования в пакете Matlab Simulink
АнкорРабота 1
Дата19.04.2023
Размер363.5 Kb.
Формат файлаdoc
Имя файлаЛабораторная работа 3 (1).doc
ТипЛабораторная работа
#1073883
страница3 из 3
1   2   3

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

Назначение оператора: генерирование транзактов в соответствии с заданным правилом формирования интервалов между транзактами.

Формат оператора:

GENERATE [A],[B],[C],[D],[E]

Значения операндов:

A – средний интервал времени между генерируемыми транзактами или вероятностное распределение интервала из встроенной библиотеки процедур, заключённое в круглые скобки; [по умолчанию – ноль];

B – величина полуинтервала равномерно распределенного интервала или модификатор таблично заданной функции; [по умолчанию – ноль];

С – смещение – момент формирования первого транзакта; [по умолчанию – ноль];

D – ограничитель – число генерируемых данным оператором транзактов; [по умолчанию – не ограничено];

Е – уровень приоритета от 0 до 127 (чем больше номер, тем выше приоритет); [по умолчанию – ноль].

Примечание. Несмотря на то, что операнды A и D – необязательные операнды, в операторе GENERATE обязательно должен использоваться один из них: либо операнд A, либо операнд D.
TERMINATE (ЗАВЕРШИТЬ)
Назначение оператора: удаление транзактов из модели.

Формат оператора:

TERMINATE [A]

Значения операндов:

A – указатель уменьшения счетчика завершений (целое положительное число); [по умолчанию – ноль].
ADVANCE (ЗАДЕРЖАТЬ)
Назначение оператора: задержка транзакта на заданное время.

Формат оператора:

ADVANCE [A],[B]

Значения операндов:

A – среднее время задержки или вероятностное распределение из встроенной библиотеки процедур, заключённое в круглые скобки; [по умолчанию – ноль];

B – величина полуинтервала равномерно распределенного интервала задержки или модификатор таблично заданной функции; [по умолчанию – ноль].
SEIZE (ЗАНЯТЬ)
Назначение оператора: занятие транзактом прибора.

Формат оператора:

SEIZE A

Значения операндов:

A – идентификатор (число или имя) занимаемого прибора.


RELEASE (ОСВОБОДИТЬ)
Назначение оператора: удаление транзакта из прибора (освобождение прибора).

Формат оператора:

RELEASE A

Значения операндов:

A – идентификатор (число или имя) освобождаемого прибора.
QUEUE (СТАТЬ В ОЧЕРЕДЬ)
Назначение оператора: занесение транзакта в очередь (точнее – регистрация статистики очереди, связанная с фиксацией момента поступления транзакта в очередь и увеличением ее длины).

Формат оператора:

QUEUE A,[B]

Значения операндов:

A – идентификатор (число или имя) очереди;

B – количество элементов, на которое должна увеличиться длина очереди; [по умолчанию – один].
DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)
Назначение оператора: удаление транзакта из очереди (точнее – регистрация статистики очереди, связанная с уменьшением ее длины и фиксацией момента удаления транзакта из очереди с целью определения времени ожидания).

Формат оператора:

DEPART A,[B]

Значения операндов:

A – идентификатор (число или имя) очереди;

B – количество элементов, на которое должна уменьшиться длина очереди; [по умолчанию – один].
ENTER (ВОЙТИ)
Назначение оператора: вход транзакта в многоканальное устройство.

Формат оператора:

ENTER A,[B]

Значения операндов:

A – идентификатор (число или имя) многоканального устройства;

B – количество занимаемых приборов многоканального устройства; [по умолчанию – один].
LEAVE (ВЫЙТИ)
Назначение оператора: удаление транзакта из многоканального устройства.

Формат оператора:

LEAVE A,[B]

Значения операндов:

A – идентификатор (число или имя) многоканального устройства;

B – количество освобождаемых приборов многоканального устройства; [по умолчанию – один].
TEST (ПРОВЕРИТЬ)
Назначение оператора: поверка значения (обычно СЧА) и передача активного транзакта в блок, отличный от последующего, если указанное условие не выполняется.

Формат оператора:

TEST Х A,B,[C],

Значения операндов:

A – проверяемое значение;

B – контрольное значение;

C – имя (метка) блока назначения C; [по умолчанию – Режим отказа];

Х – оператор отношения, определяющий условие проверки операнда

А с операндом В:


Значения Х

Интерпретация в смысле блока TEST

G

A больше B?

GE

A больше или равно B?

E

A равно B?

NE

A не равно B?

LE

A меньше или равно B?

L

A меньше B?


Блок TEST может функционировать в двух режимах:

  • в режиме альтернативного выхода (если задан операнд C);

  • в режиме отказа (если операнд C не задан).

Когда транзакт пытается войти в блок TEST в режиме альтернативного выхода и проверяемое условие не выполняется, транзакт передается блоку, указанному в

операнде С.

Когда транзакт пытается войти в блок TEST в режиме отказа (при отсутствии операнда С) и заданное условие не выполняется, транзакт блокируется до тех пор, пока условие не будет выполнено.


TRANSFER (ПЕРЕДАТЬ)
Назначение оператора: передача транзакта в блок, отличный от последующего.

Режимы использования оператора TRANSFER:

  1. режим безусловной передачи;

  2. режим статистической передачи;

  3. режим BOTH (ОБА);

  4. режим ALL (ВСЕ);

  5. режим PICK (выборочный);

  6. режим FN (функциональный);

  7. режим P (параметрический);

  8. режим SBR (подпрограммный);

  9. режим SIM (одновременный).


Далее рассматриваются только первый, третий и четвертый режим.

Режим безусловной передачи

Назначение оператора: безусловная передача транзакта в блок, отличный от последующего.

Формат оператора:

TRANSFER ,B

Значения операндов:

A – НЕ используется, что является признаком режима безусловной передачи;

B – имя блока, к которому направляется активный транзакт.

Режим BOTH (ОБА)

Назначение оператора: В этом режиме каждый входящий транзакт сначала пытается перейти к блоку, указанному в поле В. Если это сделать не удается, транзакт пытается перейти к блоку, указанному в поле С. Если транзакт не сможет перейти ни к тому, ни к другому блоку, оно остается в блоке TRANSFER и будет повторять в том порядке попытки перехода при каждом просмотре списка текущих событий, до тех пор, пока не сможет выйти из блока TRANSFER.

Формат оператора:

TRANSFER A,B,C

Значения операндов:

A – равно BOTH, что является признаком режима ОБА;

B,С – имена блоков, к которым может направляется активный транзакт.
Режим ALL (ВСЕ)

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

Формат оператора:

TRANSFER A,B,C,D

Значения операндов:

A – равно ALL, что является признаком режима ВСЕ;

B – первый блок к которому направляется транзакт;

C – последний блок к которому направляется транзакт;

D – шаг, количество операторов который пропускает транзакт до следующего блока, если и блок который указ в операнде C, цикл начинается с начала.


TABULATE (ТАБУЛИРОВАТЬ)
Назначение оператора: занесение значений в таблицу.

Формат оператора:

TABULATE A,[B]

Значения операндов:

A – имя таблицы, в которую заносится соответствующее значение и которая должна быть описана с помощью оператора описания (команды) TABLE;

B – весовой коэффициент; [по умолчанию – Коэффициент равен 1]. При попадании активного транзакта в оператор TABULATE обновляется статистика, связанная с таблицей, указанной в операнде A
STORAGE (МНОГОКАНАЛЬНОЕ УСТРОЙСТВО)
Назначение: описание ёмкости многоканального устройства (памяти).

Формат оператора:

<Имя> STORAGE A

Здесь: <Имя> – имя многоканального устройства.

Значения операнда:

A – количество приборов (каналов) в многоканальном устройстве.
TABLE (ТАБЛИЦА)
Назначение: описание таблицы, используемой в модели для накопления частоты попадания некоторой случайной величины в заданные частотные интервалы и построения гистограммы плотности распределения.

Формат оператора:

<Имя> TABLE A,B,C,D

Здесь: <Имя> – имя таблицы (не более 32-х алфавитно-цифровых символов).

Значения операндов:

A – имя случайной величины (СЧА), значения которой должны учитываться в таблице; операнд А игнорируется дисперсионным анализом, но должен быть определен, когда используется блоками TABULATE;

B – ширина первого частотного интервала;

C ширина всех промежуточных частотных интервалов;

D – количество частотных интервалов таблицы, включая левый и правый (целое положительное число).
QTABLE (ТАБЛИЦА ОЧЕРЕДИ)
Назначение: описание таблицы очереди, используемой в модели для накопления частоты попадания времени нахождения транзакта в очереди (времени ожидания) в заданные частотные интервалы и построения гистограммы плотности распределения.

Формат оператора:

<Имя> TABLE A,B,C,D

Здесь: <Имя> – имя таблицы (не более 32-х алфавитно-цифровых символов), в которой будут накапливаться значения частот.

Значения операндов:

A – имя очереди, для которой формируется таблица;

B – ширина первого частотного интервала;

C – ширина всех промежуточных частотных интервалов;

D – количество частотных интервалов таблицы, включая левый и правый (целое положительное число).
VARIABLE (АРИФМЕТИЧЕСКАЯ ПЕРЕМЕННАЯ)
Назначение: описание арифметической переменной.

Формат оператора:

<Имя> VARIABLE X

Здесь: <Имя> – имя арифметической переменной.

Значения операнда:

X – арифметическое выражение для вычисления значения переменной <Имя>.
START (НАЧАТЬ)
Назначение: запуск процесса моделирования.

Формат оператора:

START A,[B],,[D]

A – начальное значение «счетчика завершений»;

B – признак вывода статистики: значение NP (no printout) блокирует вывод стандартной статистики; необязательный операнд;

D – признак вывода списков: значение 1 включает вывод списков будущих и текущих событий в стандартный отчет; необязательный операнд.
Групповые имена (наименования) и значения основных СЧА объектов, таких как приборы, многоканальные устройства, очереди итаблицы приведены ниже.
СЧА приборов


Групповое имя

Значение

F

1, если прибор занят; 0, если свободен

FC

Число занятий прибора транзактами

FR

Загрузка прибора, выраженная в долях тысячи

FT

Среднее время занятия прибора транзактом


СЧА многоканальных устройств


Групповое имя

Значение

R

Количество незанятых приборов (каналов)

S

Количество занятых приборов (каналов)

SA

Среднее количество занятых приборов

SC

Счетчик числа входов в многоканальное устройство

(при каждом выполнении блока ENTER значение

счетчика увеличивается на величину операнда B блока)

SM

Максимальное количество занятых приборов

(максимальное значение Sj или S$ имя)

SR

Загрузка многоканального устройства, выраженная в

долях тысячи

ST

Среднее время нахождения транзакта в устройстве.


СЧА очередей


Групповое имя

Значение

Q

Текущее значение длины очереди

QA

Среднее значение длины очереди

QC

Количество входов в очередь (увеличивается на

величину операнда B блока QUEUE)

QM

Максимальное значение длины очереди

QT

Среднее время пребывания в очереди с учетом

нулевых входов

QX

Среднее время пребывания в очереди для входов

без учета нулевых входов

QZ

Количество нулевых входов в очередь, при

которых время ожидания было равно нулю


Кроме того, могут использоваться следующие СЧА объектов:

  • СЧА таблиц:

    • TB$<Имя> – Среднее значение элементов таблицы

    • TC $<Имя> – Количество учтенных в таблице элементов

    • TD $<Имя> – Стандартное отклонение элементов таблицы

  • СЧА функции:

    • FN$<Имя> – результат вычисления функции;

  • СЧА переменной:

    • V$<Имя> – результат вычисления переменной.


Примеры СЧА объектов:

FR3 – возвращает значение загрузки прибора с номером 3;

FT$Auto_Master – возвращает среднее время занятия транзактом прибора с именем Auto_Master.

S22 – возвращает количество занятых приборов в многоканальном устройстве с номером 22;

SM$Kassa_2m – возвращает максимальное количество занятых приборов в многоканальном устройстве с именем Kassa_2m.

V$F_5 – возвращает значение переменной F_5.

К СЧА системы относятся такие глобальные переменные как:

  • АС1 – значение абсолютного модельного времени (с момента начала моделирования или последней команды CLEAR);

  • С1 – значение относительного модельного времени (с момента последней команды RESET);

  • TG1 – текущее значение счетчика завершения;

  • Z1 – свободная оперативная память ЭВМ в байтах.


К СЧА транзактов относятся:


  • MP<Число> или MP$<Имя> – транзитное время транзакта(абсолютное модельное время минус значение, содержащееся в параметре <Число> или <Имя>);

  • P<Число> или P$<Имя> – значение параметра <Число> или <Имя>;

  • PR – приоритет транзакта;

  • M1 – резидентное время транзакта (абсолютное модельное время минус время появления транзакта в модели);

  • XN1– номер активного транзакта.

Встроенная библиотека процедур GPSS World содержит более 20 вероятностных распределений, в том числе:

  • равномерное (Uniform);

  • экспоненциальное (Exponential);

  • геометрическое (Geometric);

  • Пуассона (Poisson);

  • Бета (Beta);

  • Гамма (Gamma);

  • биномиальное (Binomial);

  • дискретно-равномерное (Discrete Uniform);

  • треугольное (Triangular);

  • нормальное (Normal);

  • Парето (Pareto); …


Для обращения к вероятностному распределению необходимо указать имя библиотечной процедуры и её параметры, заключённые в круглые скобки и отделённые друг от друга запятой:

<Имя процедуры>(G,А,В, …)
Здесь G – номер генератора равномерно распределённых случайных чисел (от 1 до 999) – используется в качестве аргумента для формирования случайных величин с заданным законом распределения. Остальные параметры A, B, …, количество которых для разных распределений составляет от 1 до 4, задают непосредственно параметры вероятностного распределения.

Ниже рассматриваются только некоторые из перечисленных распределений, наиболее часто используемые в моделях массового обслуживания.
1. Равномерное распределение:

UNIFORM (G,Min,Max),
где Min и Max – соответственно минимальное и максимальное значение равномерно распределённой случайной величины.
2. Экспоненциальное распределение:

EXPONENTIAL (G,Min,Mean),
где Mean – математическое ожидание (среднее значение) случайнойвеличины, распределённой по экспоненциальному закону;

Min – смещение распределения относительно нуля (минимальное значение случайной величины).
3. Распределение Пуассона:

POISSON (G,Mean),
где Mean – математическое ожидание (среднее значение) случайной величины.
4. Геометрическое распределение:
GEOMETRIC (G,P),
где P – параметр распределения, принимающий значения в интервале (0;1).

Библиотечные процедуры вероятностных распределений могут использоваться в выражениях, в том числе арифметических, а также в качестве операнда A в операторах GENERATE и ADVANCE. В последнем случае они рассматриваются как выражения языка PLUS и должны быть заключены в круглые скобки.




1   2   3


написать администратору сайта