4.17. Сохраняемые величины
В 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. Полученный результат присваивается сохраняемой величине, номер которой записан в параметpeP5.
SAVEVALUE 5+,X2
При входе транзакта в блок величина X5увеличивается на значение величиныX2.
SAVEVALUE PROFIT-,FN$COSTS
При входе транзакта в блок величина X$PROFIT уменьшается на значение функцииFN$COSTS.
Оператор описания матрицы MATRIX. Каждая матрица должна быть объявлена до ее использования, т.е. должна иметь оператор описания. Формат оператора представлен в таблице.
Таблица 4.41
Поле | Информация в поле |
Метка | Имя матрицы |
Операция | MATRIX |
Операнд А | Не используется (оставлен для совместимости с более старыми версиями GPSS) |
Операнд В | Число строк матрицы (целое положительное) |
Операнд С | Число столбцов матрицы (целое положительное) |
Матрица в GPSS/PCможет содержать не более чем 8191 элемент. Она может быть переопределена или инициализирована повторно другим операторомMATRIX cтем же именем. Переопределение, при котором размер матрицы изменяется, повлечет за собой выделение памяти под новую матрицу. Выделенная до этого оперативная память остается занятой.
Блок MSAVEVALUE. Блок MSAVEVALUE используется для записи значений в матрицы, А также для увеличения или уменьшения значений элементов матриц. Его формат:
MSAVEVALUE A[+,-|3,C,D
Таблица 4.42
Операнд | Значение | Результат по умолчанию |
А | Имя матрицы | Ошибка |
В | Номер строки матрицы | Ошибка |
С | Номер столбца матрицы | Ошибка |
D | Величина, используемая для модификации | Ошибка |
Операнды А,ВиCмогут быть именем, положительным целым, СЧА илиCЧA*CЧA. ОперандDможет быть именем, СЧА или: CЧA*CЧA.
Подобно блокам ASSIGN и SAVEVALUEэтот блок может быть использован как в режиме замещения величины, так и в режиме увеличения или уменьшения.
Когда транзакт входит в блок MSAVEVALUE, то анализируется операнд А и ищется матрицаcуказанным именем. Если матрица ненайдена, то возникает ошибка. Соответствующий элемент матрицы определяется содержимым операндовВиC. Если такого элемента не существует, то также возникает ошибка.
- Предисловие
- Введение
- Глава 1. Модели массового обслуживания
- 1.1. Системы массового обслуживания и их характеристики
- 1.2. Системыcодним устройством обслуживания
- 1.3. Основы дискретно-событийного моделированияCmo
- 1.4. Многоканальные системы массового обслуживания
- Переменная vаr1, экспоненциальное распределение
- Глава 2. Вероятностные сети систем массового обслуживания
- 2.1. Общие сведения о сетях
- 2.2. Операционный анализ вероятностных сетей
- 2.3. Операционные зависимости
- 2.4. Анализ узких мест в сети
- Глава 3. Вероятностное моделирование
- 3.1. Метод статистических испытаний
- 3.2. Моделирование дискретных случайных величин
- 3.3. Моделирование непрерывных случайных величин
- 3.4. Сбор статистических данных для получения оценок характеристик случайных величин
- 3.5. Определение количества реализаций при моделировании случайных величин
- Глава 4. Система моделированияgpss
- 4.1. Объекты
- 4.2. Часы модельного времени
- 4.3. Типы операторов
- 4.4. Внесение транзактов в модель. БлокGenerate
- 4.5. Удаление транзактов из модели. БлокTerminate
- 4.6. Элементы, отображающие одноканальные обслуживающие устройства
- 4.7. Реализация задержки во времени. БлокAdvance
- 4.8. Сбор статистики об ожидании. БлокиQueue,depart
- 4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
- 4.10. Моделирование многоканальных устройств
- 4.11. Примеры построенияGpss-моделей
- 4.12. Переменные
- 4.13. Определение функции вGpss
- 4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
- Примеры фрагментов gpss-моделейcиспользованием сча и параметров гранзактов
- 4.15. Изменение приоритета транзактов. БлокPriority
- 4.16. Организация обслуживанияcпрерыванием. Блоки preempt и return
- 4.17. Сохраняемые величины
- 4.18. Проверка числовых выражений. БлокTest
- 4.19. Определение и использование таблиц
- 4.20. Косвенная адресация
- 4.21. Обработка транзактов, принадлежащих одному семейству
- 4.22. Управление процессом моделирования в системеGpss
- 4.23. Списки пользователей
- 4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
- 4.25. Организация вывода временных рядов изGpss-модели
- 4.26. Краткая характеристика языкаPlus
- 4.27. КомандыGpssWorId
- 4.28. Диалоговые возможностиGpssWorld
- 4.29. Отличия междуGpssWorldиGpss/pc
- Глава 5. Моделирование вычислительных и операционных систем
- 5.1. Операционные системы компьютеров
- 5.2. Сети и системы передачи данных
- 5.3. Проблемы моделирования компьютеров и сетей
- Глава 6. Основы моделирования процессов
- 6.1. Производственные процессы
- 6.2. Распределительные процессы
- 6.3. Процессы обслуживания клиентов
- 6.4. Процессы управления разработками проектов
- Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
- Задание 2 [10]. Моделирование контроля и настройки телевизоров
- Задание 3. Моделирование работы кафе
- Задание 4. Моделирование работы обрабатывающего цеха
- Задание 5. Моделирование работы обрабатывающего цеха
- Задание 6. Моделирование работы обрабатывающего цеха
- Задание 7. Моделирование работыCmo
- Задание 8. Моделирование функций
- Задание 9 [10]. Моделирование системы обслуживания
- Задание 10 [16]. Моделирование системы автоматизации проектирования
- Задание 11 [16]. Моделирование работы транспортного цеха
- Задание 12 [16]. Моделирование системы передачи разговора
- Задание 13 [16]. Моделирование системы передачи данных
- Задание 14 [16]. Моделирование узла коммутации сообщений
- Задание 15 [16]. Моделирование процесса сборки
- Задание 16 [16]. Моделирование работы цеха
- Задание 17 [16]. Моделирование системы управления производством
- Задание 18. Моделирование производственного процесса
- Задание 19. Моделирование работы заправочной станции
- Задание 20. Моделированиеработы станции технического обслуживания
- Задание 21. Моделирование работы станции скорой помощи
- Задание 22. Моделирование работы госпиталя
- Задание 23. Моделирование работы маршрутных такси
- Задание 24. Моделирование работы печатной системы
- Задание 25. Моделирование процесса сборки пк
- Глава8. Проектирование имитационных моделей c помощью интерактивной системы имитационного моделирования
- 8.1. Структура интерактивной системы имитационного моделирования
- 8.2. Построение концептуальной схемы модели
- 8.3. Параметрическая настройка модели
- 8.4. Генератор формул
- 8.5. Управление экспериментом
- 8.6. Запуск эксперимента и обработка результатов моделирования
- 8.7. Управление проектами и общей настройкой системы
- 8.8. Пример построения модели средствамиIss2000
- Глава 9. Технология имитационного моделирования
- 9.1. Имитационные проекты
- 9.2. Организация экспериментов
- 9.3. Проблемы организации имитационных экспериментов
- 9.4. Оценка точности результатов моделирования
- 9.5. Факторный план
- 9.6. Дисперсионный анализAnovAв планировании экспериментов
- 9.7. Библиотечная процедураAnova
- 9.8. Технология проведение дисперсионного анализа в системеGpssWorld
- 9.9. Особенности планирования экспериментов
- 9.10. Нахождение экстремальных значений на поверхности отклика
- 9.11. Организация экспериментов вGpssWorId
- 9.L2. Выбор наилучшего варианта структуры системы
- Глава 10. Примеры принятия решенийcпомощью имитационного моделирования
- 10.1. Моделирование производственного участка
- 10.2. Моделирование технологического процесса ремонта и замены оборудования
- Приложение Системные сча
- Сча транзактов
- Сча блоков:
- Сча одноканальных устройств:
- Сча очередей
- Сча таблиц
- Сча ячеек и матриц ячеек сохраняемых величин:
- Сча вычислительных объектов
- Список литературы
- Срдержание
- Глава 5. Моделирование вычислительных и операционных систем 132
- Глава 10. Примеры принятия решений c помощью имитационного моделирования 201