Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 3272
Скачиваний: 0
СОДЕРЖАНИЕ
Федеральное агентство по образованию
Глава 5. Моделирование вычислительных и операционных систем 289
Глава 6. Основы моделирования процессов 305
Глава 7. Задания для самостоятельной работы 311
Глава 8. Проектирование имитационных моделей 335
Глава 9. Технология имитационного моделирования 361
Глава 10. Примеры принятия решений с помощью имитационного моделирования 433
Глава 11. Задания для имитационных проектов 451
Глава 1. Модели массового обслуживания
1.1. Системы массового обслуживания и их характеристики
1.2. Системы с одним устройством обслуживания
1.3. Основы дискретно-событийного моделирования смо
1.4. Многоканальные системы массового обслуживания
Глава 2. Вероятностные сети систем массового обслуживания
2.2. Операционный анализ вероятностных сетей
Глава 3. Вероятностное моделирование
3.1. Метод статистических испытаний
3.2. Моделирование дискретных случайных величин
3.3. Моделирование непрерывных случайных величин
3.4. Сбор статистических данных для получения оценок характеристик случайных величин
Для оценки дисперсии случайной величины ξ используют формулу
3.5. Определение количества реализаций при моделировании случайных величин
По формулам (3.18-3.20) находим
Задачи для самостоятельной работы
Глава 4. Система моделированияgpss
4.4. Внесение транзактов в модель. БлокGenerate
Задание для самостоятельной работы:
4.5. Удаление транзактов из модели. БлокTerminate
4.6. Элементы, отображающие одноканальные обслуживающие устройства
4.7. Реализация задержки во времени. БлокAdvance
Задания для самостоятельной работы:
4.8. Сбор статистики об ожидании. Блоки queue, depart
4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
Задания для самостоятельной работы:
4.10. Моделирование многоканальных устройств
4.11. Примеры построенияGpss-моделей
4.13. Определение функции вGpss
4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
4.15. Изменение приоритета транзактов. БлокPriority
4.16. Организация обслуживания с прерыванием. Блоки preempt и return
Задание для самостоятельной работы:
4.18. Проверка числовых выражений. Блок test
Задание для самостоятельной работы:
4.19. Определение и использование таблиц
Задания для самостоятельной работы:
4.21. Обработка транзактов, принадлежащих одному семейству
4.22. Управление процессом моделирования в системеGpss
4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
7 Testne p1,p2,asn2 ; Повторить, если адресат
4.25. Организация вывода временных рядов изGpss-модели
4.26. Краткая характеристика языкаPlus
4.28. Диалоговые возможностиGpssWorld
4.29. Отличия между gpss World и gpss/pc
Глава 5. Моделирование вычислительных и операционных систем
5.1. Операционные системы компьютеров
5.2. Сети и системы передачи данных
5.3. Проблемы моделирования компьютеров и сетей
Глава 6. Основы моделирования процессов
6.1. Производственные процессы
6.2. Распределительные процессы
6.3. Процессы обслуживания клиентов
6.4. Процессы управления разработками проектов
Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
8.1. Структура интерактивной системы имитационного моделирования
8.2. Построение концептуальной схемы модели
8.3. Параметрическая настройка модели
8.6. Запуск эксперимента и обработка результатов моделирования
8.7. Управление проектами и общей настройкой системы
8.8. Пример построения модели средствамиIss2000
Глава 9. Технология имитационногомоделирования
9.2. Организация экспериментов
9.3. Проблемы организации имитационных экспериментов
9.4. Оценка точности результатов моделирования
9.6. Дисперсионный анализAnovAв планированииэкспериментов
9.7. Библиотечная процедураAnova
9.8. Технология проведение дисперсионного анализа в системеGpss World
9.9. Особенности планирования экспериментов
9.10. Нахождение экстремальных значений на поверхности отклика
9.11. Организация экспериментов вGpssWorld
9.12. Выбор наилучшего варианта структуры системы
Глава 10. Примеры принятия решений с помощью имитационного моделирования
10.1. Моделирование производственного участка
10.2. Моделирование технологического процесса ремонта и замены оборудования
Глава 11. Задания для имитационных проектов
Использование СЧА в блоках ENTER и ADVANCE.
ENTER 3,R3
При входе транзакта в блок ENTER, он занимает R3 каналов устройства с именем 3. Поскольку R3 - число доступных каналов МКУ 3, то транзакт занимает все каналы, которые остались свободными до его входа.
ENTER HS,R$SH
Войдя в блок ENTER, транзакт занимает R$SH каналов МКУ с именем HS.
ADVANCE FCSPRIB
Задержка в этом блоке равна числу занятий устройства PRIB.
Параметры транзактов. Параметры транзактов - это свойства транзакта, определяемые пользователем. Множество параметров транзакта - набор стандартных числовых атрибутов, которые принадлежат транзакту. Параметры транзакта являются локальными переменными, которые доступны только данному транзакту.
В процессе перемещения транзакта по модели, его параметры ( могут задаваться и модифицироваться в соответствии с логикой работы модели.
Особенности параметров транзактов:
1. Доступ к параметрам транзактов осуществляется таким образом:
Р<номер> или Р$<имя>,
где Р - СЧА транзакта, определяющий его групповое имя, т.е. имя всех параметров транзакта.
2. Номера (имена) конкретных членов множества параметров задаются с помощью целых чисел 1, 2, ... или символьных имен. Например, Р22 - это 22-параметр транзакта, P$COLOR - параметр с именем COLOR.
3. При входе транзакта в модель начальное значение всех его параметров устанавливается в ноль.
4. Значения параметров транзактов и их изменение определяет пользователь.
5. Значениями параметров транзактов могут быть любые числа (в системе GPSS/PC - только целые числа). Параметры могут приобретать отрицательные значения.
6. Транзакт может обращаться только к своим параметрам. Если необходимо получить доступ к параметрам других транзактов, то это можно сделать только через ячейки сохраняемых величин или используя группы транзактов.
7. Параметры можно использовать в качестве операндов блоков и в качестве аргументов функций.
8. Параметры позволяют организовать косвенную адресацию блоков. Это дает возможность агрегированного представления объектов моделирования в программе.
Пример 4.26
ААА FUNCTION P3,D3
-3,4/3,7/10,8
………...
ADVANCE FN$AAA,3
………..
Выполнение подпрограммы блока ADVANCE предусматривает расчет функции ААА. Это в свою очередь требует определения значения аргумента функции, т.е. параметра РЗ. Пусть значение третьего параметра транзакта, вошедшего в блок ADVANCE, равно 4. Соответствующее значение функции ААА равно 8. Таким образом, время задержки будет равномерно распределено на интервале 8±3.
Пример 4.27
SEIZE PSPRIB
ADVANCE PSTSERV
RELEASE PSPRIB
Транзакт занимает устройство, номер которого задан параметром транзакта PRIB. Время обслуживания задается параметром TSERV.
Изменение значений параметров. Блок ASSIGN
(НАЗНАЧИТЬ). При входе транзакта в этот блок значения параметров могут задаваться или изменяться. Формат блока:

Блок ASSIGN может быть использован как в режиме замещения значения параметра (начальное значение всех параметров транзактов равно 0), так и в режиме увеличения и уменьшения. В режиме увеличения предшествующее значение параметра увеличивается на значение, стоящее в операнде В. В режиме уменьшения оно уменьшается на величину, стоящую в операнде В. Режимы увеличения и уменьшения определяются введением соответственно знаков «плюс» и «минус» перед запятой, которая разделяет операнды А и В.
При использовании операнда С значение операнда В умножается на значение функции, указанной в операнде С. Параметр, заданный в операнде А, изменяется на величину полученного произведения (в режиме увеличения и уменьшения) или приобретает значение результата (в режиме замещения).
Пример 4.28
Блок ASSIGN в режиме присваивания:
ASSIGN MEST,36
Параметру транзакта с именем MEST присваивается значение 36.
ASSIGN 3,25
Параметру РЗ присваивается значение 25.
ASSIGN P4,FR$BB
Параметру транзакта с номером, записанным в параметре Р4, присваивается значение величины загрузки устройства ВВ (оба операнда заданы косвенным образом).
Блок ASSIGN в режимах накопления и уменьшения:
ASSIGN 4+,Q5
Параметр 4 увеличивается на значение, равное текущей длине очереди 5.
ASSIGN Р2-,7
От значения параметра, номер которого задан параметром Р2, вычитается 7.
Отметка времени. При каждом входе транзакта в модель интерпретатор фиксирует для него текущее значение времени. Это значение времени называется отметкой времени. Она может быть интерпретирована как время «рождения» транзакта или время входа транзакта в модель. В явном виде отметка времени недоступна. Однако существует СЧА, который тесно связан со значением времени входа транзакта в модель. Его имя Ml, а значение определяется так:

Значение M1 для каждого транзакта изменяется в процессе моделирования. Сразу после входа транзакта в модель М1=0, через 10 единиц модельного времени М1=10 и т.д.
Пример 4.29
Пусть в устройстве, номер которого хранится в параметре CLR_1 транзакта, продолжительность обслуживания зависит от времени, которое прошло с момента входа транзакта в модель. Предполагается, что это время не может превышать 1000 ед. времени. Для этого в модели можно использовать такие блоки:
ZATR FUNCTION M1,C2
1,4/1000,80
…….
SEIZE P$CLR_1
ADVANCE FNSZATR
RELEASE P$CLR_1
…….
Транзитное время. Блок MARK (ОТМЕТИТЬ). Стандартный числовой атрибут M1 измеряет время, которое прошло с момента входа транзакта в модель. Однако очень часто требуется знать время, затраченное на перемещение транзакта между двумя произвольными точками модели. Для этого используется блок MARK.
При входе транзакта в блок MARK значение таймера абсолютного времени записывается в качестве одного из его параметров. Такую запись называют отметкой транзакта. Формат блока MARK:
MARK A
Таблица 4.30
|
Операнд |
Значение |
Результат по умолчанию |
|
А |
Номер параметра, в который записывается значение абсолютного времени (целое число, СЧА) |
При отсутствии операнда А отметка времени заменяется текущим значением абсолютного времени |
Пусть необходимо определить интервал времени, на протяжении которого транзакт проходит от точки Т1 к точке Т2. Для этого нужно выполнить два действия:
1) в точку T1 поместить блок MARK j, где j - номер параметра, в который записывается значение абсолютного времени в момент записи;
2) в точке Т2 обратиться к СЧА с именем MPj, где j - номер параметра, в котором сделана отметка времени транзакта; СЧА MPj будет иметь такое значение:

Организация циклов. Блок LOOP (ЦИКЛ). С помощью параметров транзактов в программе можно организовать циклы. Для этого используется блок LOOP. Он управляет количеством повторных прохождений транзактом определенной последовательности блоков модели.
Формат блока:
LOOP A[,B]

Когда транзакт входит в блок LOOP, параметр, указанный в операнде А, уменьшается на единицу, а затем проверяется его значение на равенство нулю. Если значение не равно нулю, то транзакт переходит в блок, указанный в операнде В. Если значение параметра равно нулю, транзакт переходит в следующий блок.
Переменная
блока LOOP
может
только уменьшаться.
Пример 4.30
ASSIGN 1,3 SIS SEIZE PC
RELEASE PC LOOP 1,SIS
Цикл организован по первому параметру транзакта. Его начальное значение равно 3. После освобождения устройства проверяется значение первого параметра. Если оно не равно нулю, то транзакт возвращается к блоку, помеченному меткой SIS, т.е. занимает устройство с именем PC. Всего каждый транзакт будет занимать это устройство три раза.
Примеры фрагментов GPSS-моделей с использованием СЧА и параметров транзактов
Пример 4.31
Определение функции, значения которой зависят от текущего содержимого блока с именем РРР. Вид зависимости задан в табл. 4.32.

FFF FUNCTION W$PPP,D5
0,1/3,4/5,2/6,4/7,5
Пример 4.32
Определение функции, значения которой были бы вдвое больше текущей длины очереди ALPHA для значений 0, 1,2, 3, 4. Для остальных значений содержимого очереди значение функции должно быть равно 10.
Это можно сделать двумя способами:
1) с помощью дискретной функции, определяемой 6 значениями;
2) с помощью непрерывной функции, определяемой 2 значениями.
Первый способ:
LONG FUNCTION Q$ALPHA,D6
0,0/1,2/2,4/3,6/4,8/5,10
Второй способ:
SHORT FUNCTION Q$ALPHA,C2
0,0/5,10
Пример 4.33 [10]
В СМО с одним устройством и очередью поступает пуассоновский поток заявок с интенсивностью 12 приходов за 1 ч. Обслуживание имеет экспоненциальное распределение, но среднее время обслуживания зависит от числа заявок, которые находятся в очереди к устройству. Эта зависимость приведена в табл. 4.33. Промоделировать обслуживание 500 заявок.

Таблица 4.34 (Таблица определений)

Для учета длины очереди при определении интенсивности обслуживания в модель необходимо включить дискретную функцию, в которой текущая длина очереди является аргументом. Эта функция используется для определения среднего значения интенсивности обслуживания. Единица модельного времени - 1 с.
Программа:
MEAN FUNCTION Q$WAIT,D4
0,330/2,300/5,270/6,240
XPDIS FUNCTION RN1,C24
0,0/.l,.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
GENERATE 300,FN$XPDIS
QUEUE WAIT
SEIZE SURVR
DEPART WAIT
ADVANCE FN$MEAN,FN$XPDIS
RELEASE SURVR
TERMINATE 1
START 500
Пример 4.34 [10]
Устройство с экспоненциальным временем обслуживания имеет свойство уменьшать интенсивность своей работы на протяжении восьмичасового рабочего дня. В течение первых двух часов ему требуется в среднем 12 мин для выполнения обслуживания. В течение последующих двух часов среднее время обслуживания составляет 15 мин. В течение пятого, шестого и седьмого часа - 17 мин, в течение восьмого часа - 20 мин. Предполагая, что единица времени в модели равна 0,1 мин, определить функцию, значения которой давали бы среднее время, необходимое устройству для выполнения обслуживания. Также показать, как эту функцию нужно использовать в блоке ADVANCE. (СЧА С1 - текущее значение относительного времени работы модели).