
- •Шпаргалки по имэп
- •Вопрос 1. Системы: основные понятия и определения.
- •Вопрос 2. Понятие модели. Классификация систем и моделей.
- •Классификация систем и моделей.
- •Вопрос 3. Принципы системного подхода в моделировании систем.
- •Вопрос 4. Имитационное моделирование. Метод статистического моделирования.
- •Вопрос 5. Основные подходы к построению математических моделей систем.
- •Вопрос 6. Дискретно-событийные системы и модели. Схема алгоритма моделирования стохастических дискретно-событийных систем.
- •Вопрос 7. Основные математические схемы моделирования систем и процессов (d,f,p,q – схемы).
- •Вопрос 8. Случайные потоки однородных событий: основные определения и свойства.
- •Вопрос 14. Системы массового обслуживания: основные определения и свойства.
- •Заявки принимаются к обслуживанию
- •Вопрос 18. Моделирование случайных событий и дискретных величин.
- •Вопрос 24. Стратегическое планирование машинных экспериментов с моделями систем.
- •Вопрос 26. Задачи обработки результатов моделирования.
- •Вопрос 30. Регрессионный анализ результатов моделирования.
- •Вопрос 33 Общие сведения о формате операторов gpss. Формат и действие блоков generate и terminate.
- •Вопрос 34 Элементы gpss, отображающие одноканальные обслуживающие устройства. Блоки seize, release, advance.
- •Вопрос 35 Сбор статистики об ожидании. Блоки queue, depart.
- •Вопрос 36 Переход транзакций в блок, отличный от последующего. Блок transfer (все режимы).
- •Вопрос 37 Моделирование многоканальных устройств. Определение емкости мку. Формат и действие блоков enter и leave.
- •Вопрос 41 Стандартные числовые атрибуты системы и транзактов, параметры транзактов.
- •Вопрос 42 Блоки assign, mark,loop (формат и примеры использования).
- •Вопрос 44 Сохраняемые величины. Операторы initial и savevalue.
- •Вопрос 46 Проверка числовых выражений. Блок test.
- •Вопрос 50 Логические ключи. Блоки управления потоками транзактов: logic, gate lr,gate ls и gate.
Вопрос 44 Сохраняемые величины. Операторы initial и savevalue.
В GPSS пользователю предоставляется возможность определить «свои» глобальные переменные, начальные значения которых могут быть заданы перед моделированием и к которым можно обратиться из любого места модели в любой момент времени. Эти переменные называют сохраняемыми величинами (ячейками). Совокупность логически связанных между собой ячеек образует матрицу (аналог массива).
В отличие от параметров транзакта, приоритета и отметки времени, которые теряются в момент выхода транзакта из модели, ячейки доступны на протяжении всего процесса моделирования. Значения сохраняемых величин не подсчитываются интерпретатором автоматически (как СЧА устройств, очередей, МКУ и т.п.), А задаются и изменяются программистом.
Сохраняемые величины могут принимать положительные и отрицательные значения. Стандартный числовой атрибут Xj (Х$<имя ячейки>) дает значение соответствующей сохраняемой величины. Например, X2 – значение ячейки 2; X$DAY – значение ячейки DAY.
C матрицами связан стандартный числовой атрибут MXj(m, n) – значение, записанное в строке т и в столбце n матрицы j или МХ$<имя матрицы> (m,n), если матрица имеет символьное имя.
СЧА сохраняемой величины может быть использован для косвенного задания данных, А также как аргумент функций и таблиц.
Перед использованием матрица определяется оператором описания MATRIX. Начальные значения ячеек и матриц можно задать c помощью оператора описания INITIAL.
1. Допускается косвенная адресация ячеек, матриц, А также их строк и столбцов. Например: X*P2 – значение ячейки c номером, который сохраняется в параметре 2; MX*P5(5,2) – элемент (5,2) матрицы, номер которой записан в параметре 5; MX3(P4,X2) – значение, записанное в строке P4 и в столбце X2 матрицы 3.
2. Недопустимой является запись такого вида: MXl(MX2(l,2),MX3(3,4)), поскольку нельзя задавать номера строк и столбцов матрицы c помощью СЧА матриц.
Оператор INITIAL (ИНИЦИАЛИЗИРОВАТЬ). Если в процессе моделирования происходит обращение к сохраняемой величине, которая не была задана, то интерпретатор выдает ошибку в процессе выполнения программы. Поэтому перед началом моделирования все сохраняемые величины должны быть инициализированы c помощью оператора INITIAL. Формат оператора представлен в таблице.
Ta6лицa 4.39
Поле |
Информация в поле |
Метка |
Не используется |
Операция |
INITIAL |
Операнд А |
Имя сохраняемой величины |
Операнд В |
Начальное значение |
Пример 4.38
INITIAL X$TIMER,1000000
Ячейке TIMER присваивается начальное значение 1000000;
INITIAL X3,2S
Ячейке c номером 3 присваивается начальное значение 25.
INITIAL MX8(2,4),-53
Величина – 53 записывается в строку 2, столбец 4 матрицы 8.
INITIAL MX$COST(l,3),22
Величина 22 записывается в строку 1, столбец 3 матрицы COST.
Блок SAVEVALUE (СОХРАНИТЬ ВЕЛИЧИНУ). Значение сохраняемой величины изменяется при входе транзакта в блок, SAVEVALUE (СОХРАНИТЬ ВЕЛИЧИНУ).
Его формат:
SAVEVALUE A[+,-],B
Таблица 4.40
Операнд |
Значение |
Результат по умолчанию |
А |
Номер или символьное имя сохраняемой величины |
Ошибка |
В |
Величина, используемая для модификации (число или СЧА) |
Ошибка |
Подобно блоку ASSIGN блок SAVEVALUE может быть использован как в режиме замещения величины, так и в режиме увеличения или уменьшения. В режиме увеличения предыдущее значение сохраняемой величины увеличивается на значение, заданное операндом В, А в режиме уменьшения – уменьшается на это значение. Режимы увеличения и уменьшения определяются введением соответственно знака «плюс» или «минус» перед запятой, разделяющей операнды А и В.
Пример 4.39
SAVEVALUE P5,VSALPHA
При входе транзакта в блок SAVEVALUE прежде всего вычисляется величина переменной ALPHA. Полученный результат присваивается сохраняемой величине, номер которой записан в параметpe P5.
SAVEVALUE 5+,X2
При входе транзакта в блок величина X5 увеличивается на значение величины X2.
SAVEVALUE PROFIT-,FN$COSTS
При входе транзакта в блок величина X$PROFIT уменьшается на значение функции FN$COSTS.