MS_glavy_123 (1086515), страница 12
Текст из файла (страница 12)
Это же число изменений имеет место при моделировании по особым состояниям. При этом после вычисления каждого очередного состояния идет поиск следующего ближайшего события, для чего необходимо выполнить проверок (если события не упорядочены).
Метод фиксированного экономичнее по затратам времени, если
, т.е. если m - 1 > l.
Ввиду особой эффективности (с точки зрения сокращения числа команд в программе и, следовательно, затрат машинного времени) такой меры, как увеличение , следует искать пути для упрощения модели: исключения из рассмотрения второстепенных событий, не оказывающих существенного влияния на выбранный критерий интерпретации результатов моделирования; уменьшения временной разномасштабности объединенных в одной модели процессов.
Одним из существенных факторов, определяющих время работы моделирующей программы, является организация интерпретатора и монитора моделирования, поскольку они участвуют в обработке каждого оператора программы.
Если программирование ведется на универсальном языке и монитор программируется разработчиком модели, целесообразно уделять особое внимание работе с очередями (например, используя
аппарат списков) и таблицами (например, применяя для поиска прямую адресацию).
Необходимо также уменьшать число арифметических операций для вычисления времени при составлении списка будущих событий, при обработке статистики и т.п.
Когда для программирования используются языки моделирования, следует принимать меры к совершенствованию программ процессов. Пути решения этой задачи следующие:
1) уменьшение в программе количества операторов, требующих для своей реализации выполнения операций поиска, перебора и постоянной проверки каких-либо условий (типа «ЖДАТЬ, ПОКА
<условие>»);
2) уменьшение числа обращений к датчикам случайных чисел или замена программных датчиков таблицами;
3) сокращение количества циклов, порождающих новые сообщения;
4) своевременное уничтожение «отработавшего» сообщения.
К упрощению программ процессов приводят также некоторые меры, принимаемые еще на этапах формирования замысла модели. К ним относятся:
тщательный анализ состава и формы представления результатов моделирования с целью упрощения процедур статистической обработки, сокращения времени вывода и облегчения содержательного анализа;
предварительная оценка требуемой точности представления исходных данных (в частности, выбор метода интерполяции) с позиций баланса точностей для упрощения вычислительных и логических функций программы;
предварительный расчет длины отрезка времени нестационарности моделируемого процесса и включение в работу блоков обработки статистики только после момента
(для случая вычисления стационарных критериев).
Рассмотрим вопросы рационального выбора количества прогонов модели. При использовании обычного метода определения момента окончания моделирования заданная точность вычисления
оценки критерия интерпретации результатов сравнивается с достигнутой в результате моделирования оценкой
Если выполнено условие
,то принимают решение о прекращении моделирования. В противном случае проводятся дополнительные реализации. Трудность заключается в том, что количество прогонов N, требуемое для обеспечения заданной точности
, не может быть точно определено до начала моделирования должно вычисляться непосредственно при выполнении программы. При этом можно идти разными путями.
1. На каждом прогоне проверять выполнение условия =
и прекращать моделирование точно после N прогонов. Если каждая проверка требует затрат времени
, а расчет критерия-
, то общие затраты времени
2. Проверку условия выполнять с шагом N. При этом затраты времени
3. Провести пробную серию из прогонов, после чего проверить выполнение условия — если
, закончить моделирование; в противном случае продолжить до N прогонов. Тогда затраты времени
где
Положим для простоты, что средние значения
Подставляя их в (3.3) и (3.4), найдём
Сравнивая величины (3.5) и (3.6) с (3.2), найдем
Видно, что третий вариант в принципе является наиболее экономичным. Степень эффективности зависит от соотношения между и
и от выбора значений величин
и
.
К факторам, влияющим на общее количество прогонов модели, относится также выбор диапазона изменения и шага измерения исследуемых параметров при изучении возможных вариантов построения системы. Для их рационального выбора целесообразно заранее планировать эксперименты с моделью.
3.3. Датчики случайных событий, величин и состояний
Для представления агрегата в виде моделирующего алгоритма и для последующего исследования необходимо иметь возможность формировать:
случайные величины с заданным законом распределения (например, моменты поступления входных и управляющих сигналов);
случайные события (например, попадание агрегата в область «особых» состояний);
случайные векторы (или функции) с заданными вероятностными характеристиками (например, операторы U, W, V).
В имитационных моделях необходимые случайности либо формируются специальными генераторами, в качестве которых можно использовать физические или программные датчики, либо представляются таблицами экспериментальных данных.
Наиболее универсален программный метод формирования случайностей.
Формирование с помощью программы для ЭВМ реализации случайных объектов любой природы сводился к выработке и преобразованию некоторой исходной, базовой совокупности случайных чисел. Она должна обеспечивать: 1) минимальные затраты машинного времени на генерацию и 2) простоту и удобство дальнейших преобразований. Этим требованиям удовлетворяет совокупность случайных чисел с равномерным распределением в интервале(0, 1).
Существует много методов получения равномерно распределенных последовательностей с помощью ЭВМ: методы вычетов, суммирования, усечения, перемешивания [2]. Все они основаны на реализации соотношения
где — равномерно распределенные случайные числа; М— достаточно большое положительное целое число.
Частный случай соотношения (3.7)
реализован во многих ЭВМ в виде стандартных процедур.
Поскольку случайное число формируется с помощью детерминированных действий над определенными исходными числами конечной разрядности, оно, вообще говоря, является псевдослучайным и квазиравномерным.
Сформированные в интервале (0, 1) равномерно распределенные случайные числа R[0, 1] после их проверки используются для формирования случайных событий, величин и функций.
Для получения последовательности случайных величин , i= 1,2, ..., равномерно распределенных в интервале (а, b), случайные числа
, равномерно распределенные в (0, 1), используются так:
Моделирование случайных событий. Пусть необходимо реализовать случайное событие А, наступающее с заданной вероятностью р. Определим А в модели как событие, состоящее в том. что выбранное значение случайной величины R[0, 1] удовлетворяет неравенству
. Тогда каждое случайное число, выбираемое из таблицы
[0, 1], будет интерпретироваться как появление или непоявление события А (это легко доказывается теоретически).
Процедура моделирования испытаний состоит в выборе значений и сравнении их с величиной р. Если условие
выполняется, то исходом испытания является событие А; в противном случае—
.
Пусть теперь — полная группа событий; это означает, что
= 1. Процедура моделирования состоит в последовательном сравнении
, с величинами
. Исходом испытания является то событие
, для которого выполняется условие
Эта процедура называется определением исхода испытания по жребию. Аналогично моделируются сложные и зависимые события. Как пример рассмотрим моделирование простой однородной цепи Маркова. Такая цепь задается матрицей переходов (условных вероятностей , i, j = 1, 2, ...,n) и начальными вероятностями
. Моделирование состоит в следующем.
На первом шаге методом определения исхода по жребию выбирается начальное состояние по заданным вероятностям . Пусть это i-е состояние. Теперь последующий переход определяется вероятностями, которые располагаются в i-й строке матрицы условных вероятностей: р,
. На втором шаге применим выбор по жребию к этим вероятностям и определим новое состояние цепи Маркова. Пусть это j-е состояние. Тогда на третьем шаге используется j-я строка условных вероятностей
и процедура выбора по жребию притеняется к ней. Если выбрано k-е состояние, то затем выбирается k-я строка и т.д. Полученные состояния i,j, k, ... образуют реализацию однородной цепи Маркова.
Моделирование дискретных распределений. Дискретные распределения задаются рядом распределения. Рассмотрим метод их формирования на примере распределения Пуассона, ряд которого
имеет вид: