При моделировании характеристики процесса функционирования систем определяются на основе модели, построенной, исходя из имеющейся исходной информации об объекте. При получении дополнительной информации о системе ее модель уточняется, т.е. процесс моделирования является итерационным до тех пор, пока не будет получена модель, которую можно считать достаточно адекватной в рамках поставленной задачи исследования.
Можно выделить 4 основных этапа моделирования систем на ЭВМ:
- построение концептуальной модели системы и ее формализация;
- алгоритмизация модели системы и разработка моделирующей программы;
- получение и интерпретация предварительных результатов моделирования;
- проверка адекватности модели и системы;
- основной расчет показателей качества функционирования системы по результатам моделирования.
Основное содержание первого этапа - переход от содержательного описания системы к его математической модели.
Содержательное описание процесса представляет собой первый шаг, в котором надо четко изложить закономерности, характерные для исследуемого процесса, и сформировать постановку прикладной задачи.
Содержательное описание содержит сведения о физической природе и количественных характеристиках элементарных явлений исследуемого процесса, о степени и характере взаимодействия между ними, о месте и назначении каждого элементарного явления в процессе функционирования системы.
В него включаются также: постановка прикладной задачи, исходные данные, необходимые для исследования, значения начальных условий и т.д.
Постановка задачи должна обязательно содержать четкое изложение идеи предстоящего исследования, перечень зависимостей, оцениваемых по результатам моделирования, перечень факторов, учитываемых при построении математической модели, перечень показателей качества функционирования системы, определяемых на ее модели, и требования к допустимому расхождению между значениями этих показателей для модели и системы в одних и тех же условиях функционирования.
Формализованная схема процесса является промежуточным этапом между содержательным описанием и математической моделью.
Формализованная схема должна быть уже строго формальным описанием процесса.
Для построения формализованной схемы необходимо выбрать характеристики процесса, установить систему параметров, определяющих процесс, описать все зависимости между характеристиками и параметрами процесса с учетом факторов, принимаемых во внимание при формализации.
Формализованная схема должна содержать точную математическую формулировку задачи исследования с указанием окончательного перечня искомых величин и оцениваемых зависимостей. В нее входит систематизированная и уточненная совокупность всех исходных данных, параметров процесса и начальных условий.
Формализованная схема есть итог анализа и экспериментального обследования процесса. Дальнейшее преобразование формализованной схемы в математическую модель выполняется математическими методами без привлечения дополнительной информации о процессе.
Формализованная схема разрабатывается совместными усилиями специалистов соответствующей прикладной области знаний и математиков.
Для преобразования формализованной схемы в математическую модель необходимо записать в аналитической форме все соотношения, выразить логические условия в виде систем неравенств и придать аналитическую форму всем другим сведениям, содержащимся в формализованной схеме, (таблицы и графики заменяются при необходимости интерполяционными полиномами и т.д.)
На втором этапе моделирования - этапе алгоритмизации моделии ее программной реализации, математическая модель преобразуется в конкретную машинную модель.
При этом могут составляться обобщенные и детальные логические схемы моделирующих алгоритмов и блок-схемы программ.
Обобщенная схема моделирующего алгоритма описывает общий порядок действий при моделировании систем без каких-либо уточняющих деталей.
Детальная схема моделирующего алгоритма содержит уточнения, отсутствующие в обобщенной схеме, она показывает не только, что следует выполнить на очередном шаге моделирования, но и саму процедуру выполнения данного шага.
Логическая схема моделирующего алгоритма указывает упорядоченную во времени последовательность логических операций, связанных с решением задачи моделирования.
Блок-схема программы представляет собой интерпретацию логической схемы моделирующего алгоритма в виде программы на базе конкретного алгоритмического языка.
На этапе алгоритмизации и программной реализации модели выполняются проверки: адекватности логической схемы моделирующего алгоритма логической схеме модели, отдельных частей программы - на примерах решения различных тестовых задач, всей программы - на контрольном примере моделирования системы.
На третьем этапе моделирования - этапе получения и предварительной интерпретации результатов моделирования - ЭВМ используется для проведения машинных экспериментов с использованием составленной программы моделирования.
Получив и проанализировав результаты моделирования, их необходимо интерпретировать по отношению к объекту моделирования, т.е. сделать переход от информации, полученной в результате машинного эксперимента с моделью к информации об объекте моделирования, на основании которой и будут делаться выводы относительно характеристик процесса функционирования исследуемой системы.
На четвертом этапе моделирования - проверке адекватности модели и системыпроверяется выполнение требований к допустимому расхождению между значениями этих показателей для модели и системы в одних и тех же условиях функционирования. Если требования выполняются, то модель считается достаточно адекватной системе.
На пятом, заключительном, этапе моделирования осуществляется основной расчет показателей качества функционирования системы по результатам моделирования.
2.2. Элементы и структура имитационной модели
Имитационная модель образуется взаимодействием элементов: состояний, событий, датчиков случайных чисел (ДСЧ), таймера, цепей событий, цели моделирования, счетчиков, блока инициализации, критерия останова, и методов обработеи результатов.
Состояние системы должно быть определено со степенью детализации, необходимой и достаточной для того, чтобы процесс изменения состояния модели во времени был марковским.
Под событием модели понимается скачкообразное изменение ее состояния ( прибытие требования, завершение его обслуживания и т.д.).
С помощью ДСЧ генерируются очередные случайные величины со своими распределениями, по которым формируются очередные состояния.
Имитируемый процесс развивается в модельном времени. Счетчик модельного времени наз. таймер.
Функционирование имитационной модели в модельном времени есть смена состояний в этом времени марковского процесса.
Логика модели реализуется в процессе реализации цепей событий
( уход обслуженного требования, связанное с этим уходом продвижение очереди и т.д.).
Под инициализацией понимается приведение модели до начала прогона в исходное состояние ( обнуление всех накапливающих счетчиков, установка в исходное состояние генераторов псевдослучайных чисел).
Цель моделирования при построении модели – определение показателей качества функционирования моделируемой системы. Выбор цели определяет счетчики, необходимые для накопления результатов моделирования. Если цель – определение распределения числа требований в системе, то необходим счетчик текущего числа требований в системе. Если цель – определение распределения времени ожидания требования в системе, то необходим счетчик времен ожиданий требований, уходящих из системы и т.д.
Показатели качества функционирования моделируемой системы часто требуются в стационарном режиме ( при устремлении к бесконечности модельного времени). Данные, накопленные за время переходного к такому режиму процесса, будут вносить погрешность в окончательные результаты. Для этого
результаты переходного режима следует отбросить. При необходимости нескольких прогонов для получения показателей качества функционирования моделируемой системы в стационарном режиме это отбрасывание становится весьма непроизводительным. В таких случаях для эргодических процессов, стационарный режим которых не зависит от начальных условий, берут одну достаточно длинную реализацию модели.
Критерия останова определяет момент прекращения прогона модели. В простейшем случае прогон прекращается по достижению заданного значения таймера, счетчика числа обслуженных требований и т.д. Однако правильнее управлять прогоном по достижению заданной точности определяемых показателей. Обоснованный выбор правила останова нетривиален, т.к. на этапе планирования экспериментов на модели ни оценка определяемой величины, ни ее дисперсия, как правило, не известны. Здесь возможны следующие варианты:
1) двухэтапный прогон, когда на первом этапе грубо определяются величины, необходимые для формирования критерия останова на втором этапе,
2)последовательная обработка результатов моделирования.
Обработка результатов моделирования состоит в сжатии получаемой информации, вычислении статистических (точечных и интервальных) оценок математических ожиданий и высших моментов для случайных величин, оценке статистической значимости различия средних, построении гистограмм и статистических функций распределения. Другим аспектом обработки результатов является выдача их на печать в компактной и удобной для дальнейшего анализа форме. Соответственно в систему моделирования должны включаться необходимые подпрограммы широкого применения, слабо связанные со спецификой модели.
2.3. Технология построения и функционирования.
Построение имитационной модели начинается с формирования целей моделирования, затем формируются показатели качества функционирования,
которые должны рассчитываться на ней. Далее определяются те функциональные процессы, по результатам моделирования которых можно рассчитывать требуемые показатели качества функционирования. Разрабатываются имитационные модели этих функциональных процессов с учетом их взаимосвязи. Они увязываются в единый имитационный процесс функционирования объекта моделирования, в частности, информационной системы.
В силу вышесказанного имитационная модель имеет блочную структуру. В нее входят следующие блоки общего характера: очистка счетчиков (установка в нуль таймера и всех остальных накапливающих счетчиков), формирования случайного момента прибытия очередного требования, формирования дисциплины обслуживания, формирования моментов окончания обслуживания, формирования данных для расчета показателей качества функционирования, печать.
Кроме того, в ней могут быть блоки, имеющие специфическую природу именно для конкретной модели.
Блоки модели с указанием в виде стрелок связей между ними (последовательностей и условий перехода от одного блока к другому) составляют блок – схему модели, которая и составляет существо модели.
Для того чтобы она стала функционировать, разрабатывают общий алгоритм моделирования, который должен отражать в целом алгоритм функционирования объекта моделирования. При этом отмечаются те факторы функционирования реального объекта, которые учтены в общем алгоритме, и те факторы функционирования реального объекта, которые нельзя учесть в общем алгоритме в силу определенных причин.
После этого разрабатывают частные алгоритмы моделирования отдельных блоков, которые должны отражать детально алгоритмы функционирования их оригиналов в объекте моделирования. При этом отмечаются те факторы функционирования оригиналов блоков реального объекта, которые учтены в частных алгоритмах их моделирования, и те факторы функционирования оригиналов блоков реального объекта, которые нельзя учесть в частных алгоритмах в силу определенных причин.
Генерирование равномерно распределенных на интервале [0,1] случайных чисел. Проверка качества генераторов случайных чисел
При статистическом моделировании на ЭВМ возникает необходимость моделирования трех типов случайных явлений:
1. Случайных событий.
2. Случайных величин (дискретных и непрерывных).
3. Случайных процессов.
Для того, чтобы провести моделирование указанных случайных явлений, его выполняют в два этапа:
1 этап - формирование некоторой стандартной случайной величины;
2 этап - преобразование стандартной случайной величины и получение искомого случайного явления.
В качестве стандартной случайной величины целесообразно выбирать такую, которая может быть получена с наименьшими затратами машинного времени и обеспечивает простоту дальнейшего преобразования.
Принято выбирать в качестве стандартной равномерно распределенную на единичном интервале случайную величину .
Рассмотрим случайную величину , которая распределена равномерно на интервале [0,1].
Функция и плотность распределения случайной величины имеют вид:
Числовые характеристики случайной величины :
- математическое ожидание m = 0,5; - дисперсия D= 1/12.
Реже в качестве стандартной используют дискретную случайную десятичную цифру e , принимающую с одинаковой вероятностью (рe = 0,1) значения 0, 1, 2,..., 9.
Закон распределения случайной десятичной цифры e имеет вид:
e
. . .
р
0,1
0,1
0,1
0,1
. . .
0,1
В качестве стандартной может быть использована и случайная двоичная цифра a , принимающая с одинаковой вероятностью (р a = 0,5) два значения 0 или 1.
Случайная двоичная цифра a имеет закон распределения:
a
р
0,5
0,5
Переход от случайной двоичной цифры к случайной десятичной производится по известным правилам.
Между случайными десятичными цифрами e и случайными числами g также существует взаимосвязь. Поэтому задание числа g в виде последовательности десятичных цифр ei или в виде равномерно распределеного на интервале [0, 1] числа g эквивалентно.
О приближенных случайных числах
При работе на ЭВМ имеют дело с числами, длина которых ограничена разрядной сеткой ЭВМ, то есть происходит округление чисел.
Следствием округления является возможность появления зависимостей между цифрами числа g .
Физические датчики случайных величин
Физическими датчиками (генераторами) случайных величин называют физические приборы, на выходе которых формируются либо случайные напряжения, либо случайные коды.
Принцип работы многих таких устройств построен на использовании эффекта собственных шумов радиоэлектронных приборов.
Предположим, что имеется “шумящий” радиоэлектронный прибор. Напряжение на его выходе иллюстрируется следующей временной диаграммой:
Зададим некоторый уровень опорного напряжения U0 и интервал квантования по времени D t.
Можно подсчитать количество выбросов напряжения U (t) за уровень U0 в течение каждого из интервалов времени D t. Если затем произвести суммирование по mod2 подсчитанного числа выбросов для каждого из интервалов D t, то полученная сумма будет равна 0, либо 1.
Пусть требуется сформировать r-разрядное двоичное число (на основании которого получаем к - разрядное десятичное). В этом случае для определения r разрядов первого числа g1 , используется r интервалов D t, следующие r интервалов D t определяют число g2 и т.д.
При этом должна быть обеспечена одинаковая вероятность появления нулей и единиц. Чтобы не проверять равенство вероятностей, используется схема стабилизации вероятностей, когда один двоичный разряд выходного числа g формируется с помощью двух интервалов D t.
В этом случае комбинация {01} принимается за 1, комбинация {10}- за 0. Комбинации {00} и {11} не рассматриваются и отбрасываются.
Достоинство физических датчиков:
1. Запас чисел практически не ограничен, т.е. вероятность повторения чисел при моделировании пренебрежимо мала.
Недостаток. Необходимо иметь специальное физическое устройство.2. С течением времени все радиоэлектронные приборы изменяют свойства, следовательно, датчики во времени работают нестабильно, поскольку у формируемой ими последовательности чисел может меняться вид закона распределения и его параметры.
3. В процессе моделирования датчик невозможно проверить, поэтому каждый его сбой будет сказываться на результатах моделирования.
О проверке физических датчиков случайных чисел
Особенностью проверки физических датчиков случайных величин является то, что проверяются не те числа, которые используются при моделировании.
Физический датчик проверяется до начала моделирования и после его окончания, в процессе моделирования проверка не производится.
Поэтому к физическим датчикам случайных величин предъявляются жесткие требования стабильности работы во времени.
Метод псевдослучайных чисел
Псевдослучайными называются такие числа, которые формируются по заранее заданному алгоритму, но обладают всеми свойствами случайных чисел.
Конкретную последовательность псевдослучайных чисел можно всесторонне проверить, а затем многократно применять.
Достоинства датчиков псевдослучайных чисел:
1. Программы формирования псевдослучайных чисел очень просты и состоят из нескольких операторов.
2. Числа формируются во времени устойчиво, в отличие от физических датчиков.
Недостатки:
1. Последовательность псевдослучайных чисел, в силу конечной длины разрядной сетки ЭВМ, всегда ограничена, т.е. начиная с некоторого числа, при моделировании неизбежно начнется повторение случайных чисел.
2. Числа формируются медленнее, чем при использовании физических датчиков.
В настоящее время это основной способ формирования случайных чисел при моделировании на ЭВМ.