Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции по моделированию систем - файл LECTURE.DOC


Лекции по моделированию систем
скачать (759.3 kb.)

Доступные файлы (1):

LECTURE.DOC2972kb.10.06.2005 00:36скачать

содержание
Загрузка...

LECTURE.DOC

1   2   3   4   5   6   7   8
Реклама MarketGid:
Загрузка...

Например, получив из равномерного распределения число Х­i=0.89063 и проведя сравнения по алгоритму (6), найдём, что 0.85393<0.89063, т.е. yi=4. При этом среднее число циклов сравнения =1*0.01562+2*0.09375+3*0.23438+4*0.31250+5*0.23438+6*(0.09375+0.01562)3.98.
^

7.3Вычисление непрерывных случайных величин.


Непрерывная случайная величина  задана интегральной функцией распределения:

, где - плотность вероятностей.

Для получения непрерывных случайных величин с заданным законом распределения, как и для дискретных величин можно использовать метод обратной функции. Взаимно однозначная монотонная функция =F-1(), полученная решением относительно  управления F(y)= преобразует равномерно распределённую на интервале (0,1) величину  в  с требуемой плотностью f­(y).

Действительно, если случайная величина  имеет плотность распределения f­(y), то распределение случайной величины является равномерным.

Т.о. чтобы получить число, принадлежащее последовательность случайных чисел {y}, имеющих функцию плотности f­(y), необходимо разделить относительно yi управление

(7)

Пример 2. Необходимо получить случайные числа yi с показательным законом распределения.

f(y)=e-y, y>0.

В силу соотношения (7) получим , где xi - случайное число, имеющее равномерное распределение в интервале (0,1), тогда

Рассмотрим универсальный метод моделирования непрерывных случайных величин (метод исключений).

При моделировании случайной величины y с плотностью распределения вероятностей f(y) в интервале ayb независимые значения xm и xm+1 преобразуются в значения

y1m=a+(b-a)*xm (8)

z1m+1=f1(y)* xm+1 (9)





где f1(y)=max| f(y)|. При этом y1m и z1m+1 - значения случайных величин, равномерно распределенных на интервале (a,b) и (0,f1m). Эти значения можно рассматривать как абсциссы и ординаты случайных точек, равномерно распределяющихся внутри прямоугольника со сторонами b-a и f1m, охватывающего кривую распределения f(y) (см. рисунок 7.2.).

Рис. 7.2. Иллюстрация метода исключений

Если z1m+1f(ym1), (10)

тогда пара y1m, z1m+1 определяет случайную точку под кривой f. Вероятность попадания случайной точки, удовлетворяющей условию (10) под кривую f равна единице, а вероятность попадания в заштрихованную элементарную площадку равна f(y1m)*y1m­. Это обозначает, что абсциссы y1m случайных точек, попадающих под кривую f - значения случайной величины y с заданной плотностью вероятности f(y). Моделируемый алгоритм состоит из функций : 1) получения xm1 и xm+1 от датчика; 2) расчёта y1v и z1m+1 согласно (8) и (9); 3) вычисления f(y1m); 4) сравнения z1m+1 с f(y1m). Если условия (10) выполняются, то y=y1m; если нет, то значения y1m и z1m+1 исключаются и процесс повторяется, начиная с пункта 1. При моделировании системы 2-х случайных величин (y1y2) с плотностью вероятности f(y1,y2), a1y1b1; a2y2b2, аналогично моделированию одной случайной величины, три значения: xm, xm+1, xm+2, выданные датчиком Е, преобразуются в значения:

y1m=a1+(b1-a1)xm (11)

y2m=a2+(b2-a2)xm+1 (12)

z3m=fmxm+2, где fm=max[f(x1,x2)] (13)

Если z3mf(y1m,y2m) (14)

то y1=y1m; y2=y2m.

В этом случае случайные точки с координатами y1m, y2m, z3m - равномерно распределены в пределах параллепипеда со сторонами, равными (b1-a1)(b2-a2), fm и условие (14) означает попадание точки под поверхность f. Аналогично моделируется система n случайных величин (y1,y2,…,yn).
^

7.4Моделирование нормально распределённой случайной величины y.


Оно может быть осуществлено на основании центральной предельной теоремы, согласно которой закон распределения суммы независимых случайных величин стремится к нормальному с увеличением числа слагаемых. Для решения некоторых задач практически сумму значений, выданных с генератором случайных чисел с характеристиками f(xi)=1, 0xi1, mx=0.5, .

Можно считать значениями распределённой случайной величины при n8. Так как все слагаемые xi имеют одинаковые математические ожидания mx и дисперсии Dx, то my=nmx, Dy=nDx. В таблице 1 приведены формулы для расчёта случайных величин для различных видов распределений на базе случайной величины с равномерным распределением.

Получение случайной величины с различными распределениями.

Таблица 1.

Нужное распределение

Плотность распределения

Способ получения случайной величины

Экспоненциальное

f(y)=e-(y-), y



Гамма распределение (целочисленные значения )





Распределение 2



RN - нормированная случ. величина с нормальным законом распределения

Логарифмические норм. Распределение





Вейбулла




^

8.Моделирование систем с использованием типовых математических схем

8.1Блочные иерархические модели процессов функционирования систем


Рассмотрим машинную модель Mm, системы S как совокупность блоков {mi}, i=1,2…n. Каждый блок модели можно охарактеризовать конечным набором возможных состояний {Z0}, в которых он может находиться. Пусть в течение рассматриваемого интервала времени (0,Т) блок i изменяет состояние в моменты времени tijТ , где j - номер момента времени. Момент времени можно разделить на три группы:

  • случайные, связанные с внутренними свойствами блока;

  • случайные, связанные с изменением состоянием других блоков, имитирующая воздействие среды Е;

  • детерминированные моменты, связанные с заданным расписанием функционирования блока.

Моментами смены состояний модели Мм в целом t(k) Т будем считать все моменты изменения блоков {mi}, рис. 8.1. см. ниже.



Рис. 8.1. Смена состояний модели для случаев 3-х блоков

При этом моменты ti(j) и tk являются моментами системного времени, т.е. времени, в котором функционирует система S. При машинной реализации модели Мм её блки представляются соответствующими программными модулями.
^

8.2Особенности реализации процессов с использованием Q-схем


При моделировании Q-схем следует адекватно учитывать как связи, отражающие движения заявок (сплошные линии) так и управляющие связи (пунктирные линии).

Рассмотрим фрагмент Q-схемы (Рис. 8.2.):



Рис. 8.2. Фрагмент Q-схемы.

Примерами управляющих связей являются различные блокировки обслуживающих каналов (по входу и по выходу): "клапаны" изображены в виде треугольников, а управляющие связи пунктирными линиями. Блокировка канала по входу означает, что этот канал отключается от входящего потока заявок, а блокировка канала по выходу указывает, что заявка обслуженная блокированным каналом, остаётся в этом канале до момента снятия блокировки. В этом случае, если перед накопителем нет "клапана", то при его переполнении будут иметь место потери заявок.

Моделирующий алгоритм должен отвечать следующим требованиям:

  • обладать универсальностью относительно структуры, алгоритмов функционирования и параметров системы S;

  • обеспечивать одновременную и независимую работу системы S;

  • укладываться в приемлемые затраты ресурсов ЭВМ. (памяти, времени расчёта для реализации машинного эксперимента);

  • проводить разбиение на достаточно автономные логические части (блоки);

  • гарантировать выполнение рекуррентного правила расчётов;

При этом необходимо иметь виду, что появление одной заявки входящего потока в некоторый момент времени ti может вызвать изменение состояния не более чем одного из элементов Q-схемы, а окончание обслуживания заявки в момент ti в некотором канале К может привести в этот момент времени к последовательному изменению состояний нескольких элементов (Н,К), т.е. будет иметь место процесс распространения смены состояний в направлении противоположном движению заявки в системе S. Поэтому просмотр элементов Q-схемы должен быть противоположным движению заявок.

Все виды моделирующих алгоритмов Q-схемы можно классифицировать следующим образом (см. Рис. 8.3.):



Рис. 8.3. Виды моделирующих алгоритмов Q-схемы.

Алгоритмы моделирующие Q-схему по принципу "t" являются детерминированными (по шагу), а по принципу особых состояний – стохастические. Последние могут быть реализованы синхронным и асинхронным способами.

При синхронном способе один из элементов Q-схемы (И, Н или К) выбирается в качестве ведущего и по нему "синхронизируется" весь процесс моделирования.

При асинхронном способе — ведущий (синхронизирующий) элемент не используется, а очередному шагу моделирования (просмотру элементов Q-схемы) может соответствовать любое особое состояние всего множества элементов И, Н и К. При этом просмотр элементов Q-схемы организован так, что при каждом особом состоянии либо циклически просматриваются все элементы, спорадически - только те элементы, которые в этом случае могут изменить своё состояние. (просмотр с прогнозированием)
^

8.3Построение и реализация моделирующих алгоритмов Q-схем


Прежде чем использовать какой либо язык для моделирования Q-схемы, необходимо глубже вникнуть в суть процесса построения и реализации М.А.

Пример. Рассмотрим Q-схему (Рис. 8.4.):



Рис. 8.4. Трехфазная Q-схема.

Примем обозначения:

Р - вероятность потери заявки (Р=N1/(N1+N3));

tm - время появления очередной заявки из источника;

tk,j - время окончания обслуживания заявки каналом Кк,j, k=1,2,3…; j=1,2…;

zi, zk,j - состояния накопителей и каналов обслуживания;

tn - текущее время моделирования;

Li - ёмкость i-ого накопителя;

Lkm - число каналов в к-ой фазе;

N1, N­2 - число выходных заявок;

Т - интервал моделирования;

При имитации Q-схемы на ЭВМ требуется организовать массив состояний:

zk,j, tk,j, j=1, Lkm; zi­ - число заявок в накопителе Hi­; i=1,2; ti - i-ая заявка из источника.

zk,j = {1- канал занят; 0 - канал свободен; 2 - заблокирован};

Укрупнённая схема детерминированного МА Q-схемы, построенного по "принципу t" представлена на рисунке 8.5.



Рис. 8.5. Блок схема моделирования Q-схемы по принципу "t".

А далее более подробно рассмотрены алгоритмы блоков 4-9.






^

9.Программные и технические средства моделирования систем.

9.1Моделирование систем и языки программирования.


Большое значение при реализации модели на ЭВМ имеет вопрос правильного выбора языка программирования.

Язык программирования должен отражать внутреннюю структуру понятий при описании широкого круга понятий. Высокий уровень языка моделирования значительно упрощает программирование моделей. Основными моментами при выборе ЯМ является:

  • проблемная ориентация;

  • возможности сбора, обработки, вывода результатов;

  • быстродействие;

  • простота отладки;

  • доступность восприятия.

Этими свойствами обладают процедурные языки высокого уровня. Для моделирования могут быть использованы языки Имитационного моделирования (ЯИМ) и общего назначения (ЯОМ).

Более удобными являются ЯИМ. Они обеспечивают:

  • удобство программирования модели системы;

  • проблемная ориентация.

Недостатки ЯИМ:

  • неэффективность рабочих программ;

  • сложность отладки;

  • недостаток документации.

Основные функции языка программирования:

  • управление процессами (согласование системного и машинного времени);

  • управление ресурсами (выбор и распределение ограниченных средств описываемой системы).

Как специализированные языки, ЯИМ обладают некоторыми программными свойствами и понятиями, которые не встречаются в ЯОН. К ним относятся:

Совмещение. Параллельно протекающие в реальных системах S процессы представляются с помощью последовательно работающей ЭВМ. ЯИМ позволяют обойти эту трудность путём введения понятий системного времени.

Размер. ЯИМ используют динамическое распределение памяти (компоненты модели системы М появляются в ОЗУ и исчезают в зависимости от текущего состояния. Эффективность моделирования достигается так же использованием блочных конструкций: блоков, подблоков и т.д.

Изменения. ЯИМ предусматривают обработку списков, отражающих изменения состояний процесса функционирования моделируемой системы на системном уровне.

Взаимосвязь. Для отражения большого количества между компонентами модели в статике и динамике ЯИМ включаем системно организованные логические возможности и реализации теории множеств.

Стохастичность. ЯИМ используют специальные программные генерации последовательностей случайных чисел, программы преобразования в соответствующие законы распределения.

Анализ. ЯИМ предусматривают системные способы статистической обработки и анализа результатов моделирования.

Наиболее известными языками моделирования являются SIMULA, SIMSCRIPT, GPSS, SOL, CSL.

Для языков, используемых в задачах моделирования, можно составить классификацию следующего вида. (см. рис. 9.1.)



Рис. 9.1. Классификация языков моделирования.

Язык DYNAMO используется для решения разностных уравнений.

Представление системы S в виде типовой схемы, в которой участвуют как дискретные, так и непрерывные величины, называются комбинированными. Предполагается, что в системе могут наступать события двух видов: 1) события, от состоянии Zi; 2) события, зависящие от времени t. При использовании языка GAPS на пользователь возлагается работа по составлению на яз. FORTRAN подпрограмм, в которых описываются условия наступления событий, законы изменения непрерывной величины, правил перехода из одного состояния в другое. SIMSCRIPT - язык событий, созданный на базе языка FORNRAN. Каждая модель Mj состоит из элементов, с которыми происходят события, представляющие собой последовательность формул, изменяющих состояние моделируемой системы с течением времени. Работа со списками, определяемые пользователем, последовательность событий в системном времени, работа с множествами. FORSIT - пакет ПП на языке FORNRAN позволяет оперировать только фиксированными массивами данных, описывающих объекты моделируемой системы. Удобен для описания систем с большим числом разнообразных ресурсов. Полное описание динамики модели можно получить с помощью ПП.

SIMULA - расширение языка ALGOL. Блочное представление моделируемой системы. Функционирование процесса разбивается на этапы, происходящие в системном времени. Главная роль в языке SIMULA отводится понятию параллельного оперирования с процессами в системном времени, универсальной обработки списков с процессами в роли компонент.

GPSS- интегрирующая языковая система, применяющаяся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. Транзакты "создаются" и "уничтожаются". Функцию каждого из них можно представить как движение через модель М с поочерёдным воздействием на её блоки. Функциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что делать дальше. Данные для ЭВМ подготавливаются в виде пакета управляющих и определяющих карт, которым составляется по схеме модели, набранной из стандартных символов. Созданная программа GPSS, работая в режиме интерпретации, генерирует и передаёт транзакты из блока в блок. Каждый переход транзакта приписывается к определенному моменту системного времени.

При моделировании предпочтение отдают языку, который более знаком, универсален. Вместе с увеличением числа команд возрастают трудности использования ЯИМ. Получены экспертные оценки ЯИМ по степени их эффективности.

Баллы

Возможности

Простота применения

Предпочтение пользователя

5

SIMULA

GPSS

SIMSCRIPT

4

SIMSCRIPT

SIMSCRIPT

GPSS

3

GPSS

SIMULA

SIMULA

Суммарный бал:

^ SIMULA -11

SIMSCRIPT -13

GPSS -12

Если предпочтение отдаётся блочной конструкции модели при наличии минимального опыта в моделировании, то следует выбрать язык GPSS, но при этом следует помнить, что он негибок, требует большого объёма памяти и затрат машинного времени для счёта.
1   2   3   4   5   6   7   8



Скачать файл (759.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации