Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 3258
Скачиваний: 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. Задания для имитационных проектов
4.27. Команды gpss World
Команды необходимы, как для построения программы модели, так и для интерактивного взаимодействия с моделью. Они включают операторы описания данных, операторы управления, которые включены в стандартный GPSS [10, 13], и команды, которые используются только в языке GPSS World.
Операторы описания данных и команды управления:
Команда START. Используется для инициации начала моделирования. Его формат:
START A,[B],[C],[D]
В операнде А задается значение счетчика завершений, определяющего момент окончания прогона модели. Операнд А может быть только положительным целым числом.
Операнд В - операнд вывода статистики. Этот операнд может принимать значение «NP» или быть опущенным. Задание «NP» в операнде В приводит к блокированию вывода статистики. По умолчанию выводится стандартная статистика.
Операнд С не используется и сохранен для совместимости с предыдущими версиями GPSS.
Операнд D задает необходимость вывода содержания СТС и СБС. Операнд D может быть положительным целым. Если операнд D не равен 0, то СТС и СБС выводятся.
Моделирование продолжается до тех пор, пока счетчик завер-s шения, определенный операндом А, не достигнет нулевого значения. Для уменьшения значения счетчика используется блок TERMINATE (подробнее см. в параграфе 4.4).
Стандартный числовой атрибут, который связан с этой командой, TG1 - текущее значение счетчика завершения.
Оператор INITIAL. Позволяет задавать начальные значения сохраняемых величин (Savevalue), элементов матриц (Matrix) и логических ключей (Logicswitch). Имеет такой формат:
INITIAL A[,B|
Значения операндов:
А - СЧА сохраняемых величин, элементов матриц или логических ключей. В операнде могут стоять:
LS<положительное целое>, LS$<имя> - имя логического ключа;
Х<положительное целое>, Х$<имя> - имя сохраняемой величины;
МХ<положительное целое>( ) или МХ$<имя>() - имя элемента матрицы.
В - устанавливаемое значение. По умолчанию равно единице. Операнд может быть числом, строкой, именем или UNSPECIFIED.
При выполнении оператора INITIAL значение, обусловленное операндом В, назначается логическому ключу, сохраняемой величине или элементу матрицы, определенному в операнде А.
Если операнд А определен как логический ключ, то операнд В может быть только нулем или единицей.
Если в операнде В использовано ключевое слово UNSPECIFIED, то сохраняемая величина, матрица или элемент матрицы устанавливается в «неопределенное» состояние. Обычно это ключевое слово используется, чтобы указать на отсутствие данных в матрице результатов, которая должна быть в дальнейшем проанализирована библиотечной процедурой ANOVA. Если матрица имеет размерность больше двух, то для установки ее в состояние UNSPECIFIED надо использовать язык PLUS.
С оператором INITIAL связаны блоки LOGIC, SAVEVALUE и MSAVEVALUE.
Пример 4.62
INITIAL Х88Д2000
Значение 12000 записывается в сохраняемую величину с номером 88.
INITIAL MX3(2,4),33
Значение 33 записывается в элемент (2, 4) матрицы 3.
INITIAL X$Quote,"Now is the time ... "
Этот оператор назначает строчную константу сохраняемой величине Quote.
INITIAL MX$Inventory(Part_39,Stocklevel),200
Значение 200 записывается в строку Part_39 столбца Stocklevel матрицы Inventory. Именам Part_39 и Stocklevel должны быть предварительно назначены соответствующие целые числа в командах EQU.
INITIAL MainResult,UNSPECIFIED
Предварительно определяется матрица для экспериментов с именем MainResult, которая может не иметь данных.
Команда RESET. Сбрасывает в ноль статистику и СЧА системы, но не удаляет транзакты из модели. Она используется для повторных экспериментов с моделью и сброса статистических данных переходного периода имитационного процесса. Имеет такой формат:
RESET
Действия команды RESET:
1) значение относительного модельного времени (С1) устанавливается в ноль;
2) значение абсолютного модельного времени (АС1) остается без изменений;
3) все датчики псевдослучайных чисел остаются неизменными;
4) значения сохраняемых величин и матриц, а также состояния логических ключей не изменяются;
5) счетчики числа входов в блоки (Nj) сбрасываются в ноль;
6) временные интегралы* устройств устанавливаются в ноль;
7) временные интегралы содержимого МКУ** устанавливаются в ноль;
8) счетчики числа входов в МКУ (SCj) и максимального содержимого МКУ (SMj) остаются неизменными;
9) временные интегралы всех очередей*** сбрасываются в ноль, счетчики вхождений в очередь (QCj) и максимального содержимого очереди (QMj) устанавливаются равными текущей длине очереди;
10) в таблицах стираются накопленные статистические данные;
11) временные интегралы СП устанавливаются в ноль, счетчики числа вхождений в списки (CCj) и максимального содержимого списков (CMj) устанавливаются равными текущей длине списка.
Команда CLEAR. Сбрасывает всю накопленную статистику, удаляет все транзакты из модели и устанавливает отсчет (нумерацию) транзактов, сгенерированных блоками GENERATE, начиная с единицы.
Формат записи команды CLEAR:
CLEAR [A|
Действия команды CLEAR:
1) все транзакты удаляются из модели;
2) содержимое всех блоков устанавливается в ноль;
3) текущие счетчики блоков (Wj) сбрасываются в ноль;
4) общие счетчики блоков (Nj) сбрасываются в ноль;
5) системное время (С1 и АС1) устанавливается в ноль;
6) устройства становятся незанятыми и доступными;
*Временной интеграл устройства - сумма длин всех интервалов времени, на протяжении которых устройство было занято.
**Временной интеграл содержимого МКУ рассчитывается так. В начале моделирования его значение равно нулю. При выполнении подпрограммы блоков ENTER и LEAVE вычисляются интервал времени, на протяжении которого содержимое МКУ не менялось, и соответствующее этому интервалу значение содержимого МКУ. Текущее значение временного интеграла содержимого МКУ увеличивается на значение произведения этих величин.
***Временной интеграл очереди рассчитывается так. В начале моделирования его значение равно нулю. При выполнении подпрограммы блоков QUEUE и DEPART вычисляется интервал времени, на протяжении которого содержимое очереди не менялось, и соответствующее этому интервалу значение содержимого очереди. Текущее значение временного интеграла содержимого очереди увеличивается на значение произведения этих величин.
7) МКУ становятся свободными и доступными;
8) временные интегралы устройств, МКУ, очередей и СП устанавливаются в ноль;
9) максимальные значения содержимого очередей, СП и МКУ устанавливаются равными их текущему значению;
10) состояние датчиков псевдослучайных чисел не изменяется;
11) внутренний счетчик транзактов, генерируемых в блоках GENERATE, устанавливается в ноль;
12) из всех числовых групп удаляются их члены;
13) содержимое всех сохраняемых величин и матриц принимает нулевое значение;
14) логические ключи сбрасываются.
Если используется CLEAR OFF, выполняется все перечисленное выше за исключением последних двух пунктов. То есть, если операнд A=OFF, то логические ключи, сохраняемые величины и матрицы остаются без изменений.
После выполнения всех названных операций команды CLEAR GPSS-модель просматривается интерпретатором в поиске блоков GENERATE. В каждом выявленном блоке GENERATE создается новый транзакт так же, как при первой интерпретации блока GENERATE. Заново вычисляется время начальной задержки и максимальное число транзактов, которые будут образованы в блоках GENERATE.
Команда RMULT. Моделирование часто требует нескольких различных последовательностей случайных чисел. Эти последовательности выдаются генераторами случайных чисел, которые действуют независимо друг от друга. При каждом запуске системы генераторы выдают одну и ту же последовательность чисел. Команда RMULT позволяет изменять такую последовательность путем изменения начальных множителей.
В системе GPSS World генераторы случайных чисел создаются по мере необходимости, их явное определение не обязательно. Несколько генераторов случайных чисел используются GPSS World для блоков GENERATE, ADVANCE и TRANSFER. Они определяются в пункте меню Edit/Setting/Random Numbers (случайные числа) настроек модели.
Формат команды RMULT:
RMULT [A],[B],[C],[D],[E],[F],[G]
В операнде А задается начальный множитель для первого генератора случайных чисел RN1.
В операнде В задается начальный множитель для второго генератора случайных чисел RN2.
В операнде С задается начальный множитель для третьего генератора случайных чисел RN3.
В операнде D задается начальный множитель для четвертого генератора случайных чисел RN4.
В операнде Е задается начальный множитель для пятого генератора случайных чисел RN5.
В операнде F задается начальный множитель для шестого генератора случайных чисел RN6.
В операнде G задается начальный множитель для седьмого генератора случайных чисел RN7.
Стандартный числовой атрибут, связанный с этой командой, - RN<номеp генератора>. Он возвращает случайное целое число из интервала от 0 до 999.
Операнды должны быть положительными целыми числами. В этом операторе должен быть задан хотя бы один операнд.
Пример 4.63
RMULT 875,1237,„319
Устанавливаются начальные состояния множителей генераторов случайных чисел 1, 2 и 5. Остальные значения остаются без изменений.
Оператор EQU. Предназначен для присвоения числовых значений именам, которые используются в модели (аналог #defme в языке программирования Си). Оператор имеет такой формат:
Таблица 4.49

Когда интерпретатор обрабатывает оператор EQU, он вычисляет выражение, заданное операндом А, после чего создает или переопределяет имя переменной. Имени присваивается результат вычисленного выражения. Полученное значение заменяет ссылки на это имя в операндах или выражениях, используемых в модели.
Значения имен могут использоваться как внутренние значения переменных пользователя, или они могут определять объекты, такие как метка. Именам, используемым как метки объектов, значения обычно не назначаются. Интерпретатор автоматически назначает индивидуальные значения именам, если они еще не появились в операторе EQU, в выражениях или операндах. Имена могут использоваться для определения объекта в СЧА.
Выражения, содержащиеся в операторе EQU, вычисляются согласно правилам для выражений и могут включать запросы к пользовательским или библиотечным процедурам PLUS. Выражения могут использовать любые из арифметических и логических операторов. Если в выражении используются параметры, они вычисляются для активного транзакта.
Имена, которым не были явно назначены значения, не могут использоваться в выражении. Необходимо назначить значение для имени прежде, чем будет вычислено выражение. Переменные пользователя могут быть заданы операторами EQU или в процедуре PLUS.
Если значение имени определено, то оно сохраняет свое значение на протяжении всего прогона модели. Имена переменных пользователя могут быть переопределены: