- •Глава 1. Принципы моделирования случайных элементов 6
- •Глава 3. Метод Монте-Карло и его применения 51
- •3.4. Задания 63
- •Глава 4. Система моделирования gpss 64
- •Глава 5. Моделирование сложных систем на основе gpss 127
- •5.2.1. Иммитационная модель системы 136
- •Глава 6. Задания лабораторного практикума по gpss 152
- •Глава 7. Статистическое моделирование в финансовом анализе. 181
- •Введение
- •Глава 1.Принципы моделирования случайных элементов
- •1.1. Моделирование случайных величин
- •1.1.1.Моделирование базовых случайных величин (бсв) Понятие бсв
- •Датчики бсв
- •Метод Макларена-Марсальи
- •Специальные тесты проверки точности моделирования бсв
- •Тест «совпадения моментов»
- •Тест «ковариация»
- •Тест «равномерность двухмерного распределения»
- •1.1.2.Статический анализ точности моделирования
- •1.1.3.Задания
- •1.2. Моделирование дискретных случайных величин (дсв)
- •1.2.1.Понятие дсв. Общая схема алгоритма моделирования
- •1.2.3.Графический анализ точности моделирования
- •1.2.4.Задания
- •Дискретное равномерное распределение
- •1.3. Моделирование непрерывных случайных величин (нсв)
- •1.3.1.Понятие нсв. Универсальные методы моделирования нсв. Понятие нсв.
- •Метод обратной функции.
- •Метод исключения
- •1.3.2.Тесты проверки точности моделирования нсв Критерии согласия
- •- Критерий согласия Пирсона
- •Критерий согласия Колмогорова.
- •Критерий серий
- •Критерий “нисходящих” и ”восходящих” серий
- •1.3.3.Алгоритмы моделирования для основных непрерывных распределений Равномерное распределение
- •Алгоритм моделирования
- •Одномерное нормальное распределение
- •Алгоритм моделирования
- •Экспоненциальное распределение
- •Алгоритм моделирования
- •Распределение Лапласа
- •Алгоритм моделирования
- •Алгоритмы моделирования:
- •Бета-распределение.
- •Связь с другими распределениями
- •Алгоритмы моделирования:
- •Алгоритмы моделирования
- •Алгоритм моделирования
- •Моделирование случайных величин с заданной гистограммой
- •Алгоритм моделирования
- •Моделирование случайных величин с заданным полигоном частот
- •1.3.4.Задания Равномерное распределение
- •Одномерное нормальное распределение
- •Распределение Лапласа
- •Распределение Вейбулла-Гнеденко
- •Гамма распределение
- •Бета-распределение
- •Распределение Коши
- •Логистическое распределение
- •Распределение Стьюдента
- •Распределение Фишера
- •3.2. Вычисление определенного интеграла методом Монте-Карло
- •Пример.
- •Текст программы:
- •3.3. Решение системы алгебраических уравнений методом Монте-Карло
- •3.4. Задания
- •Глава 4.Система моделирования gpss
- •4.1. Краткие сведения из теории
- •4.2. Основные правила и операторы языка gpss
- •4.2.1.Структура операторов gpss
- •4.2.2.Основные операторы языка gpss
- •4.3. Основные блоки gpss/pc и связанные с ними объекты
- •4.3.1.Блоки, связанные с транзактами
- •4.3.2.Блоки, связанные с аппаратными объектами
- •4.3.3.Блоки для сбора статистических данных
- •4.3.4.Блоки, изменяющие маршруты транзактов
- •4.3.5.Блоки, работающие с памятью
- •4.3.6.Блоки для работы со списками пользователя
- •4.4. Управляющие операторы gpss/pc
- •4.5. Некоторые приемы конструирования gpss-моделей
- •4.5.1.Косвенная адресация
- •4.5.2.Обработка одновременных событий
- •4.6. Команды gpss/pc и технология работы с пакетом
- •4.6.1.Загрузка интегрированной среды
- •4.6.2.Ввод новой модели
- •4.6.3.Редактирование текста модели
- •4.6.4.Запись и считывание модели с диска
- •4.6.5.Прогон модели и наблюдение за моделированием
- •4.6.6.Получение и интерпретация стандартного отчета
- •5.1.3.Анализ результатов иммитационного моделирования
- •5.2. Моделирование работы участка цеха
- •5.2.1.Иммитационная модель системы
- •110 Generate 30,5 Первый сегмент модели
- •280 Generate 20,5 Второй сегмент модели
- •450 Generate 480 Третий сегмент модели (таймер)
- •5.2.2.Анализ результатов иммитационного моделирования
- •Обсуждение результатов моделирования
- •105 A2 storage 2 Второй станок моделируется как накопитель
- •5.3. Порядок оформления отчета
- •5.3.1.Содержание отчета
- •Задания для самопроверки
- •5.3.2.Создание выходного файла
- •Задание для домашней подготовки
- •5.3.3.Описание элементов выходного файла
- •Глава 6.Задания лабораторного практикума по gpss
- •Глава 7.Статистическое моделирование в финансовом анализе.
- •7.1. Моделирование наращенных сумм и современных величин платежа.
- •Задание 4.
- •7.2. Моделирование величины реальной наращенной суммы платежей с учетом инфляции.
- •7.3. Моделирование обменного курса валют при двойной конверсии валют.
- •Приложение
- •Примечание к таблице п.3
- •Литература
4.6.6.Получение и интерпретация стандартного отчета
По завершении прогона модели раздается звуковой сигнал, и в строке состояния появляются сообщения Writing REPORT.GPS Simulation Complete Reporting ... , сигнализирующие о том, что моделирование закончено и в данный момент производится создание отчета о прогоне модели. Затем система переходит в состояние ожидания дальнейших команд.
Отчет, создаваемый по завершении моделирования, записывается в файл со стандартным именем REPORT.GPS. Это имя может быть изменено командой REPORT (создать отчет), имеющей следующий формат:
REPORT A,B
В поле A указывается спецификация файла, в который должен быть выведен отчет. Если поле B содержит ключевое слово NOW, то отчет создается немедленно после ввода команды.
Необходимо иметь ввиду, что отчет, создаваемый автоматически по завершении прогона модели или командой REPORT, является неформатированным, т.е. непригодным для непосредственного просмотра. Для форматирования и создания стандартного отчета GPSS/PC необходимо завершить сеанс и выполнить программу форматирования отчета. Выход из интегрированной среды (завершение сеанса) производится путем ввода управляющего оператора END (закончить). При этом производится выход в MS DO S или в программу-оболочку Norton Commander.
Для форматирования отчета необходимо загрузить модуль форматирования GPSSREPT.EXE. После его загрузки на экране появляется “заставка” с названием модуля, двумя окнами в нижней части экрана и сообщениями-подсказками. В левом окне вы ведено имя файла, в котором находится неформатированный отчет (по умолчанию это файл REPORT.GPS). В правом окне выведено обозначение устройства, куда должен быть выведен форматированный отчет (по умолчанию это экран дисплея SCRN:). Форматированный отчет может быть также выведен на печать или на диск. Для этого в правое окно надо ввести обозначение PRN: или имя файла на диске соответственно. Для переключения окон используется клавиша Enter. Для создания отчета на выбранном устройстве следует нажать клавишу Пробел, для выхода из программы — клавишу Esc.
Если содержимое окон по умолчанию оставлено без изменения, то после нажатия клавиши Пробел на экране появляется отчет о последнем прогоне модели, выполненном перед завершением сеанса работы с модулем GPSSPC.EXE. Отчет содержит следующую информацию:
1) общие сведения о модели и ее прогоне, включающие модельное время начала (START_TIME) и конца (END_TIME) прогона, количество блоков в модели (BLOCKS), количество устройств (FACILITIES), количество многоканальных устройств (STORAGES), объем памяти, остававшейся свободной при прогоне модели (FREE_MEMORY);
2) сведения об именах объектов модели, включающие для каждого имени идентификатор (NAME), присвоенное ему числовое значение (VALUE) и тип имени: 0, если числовое значение имени присвоено пользователем с помощью опера тора EQU; 1, если числовое значение имени присвоено системой; 2, если имя является именем блока;
3) сведения о блоках модели, включающие для каждого блока номер строки исходной программы (LINE), номер или имя блока (LOC), название блока (BLOCK_TYPE), количество транзактов, прошедших через блок (ENTRY_C OUNT), текущее количество транзактов в блоке в момент завершения моделирования (CURRENT_COUNT), количество транзактов, заблокированных перед блоком в момент завершения моделирования (RETRY);
4) сведения об устройствах модели, включающие для каждого устройства его имя или номер (FACILITY), количество занятий устройства (ENTRIES), коэффициент использования (UTIL.), среднее время на одно занятие ( AVE._TIME) и ряд других данных;
5) сведения о многоканальных устройствах модели, включающие для каждого МКУ его имя или номер (STORAGE), емкость (CAP.), количество свободных каналов в момент завершения моделирования (REMAIN.), наименьшее (MIN.) и наибольшее (MAX.) количество занятых каналов в процессе моделирования, количество занятий МКУ (ENTRIES), среднее количество занятых каналов (AVE.C.), коэффициент использования (UTIL.) и ряд других данных;
6) сведения об очередях модели, включающие для каждой очереди ее имя или номер (QUEUE), максимальную длину очереди в процессе моделирования (MAX.), текущую длину очереди в момент завершения моделирования (CONT.), общее количество транзактов, вошедших в очередь в процессе моделирования (ENTRIES), и количество “нулевых” входов в очередь (ENTRIES(0)), среднюю длину очереди (AVE.CONT.), среднее время ожидания в очереди с учетом всех транзактов (AVE.TIME) и без учета “нулевых” входов (AVE.(-0));
7) сведения о статистических таблицах модели, включающие для каждой таблицы ее имя или номер (TABLE), среднее значение (MEAN) и среднеквадратическое отклонение (STD.DEV.) табулируемой величины, границы частотных интервалов (RANGE), частоты (FREQUENCY) и накопленные частоты в процентах (CUM.%) попадания наблюдений в эти интервалы;
8) сведения о списках пользователя модели, включающие для каждого списка его имя или номер (USER_CHAIN), количество транзактов в списке в момент завершения моделирования (CHAIN_SIZE), среднее количество транзактов в списке (AVE.CONT), общее количество транзактов, вошедших в список в процессе моделирования (ENTRIES), максимальное количество транзактов, находившихся в списке (MAX), среднее время пребывания транзакта в списке (AVE.TIME);
9) сведения о логических переключателях модели, включающие для каждого ЛП его имя или номер (LOGICSWITCH) и состояние ЛП в момент завершения моделирования: 1 — “включен”, 0 — “выключен”;
10) сведения о сохраняемых величинах модели, включающие для каждой сохраняемой величины ее имя или номер (SAVEVALUE) и значение в момент завершения моделирования (VALUE);
11) сведения о матрицах модели, включающие для каждой матрицы ее имя или номер (MATRIX), а также список всех элементов матрицы в формате: “строка”(ROW), “столбец”(COLUMN), “значение”(VALUE).
Если в операторе START задан вывод в отчет списков текущих и будущих событий, то отчет включает в себя также сведения о транзактах, находившихся в момент завершения моделирования в этих списках. Сведения о транзактах размещаются в отчете в соответствии с размещением транзактов в каждом списке.
Информация о списке текущих событий включает в себя для каждого транзакта его номер (XACT_NUMBER), приоритет (PRI), резидентное время транзакта (M1), номер текущего блока (CURRENT), номер следующего блока (< B>NEXT), а также перечень всех параметров транзакта в формате: “параметр”(PARAMETER), “значение”(VALUE).
Информация о списке будущих событий включает для каждого транзакта те же данные, однако вместо резидентного времени транзакта (M1) выводится запланированное время выхода транзакта из списка будущих событий (BDT).
Разумеется, сведения об объектах того или иного типа появляются в отчете только в том случае, если в модели присутствует хотя бы один объект данного типа. Кроме того, включением в отчет сведений об объектах разных типов можно управлять с помощью так называемого установочного файла SETTINGS.GPS [8]. В отчетах о прогоне моделей, включающих в себя другие, не рассматривавшиеся здесь объекты GPSS/PC, появляется соответствующая информация и об этих объектах.
На рис. 24 приведен отчет о прогоне модели примера на рис. 21.
START_TIME |
END_TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE_MEMORY |
|
|||||||||||||
0 |
14617 |
12 |
0 |
1 |
274320
|
|
|||||||||||||
LINE 80 90 100 110 120 130 140 150 160 170 180 190 |
LOC 1 2 3 4 5 6 7 8 9 10 11 12 |
BLOCK_TYPE GENERATE ASSIGN PRIORITY QUEUE QUEUE ENTER DEPART DEPART ADVANCE LEAVE TABULATE TERMINATE |
ENTRY_COUNT 150 150 150 150 150 150 150 150 150 150 150 150 |
CURRENT_COUNT 0 0 0 0 0 0 0 0 0 0 0 0 |
RETRY 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|||||||||||||
QUEUE |
MAX |
CONT. |
ENTRIES |
ENTRIES(0) |
AVE.CONT. |
AVE.TIME |
AVE.(-0) |
||||||||||||
1 2 3 LINE |
1 1 1 2 |
0 0 0 0 |
54 42 54 150 |
48 35 49 132 |
0.02 0.01 0.02 0.06 |
6.07 4.14 6.22 5.59 |
54.67 24.86 67.20 46.56
|
||||||||||||
STORAGE STO2 |
CAP. 2 |
REMAIN. 2 |
MIN. 0 |
MAX. 2 |
ENTRIES 150 |
AVL. 1 |
AVE.C. 0.66 |
UTIL. 0.328 |
|||||||
|
|
|
|
|
|
|
|
|
|||||||
TABLE |
MEAN |
STD.DEV. |
RETRY |
RANGE |
FREQUENCY |
CUM.% |
|
||||||||
WTIME |
5.59 |
25.23 |
0 |
|
|
|
|
||||||||
|
|
|
— |
50 |
144 |
96.00 |
|
||||||||
|
|
|
50 — |
100 |
3 |
98.00 |
|
||||||||
|
|
|
100 — |
150 |
1 |
98.67 |
|
||||||||
|
|
|
150 — |
200 |
2 |
100.00 |
|
||||||||
TTIME |
69.48 |
70.88 |
0 |
|
|
|
|
||||||||
|
|
|
— |
100 |
117 |
78.00 |
|
||||||||
|
|
|
100 — |
200 |
23 |
93.33 |
|
||||||||
|
|
|
200 — |
300 |
8 |
98.67 |
|
||||||||
|
|
|
300 — |
400 |
2 |
100.00 |
|
||||||||
Рис. 24
Отчет выводится на экран постранично. Для вывода очередной страницы необходимо нажать клавишу Пробел, для прекращения вывода отчета — клавишу Esc. По окончании вывода отчета на экране появляется сообщение [SPACE] for another report Any other key to end.
Для создания отчета на другом устройстве или другого отчета надо нажать клавишу Пробел, для выхода из программы GPSSREPT —любую другую клавишу.
Помимо отчета отдельные результаты моделирования могут быть также выведены в базу данных GPSS/PC [8] с помощью команд RESULT. Однофакторный дисперсионный анализ и получение доверительных интервалов для выведенных в базу данных характеристик модели могут быть выполнены с помощью команды ANOVA. Рассмотрение этих команд выходит за рамки данного издания.
Глава 5.Моделирование сложных систем на основе GPSS
5.1. Моделирование работы производственного участка
Задание
По исходным данным (Задание 13) смоделировать работу производственного участка с двумя обрабатывающими центрами.
5.1.1.Алгоритм решения
Генерируем транзакты деталей.
По заданным правилам присваиваем деталям соответствующий тип.
Отправляем детали типа 3 на ОБРЦ-II, детали типов 1 и 2 – на ОБРЦ-I, а в случае его занятости – на ОБРЦ-II.
Обрабатываем детали.
5.1.2.Иммитационная модель системы
;GPSS/PC Program File VN0114.GPS. (V 2)
1 CLEAR
2 RESET
10 XP FUNCTION RN1,C24 ;Exponential Distribution Function
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
20 INITIAL X$VT1 0
30 INITIAL X$VT2 0
40 INITIAL X$VT3 0
50 ;
60 ; generating
70 ;
80 GENERATE 6 FN$XP
90 ; set detail type
100 ; type 3 with probability = 50%
110 TRANSFER .5 T3
120 ; type 2 with probability = 25%
130 ASSIGN 2 8
140 TRANSFER .5 T2
150 ASSIGN 1 1
160 SAVEVALUE VT1+ 1
170 TRANSFER ,MAIN
180 T2 ASSIGN 1 2
190 SAVEVALUE VT2+ 1
200 TRANSFER ,MAIN
210 T3 ASSIGN 1 3
220 SAVEVALUE VT3+ 1
230 ASSIGN 2 10
240 ;
250 ; main part
260 ;
270 ; if type = 3 => OBRC-II
280 MAIN TEST NE P1 3 OBRC2
290 ; if OBRC-I engaged => OBSC-II
300 GATE NU OBRC1 OBRC2
310 ; OBRC-I
320 OBRC1 SEIZE OBRC1
330 ADVANCE P2
340 RELEASE OBRC1
350 TRANSFER ,QUIT
360 ; OBRC-II
370 OBRC2 QUEUE OBRC2
375 SEIZE OBRC2
377 DEPART OBRC2
380 ADVANCE P2
390 RELEASE OBRC2
400 ;
410 QUIT TERMINATE
420 ;
430 ; 16 hours
440 ;
450 GENERATE ,,960,1
460 REPORT VN0114.REP,NOW
470 TERMINATE 1
480 START 1
