Основные понятия компьютерного моделирования
Классификация компьютерных моделей. Этапы компьютерного моделирования. Особенности компьютерного эксперимента, этапы его проведения. Компьютерные модели физических процессов и систем массового обслуживания. Имитационное моделирование процессов и систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курс лекций |
Язык | русский |
Дата добавления | 03.06.2017 |
Размер файла | 869,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Блок TERMINATEпозволяет удалять транзакты из модели. При этом блок операнд A (по умолчанию 0) указывает число, на которое уменьшается содержимое счетчика числа завершений. Счетчик числа завершений - это переменная, которая используется для управления окончанием процесса моделирования. Счетчик завершений в модели только один, хотя блоков TERMINATE может быть несколько. При достижении значения счетчика завершений, равного 0, моделирование завершается. Счетчик числа завершений используется для того, чтобы ограничить число транзактов, находящихся в модели или ограничить время, в течение которого исследуется объект. Начальное значение счетчика числа завершений задается с помощью управляющего оператора START (Начать моделирование), имеющего следующий формат: STARTA,B, где операнд A - начальное значение счетчика завершений (по умолчанию 0); B - может иметь значение NP, если после окончания моделирования не требуется выводить стандартный отчет. По умолчанию отчет требуется. Оператор START может быть записан последним оператором в текст модели, и тогда моделирование начнется сразу же после успешной компиляции модели. Если в тексте модели нет оператора START, то после компиляции модели система ожидает от пользователя дальнейших команд. Команда START может быть введена далее через главное меню.
3. Какие действии выполнит система при наличии следующей последовательности операторов
SEIZE MASTER
ADVANCE 16,4
RELEASE MASTER
Транзакт, двигающийся по этой цепочке, займет устройство с символическим именем MASTER, задержится там на 164 единицы времени, и затем покинет его. Когда данный транзакт войдет в блок RELEASE, и отработает процедура этого блока, следующий транзакт сможет использовать устройство MASTER.
Статистическая информация в стандартном отчете gpssworld
Система GPSSWorld предоставляет стандартный отчет, содержащий в себе статистику по результатам моделирования.
Пример стандартного отчета:
GPSS World Simulation Report - Untitled Model 1.2.1
Saturday, April 24, 2010 10: 19: 21
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 406.311 12 1 1
NAME VALUE
DEVICE 10000.000
QP 10002.000
STANOK 10003.000
TABLE1 10001.000
LABEL LOC BLOCK TYPEENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 406 0 0
2 QUEUE 406 203 0
3 SEIZE 203 0 0
4 ADVANCE 203 1 0
5 RELEASE 202 0 0
6 ENTER 202 0 0
7 ASSIGN 202 0 0
8 TABULATE 202 0 0
9 DEPART 202 0 0
10 ADVANCE 202 2 0
11 LEAVE 200 0 0
12 TERMINATE 200 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND NTER RETRYDELAY
STANOK 203 0.998 1.997 1 203 0 0 0 203
QUEUE MAX CONT. ENTRY ENTRY (0) AVE. CONT. AVE. TIME AVE. (-0) RETRY
QP 204 204 406 0 102.076 102.154 102.154 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE. C. UTIL. RETRYDELAY
DEVICE 5 3 0 5 202 1 2.442 0.488 0 0
TABLE MEAN STD. DEV. RANGE RETRY FREQUENCY CUM. %
TABLE1 2.975 0.807 0
1.000 7 3.47
1.000 - 2.000 43 24.75
2.000 - 3.000 104 6.24
3.000 - 4.000 44 98.02
4.000 - _ 4 100.00
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
203 0 407.000 203 4 5
407 0 407.000 407 0 1
200 0 409.953 200 10 11 7 4.000
201 0 411.966 201 10 11 7 3.000
Статистическая информация об устройствах
FACILITY - номер или имя устройства.
ENTRIES - количество транзактов, занимавших устройство (входов в устройство).
UTIL - коэффициент использования.
AVE. TIME - среднее время пребывания транзакта в устройстве.
AVAIL. - состояние устройства в конце моделирования (равно 1, если устройство доступно, 0 - если недоступно).
OWNER - номер последнего транзакта, занявшего устройство (0 - устройство не занято).
PEND - количество транзактов, ожидающих выполнения с прерыванием других транзактов.
INTER - количество транзактов, прерванных на данный момент.
RETRY - количество транзактов, ожидающих специального условия, зависящего от состояния данного устройства.
DELAY - количество транзактов, ожидающих занятия устройства.
Статистическая информация об ожидании
QUEUE - номер или имя очереди.
MAX - максимальная длина очереди.
CONT. - текущая длина очереди в конце процесса моделирования.
ENTRY - количество транзактов, вошедших в очередь.
ENTRY (0) - количество входов транзактов в очередь с нулевым временем ожидания.
AVE. СONT. - средняя длина очереди.
AVE. TIME - среднее время пребывания транзактов в очереди.
AVE. (0) - среднее время пребывания транзактов в очереди без учета "нулевых входов".
RETRY - количество транзактов, ожидающих выполнения специального условия, зависящего от состояния очереди.
Статистическая информация об МКУ
STORAGE - имя или номер МКУ.
CAP. - емкость МКУ, заданная оператором STORAGE.
REMAIN - количество единиц свободной емкости МКУ в конце периода моделирования.
MIN/MAX - минимальное/максимальное число единиц используемой емкости МКУ за период моделирования.
ENTRIES-количество входов в МКУ за период моделирования.
AVL. - состояние МКУ в конце периода моделирования: 1 - МКУ доступно, 0 - недоступно.
AVE. C. - среднее значение занятой емкости за период моделирования.
UTIL - средний коэффициент использования всех единиц МКУ.
RETRY - количество транзактов, ожидающих специальных условий, зависящих от состояния МКУ.
DELAY - количество транзактов, ожидающих возможности входа в блок ENTER.
Статистическая информация о таблицах
TABLE - имя или номер таблицы или Q-таблицы.
MEAN - средневзвешенное значение табулируемого аргумента.
STD. DEV. - взвешенноесреднеквадратическоеотклонение.
RANGE - нижний и верхний пределы частотного класса.
RETRY - количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данной таблицы.
FREQUENCY - суммарная величина, формируемая при попадании табулируемого аргумента в указанные границы.
CUM/% - величина частоты в процентах к общему количеству значений табулируемого аргумента.
Информация о списках текущих и будущих событий
FEC (CEC) - список будущих (текущих) событий.
SEC - список текущих событий.
XN - номер каждого транзакта, находящегося в списке FEC / SEC.
PRI - приоритеттранзакта.
М1 - времявходатранзакта в модель или время его самого раннего предка.
ASSEM - номер семейства данного транзакта.
CURRENT - номер блока, в котором находится транзакт в конце моделирования.
NEXT - номер следующего блока, в который должен войти транзакт.
PARAMETR - имя или номер параметра транзакта.
VALUE - значение параметра.
Условные обозначения на блок-диаграммах GPSS
Название блока |
Обозначение блока |
Назначение блока |
|
1 |
2 |
3 |
|
ADVANCE (Задержать) |
Задерживает транзакт на время AB, если B = const, или AB, если B - функция |
||
ASSEMBLE (Соединить) |
Собирает A транзактов одного ансамбля, пропускает в следующий блок первый транзакт, остальные уничтожает |
||
ASSIGN (Назначить) |
Присваивает параметру A входящего транзакта значение B, модифицированное значением C |
||
BUFFER (Возобновить просмотр) |
Прерывает обработку транзакта и возвращает симулятор к началу списка текущих событий |
||
DEPART (Покинуть очередь) |
Обеспечивает освобождение в очереди AB единиц |
||
ENTER (Войти) |
Обеспечивает вхождение транзакта в многоканальное устройство A с занятием B единиц емкости этого устройства |
||
(X) GATELS LR (Впустить) |
Проверяет условие нахождения логического ключа Aв состоянии X |
||
(X) GATE I NI U NU (Впустить) |
Проверяет условие нахождения устройства A в состоя - нии X |
||
(X) GATESE SF SNE SNF (Впустить) |
Проверяет условие нахождения многоканального устройства A в состоянии X |
||
GATHER (Собрать) |
Собирает A транзактов одного ансамбля и пропускает их одновременно в следующий блок |
||
GENERATE (Генерировать) |
Генерирует транзакты через A единиц времени, модифицированных B, с задержкой C, D транзактов, с приоритетом E |
||
HELP (Помощь) |
Объединяет модули GPSS с модулями на языках Ассемблера, Фортрана, ПЛ/1, имеющих имя A |
||
LEAVE (Выйти) |
В многоканальном устройстве A освобождает B единиц его емкости |
||
LINK (Ввести в цепь) |
Удаляет транзакт из списка текущих событий и вводит в цепь пользователя A |
||
(X) LOGICI R S (Установить логический переключатель) |
Устанавливает логический ключ A в состояние X |
||
LOOP (Организовать цикл) |
Осуществляет повторение A раз группы блоков от адреса B до данного блока |
||
MARK (Отметить) |
Осуществляет отметку времени в параметре A |
||
MATCH (Синхронизи- ровать) |
Синхронизирует движение транзактов по блок-диаграмме совместно с блоком MATCH с меткой A |
||
PREEMPT (Захватить) |
Выполняет приоритетную обработку транзакта в устройстве A |
||
(Печатать) |
Осуществляет вывод статистики по элементу C в пределах от A до B в формате D |
||
PRIORITY (Назначить приоритет) |
Присваивает входящему транзакту приоритет A |
||
QUEUE (Встать в очередь) |
Обеспечивает занятие B единиц в очереди с именем A |
||
RELEASE (Освободить) |
Освобождает устройство с номером A |
||
RETURN (Вернуть) |
Снимает прерывание с устройства A |
||
SAVEVALUE (Сохранить значение) |
Сохраняет заданное значение B в ячейке A |
||
SEIZE (Занять) |
Занимает устройство с именем A |
||
SPLIT (Расщепить) |
С приходящего транзакта генерирует A копий и направляет их по адресу B, основной транзакт переходит в следующий блок |
||
TABULATE (Табулировать) |
Табулирует значения входящих транзактов в таблице A |
||
TERMINATE (Завершить) |
Удаляет транзакт из модели, уменьшая на величину A значение содержимого счетчика числа завершений |
||
(X) TESTE NE GE LE G L (Проверить) |
Проверяет соотношение X между Aи B и направляет входящий транзакт в следующий блок при выполнении или по адресу C при невыполнении соотношения |
||
TRANSFER (Передать) |
Изменяет направление движения транзактов согласно режиму A |
||
UNLINK (Вывести из цепи) |
Выводит транзакт из цепи пользователя и помещает его в список текущих событий |
Генерация случайных чисел
Общие принципы генерации случайных величин
Имитационное моделирование требует использования большого количества случайных величин. Например, в моделях систем массового обслуживания требуется получение случайного интервала времени между поступлениями заявок, а также случайное время их обслуживания. Кроме того, случайные числа могут быть нужны для определения маршрута движения транзакта (блок TRANSFER в режиме статистической передачи), розыгрыша объема покупки или спроса на товар в моделях управления запасами, и т.д. Моделирование этих случайных величин может быть выполнено на основе наблюдений за реальной системой. Результаты наблюдений могут быть использованы в модели либо непосредственно (т.е. в “сыром виде”), либо через генераторы случайных чисел, воспроизводящие их статистические аналоги.
В первом случае результаты наблюдений записываются в файл, из которого берут данные по мере необходимости получения очередного случайного числа. Такой подход обеспечивает наилучшее приближение к фактически наблюдавшемуся процессу, однако при этом:
a) не гарантируется типичность данных;
b) длительность моделируемого процесса ограничена длительностью реального;
c) модель лишается прогностической силы, т.к. фактические данные отсутствуют для систем, которые еще только проектируются, либо эксплуатируются в экстремальных условиях.
Поэтому в практике моделирования обычно применяется второй подход, т.е. формирование случайных величин в соответствии с нужным законом распределения. Получение случайных чисел с требуемым законом распределения обычно выполняется в два этапа:
1) Физическим или программным методом формируется случайное число Ui, равномерно распределенное на интервале [0,1).
2) Выполняется программный переход от Ui к случайному числу Xi, имеющему требуемое распределение.
Равномерно распределенное на [0,1) случайное число представляется в компьютере в виде n - разрядной последовательности нулей и единиц, причем в каждом разряде нуль или единица должны наблюдаться с вероятностью 0,5.
Физические генераторы равномерно распределенных чисел основаны на регистрации импульсов от счетчика радиоактивных частиц или шумовых выбросов электронной лампы. Они выполняются в виде приставки к компьютеру и обладают высокой скоростью моделирования. Получаемые числа являются истинно случайными, и не требуется затрат процессорного времени на их генерацию. Однако физические генераторы по своей природе являются нестабильными (зависят от температуры, влажности окружающей среды и т.д.), требуют периодических проверок и стандартизации. Поэтому чаще применяют программные методы генерации случайных чисел.
Программные генераторы равномерно распределенных чисел рассчитывают каждое новое число на основе одного или нескольких предшествующих чисел в соответствии с заданной математической формулой. Таким образом, получаемые числа являются полностью детерминированными и возможно повторение прогона с той же последовательностью получаемых величин. Это свойство является важным преимуществом программных генераторов, т.к. дает возможность сравнивать варианты организации системы при одинаковой нагрузке. Отсутствие дополнительного оборудования и необходимости многократных проверок программных генераторов также являются достоинствами этого подхода.
Числа, выдаваемые программными генераторами, называются “псевдослучайными”. В работе Лемера (1951г) формулируется идея использования псевдослучайных чисел следующим образом: ”последовательность псевдослучайных чисел можно считать случайной, если ее каждый элемент непредсказуем для непосвященных и она удовлетворяет ряду традиционных статистических тестов”.
В n - разрядной сетке компьютера количество различных двоичных чисел равно 2n, т.е. ограничено. Поэтому последовательность генерируемых псевдослучайных чисел рано или поздно начнет повторяться. Количество чисел, генерируемых до начала повторения последовательности, называется периодом генератора L. В лучшем случае период генератора L=2n. Тогда говорят, что генератор имеет полный период. Однако для многих генераторов период гораздо меньше, чем 2n, и может зависеть от начального значения генератора.
Хороший программный генератор случайных чисел должен обладать следующими свойствами:
1. Получаемые числа должны быть равномерно распределены в интервале [0,1) и не должны иметь корреляции друг с другом. Данное свойство проверяется различными методами: например, исследуется равномерность заполнения r - мерного единичного гиперкуба точками (U1,U2,…,Ur), (Ur+1,Ur+2,…,U2r),…Существуют и другие тесты проверки равномерности и отсутствия корреляции.
2. Генератор должен обладать быстродействием и не требовать больших затрат памяти (удобство использования на практике).
3. В генераторе должен быть предусмотрен простой способ получения отдельных потоков случайных чисел, т.е. независимых последовательностей чисел.
Каждый поток можно выделить для конкретного источника случайности при моделировании.
Например, один поток - для интервала прихода транзактов, а другой поток - для интервалов обслуживания.
Либо один поток - для интервалов прихода транзактов одного типа, а второй - для транзактов другого типа. В этом случае обеспечивается сравнимость результатов моделирования.
4. Генератор должен иметь достаточно большую длину периода.
Размещено на Allbest.ru
Подобные документы
Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010Имитационное моделирование как один из наиболее широко используемых методов при решении задач анализа и синтеза сложных систем. Особенности имитационного моделирования систем массового обслуживания. Анализ структурной схемы системы передачи пакетов.
курсовая работа [1,2 M], добавлен 28.05.2013Общие сведения о математических моделях и компьютерном моделировании. Неформальный переход от рассматриваемого технического объекта к его расчетной схеме. Примеры компьютерного моделирования простейших типовых биотехнологических процессов и систем.
реферат [25,9 K], добавлен 24.03.2015Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Сущность принципов информационной достаточности, осуществимости, множественности моделей, параметризации и агрегирования. Построение концептуальной модели. Сравнение размеров программного кода. Особенности технологии компьютерного моделирования.
презентация [49,3 K], добавлен 16.10.2013Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы.
курсовая работа [499,6 K], добавлен 25.12.2013Анализ робототехнических систем. Принципы компьютерного моделирования. Классификация компьютерных моделей по типу математической схемы. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment.
дипломная работа [2,0 M], добавлен 08.06.2014Оптимальное время для обслуживания пользователей как основная цель работы компьютерного зала библиотеки. Построение модели деятельности подписного отдела с помощью средства имитационного моделирования AnyLogic. Описание процессов и построение сценария.
курсовая работа [1,9 M], добавлен 19.06.2015Основные подходы к математическому моделированию макромолекул. Методы молекулярной динамики и Монте-Карло. Механическая модель молекулы. Применения компьютерного эксперимента. Механическая модель молекулы. Преимущества компьютерного моделирования.
реферат [44,9 K], добавлен 19.03.2009