Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UIRS_2006.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.37 Mб
Скачать

10. 3 Имитационное моделирование

Имитационное моделирование, как статистический эксперимент

При решении различных задач синтеза СТС широкое распространение получило имитационное моделирование. Так, бу­дем называть исследование на ЭВМ, при котором конечные результаты работы СТС, например показатели эффективно­сти, определяют путем воспроизведения (имитации) процесса ее функционирования. При этом обычно стремятся воспроизвести процесс функционирования СТС, настолько полно и де­тально учитывая реальные свойства СТС и условия ее функциони­рования, насколько это необходимо и достаточно для решения по­ставленной задачи.

При синтезе СТС с помощью имитационного моделирования ре­шаются следующие задачи:

изучения процесса функционирования синтезируемой СТС для проверки и обоснования принятых технических решений или для поиска новых технических решений;

проверки результатов, полученных на более простых моделях, обоснования допущений, принятых в этих моделях;

получения данных для разработки более простых моделей и, в частности, для построения регрессионной модели; выполнения расчетов для различных вариантов структуры и параметров СТС и характеристик внешней среды (вариантных расчетов) с целью получения рекомендаций по выбору предпочтительных параметров и структуры СТС; получения результатов, заменяющих полностью или частично ^, натурные испытания созданных образцов СТС или ее компонентов.

Как видно, пока еще не имеется четкой грани между понятиями «математический эксперимент» и «имитационное моделирование». В широком смысле слова все виды исследований на современной • ВС можно трактовать как математический эксперимент, т. е. как эксперимент над математической моделью, и тогда 'имитационное моделирование будет одной из разновидностей математического эксперимента. В узком смысле слова, математический эксперимент — это исследование на ВС, заменяющее полностью или ча­стично физический, химический, биологический, социологический и другие эксперименты, целью которого является изучение законо­мерностей природы и общества.

Поскольку всякий достаточно сложный процесс в реальном ми­ре подчиняется статистическим закономерностям, имитационное моделирование учитывает различные случайные факторы (началь­ные условия, погрешности изготовления, возмущения и т. д.). Оно представляет собой развитие метода статистических испытаний (ме­тода Монте-Карло) для изучения случайных процессов, имеющих место ,в сложных практических задачах. Имитационное моделиро­вание, подобно методу Монте-Карло, основано на использовании выборок для получения статистических оценок изучаемых величин. Этот принцип предопределяет следующую схему имитационного мо­делирования:

разрабатывается модель, я составляется программа для осу­ществления одного испытания — одной реализации случайного про­цесса;

случайные факторы описываются соответствующими распреде­лениями вероятностей;

разыгрываются реализации случайных факторов с помощью датчиков псевдослучайных чисел — подпрограмм, имеющихся в со­ставе математического обеспечения ВС;

для разыгранных реализаций случайных факторов вычисляется реализация случайного процесса от его начального до конечного момента, т. е. осуществляется «прогон модели»;

с целью получения выборок реализаций случайного процесса испытание (эксперимент, «прогон модели») многократно повто­ряется;

с помощью методов математической статистики обрабатывают­ся результаты испытаний и определяются статистические характе­ристики изучаемых величин.

Таким образом, имитационное моделирование СТС представля­ет собой статистический эксперимент, выполняемый на ВС, отли­чительными особенностями которого являются достаточно подроб­ное воспроизведение процесса функционирования СТС, подчиняю­щегося статистическим закономерностям, получение достаточно большого числа реализаций этого процесса и обработка с помощью методов математической статистики результатов моделирования.

При организации имитационного моделирования возникает ряд методических вопросов, ответы на которые могут быть получены с помощью методов математической статистики. Один из вопро­сов — как использовать таблицы (подпрограммы) псевдослучай­ных чисел для получения выборки, соответствующей заданному распределению вероятностей, освещен в специальной литературе [60, 61].

Структура имитационной модели СТС и способ обработки ре­зультатов моделирования зависят от таких факторов, как стацио­нарность и эргодичность процессов в изучаемой СТС, а также от того, в каком режиме — переходном или установившемся — тре­буется определить при моделировании показатели эффективности СТС. В том случае, когда процесс в СТС — стационарный и эргодичный, а искомыми являются показатели эффективности СТС в установившемся режиме ее функционирования, их можно рассчи­тать, обрабатывая статистически результаты моделирования одной достаточно длинной реализации процесса в СТС. При этом, чтобы, исключить влияние переходного процесса в СТС на результаты мо­делирования, их обработку следует начинать, отступив от начала моделирования на интервал, соответствующий предполагаемому времени переходного процесса. Если же процесс в изучаемой СТС — неэргодичный или нестационарный, или если эффектив­ность СТС требуется оценить в переходном режиме, то имитацион­ное моделирование должно предусматривать получение и обработ­ку многих реализаций моделируемого процесса.

Во время обработки результатов моделирования возникают и: другие вопросы, относящиеся к математической статистике. Таки­ми вопросами, в частности, являются понижение дисперсий оценок показателей эффективности СТС при заданном числе полученных при моделировании реализаций, а также применение таких схем съема измерений при моделировании с использованием эргодического свойства, с помощью -которых достигается статистическая не­зависимость измерений.

Затраты машинного времени на имитационное моделирование могут быть сокращены, а проведенные испытания использованы наиболее эффективно, если при планировании вычислений руковод­ствоваться не эвристическими соображениями исследователя, а привлекать методы оптимального планирования экспериментов

Построение имитационных моделей дискретных систем

Имитационные модели дискретных систем отличаются громоздкостью, сложными связями между ее элементами, большим количеством логических условий, наличием параллельно протекаю­щих процессов. Все это обусловливает сложность их для алгорит­мизации и выражения алгоритмов средствами универсальных язы­ков программирования.

Мощным инструментом имитационного моделирования сложных систем являются проблемно-ориентированные системы программи­рования, например, СЛЭНГ, СИМУЛА, С-Р55 [14, 16, 59]. Входные языки таких систем называют языками моделирования. Они обла­дают важным свойством — позволяют исследователю, незнакомому с тонкостями программирования, формулировать задачу иссле­дования на содержательном уровне в терминах имитационной мо­дели. Их применение дает возможность исследователю сосредото­чить внимание на существе изучаемого явления и не отвлекаться на решение других вопросов программирования. Язык моделирова­ния состоит из абстрактных понятий, применимых к широкому классу явлений. Исследователь должен лишь отождествить элементы моделируемой системы и процессы, протекающие в ней, с соот­ветствующими понятиями языка и описать их по формальным пра­вилам.

Рассмотрим основные принципы и подходы, применяемые в язы­ках моделирования, на примере системы ОР35, которая предназ­начена для имитационного моделирования сложных дискретных си­стем. С ее помощью можно моделировать системы массового обслу­живания, технологические процессы, исследовать эффективность АСУ, работу автоматических линий и т. д.

В состав системы ОР55 входит язык, на котором исследова­тель составляет описание моделируемой системы, и специальная программа, которая имитирует работу системы по ее описанию. Эта программа называется симулятором (дословно — «имитатор»). Язык ОР53 состоит из набора абстрактных понятий — объектов, в терминах которых может быть описана моделируемая система. Объекты разделены на четыре класса: динамические, аппаратно-ориентированные, статистические и операционные.

Динамические объекты — суть абстракции, с их помощью изо­бражаются элементы внешних потоков, «обслуживаемых» модели­руемой системой. Динамические объекты называются транзактами. Они «создаются» и «уничтожаются» так, как это нужно в процессе моделирования. С их помощью, например, имитируется входной поток заявок, поступающих в систему массового обслужи­вания, а также потоки отказов, которым подвержены элементы изу­чаемой системы.

Аппаратно-ориентированные объекты соответствуют оборудова­нию моделируемой системы. Они «обслуживают» транзакты. К ним относятся «устройства», «накопители» и «логические переключа­тели».

Устройство может одновременно обслуживать только один транзакт, при этом обслуживание может быть прервано другим транзактом, а отстраненный от обслуживания транзакт или унич­тожается, или ожидает повторного обслуживания, или пытается войти в какое-то другое устройство. Отстранением от обслужива­ния, например, имитируется отказ какого-либо элемента СТС. По каждому устройству, имеющемуся в исследуемой системе, автома­тически накапливается статистика: отношение времени, в течение которого оно было занято, к общему времени моделирования (ко­эффициент использования); общее число поступивших в него транзактов; среднее время использования устройства одним транзактом и т. д.

Накопитель — устройство с ограниченной емкостью, кото­рое может одновременно обслуживать несколько транзактов. Транз­акт может «войти» в накопитель только при условии, что в нем в данный момент имеется достаточное число мест. Статистика работы накопителя включает среднее число занятых мест в нем за время «прогона модели», коэффициент использования, общее число транз­актов, поступивших в накопитель, среднее время пребывания транзакта в нем.

Логический переключатель является индикатором с двумя устойчивыми состояниями. При прохождении транзакта че­рез переключатель последний может принимать состояние «вклю­чен» или «выключен» и изменять путь других транзактов.

Статистические объекты применяются для оценки поведения ис­следуемой системы. К ним относятся очереди и таблицы. Каждой очереди соответствует перечень транзактов, задержанных в какой-либо точке системы, и запись длительности этих задержек. Таблицы используются для построения распределений выбранных исследователем случайных величин, например моментов прохож­дения транзактов через заданные точки системы.

Операционные объекты называются «блоками». Они формируют логику моделируемой системы, давая транзактам указания, куда идти и что делать дальше. Каждый блок имеет определенную ло­гику работы и в общем случае выполняет довольно много функций. Например, блок 5Е12Е (захват) сначала проверяет, свободно ли устройство, на которое претендует транзакт. Если устройство за­нято, то транзакт остается в этом блоке и повторяет попытку снова занять устройство в следующий момент времени.

Для того чтобы смоделировать СТС с помощью системы ОР55, надо составить описание СТС в терминах языка этой системы. Это описание представляет собой программу, которая управляет регулятора С-Р55. При этом симулятор генерирует транзакты и регулирует их от блока к блоку аналогично тому, как движутся II реальной системе единицы потоков, изображаемые транзактами. Каждое продвижение транзакта является событием, которое происходит в дискретный момент времени. Симулятор регистриру­ет время наступления каждого события и затем производит их об­работку в правильной временной последовательности. Для поддер­жания правильной временной последовательности симулятор моде­лирует часы.

При составлении описания имитационной модели операцию СТС изображают в виде схемы последовательности событий — схемы моделирования. Каждый элемент этой схемы представляет собой событие, которое в конечном счете описывается одним блоком. Блоки соединяют линиями, показывающими путь транзакта от од­ного блока к другому. В блок может входить несколько линий. Так изображается тот факт, что он является общим для нескольких последовательностей событий. Альтернативные ситуации, которые могут возникнуть в блоке, изображаются двумя или более линиями, выходящими из него. Выбор пути при наличии нескольких вариан­тов может быть случайным или логическим, т. е. зависящим от со­стояния системы в момент выбора. Случайные величины генериру­ются с помощью функций их распределения, заданных исследова­телем, и датчиков равномерно распределенных на интервале [О, 1] псевдослучайных чисел.

При составлении описания моделируемой системы исследова­тель должен хорошо знать функции, которые выполняют блоки языка ОР55. Руководство по использованию этой системы можно найти в [14].

В качестве примера рассмотрим имитационную модель одноканальной системы массового обслуживания, состоящую из одного обслуживающего «прибора». Если поступающая в систему заявка застает «прибор» занятым, то она становится в очередь и ожида­ет его освобождения. Пусть исследователя интересуют среднее вре­мя обслуживания заявки, среднее время ожидания в очереди и средняя длина очереди за время моделирования. Для решения этой задачи имитационную модель можно представить в виде следую­щей последовательности событий:

1) генерации транзакта в соответствии с заданной интенсив­ностью потока заявок.

2) входа транзакта в очередь на «прибор» Р11Е1Ш (этот блок не задерживает транзакт и дает указание симулятору собрать ста­тистику по очереди);

3) попытки занять «прибор» 5Е12Е (если он занят, то транзакт

•будет оставаться в этом блоке, т. е. в очереди, вплоть до освобож­дения прибора);

4) выхода из очереди ВЕРАКТ (этот блок не задерживает транзакт и нужен для регистрации времени выхода транзакта из

•очереди);

5) обслуживания АОУАНСЕ (блок имитирует случайное время обслуживания в соответствии с заданным законом распределения);

6) освобождения прибора КЕЬЕАЗЕ;

7) уничтожения транзакта ТЕ^МШАТЕ.

Для организации заданного количества «прогонов» этой модели исследователь должен использовать управляющие операторы ОР55. Отметим, что запись этой модели на языке ОР53 будет содержать всего семь блоков, каждый из которых кодируется на одной перфо­карте. В то же время программа моделирования этой же системы на ФОРТРАНе состояла бы из нескольких десятков перфокарт.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]