Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Надежность и диагностика автоматизированных систем. Курс лекций
.pdf
Рис. 3.2. Блок-схема имитационной модели с дискретным характером
изменения состояний
31

32
Рис. 3.3. Блок-схема имитационной модели
восстанавливаемой системы

Рис. 3.4. Блок-схема комбинированной имитационной модели
33

Составление программы для ЭВМ. При составлении программы
для последующего имитационного эксперимента надо решить три
задачи:
составление самой программы;
1)
2)
задание начальных условий;
генерирование недостающих данных.
3)
Составление программы обычно начинается с построения блоксхемы алгоритма. Составление блок-схемы полезно разбить на два
этапа: составление укрупненной блок-схемы и детализация отдельных участков этой блок-схемы.
Выбор языка программирования зависит от типа ЭВМ или персонального компьютера. Следует отметить, что в настоящее время разработан ряд языков программирования для моделирования задач
конкретной предметной области, например задач массового обслуживании, имитационного моделирования, искусственного интеллекта
и ряда других.
В имитационном эксперименте вычисляется поведение системы
во времени. Это поведение существенно зависит от начальных условий моделирования. При моделировании задач надежности этот вопрос, как правило, отпадает, так как считается что в этот момент t = 0
система находится в исправном состоянии, а причины, вызывающие
постепенные отказы, имеют начальные, нулевые значения. В других
случаях моделирования эта проблема решается методом проб и ошибок, часто с применением генератора случайных чисел.
Оценка пригодности модели. Для оценки пригодности модели необходимо ответить на следующие вопросы:
1.
В какой степени имитированные значения выходных переменных совпадают с известными величинами за прошлые периоды времени?
2.
Насколько точно предсказание имитационной модели относи-
тельно поведения реальной системы в будущем?
При этом можно использовать конкретные методы оценки «точности отладки» имитационной модели, т.е. степени совпадения во
времени имитируемых и наблюдаемых выходов. К числу этих методов относятся следующие.
Дисперсионный анализ, т.е. такая обработка результатов на-
1.
блюдений на реальном объекте и машинного эксперимента, при которой можно проверить гипотезу о том, что среднее и дисперсия полученного при имитации временного ряда равны среднему и дисперсии наблюдаемого ряда.
34

2. Критерий χ2, с помощью которого можно проверить гипотезу о
N
том, что результаты экспериментов с имитационной моделью имеют
то же частотное распределение, что и фактические данные.
3.
Критерий Колмогорова – Смирнова, по которому определяется
степень соответствия между распределением имитированного ряда и
распределением фактических данных.
4.
Спектральный анализ. Анализ спектров (или корреляционных
функций) дает дополнительную по сравнению с указанными выше
методами информацию о поведении той или иной величины во времени. Сравнивая спектры двух временных рядов (имитированного и
реального), можно сделать вывод о пригодности модели. Спектральный анализ временных рядов применяется для стационарных процессов. Если исследуемый процесс нестационарный, то предварительно из него надо попытаться исключить нестационарную часть
(
типа тенденции или сезонных изменений) так, чтобы после исклю-
чения этой части процесс можно было бы считать стационарным.
Планирование эксперимента. В машинном имитационном эксперименте необходимо должное внимание уделить его планированию.
Методы планирования эксперимента подробно изложены в работах
[3, 13].
При планировании эксперимента необходимо также решить
вопрос, когда закончить каждую серию эксперимента. Если имитационная модель статическая (имитируется установившееся состояние системы для некоторого момента времени), то для того чтобы
вероятность попадания оценки математического ожидания искомой
величины x в доверительный интервал
число испытаний должно быть равно
=
была равна (1–α) %,
zxσ±
α 2
22
zNσ
2
α
, где
2
d
zdσ=
λ 2
–
N
доверительный интервал; σ – среднеквадратичное отклонение (или
его оценка) величины x. Величина z
– оценка отклонения центри-
α/2
рованного и нормированного нормального распределения, оставляющая в «каждом хвосте» по α/2 % вероятности. Это правило применимо, когда N получается достаточно большим.
Обработка результатов эксперимента проводится по правилам
математической статистики, знакомой по соответствующему разделу
курса математики.
35

3.2. Генерирование случайных величин
большинстве случаев при имитационном моделировании ис-
В
пользуют программные методы получения случайных чисел. Такие
числа уже нельзя назвать «случайными», но они обладают многими
статистическими свойствами строго случайных чисел. В литературе
они получили название «псевдослучайных» чисел. В настоящее время большинство программ, генерирующих псевдослучайные числа,
используют конгруэнтную процедуру, при которой каждое последующее число x
получается из предыдущего xi. В основе конгру-
i+1
энтных процедур генерирования псевдослучайных чисел лежит математическое понятие сравнения (congruence). Целые числа a и b
считаются сравнимыми по модулю m, если эти числа дают одинаковые остатки при делении на m (или, что то же самое, разность этих
чисел делится на m без остатка). Математически процедуру сравнения записывают следующим образом: a = b(mod m) и читают «a,
сравнимое с b по модулю m».
Искомая последовательность псевдослучайных чисел получается
из соотношения: x
i+1
≡(аx
+b)(mod m).
i
Из этого выражения следует, что количество различных псевдослучайных чисел не может быть больше m. После генерации m чисел
последующие числа начинают повторяться. При неудачном выборе
величин a и b период может быть меньше m. Существуют теоретические предпосылки, позволяющие осуществить выбор чисел a, b и m.
В частном случае b = 0, т.е. X
= axi (mod m). Такой генератор назы-
i+1
вают мультипликативным, и он дает достаточно хорошие результаты
(
полученные числа имеют хорошие статистические характеристики).
Количество различных псевдослучайных чисел зависит от разрядности процессора, так как обычно модуль m принимают равным 2
–
разрядность процессора.
к
–1, где к
Для удобства пользования псевдослучайными числами во всех
ЭВМ имеется программа, дающая равномерное распределение в пределах 1 < x < 0. В языках программирования обращение к генератору
случайных чисел осуществляется специализированными операторами, например RND[(x)]. В языке Turbo-Basic, если х = 0, то повторяется последнее генерированное число, если х < 0, то генерируется
новая последовательность случайных чисел, если х > 0 или х отсутствует, то генерируется очередное случайное число, но при повторном
запуске последовательность повторяется.
36

В других языках программирования существуют аналогичные
2
12
правила и операторы.
Если необходимы случайные числа с другими распределениями
вероятностей, то после обращения к генератору, дающему случайные
числа R в интервале (0,1), используют простые преобразования [3].
Из теории вероятностей известно, что равномерное распределение
в интервале (А, В) получается преобразованием X=A+(B–A)·R. Мате-
матическое ожидание в этом случае будет
)(2AB
VX−=
.
ABEX+
=
, а дисперсия
Для получения нормального распределения с нулевым средним
производится суммирование 12 случайных чисел R. Из суммы вычитается 6, а результат умножается на величину заданного среднеквадратического значения, так как дисперсия суммы равна единице, т.е.
12
⎛
⎜
∑
⎜
=
i
⎝
RX σ
−=
1
⎞
⎟
6
. Если среднее значение отличается от нуля, то к
x
⎟
⎠
этому выражению добавляется величина, равная среднему значению.
Для получения экспоненциального распределения P(x)=αe
–αx
α > 0, x ≥ 0, производится операция x = –(1/α)log(R). При этом мате-
матическое ожидание EХ=1/α и дисперсия VX = 1/α
2
= EX2.
3.3. Генерирование коррелированных
случайных величин
многих практических примерах необходимо получать после-
Во
довательность случайных величин, в которой отдельные значения
коррелированны между собой. Для такого ряда случайных величин
можно воспользоваться так называемыми «процессами скользящего
среднего» или «процессами авторегрессии» [15]. Пусть {a
} – после-
t
довательность независимых нормально распределенных чисел с ма-
2
тематическим ожиданием, равным нулю, и с дисперсией
для последовательности {Z
муле: z
= αt – θ
t
⋅α
автокорреляционная функция равна
1
t–1
}, члены которой определяются по фор-
t
θ−
⎧
1
⎪
2
θ+
1
=ρ
⎨
k
1
⎪
⎩
для
=
1
k
,
≥
2для0
k
σ
. Тогда
α
37

а дисперсия определяется из выражения
ρ−ρ
22
.
)1(
σθ+=γ
10
α
Такую последовательность называют процессом скользящего
среднего первого порядка.
Процесс скользящего среднего второго порядка Z
2
2
имеет дисперсию )1(
2
0
α
⎧
⎪
1
⎪
⎪
=ρ
⎨
k
1
⎪
⎪
⎪
θ+θ+σ=γ
и автокорреляционную функцию
2
1
θ−θ−
)1(
21
2
2
θ+θ+
2
1
θ−
2
2
2
θ+θ+
2
1
K
=
K
K
=
≥
1для
2для
.3для0
= αt – θα
t
t–1
– θ
⎩
α
2
t–2
Процесс авторегрессии первого порядка имеет вид z
Для его стационарности необходимо |Φ
|<1.
1
Автокорреляционная функция имеет вид ρ
2
σ
дисперсия процесса
2
z
α
=σ
1 Φ−
2
1
= Φ
к
= Φ
t
ρ
(для К>0),
1
к–1
1zt–1
Процесс авторегрессии второго порядка записывается в виде
z
t=Φ1zt–1+Φ2zt–2+αt
Для стационарности процесса необходимо, чтобы Φ
Φ
– Φ1 <1, –1< Φ2 <1. Автокорреляция имеет вид ρк = Φ
2
для К>0. Коэффициенты Φ
.
+ Φ2 <1,
1
ρ
+ Φ
1
к–1
и Φ2 можно определить из выражений
1
2
1 ρ−
ρ−ρ
12
.
2
1
)1(
21
=Φ
1
1
;
=Φ
2
ρ−
1
2
Эти выражения могут быть решены относительно переменных ρ
2
Φ
1
1
=ρ
1 Φ−
и
2
Φ
1
+Φ=ρ
22
1 Φ−
.
2
+ αt.
ρ
2
к–2
:
i
38

3.4. Моделирование систем
массового обслуживания
3.4.1. Общие сведения
Теория
систем массового обслуживания (СМО) рассматривает сис-
темы, в которых производится обслуживание требований или заявок,
поступающих извне в систему. Задачами теории СМО является анализ
ситуаций, возникающих в таких системах, и определение таких характеристик, как длина очереди требований в системе, время ожиданий и
т.п. Как правило, в СМО требования в систему поступают случайным
образом; длительность обслуживания тоже случайна. Анализ ситуаций, возникающих в системе массового обслуживания, поддается аналитическому решению лишь в простейших случаях, когда поток заявок и времена обслуживания описываются экспоненциальными распределениями и когда наложен еще целый ряд дополнительных ограничений. Поэтому для изучения реальных систем, описываемых методами теории массового обслуживания, широко используется имитационное моделирование. В частности, эти методы можно использовать
при моделировании восстанавливаемых систем.
В качестве примера рассмотрим процесс восстановления технологического оборудования в цехе по производству полупроводниковых
материалов, в котором работает несколько десятков независимых
друг от друга агрегатов (печей), периодически требующих ремонта.
Если для ремонта используется одна (единственная) бригада рабочих, осуществляющая все этапы ремонта, то такой процесс моделируется одноканальной однофазной СМО. Очевидно, что необходимость (требование) ремонта эквивалентна заявке, поступающей из
цеха в систему, производящую ремонт, т.е. в СМО.
Если ремонт осуществляется несколькими такими бригадами, независимо друг от друга, то такой процесс восстановления описывается многоканальной СМО.
И наконец, возможен случай, при котором ремонт осуществляется
несколькими специализированными на различных видах работ бригадами, выполняющими последовательно разные этапы ремонта.
Причем очередной этап ремонта возможен только после завершения
предыдущего. Такой случай моделируется одноканальной многофазной СМО.
39

Рассмотрим эти три модели массового обслуживания. В последующем описании алгоритмов и блок-схем использованы переменные и их обозначения, приведенные в работе [3].
3.4.2. Одноканальная однофазовая модель
Одноканальная
однофазовая модель является простейшей моде-
лью систем массового обслуживания. Она состоит из одного блока
обслуживания, на который поступают требования (заявки). Если
блок свободен на момент поступления заявки, то он немедленно приступает к ее обслуживанию. В противном случае заявка ставится в
очередь. При наличии очереди первой обслуживается заявка, поступившая раньше остальных. Промежуток времени между поступлениями заявок и продолжительность обслуживания обычно считаются
случайными величинами с заданными законами распределения.
При анализе функционирования такой системы массового обслуживания обычно интересуются такими величинами, как среднее время
ожидания заявки в очереди, среднее время простоя системы обслуживания в ожидании очередной заявки, средняя длина очереди и т.п.
Рассмотрим имитационную модель, в которой необходимо определить средние времена ожидания и простоя. Перечислим переменные, используемые в модели.
1.
Выходные переменные:
EWT – среднее время ожидания требования;
EDТ – среднее время простоя системы в ожидании поступления
очередного требования.
Переменные состояния системы:
2.
WT
– время ожидания i-го требования, mi ,1= ;
i
DT
– время простоя в ожидании i-го требования,
i
3.
Входные переменные (случайные):
AT
– интервал времени между появлениями i-го и (i +1)-го требо-
i
.
mi ,1=
ваний;
ST
– время обслуживания i-го требования.
i
Предполагается знание законов распределения p(AT) и p(ST) величин AT и ST, соответственно. Будем считать, что эти величины распределены по экспоненциальному закону. Это позволит сравнить
полученные при моделировании результаты с теоретическими, определенными аналитически.
Искомые величины могут быть определены при моделировании
по формулам
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
