Автор: Пользователь скрыл имя, 10 Февраля 2012 в 23:40, курс лекций
Имитационное моделирование реализуется посредством набора математических инструментальных средств, специальных компьютерных программ и приемов, позволяющих с помощью компьютера провести целенаправленное моделирование в режиме «имитации» структуры и функций сложного процесса и оптимизацию некоторых его параметров. Набор программных средств и приемов моделирования определяет специфику системы моделирования - специального программного обеспечения.
Динамической характеристикой процесса является его состояние (активен или находится в состоянии ожидания).
Событие представляет собой мгновенное изменение некоторого элемента системы или состояния системы в целом.
Событие характеризуется:
• условиями (или законом) возникновения;
• типом, который определяет порядок обработки (дисциплину обслуживания) данного события;
• нулевой длительностью.
Могут быть события следования, которые управляют инициализацией процессов (или отдельных работ внутри процесса); события изменения состояний (элементов системы или системы в целом).
Механизм событий используется в качестве основы построения моделей, предназначенных для исследования причинно-следственных связей в системах при отсутствии временных ограничений. К таким задачам можно отнести, например, некоторые задачи по оценке надежности.
Еще один способ имитационного моделирования систем основан на использовании понятия транзакта.
Транзакт — это некоторое сообщение (заявка на обслуживание), которое поступает извне на вход системы и подлежит обработке.
В рамках одной ИМ могут рассматриваться транзакты нескольких типов. Каждый из них характеризуется соответствующим алгоритмом обработки и необходимыми для его реализации ресурсами системы. Т.е. прохождение транзакта по системе можно рассматривать как последовательную активизацию процессов, реализующих его обработку («обслуживание заявки»).
В
связи с упоминанием термина
«обслуживание заявки» уместно
вспомнить о существовании
ИМ
позволяет исследовать
случайные события,
случайные величины (дискретные или непрерывные),
случайные функции (процессы).
Например, если исследовать надежность вычислительной системы, то отказ в работе будет представлен в модели как случайное событие. Если же это СМО по обслуживанию клиентов, то как случайная величина, распределенная по некоторому закону.
В
основе всех методов и приемов
моделирования случайных
«Истинно» случайные числа формируются с помощью аналого-цифровых преобразователей на основе сигналов физических генераторов, использующих естественные источники случайных шумов (радиоактивный распад, шумы электронных и полупроводниковых устройств и т.п.).
Случайные числа, генерируемые аппаратно или программно на ЭВМ, называются псевдослучайными. Однако их статистические свойства совпадают со статистическими свойствами «истинно» случайных чисел. В состав практически всех современных систем программирования входят специальные функции генерации случайных чисел, которые обычно называют датчиками, или генераторами, случайных чисел.
Наиболее
простой метод программной
где
а, а — очередное и предыдущее
случайные числа
А, С — константы;
М — достаточно большое целое положительное число (чем больше М, тем длиннее неповторяемая последовательность).
Достоинство метода заключается в том, что при одних и тех же значениях входящих в выражение величин можно полностью воспроизвести эксперимент.
Имитационный эксперимент предполагает наблюдение за поведением системы в течение некоторого промежутка времени. Конечно, далеко не во всех статистических испытаниях фактор времени играет ведущую роль, а в некоторых и вообще может не рассматриваться. Вспомните, например, задачу о вычислении площади круга: полученный результат не зависел от того, сколь долго мы «бомбили» квадрат случайными точками (речь в данном случае не идет о количестве этих точек).
Но значительно больше таких задач, в которых оценка эффективности моделируемой системы напрямую связана с временными характеристиками ее функционирования. К ним относятся задачи по оценке производительности, некоторые задачи по оценке надежности, качества распределения ресурсов, а также все задачи, связанные с исследованием эффективности процессов обслуживания.
При разработке практически любой имитационной модели и планировании проведения модельных экспериментов необходимо соотносить между собой три представления времени:
• реальное время, в котором происходит функционирование имитируемой системы;
• модельное (или, как его еще называют, системное) время, в масштабе которого организуется работа модели;
• машинное время, отражающее затраты времени ЭВМ на проведение имитации.
Модельное время призвано решать следующие задачи:
1) отображается переход моделируемой системы из одного состояния в другое;
2) производится синхронизация работы компонент модели;
3) изменяется масштаб времени «жизни» (функционирования) исследуемой системы;
4) производится управление ходом модельного эксперимента.
5)
моделируется
Приставка «квази» в данном случае отражает последовательный характер обработки событий (процессов) в ИМ, которые в реальной системе возникают (протекают) одновременно.
Различают два метода реализации механизма модельного времени
с постоянным шагом
по особым состояниям
выбор,
которых зависит от назначения модели,
ее сложности, характера исследуемых процессов,
требуемой точности результатов и т. д.
23.
Алгоритм моделирования
с постоянным шагом
Метод постоянного шага отсчет системного времени ведется через фиксированные, выбранные исследователем интервалы времени. События в модели считаются наступившими в момент окончания этого интервала. Погрешность в измерении временных характеристик системы в этом случае зависит от величины шага моделирования.
Метод постоянного шага предпочтительнее, если:
• события появляются регулярно, их распределение во времени достаточно равномерно;
• число событий велико и моменты их появления близки;
• невозможно заранее определить моменты появления событий.
В общем виде алгоритм моделирования с постоянным шагом представлен на рисунке (tM — текущее значение модельного времени, Тм — интервал моделирования).
С целью некоторого «оживления» приведенной выше схемы вернемся к примеру с самолетом. Введем в рассматриваемую ситуацию еще одно событие, которое состоит в том, что диспетчер, наблюдающий за самолетом, вводит данные о нем в некую систему управления. Процесс ввода заключается в наборе на клавиатуре определенной текстовой информации. Известна длина текста (в символах) и средняя скорость ввода одного символа. В ходе модельного эксперимента требуется определить, закончит ли диспетчер ввод текста до пересечения самолетом заданного рубежа.
При моделировании по особым состояниям системное время каждый раз изменяется на величину, строго соответствующую интервалу времени до момента наступления очередного события. В этом случае события обрабатываются в порядке их наступления, а одновременно наступившими считаются только те, которые являются одновременными в действительности.
Метод моделирования по особым состояниям сложнее в реализации, так как для него требуется разработка специальной процедуры планирования событий (так называемого календаря событий).
Моделирование по особым состояниям целесообразно использовать, если:
• события распределяются во времени неравномерно или интервалы между ними велики;
• предъявляются повышенные требования к точности определения взаимного положения событий во времени;
• необходимо реализовать квазипараллельную обработку одновременных событий.
Дополнительное достоинство метода заключается в том, что он позволяет экономить машинное время, особенно при моделировании систем периодического действия, в которых события длительное время могут не наступать.
Обобщенная схема алгоритма моделирования по особым состояниям представлена на рисунке (tсоб i - прогнозируемый момент наступления i-го события.
Чтобы читатель смог «почувствовать разницу» в использовании двух методов управления модельным временем, вернемся еще раз к примеру с летящим самолетом и сидящим диспетчером.
На этот раз перед разработчиком модели встает иная проблема: что понимать под «особыми состояниями», которые должны влиять на изменение модельного времени? На практике обычно вместо состояний рассматривают события, определяющие смену состояний моделируемого процесса. Для процесса ввода информации диспетчером такой переход выполняется достаточно просто:
событие — это ввод очередного символа; другими словами, ввод очередного символа «продвигает» модельное время на соответствующий интервал. Все так просто потому, что процесс ввода является дискретным. А что делать с непрерывно летящим самолетом? Здесь возможны два варианта: либо увязать расчет нового положения самолета с моментом ввода очередного символа, либо изменить в модели представление полета с непрерывного на дискретное (например, рассматривать перемещение не самого самолета в воздухе, а его «образа» на экране индикатора).
• Выбор механизма изменения модельного времени определяет и технологию реализации имитационной модели.
• На выбор метода моделирования влияет целый ряд факторов, однако, определяющим является тип моделируемой системы: для дискретных систем, события в которых распределены во времени неравномерно, более удобным является изменение модельного времени по особым состояниям.
Если в модели должны быть представлены компоненты реальной системы, работа которых измеряется в разных единицах времени, то они должны быть предварительно приведены к единому масштабу.
3 27. Применение сетевых моделей для описания ПП