- •0. Лекция: Введение
- •1. Лекция: Понятие модели и моделирования:
- •1.1. Общее определение модели
- •1.2. Классификация моделей и моделирования
- •1.2.1. Классификация моделей и моделирования по признаку "характер моделируемой стороны объекта"
- •1.2.2. Классификация моделей и моделирования по признаку "характер процессов, протекающих в объекте"
- •1.2.3. Классификация моделей и моделирования по признаку "способ реализации модели"
- •1.3. Этапы моделирования
- •1.4. Адекватность модели
- •1.5. Требования, предъявляемые к моделям
- •2.1. Дискретные марковские процессы
- •2.2. Моделирование по схеме непрерывных марковских процессов
- •2.3. Схема гибели и размножения
- •2.4. Элементы смо, краткая характеристика
- •2.5. Моделирование смо в классе непрерывных марковских процессов
- •2.5.1. Многоканальная смо с отказами
- •2.5.2. Многоканальная смо с ожиданием
- •2.5.3. Одноканальная смо с ограниченной очередью
- •2.5.4. Одноканальная замкнутая смо
- •2.5.5. Одноканальная смо с конечной надежностью
- •2.6. Метод динамики средних. Сущность и содержание метода
- •2.7. Принцип квазирегулярности
- •2.8. Элементарные модели боя
- •2.8.1. Модель высокоорганизованного боя
- •2.8.2. Высокоорганизованный бой с пополнением группировок
- •2.8.3. Высокоорганизованный бой с упреждением ударов
- •2.8.4. Модель боя с неполной информацией
- •2.8.5. Учет запаздывания в переносе и открытии огня
- •3. Лекция: Статистическое моделирование:
- •3.1. Сущность имитационного моделирования
- •3.2. Общая характеристика метода имитационного моделирования
- •3.3. Статистическое моделирование при решении детерминированных задач
- •3.4. Моделирование равномерно распределенной случайной величины
- •3.5. Моделирование случайной величины с произвольным законом распределения
- •3.6. Моделирование единичного события
- •3.7. Моделирование полной группы несовместных событий
- •3.8. Моделирование совместных независимых событий
- •3.8.1. Определение совместных исходов по жребию
- •3.8.2. Последовательная проверка исходов
- •3.9. Моделирование совместных зависимых событий
- •3.10. Классификация случайных процессов
- •3.11. Способы продвижения модельного времени
- •3.12. Модель противоборства двух сторон
- •3.13. Модель противоборства как процесс блуждания по решетке
- •3.14. Типовая схема имитационной модели с продвижением времени по событиям
- •3.15. Имитационная модель системы массового обслуживания
- •4. Лекция: Планирование экспериментов
- •4.1. Сущность и цели планирования эксперимента
- •4.2. Элементы стратегического планирования экспериментов
- •4.3. Стандартные планы
- •4.4. Формальный подход к сокращению общего числа прогонов
- •4.5. Элементы тактического планирования
- •4.6. Точность и количество реализаций модели при определении средних значений параметров
- •4.6.1. Определение оценки матожидания
- •4.6.2. Определение оценки дисперсии
- •4.7. Точность и количество реализаций модели при определении вероятностей исходов
- •4.8. Точность и количество реализаций модели при зависимом ряде данных
- •4.9. Проблема начальных условий
- •5. Лекция: Обработка результатов имитационного эксперимента
- •5.1. Характеристики случайных величин и процессов
- •5.2. Требования к оценкам характеристик
- •5.3. Оценка характеристик случайных величин и процессов
- •5.4. Гистограмма
- •5.4. Элементы дисперсионного анализа. Критерий Фишера
- •5.6. Критерий Вилькоксона
- •5.7. Однофакторный дисперсионный анализ
- •5.8. Выявление несущественных факторов
- •5.9. Сущность корреляционного анализа
- •5.10. Обработка результатов эксперимента на основе регрессии
- •6. Лекция: Моделирование в gpss World
- •6.1. Основы построения и принципы функционирования языка имитационного моделирования
- •6.2. Построение моделей с устройствами
- •6.2.1. Организация поступления транзактов в модель и удаления транзактов из нее
- •6.2.1.1. Поступление транзактов в модель
- •6.2.1.2. Удаление транзактов из модели и завершение моделирования
- •6.2.1.3. Изменение значений параметров транзактов
- •6.2.2. Занятие и освобождение одноканального устройства
- •6.2.3. Имитация обслуживания посредством задержки во времени
- •6.2.4. Проверка состояния одноканального устройства
- •6.2.5. Методы сбора статистики в имитационной модели
- •6.2.5.1. Регистратор очереди
- •6.2.5.1. Статистические таблицы
- •6.2.6. Методы изменения маршрутов движения транзактов в модели
- •6.2.6.1. Блок transfer
- •6.2.6.2. Блок displace
- •6.2.7. Прерывание функционирования одноканального устройства
- •6.2.7.1. Прерывание в приоритетном режиме
- •6.2.7.2. Прерывание в режиме "захвата"
- •6.2.7.3. Проверка состояния одноканального устройства, функционирующего в приоритетном режиме
- •6.2.8. Недоступность одноканального устройства
- •6.2.8.1. Перевод в недоступное состояние и восстановление доступности
- •6.2.8.2. Проверка состояний недоступности и доступности одноканального устройства
- •6.2.9. Сокращение машинного времени и изменение дисциплин обслуживания методом применения списков пользователя
- •6.2.9.1. Ввод транзактов в список пользователя в безусловном режиме
- •6.2.9.2. Вывод транзактов из списка пользователя в условном режиме
- •6.2.10. Построение моделей систем с многоканальными устройствами и переключателями
- •6.2.10.1. Занятие многоканального устройства и его освобождение
- •6.2.10.2. Перевод многоканального устройства в недоступное состояние и восстановление его доступности
- •6.2.10.3. Проверка состояния многоканального устройства
- •6.2.10.4. Моделирование переключателей
- •6.3. Решение прямой и обратной задач в системе моделирования
- •6.3.1. Постановка прямой и обратной задач
- •6.3.2. Решение прямой задачи
- •6.3.2.1. Блок-диаграмма модели
- •6.3.2.2. Программа модели
- •6.3.2.3. Ввод текста программы модели, исправление ошибок и проведение моделирования
- •6.3.3. Решение обратной задачи
- •6.4. Пример построения моделей с оку, мку и списками пользователя
- •6.4.1. Модель процесса изготовления изделий на предприятии. Прямая задача
- •6.4.1.1. Постановка задача
- •6.4.1.2. Исходные данные
- •6.4.1.3. Задание на исследование
- •6.4.1.4. Уяснение задачи на исследование
- •6.4.1.5. Блок-диаграмма модели
- •6.4.1.6. Программа модели
- •6.4.2. Модель процесса изготовления изделий на предприятии. Обратная задача
- •6.4.2.1. Постановка задачи
- •6.4.2.2. Программа модели
- •6.5. Уменьшение числа объектов в модели
- •6.5.1. Постановка задачи
- •6.5.2. Исходные данные
- •6.5.3. Задание на исследование
- •6.5.4. Блок-диаграмма модели
- •6.5.5. Программа модели
- •6.6. Применение матриц, функций и изменение версий модели
- •6.6.1. Постановка задачи бизнес-процесса
- •6.6.2. Уяснение задачи
- •6.6.3. Программа модели
- •6.7. Моделирование неисправностей одноканальных устройств
- •6.7.1. Постановка задачи
- •6.7.2. Исходные данные
- •6.7.3. Задание на исследование
- •6.7.4. Уяснение задачи
- •6.7.5. Программа модели
- •6.8. Моделирование неисправностей многоканальных устройств
- •6.8.1. Постановка задачи
- •6.8.2. Программа модели
- •7. Лекция: Организация компьютерных экспериментов
- •7.1. Дисперсионный анализ (отсеивающий эксперимент). Прямая задача
- •7.2. Регрессионный анализ (оптимизирующий эксперимент). Прямая задача
- •7.3. Дисперсионный анализ (отсеивающий эксперимент). Обратная задача
- •7.3.1. Постановка задачи
- •7.3.2. Исходные данные
- •7.3.3. Задание на исследование
- •7.3.4. Уяснение задачи на исследование
- •7.3.5. Программа модели
- •7.3.6. Проведение экспериментов
- •8. Лекция: Разработка имитационных моделей в виде приложений с интерфейсом
- •8.1. Применение текстовых объектов и потоков данных
- •8.1.1. Блок open
- •8.1.2. Блок close
- •8.1.3. Блок read
- •8.1.4. Блок write
- •8.1.5. Блок seek
- •8.2. Разработка модели в gpss World
- •8.2.1. Постановка задачи
- •8.2.2. Программа модели
- •8.3. Создание стартовой формы приложения - имитационной модели
- •8.3 Добавление компонент в стартовую форму имитационной модели
- •8.3.1. Добавление полей редактирования
- •8.3.2. Добавление меток
- •8.3.3. Добавление компонент для ввода и вывода данных, представленных в виде таблиц
- •8.3.4. Добавление командных кнопок
- •8.4. События и процедуры обработки событий
- •8.4.1. События
- •8.4.2. Разработка процедур обработки событий для кнопок
- •8.4.3. Разработка процедур обработки событий для полей редактирования
- •8.4.4. Модификация программы имитационной модели
- •8.5. Работа с приложением
6.6.3. Программа модели
Предполагается, что количество типов СС в системе предоставления услуг связи может изменяться от одного до максимального значения n1_. Программа модели построена для n1_ =5.
Для хранения результатов моделирования используются матрицы. В целях придания неизменности программы модели при варьировании количеством типов СС матрицы должны быть пронумерованы. Однако GPSS World при описании матриц командой MATRIX не позволяет вместо имени указывать число. Матрицы нужно вначале описать, дав им имена, а затем пронумеровать.
Результаты моделирования для одного типа СС хранятся в трех матрицах, например, для СС типа 1 ( СС1 ) с идентификаторами:
Prib1 - матрица ожидаемой прибыли СС1 ;
KPr1 - матрица коэффициентов прибыли СС1 ;
KZen1 - матрица коэффициентов использования СС1.
Значит, аналогичных матриц будет пятнадцать. Да плюс еще матрица KRem коэффициентов использования мастеров - ремонтников. Именам этим шестнадцати матрицам даны номера.
Три матрицы для хранения суммарных результатов моделирования для СС всех типов не нумеровались:
Pribil - матрица суммарной прибыли;
SrKPrib - матрица средних коэффициентов прибыли СС всех типов;
SrKIsp - матрица коэффициентов использования СС всех типов.
Именам пяти МКУ СС1_, СС2_, СС3_, СС4_ и СС5_, имитирующим по типам СС, находящиеся на дежурстве, даны номера 1 … 5. Это позволяет сократить число блоков в модели за счет того, что вместо пяти (в данном варианте модели) сегментов имитации постановки на дежурство СС используется один сегмент.
Для записи исходных данных (количества СС всех типов (в том числе и резервных), среднего времени наработки до отказа и среднего времени восстановления по типам СС, дохода по типам от одного СС, находящегося на дежурстве, убытка по типам при отсутствии одного СС на дежурстве, стоимости по типам одного резервного СС) используются функции KolSS, KollSSRes, NarOtk, SrVrRem, S1_, S2_, S3_ соответственно. По сравнению с использованием матриц для записи этих же данных программа модели сокращается на двадцать пять строк.
В начале работы модели генератор сразу вырабатывает количество транзактов, равное соответствующему количеству типов СС, и перестает быть активным.
Далее блоками SAVEVALUE и ASSIGN в параметр 1 каждого из транзактов последовательно заносятся коды 1 … n1_ - признак типа СС.
Затем каждый из транзактов с помощью блока SPLIT расщепляется (копируется, размножается) по количеству СС (с учетом резервных) соответствующего типа. После расщепления транзакты в соответствии с типом СС сразу занимают все каналы МКУ, имитирующие нахождение СС на дежурстве.
Вышедшее из строя СС снимается с дежурства, поступает в ремонтное подразделение - транзакт либо занимает свободный канал МКУ Rem, если такой есть, либо при отсутствии свободного канала помещается в список задержки этого МКУ - список тран-зактов, ожидающих возможность занять освободившиеся каналы МКУ.
После ремонта СС отправляется либо сразу на дежурство, либо в резерв. В обоих случаях транзакт направляется на метку Met1. Здесь также транзакт либо занимает свободный канал, либо помещается в список задержки МКУ, соответствующего типу СС.
Ниже приводится программа только (в целях сокращения) для моделирования случая три мастера-ремонтника, а резервных СС2 - четыре, пять и шесть. Количество типов СС -n1_ = 4.
; Модель бизнес-процесса
; Задание номеров матрицам
Prib1 EQU 1 ; Матрица ожидаемой прибыли СС1
KPr1 EQU 2 ; Матрица коэффициентов прибыли СС1
KZen1 EQU 3 ; Матрица коэффициентов использования СС1
Prib2 EQU 4 ; Матрица ожидаемой прибыли СС2
KPr2 EQU 5 ; Матрица коэффициентов прибыли СС2
KZen2 EQU 6 ; Матрица коэффициентов использования СС2
Prib3 EQU 7 ; Матрица ожидаемой прибыли СС3
KPr3 EQU 8 ; Матрица коэффициентов прибыли СС3
KZen3 EQU 9 ; Матрица коэффициентов использования СС3
Prib4 EQU 10 ; Матрица ожидаемой прибыли СС4
KPr4 EQU 11 ; Матрица коэффициентов прибыли СС4
KZen4 EQU 12 ; Матрица коэффициентов использования СС4
Prib5 EQU 13 ; Матрица ожидаемой прибыли СС5
KPr5 EQU 14 ; Матрица коэффициентов прибыли СС5
KZen5 EQU 15 ; Матрица коэффициентов использования СС5
KRem EQU 16 ; Матрица коэффициентов использования Rem
; Задание номеров МКУ, имитирующих дежурство СС
CC1_ EQU 1 ; Задание номера МКУ СС1
CC2_ EQU 2 ; Задание номера МКУ СС2
CC3_ EQU 3 ; Задание номера МКУ СС3
CC4_ EQU 4 ; Задание номера МКУ СС4
CC5_ EQU 5 ; Задание номера МКУ СС5
; Задание матриц
Prib1 MATRIX ,3,5 ; Матрица ожидаемой прибыли СС1
KPr1 MATRIX ,3,5 ; Матрица коэффициентов прибыли СС1
KZen1 MATRIX ,3,5 ; Матрица коэффициентов загрузки СС1
Prib2 MATRIX ,3,5 ; Матрица ожидаемой прибыли СС2
KPr2 MATRIX ,3,5 ; Матрица коэффициентов прибыли СС2
KZen2 MATRIX ,3,5 ; Матрица коэффициентов загрузки СС2
Prib3 MATRIX ,3,5 ; Матрица ожидаемой прибыли СС3
KPr3 MATRIX ,3,5 ; Матрица коэффициентов прибыли СС3
KZen3 MATRIX ,3,5 ; Матрица коэффициентов загрузки СС3
Prib4 MATRIX ,3,5 ; Матрица ожидаемой прибыли СС4
KPr4 MATRIX ,3,5 ; Матрица коэффициентов прибыли СС4
KZen4 MATRIX ,3,5 ; Матрица коэффициентов загрузки СС4
Prib5 MATRIX ,3,5 ; Матрица ожидаемой прибыли СС5
KPr5 MATRIX ,3,5 ; Матрица коэффициентов прибыли СС5
KZen5 MATRIX ,3,5 ; Матрица коэффициентов загрузки СС5
KRem MATRIX ,3,5 ; Матрица коэффициентов загрузки
Rem
Pribil MATRIX ,3,5 ; Матрица суммарной прибыли
SrKPrib MATRIX ,3,5 ; Матрица коэффициентов прибыли СС всех типов
SrKIsp MATRIX ,3,5 ; Матрица коэффициентов загрузки СС всех типов
KolSS MATRIX ,2,5 ; Матрица количества СС всех типов
NarOtk MATRIX ,1,5 ; Матрица среднего времени наработки до отказа по типам СС, час
SrVrRem MATRIX ,1,5 ; Матрица среднего ремонта по типам СС, час
; Определение МКУ по числу СС, находящихся на дежурстве
CC1_ STORAGE 35 ; Емкость МКУ по количеству СС1
CC2_ STORAGE 100 ; Емкость МКУ по количеству СС2
CC3_ STORAGE 60 ; Емкость МКУ по количеству СС3
CC4_ STORAGE 45 ; Емкость МКУ по количеству СС4
CC5_ STORAGE 60 ; Емкость МКУ по количеству СС5
Rem STORAGE 3 ; Емкость МКУ по числу мастеров-ремонтников
; Исходные данные
VrMod EQU 200 ; Время моделирования, 1 ед. мод. вр. = 1 час
Stroka EQU 1 ; Номер строки матрицы
Stolbez EQU 1 ; Номер столбца матрицы
n1_ EQU 5 ; Количество типов СС
StoMast FUNCTION P1,D5 ; Стоимость работы одного мастера
1,17/2,18/3,16/4,20/5,21
KolSS FUNCTION P1,D5 ; Количество по типам СС, находящихся на дежурстве
1,55/2,100/3,60/4,45/5,60
KolSSRes FUNCTION P1,D5 ; Количество по типам резервных СС
1,2/2,4/3,4/4,3/5,4
NarOtk FUNCTION P1,D5 ; Среднее время наработки до отказа по типам СС, час
1,373/2,301/3,482/4,325/5,470
SrVrRem FUNCTION P1,D5 ; Среднее время ремонта по типам СС
1,6.5/2,4.2/3,2.8/4,3/5, 5.5
S1_ FUNCTION P1,D5 ; Доход по типам от одного СС, находящегося на дежурстве
1,20/2,24.2/3,32.8/4,23/5, 25.5
S2_ FUNCTION P1,D5 ; Убыток по типам при отсутствии одного СС на дежурстве
1,32/2,34.2/3,37/4,31/5,32.5
S3_ FUNCTION P1,D5 ; Стоимость по типам содержания одного резервного СС
1,21/2,24.2/3,28/4,26/5, 25.5
; Арифметические выражения для расчета показателей
DoxMax VARIABLE VrMod#FN$S1_#FN$KolSS ; Максимальный доход от дежурства СС
Ubitok VARIABLE VrMod#FN$KolSS#(1-SR*1/1000)#FN$S2_ ; Убыток от отсутствия на дежурстве СС
DoxPol VARIABLE X$DoxMax-X$Ubitok ; Полученный доход от дежурства СС
StoRem VARIABLE (VrMod#SM$Rem#FN$StoMast)#(SR$Rem/1000) ; Стоимость ремонта неисправных СС
ZatrResSS VARIABLE FN$S3_#FN$KolSSRes#VrMod ; Затраты на содержание резервных СС
SumPrib VARIABLE X$DoxPol-(X$StoRem+X$ZatrResSS) ; Прибыль
KoefPr VARIABLE MX*3(Stroka,Stolbez)/X$DoxMax ; Коэффициент прибыли
; Сегмент имитации постановки на дежурство СС
GENERATE ,,,n1_
SAVEVALUE TipSS+,1 ; Код 1 ... n2_ - признак СС1 ... CCn1 в X$TipSS
ASSIGN 1,X$TipSS ; Код 1 ... n2_ - признак СС1 ...CCn2_ в P1
SPLIT (FN$KolSS+FN$KolSSRes-1) ; Число СС + резервные СС
; Сегмент имитации дежурства СС
Met1 ENTER P1 ; Встать на дежурство СС типа с номером в Р1
ADVANCE (Exponential(30,0,FN$NarOtk)) ; Имитация выхода из строя СС
LEAVE P1 ; Снятие с дежурства из-за выхода из строя СС типа, номер которого в Р1
; Сегмент имитации работы ремонтного подразделения
ENTER Rem ; Занять одного мастера
ADVANCE (Exponential(31,0,FN$SrVrRem)) ; Имитация ремонта
LEAVE Rem ; Конец ремонта
TRANSFER ,Met1 ; Направить исправное СС на дежурство или в резерв
; Сегмент задания времени моделирования и расчета результатов
GENERATE VrMod
TEST E TG1,1,Met2
Met23 ASSIGN 1+,1 ; Начало цикла изменения типов СС
SAVEVALUE DoxMax,V$DoxMax ; Максимально возможный доход от дежурства СС
SAVEVALUE Ubitok,V$Ubitok ; Убыток
SAVEVALUE DoxPol,V$DoxPol ; Полученный доход от дежурства СС
SAVEVALUE StoRem,V$StoRem ; Затраты на ремонт
SAVEVALUE ZatrResSS,V$ZatrResSS ; Затраты на резервные СС
SAVEVALUE SumPrib,V$SumPrib ; Суммарная прибыль
ASSIGN 2,(P1#3)
ASSIGN 3,(P2-2)
MSAVEVALUE *3,Stroka,Stolbez,X$SumPrib ; Прибыль по типу СС
MSAVEVALUE Pribil+,Stroka,Stolbez,X$SumPrib ; Суммарная прибыль по СС всех типов
ASSIGN 4,V$KoefPr ; Коэфициент прибыли по типам СС в Р4
ASSIGN 3,(P2-1)
MSAVEVALUE *3,Stroka,Stolbez,P4 ; Коэфициент прибыли по типам СС
MSAVEVALUE SrKPrib+,Stroka,Stolbez,(P4/n1_) ; Средний коэффициент прибыли по СС всех типов
MSAVEVALUE *2,Stroka,Stolbez,(SR*1/1000) ; Коэффициент использования CC
MSAVEVALUE SrKIsp+,Stroka,Stolbez,(SR*1/(1000#n1_))
; Средний коэффициент использования CC всех типов
TEST GE P1,n1_,Met23
MSAVEVALUE 16,Stroka,Stolbez,(SR$Rem/1000); Коэффициент использования Rem
SAVEVALUE TipSS,0 Met2 TERMINATE 1
START 1000,NP ; Недели 1-5: Резервных СС2=4, мастеров=3
; Сегмент переопределения блоков - изменения версий модели
Stolbez EQU 2
RESET
START 1000,NP ; Недели 6-10: Резервных СС2=4, масте-ров=3
Stolbez EQU 3
RESET
START 1000,NP ; Недели 11-15: Резервных СС2=4, мас-теров=3
Stolbez EQU 4
RESET
START 1000,NP ; Недели 16-20: Резервных СС2=4, мас-теров=3
Stolbez EQU 5
RESET
START 1000,NP ; Недели 21-25: Резервных СС2=4, мас-теров=3
KolSSRes FUNCTION P1,D5 ; Количество резервных СС2
1,2/2,5/3,4/4,4/5,4
Stroka EQU 2
Stolbez EQU 1
RESET
START 1000,NP ; Недели 1-5: Резервных СС2=5, мастеров=3
Stolbez EQU 2
RESET
START 1000,NP ; Недели 6-10: Резервных СС2=5, мастеров=3
Stolbez EQU 3
RESET
START 1000,NP ; Недели 11-15: Резервных СС2=5, мастеров=3
Stolbez EQU 4
RESET
START 1000,NP ; Недели 16-20: Резервных СС2=5, мастеров=3
Stolbez EQU 5
RESET
START 1000,NP ; Недели 21-25: Резервных СС2=5, мастеров=3
KolSSRes FUNCTION P1,D5 ; Количество резервных СС2
1,2/2,6/3,4/4,5/5,4 Stroka EQU 3
Stolbez EQU 1
RESET
START 1000,NP ; Недели 1-5: Резервных СС2=6, мастеров=3
Stolbez EQU 2
RESET
START 1000,NP ; Недели 6-10: Резервных СС2=6, мастеров=3
Stolbez EQU 3
RESET
START 1000,NP ; Недели 11-15: Резервных СС2=6, мастеров=3
Stolbez EQU 4
RESET
START 1000,NP ; Недели 16-20: Резервных СС2=6, мастеров=3
Stolbez EQU 5
RESET
START 1000 ; Недели 21-25: Резервных СС2=6, мастеров=3
В программе, кроме методов применения матриц и функций, показывается метод изменения версий модели. Изменение версий модели производится переопределением соответствующих блоков. Переопределяться не могут блоки GENERATE. Для переопределения блоков, описывающих ОКУ и МКУ, они должны иметь метки. Однако одного переопределения блоков недостаточно. В GPSS World изменение версий модели достигается также за счет использования команд RESET и CLEAR.
В рассматриваемом примере в процессе моделирования необходимо собирать статистику по отрезкам времени \Delta T. То есть предшествующую статистику нужно сбросить, но оставить неизменными условия функционирования системы.
Сброс в ноль статистики без удаления транзактов из процесса моделирования осуществляет команда RESET. Команда RESET не имеет операндов:
RESET
Команда также не сбрасывает генераторы случайных чисел, ячейки и матрицы ячеек, не влияет на абсолютное модельное время и нумерацию транзактов. Относительное модельное время (после последней команды RESET ) устанавливается равным нулю. Таким образом, с помощью команды RESET обеспечивается удобное средство сбора статистических данных в типичных условиях функционирования систем.
После того как для данной версии модели выполнено моделирование в течение заданного числа отрезков времени \Delta T (в примере - пять), нужно изменить версию модели и провести моделирование сначала.
Изменение версии в данной модели производится переопределением функции KolSSRes, т. е. изменением количества резервных СС2, например:
KolSSRes FUNCTION P1,D5 ; Количество резервных СС2
1,2/2,5/3,4/4,4/5,4
Процесс моделирования в исходное состояние возвращает команда CLEAR. Формат записи команды:
CLEAR [A]
Операнд А может быть ON либо OFF. По умолчанию - ON.
Команда CLEAR сбрасывает всю накопленные статистические данные, удаляет все транзакты из процесса моделирования и заполняет все блоки GENERATE первым транзактом. ОКУ и МКУ становятся доступными, устанавливаются в незанятое состояние. Содержимое всех блоков становится нулевым. Генераторы случайных чисел не сбрасываются.
Если в команде CLEAR операнд А равен OFF, то сохраняемые ячейки, матрицы и логические ключи остаются без изменений. Поэтому в модели в команде CLEAR используется операнд А, равный OFF, так как нужно сохранить результаты моделирования для предыдущей версии модели.
Однако при этом нужно иметь в виду те ячейки, начальные значения которых должны быть нулевыми в новой версии модели. Необходимо предусмотреть в программе блоки приведения таких ячеек в исходное состояние. В данной модели это показано на примере сохраняемой ячейки TipSS. Если эту ячейку не привести в нулевое состояние, процесс моделирования второй версии будет остановлен по ошибке "Обращение к несуществующей памяти".
Поскольку накопленные и сохраненные в матрицах результаты моделирования нет необходимости выводить на каждом отрезке \Delta T, то в команде START используется операнд B, равный ON. В последней команде START операнд B не используется. Поэтому стандартный отчет выдается после завершения моделирования. В рассматриваемом примере - после пятнадцати наблюдений.
Ниже показан фрагмент журнала с информацией о ходе моделирования. В первых пяти наблюдениях (первой версии модели) команда RESET не влияет на абсолютное модельное время, которое растет от 0 до 1 000 000 единиц модельного времени.
После переопределения (формирования второй версии модели) выполняется команда CLEAR и абсолютное модельное время вновь изменяется от 0 до 1 000 000 единиц модельного времени.
06/05/08 17:29:10 Model Translation Begun.
06/05/08 17:29:10 Ready.
06/05/08 17:29:10 Simulation in Progress.
06/05/08 17:29:15 The Simulation has ended. Clock is 200000.000000.
06/05/08 17:29:15 Simulation in Progress.
06/05/08 17:29:19 The Simulation has ended. Clock is 400000.000000.
06/05/08 17:29:19 Simulation in Progress.
06/05/08 17:29:24 The Simulation has ended. Clock is 600000.000000.
06/05/08 17:29:24 Simulation in Progress.
06/05/08 17:29:28 The Simulation has ended. Clock is 800000.000000.
06/05/08 17:29:28 Simulation in Progress.
06/05/08 17:29:32 The Simulation has ended. Clock is 1000000.000000.
06/05/08 17:29:33 Simulation in Progress.
06/05/08 17:29:37 The Simulation has ended. Clock is 200000.000000.
06/05/08 17:29:37 Simulation in Progress.
06/05/08 17:29:41 The Simulation has ended. Clock is 400000.000000.
06/05/08 17:29:41 Simulation in Progress.
…
06/05/08 17:30:17 Reporting in Rem_SS_2.59.1 - REPORT Window.
Для включения в формируемый стандартный отчет матриц необходимо при открытом объекте "Модель" выполнить команду:
Edit/Settings/Reports/Matrices/Применить/Ok
Результаты моделирования после 1000 прогонов приведены ниже. Но опять же в целях сокращения - для СС1 и СС всех типов.
MATRIX |
RETRY |
INDICES |
VALUE |
PRIB1 |
0 |
|
|
|
|
1 1 |
181586.183 |
|
|
1 2 |
181251.160 |
|
|
1 3 |
179584.944 |
|
|
1 4 |
181774.706 |
|
|
1 5 |
182291.154 |
|
|
2 1 |
180844.964 |
|
|
2 2 |
181435.896 |
|
|
2 3 |
181478.223 |
|
|
2 4 |
179347.815 |
|
|
2 5 |
179178.486 |
|
|
3 1 |
178683.512 |
|
|
3 2 |
178136.334 |
|
|
3 3 |
179139.261 |
|
|
3 4 |
181934.517 |
|
|
3 5 |
179655.938 |
KPR1 |
0 |
|
|
|
|
1 1 |
.825 |
|
|
1 2 |
.823 |
|
|
1 3 |
.816 |
|
|
1 4 |
.826 |
|
|
1 5 |
.828 |
|
|
2 1 |
.822 |
|
|
2 2 |
.824 |
|
|
2 3 |
.824 |
|
|
2 4 |
.815 |
|
|
2 5 |
.814 |
|
|
3 1 |
.812 |
|
|
3 2 |
.809 |
|
|
3 3 |
.814 |
|
|
3 4 |
.826 |
|
|
3 5 |
.816 |
KZEN1 |
0 |
|
|
|
|
1 1 |
.943 |
|
|
1 2 |
.942 |
|
|
1 3 |
.937 |
|
|
1 4 |
.943 |
|
|
1 5 |
.945 |
|
|
2 1 |
.941 |
|
|
2 2 |
.942 |
|
|
2 3 |
.942 |
|
|
2 4 |
.936 |
|
|
2 5 |
.936 |
|
|
3 1 |
.935 |
|
|
3 2 |
.933 |
|
|
3 3 |
.936 |
|
|
3 4 |
.944 |
|
|
3 5 |
.937 |
|
|
3 5 |
.601 |
KREM |
0 |
|
|
|
|
1 1 |
.981 |
|
|
1 2 |
.982 |
|
|
1 3 |
.984 |
|
|
1 4 |
.978 |
|
|
1 5 |
.981 |
|
|
2 1 |
.983 |
|
|
2 2 |
.982 |
|
|
2 3 |
.982 |
|
|
2 4 |
.984 |
|
|
2 5 |
.982 |
|
|
3 1 |
.985 |
|
|
3 2 |
.984 |
|
|
3 3 |
.984 |
|
|
3 4 |
.979 |
|
|
3 5 |
.982 |
PRIBIL |
0 |
|
|
|
|
1 1 |
1111897.023 |
|
|
1 2 |
1110398.484 |
|
|
1 3 |
1102062.813 |
|
|
1 4 |
1113459.610 |
|
|
1 5 |
1114232.258 |
|
|
2 1 |
1105731.875 |
|
|
2 2 |
1107881.589 |
|
|
2 3 |
1111610.502 |
|
|
2 4 |
1098478.153 |
|
|
2 5 |
1097605.578 |
|
|
3 1 |
1094679.743 |
|
|
3 2 |
1091129.285 |
|
|
3 3 |
1096084.094 |
|
|
3 4 |
1107311.254 |
|
|
3 5 |
1097609.762 |
SRKPRIB |
0 |
|
|
|
|
1 1 |
.844 |
|
|
1 2 |
.843 |
|
|
1 3 |
.837 |
|
|
1 4 |
.846 |
|
|
1 5 |
.846 |
|
|
2 1 |
.839 |
|
|
2 2 |
.840 |
|
|
2 3 |
.843 |
|
|
2 4 |
.833 |
|
|
2 5 |
.832 |
|
|
3 1 |
.829 |
|
|
3 2 |
.826 |
|
|
3 3 |
.830 |
|
|
3 4 |
.839 |
|
|
3 5 |
.831 |
SRKISP |
0 |
|
|
|
|
1 1 |
.954 |
|
|
1 2 |
.953 |
|
|
1 3 |
.948 |
|
|
1 4 |
.954 |
|
|
1 5 |
.955 |
|
|
2 1 |
.956 |
|
|
2 2 |
.957 |
|
|
2 3 |
.959 |
|
|
2 4 |
.952 |
|
|
2 5 |
.951 |
|
|
3 1 |
.955 |
|
|
3 2 |
.953 |
|
|
3 3 |
.956 |
|
|
3 4 |
.962 |
|
|
3 5 |
.957 |