МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Е. Ю. Митрофанова,
А. А. Сирота,
А. В. Швырева
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
ИНФОРМАЦИОННЫХ ПРОЦЕССОВ И СИСТЕМ
Учебное пособие
Воронеж
Издательский дом ВГУ
2022
УДК 004.94(075.8)
ББК 32.973.202Я7
М67
Р е ц е н з е н т ы:
кандидат физико-математических наук, доцент
факультета компьютерных наук А. А. Крыловецкий;
кандидат физико-математических наук, доцент
факультета компьютерных наук В. В. Фертиков
М67
Митрофанова Е. Ю.
Компьютерное моделирование информационных процессов и
систем : учебное пособие / Е. Ю. Митрофанова, А. А. Сирота,
А. В. Швырева ; Воронежский государственный университет. – Воронеж : Издательский дом ВГУ, 2022. – 226 с.
ISBN 978-5-9273-3270-0
В учебном пособии представлены основы компьютерного имитационного моделирования информационных процессов и систем, даны примеры
лабораторных работ, а также задания для самостоятельной работы.
Рекомендовано для обучающихся факультета ФКН дневной формы
обучения по следующим направлениям: 09.03.02 – Информационные системы и технологии (бакалавриат), 09.04.02 – Информационные системы
и технологии (магистратура), 09.03.03 – Прикладная информатика,
09.03.04 – Программная инженерия, 02.03.01 – Математика и компьютерные науки (бакалавриат), 02.04.01 Математика и компьютерные науки
(магистратура), 10.03.01 – Информационная безопасность (бакалавриат),
10.04.01 – Информационная безопасность (магистратура), 10.05.01 – Компьютерная безопасность (специалитет).
УДК 004.94(075.8)
ББК 32.973.202Я7
ISBN 978-5-9273-3270-0
© Митрофанова Е. Ю., Сирота А. А.,
Швырева А. В., 2022
© Воронежский государственный университет, 2022
© Оформление. Оригинал-макет. Издательский дом ВГУ, 2022
2
Содержание
Предисловие ......................................................................................... 5
Глава 1. ОСНОВЫ МОДЕЛИРОВАНИЯ СИСТЕМ ......................... 7
1.1. Основные понятия и определения ..................................... 7
1.2. Модель и моделирование .................................................. 12
1.3. Системный подход и системный анализ ......................... 15
1.4. Имитационное моделирование ......................................... 18
1.5. Особенности разработки систем и использования
моделей ...................................................................................... 22
Глава 2. ПРОГРАММНЫЕ СРЕДСТВА ИМИТАЦИОННОГО
МОДЕЛИРОВАНИЯ ......................................................................... 25
2.1. MATLAB ........................................................................... 25
2.2. AnyLogic ............................................................................. 30
2.3. ARIS Simulation.................................................................. 34
2.4. Modelica .............................................................................. 38
2.5. Plant Simulation .................................................................. 40
2.6. Boson NetSim ...................................................................... 43
2.7. Simplex3 .............................................................................. 45
2.8. Язык GPSS .......................................................................... 46
Глава 3. ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТОВ ................................ 49
3.1. Стратегическое планирование .......................................... 50
3.2. Тактическое планирование ............................................... 67
Глава 4. СТОХАСТИЧЕСКИЕ МОДЕЛИ ....................................... 75
4.1. Системы передачи информации ....................................... 76
4.2. Системы массового обслуживания ................................ 100
Глава 5. МОДЕЛИРОВАНИЕ ИНФОРМАЦИОННОГО
КОНФЛИКТА СИСТЕМ ................................................................. 151
5.1. Информационный конфликт систем .............................. 151
5.2. Моделирование конфликтов СМО в MATLAB ........... 155
3
Глава 6. ЛАБОРАТОРНЫЕ РАБОТЫ ............................................ 174
1. Стратегическое и тактическое планирование
модельного эксперимента ...................................................... 174
2. Моделирование и оценка эффективности систем
передачи информации ............................................................ 182
3. Моделирование СМО (SimEvents) ..................................... 193
4. Моделирование СМО (Stateflow) ...................................... 202
5. Компьютерное моделирование информационного
конфликта систем ................................................................... 213
Библиографический список ............................................................ 219
Приложение А ................................................................................. 222
Приложение Б ................................................................................... 224
4
ПРЕДИСЛОВИЕ
В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались
бы методы компьютерного моделирования. Особенно эффективно
они применяются в сфере управления различными системами, где
основными являются процессы принятия решений на основе получаемой информации. Одна из проблем современной науки и
техники – разработка и внедрение в практику проектирования новейших методов исследования характеристик сложных информационно-управляющих и информационно-вычислительных систем
различных уровней (например, автоматизированных систем научных исследований и комплексных испытаний, систем автоматизации проектирования, вычислительных, информационных систем,
цифровых сетей интегрального обслуживания и т. д.).
При проектировании сложных систем и их подсистем возникают многочисленные задачи, требующие оценки количественных
и качественных закономерностей процессов их функционирования, проведения структурного алгоритмического и параметрического их синтеза.
Обобщенно моделирование можно определить как метод
опосредованного познания, при котором изучаемый объект-оригинал находится в некотором соответствии с объектом-моделью,
причем модель способна в том или ином отношении замещать
оригинал на некоторых стадиях познавательного процесса. Термин «компьютерное моделирование» определяет используемые
при этом средства построения и исследования моделей, которые в
настоящее время являются наиболее востребованными.
В первой главе учебного пособия представлены основные
понятия и определения общей теории моделирования систем.
Во второй главе кратко описаны существующие программные решения для реализации компьютерного имитационного моделирования. В третьей – подробно рассмотрены способы проведения
5
экспериментов, а именно проведение стратегического и тактического планирования. В четвертой – представлены стохастические
модели, а именно системы передачи информации и системы массового обслуживания (далее – СМО). В пятой – говорится о компьютерноем моделировании информационного конфликта систем.
Шестая глава содержит лабораторные работы для наглядного
применения теоретического материала. В учебном пособии для
демонстрации используется MATLAB версии R2012b.
6
Глава 1. ОСНОВЫ МОДЕЛИРОВАНИЯ СИСТЕМ
В настоящее время в большинстве областей человеческой
деятельности используются различные методы моделирования.
В первую очередь они применяются в управления различными
системами, где основными являются процессы принятия решений на основе получаемой информации.
1.1. Основные понятия и определения
В современном мире реальные процессы и объекты слишком
сложны и многогранны, в результате чего их исследование становится нетривиальной задачей. Нередко случается, что исследуемые процессы протекают слишком быстро или медленно (природные явления), исследуемые объекты слишком малы или велики
(атом, космические объекты).
Говоря о методах моделирования, прежде всего необходимо
дать определение понятия «система».
Система – все, состоящее из связанных друг с другом частей [8].
Система – это комплекс взаимодействующих компонентов [7].
Система – это множество связанных действующих элементов [14].
Исследование систем может быть опасно для жизни человека
из-за природных условий или отличительных особенностей функционирования исследуемых систем (производство, шахты, самолеты, низкие/высокие температуры), также возможны случаи, когда проведение экспериментов над реальными объектами невозможно (из-за физических или временных ограничений – объект
находится далеко или не существует).
Элемент – простейшая неделимая часть системы, отвечающая предельно детальному рассмотрению системы в рамках
решаемой задачи.
7
Объект – все то, на что направлена человеческая деятельность. Выработка методологии направлена на упорядочение получения и обработки информации об объектах, которые существуют
вне нашего сознания и взаимодействуют как с внешней средой,
так и между собой. Объектом исследования является часть реального мира с ограниченным набором свойств, необходимых для
достижения цели исследования, которая выделяется и воспринимается как единое целое в течение всего исследования.
В научных исследованиях большую роль играют гипотезы –
определенные предсказания, основывающиеся на небольшом количестве опытных данных, наблюдений, догадок. Быстрая и полная проверка выдвигаемых гипотез может быть проведена в ходе
специально поставленного эксперимента. При формулировании и
проверке правильности гипотез большое значение в качестве метода суждения имеет аналогия.
Аналогия – суждение о каком-либо частном сходстве двух
объектов, причем такое сходство может быть существенным и несущественным. Необходимо отметить, что понятия существенности и несущественности сходства или различия объектов условны
и относительны. Существенность сходства (различия) зависит от
уровня абстрагирования и в общем случае определяется конечной
целью проводимого исследования.
Современная научная гипотеза создается, как правило, по аналогии с проверенными на практике научными положениями. Таким
образом, аналогия связывает гипотезу с экспериментом.
Свойство – сторона любого объекта, обуславливающая его
отличие или сходство по отношению к другим объектам и проявляющаяся при его взаимодействии с ними.
Качество – свойство или совокупность существенных свойств
объекта, определяющих его пригодность для использования по назначению.
Целевое назначение системы (цель) – желаемый и потенциально достижимый результат, который может быть получен в
процессе функционирования системы.
8
Эффективность системы – степень соответствия фактического или ожидаемого результата (исхода) процесса функционирования системы желаемому, то есть степень соответствия цели
системы.
Компонент системы – любая часть системы, которая вступает в определенные отношения с другими ее частями – элементами,
подсистемами.
Состояние системы – совокупность существенных свойств
(параметров, характеристик), присущих системе в данный момент
времени.
Структура – описание совокупности элементов (состав системы) и наиболее устойчивых связей (взаимосвязей) между ними
(часто без отображения свойств и состояний элементов и связей).
Связь – отношение между элементами системы, фиксирующее ограничение их степени свободы, проявляющееся в утрачивании ряда свойств, которыми они потенциально обладают, будучи свободными (автономными), и одновременно обеспечивающее
сохранение структуры и целостности системы (то есть проявление
новых свойств, присущих системе в целом).
Взаимодействие систем между собой или элементов в рамках одной системы – взаимное влияние, приводящее к некоторым
существенным изменениям в их состояниях (энергетическим, химическим, физическим и т. п.).
Внешняя среда – совокупность элементов (объектов) естественного или искусственного происхождения, не входящих в состав системы, но оказывающих на нее определенное воздействие и
определяющих существенные условия ее функционирования. Выделение внешней среды для рассматриваемой системы является
весьма важной процедурой, так как избыточность или недостаточность в описании внешней среды мешают правильному пониманию сущности системы и адекватному анализу ее свойств.
В зависимости от поставленной задачи элементы системы в
одном случае могут рассматриваться как системы на более низком
9
уровне или система в контексте данной задачи может быть элементом системы более высокого уровня.
Рассмотрим понятия, которые наиболее полно раскрывают
существенные составляющие системы (рис. 1.1).
Для теории систем весьма важным является понятие сложности системы. Существует ряд подходов к разделению систем на
простые и сложные [6; 10; 19; 20; 26; 27]:
− по количеству входящих в них элементов;
− сложности выполняемых функций;
− возможности формализованного описания поведения систем и т. п.
Элемент
Элемент характеризуется конкретными свойствами, определяющими
его в данной системе однозначно. Элемент – неделимая часть системы
Система
Множество составляющих единство элементов, связей и взаимосвязей
между ними и внешней средой, образующее присущую данной системе
целостность, качественную определенность и целенаправленность
Связь
Совокупность зависимостей свойств одного элемента
от свойств других элементов системы
Взаимодействие
Процесс взаимного влияния (воздействия)
элементов, системы и окружающей среды
Внешняя среда
Совокупность элементов – объектов естественного
или искусственного происхождения, не входящих в состав системы,
но оказывающих на нее определенное воздействие и определяющих
существенные условия ее функционирования
Рис. 1.1. Описание системы
10
В частности, академик А. И. Берг определял сложную систему как объект, который можно адекватно описать не менее чем на
двух математических языках (например, с помощью аппарата дифференциальных уравнений и аппарата булевой алгебры). Часто
сложную систему определяют как систему, которую вообще нельзя
корректно описать математически в силу наличия в ней большого
количества элементов, связанных неизвестным образом, и/или наличия неопределенностей относительно протекающих в ней процессов и явлений [20]. Для простой системы, напротив, характерна
возможность корректного и законченного описания в рамках единого математического аппарата, что позволяет получить аналитические или численные решения, определяющие ее свойства.
Сложной системой называется такая система, которой присущи следующие признаки:
− целевое назначение носит многоаспектный, многофункциональный, а часто и плохо формализованный характер;
− имеется значительное количество разнородных элементов,
взаимодействующих друг с другом «непростым» образом;
− состоит из достаточно самостоятельных подсистем, объединяющих элементы, имеющих свое целевое назначение и решающих свои задачи;
− присутствует большое количество случайных и неслучайных факторов, влияющих на достижение цели системы, воздействие внешней среды трудно предсказуемо, а ее элементы в полном
объеме выделены быть не могут и всегда остаются неучтенные
воздействия;
− отсутствует единое формализованное описание системы и
требуется использование разнородных «языков» формализованного описания, отражающих различные аспекты ее представления и
поведения.
Помимо этого, в литературе используется термин «большая
система». При этом во многих случаях понятия «сложная» и
«большая» используются как синонимы. В ряде источников термин
11
«большая система» относят к системам, имеющим значительное
число элементов (чисто количественный аспект) [26].
Большой системой будем называть пространственно распределенное сообщество взаимосвязанных сложных подсистем, обладающих определенной степенью автономности, объединенных между собой энергетическими, материальными и информационными
связями для обеспечения целенаправленного функционирования
как единой системы и использующих человека в процессе организации и управления этими подсистемами и системой в целом.
С понятиями сложной и большой систем тесно связано понятие иерархии.
Иерархия – расположение частей и элементов целого в порядке от «высшего к низшему». При иерархическом описании
сложных систем применяются различные способы [17]. Во всех
них используется понятие «уровень иерархии», имеющее различный смысл в зависимости от способа описания. Существует три
основных типа иерархии:
− на основе выделения страт – уровней абстрагирования
(аспектов) при описании системы;
− на основе выделения слоев – уровней сложности принимаемых решений при достижении глобальной цели;
− на основе выделения эшелонов или уровней в организационной структуре системы, имеющей четко выделенные семейства управляющих и подчиненных элементов.
1.2. Модель и моделирование
Большинство систем имеют сложную структуру и большое
количество элементов, в результате чего возникают проблемы с
проведением исследований с реальными объектами и системами,
поэтому прибегают к исследованию моделей объектов.
Модель – это объект-заменитель объекта-оригинала, обеспечивающий изучение наиболее существенных в интересующем нас
аспекте свойств оригинала и, наоборот, позволяющий абстрагиро12
ваться от его несущественных в рамках данного исследования
свойств [4].
Как правило, объект-заменитель представляет формализованное в рамках некоторого языка (например, математического)
описание системы. Иногда в этом плане употребляют термин «модель функционирования», который обозначает модель, обеспечивающую предсказание изменения состояний системы во времени,
то есть ориентированную на описание динамики ее функционирования как процесса.
При формализации описания систем (элементов систем) и
вообще при реализации любого способа моделирования различают два подхода: структурный, в рамках которого сосредотачиваются на анализе и воспроизведении в модели внутренних свойств
и состояний системы; функциональный, при котором сосредотачиваются на изучении и воспроизведении внешних проявлений системы как преобразователя «вход – выход», а сама система при
этом рассматривается как «черный ящик».
На рис. 1.2 представлено схематическое отображение процесса формирования модели из реального объекта.
Формализация – представление выявленных связей и выделенных существенных признаков объекта моделирования в некоторой форме, то есть это замена реального объекта его формальным описанием.
Прямое исследование
Реальный объект
Формализация
Интерпретация
Модель
Моделирование
Рис. 1.2. Реальный объект/модель
13
Интерпретация – процесс формирования реально существующего более сложного объекта, процесса или явления путем
проведения анализа модели и наблюдения за ней.
Моделирование – замещение одного объекта другим с целью
получения информации о важнейших свойствах объекта оригинала с помощью объекта-модели.
Таким образом, моделирование может быть определено как
представление объекта моделью для получения информации об
этом объекте путем проведения экспериментов с его моделью.
Для формального определения понятия модели системы широко используются определения теории категорий и прежде всего
морфизмы. Морфизм в общем случае означает соответствие, то
есть правило, по которому каждому элементу пространства K
ставится в соответствие элемент другого пространства K . Пространство, вообще говоря, синоним множества, однако его употребляют в тех случаях, когда вместе с множеством элементов указаны еще и некоторые свойства: операции, отношения, заданные
на этом множестве. В случае когда K отображается не обязательно на все K , но с сохранением некоторых общих свойств, такое
соответствие называется гомоморфизмом. Если же морфизм отображает K взаимно однозначно на всё K , то это называется
изоморфизмом, а пространства K и K – изоморфными.
В плане математического определения модели системы
обычно используется понятие гомоморфизма. В случае если акцентируется структурный подход к описанию систем, рассматривается гомоморфизм отношений [17, 22].
Пусть, например, S ( X , R ) и S ( X , R ) – две алгебраические структуры, или системы. Тогда отображение h : X X такое, что для x1 X , x2 X из ( x1, x2 ) R следует
(h( x1 ), h( x2 )) R , или
x1Rx2 h( x1 ) R h( x2 ) ,
называется гомоморфизмом из S в S , а система S называется
моделью S . Для общего определения системы может быть введено
14
следующее понятие модели. Пусть S X Y и S X Y , а
hx : X X и hy :Y Y – два отображения. Тогда отображение
hxy hx hy : X Y X Y , hxy (x, y) (hx ( x), hy ( y)) называется гомоморфизмом отношений из S в S , а система S называется моделью S в случае, если
( x, y ) : ( x, y ) S ( hx( x ),hy ( y )) S .
Иногда в этом определении для отображения h x требуют
выполнения свойства сюрьективности.
Гомоморфизм вполне можно рассматривать как функции моделирования. Под этим подразумевается то, что во многих случаях
он упрощает структуру исходной системы, сохраняя все наиболее
существенные связи и опуская менее существенные детали. Выбор
соответствующего гомоморфизма зависит от того, какие свойства
исходной системы считаются существенными при моделировании.
Требование сюрьективности только для отображения h x означает,
например, некое угрубление спектра входных воздействий модели.
При этом гомоморфный образ исходной системы в общем случае
оказывается собственным подмножеством своей модели. Поэтому
модель позволяет делать некоторые выводы, которые могут не
иметь места для исходной системы, и это также согласуется с интуитивным представлением о моделях.
1.3. Системный подход и системный анализ
Понятие системы тесно связано с понятием проблемы.
Проблема в широком смысле – ситуация несоответствия
(противоречия) существующего и желаемого.
Любую проблему можно представить как отражение процесса функционирования реальной (физической) системы естественного или искусственного происхождения, в которой при контролируемом входном воздействии создаваемая выходная реакция отличается от требуемой. Таким образом, проблема отражает
различие между существующей и желаемой системой.
15
Характерной особенностью функционирования большинства
систем является случайный (вероятностный) характер протекающих в них процессов и явлений. В результате возникают проблемы, связанные с рассмотрением свойств и законов взаимодействия элементов, учетом влияний внешней среды, определением
оптимальной структуры и режимов функционирования систем.
Представление объектов (проблем, явлений) как систем с целью
их изучения и вмешательства, направленного на улучшение ситуации, связано с понятиями системного подхода и системного
анализа. Рассмотрим их.
Системный подход – термин, который возник на начальном
этапе развития общей теории систем. Он, прежде всего, означает
многоаспектный характер исследования сложного объекта с разных сторон (точек зрения, аспектов). Одновременно выдвигается
требование сохранения комплексного характера проводимого исследования, что предполагает учет взаимовлияния различных аспектов и разнородных факторов. Оказалось, что при реализации
этих концепций системного подхода, в отличие от ранее принятого разделения на химические, физические и другие исследования,
в ходе исследований можно получить более полное и правильное
представление о реальных сложных объектах, выявить их новые и
подчас неожиданные свойства, лучше определить взаимоотношения объекта с внешней средой.
К основным принципам системного подхода относятся:
− целостность – позволяет рассматривать систему как единое целое и как подсистему для вышестоящих уровней;
− системность – свойство объекта обладать всеми признаками системы;
− множественность – возможность описания отдельных
элементов системы или всей системы в целом с помощью множества отдельных моделей;
− иерархичность – особенность построения системы, заключающаяся в подчинении элементов низшего уровня элементам
высшего уровня;
16
− структуризация – свойства системы определяются не
только отдельными свойствами составляющих систему объектов,
но и структурными особенностями системы.
Системный анализ (далее – СА) – исследование сложной
системы (проблемы) или системные исследования, снабженные
определенной методологией, позволяющей расчленить проблему
на более простые подпроблемы, выделить этапы исследования,
разбить изучаемый процесс на отдельные подпроцессы и т. п.
Методы описания сложных систем в ходе СА (в сущности,
все их можно рассматривать как методы моделирования систем)
классифицируются в порядке возрастания степени формализации
на качественные и количественные методы [20].
Качественные методы СА основное внимание уделяют организации постановки задачи, первому этапу ее формализации,
формированию множества альтернативных вариантов решения,
выбору подходов к оценке вариантов. Эти методы и подходы являются эвристическими, то есть опирающимися на опыт, творческую потенцию, а зачастую и интуицию исследователя. Данные
методы еще называют методами использования опыта и активизации интуиции специалистов.
Количественные методы СА связаны с анализом и количественной оценкой вариантов, описанием законов их функционирования, установлением связи показателей эффективности и основных факторов влияния, определением точности, корректности используемых моделей систем. Для постановки задачи эти методы
почти не имеют средств, практически полностью оставляя осуществление этого этапа за человеком. Данные методы в литературе
еще называют методами формализованного представления систем.
Необходимо также отметить, что на современном этапе применение тех или иных методов и подходов анализа сложных систем тесно связано с используемыми для этого технологиями и инструментальными средствами проведения исследований, среди
которых главенствующее положение занимают компьютерные
17
информационные технологии и средства. Поэтому реализацию
рассмотренных выше методов моделирования систем, обеспечивающих содержательное рассмотрение проблемы на выделенных
этапах, в целом можно обозначить термином «компьютерное моделирование», подчеркивая роль используемых механизмов.
Как уже отмечалось, с точки зрения использования компьютерных технологий различают [26]:
− моделирование (modeling) как обычные вычисления (пусть
и достаточно сложные), выполняемые с помощью расчетных программ в соответствии с математическим описанием изучаемого
объекта;
− имитационное моделирование (simulation), ориентированное на однократное или многократное воспроизведение (имитацию) процесса функционирования системы с использованием авторских компьютерных программ или специализированных инструментальных средств и технологий.
В узком смысле слова под компьютерным моделированием
можно понимать именно имитационное моделирование, выполняемое на ЭВМ, которое в настоящее время является наиболее
эффективным методом получения информации о поведении системы и эффективности альтернативных вариантов ее построения
[5; 6; 10; 17; 19–27; 29].
1.4. Имитационное моделирование
Для моделирования процессов и систем, имеющих сложный
и многоаспектный характер поведения, используются технологии
компьютерного имитационного моделирования. Имитационное
моделирование позволяет разрешить главную проблему современной науки – проблему сложности (так называемое проклятие
размерности).
Имитационная модель – это формальное (то есть выполненное на некотором языке) описание логики функционирования исследуемой системы и взаимодействия ее отдельных элементов во
18
времени, учитывающее наиболее существенные причинно-следственные связи, присущие системе, и отражающее поведение моделируемого объекта во времени и пространстве [4].
Имитационная модель используется [6] с целью либо оценить различные стратегии управления действующей системой и
определить пути ее улучшения, либо понять поведение вновь создаваемой системы, относительно которого изначально имеется
большая априорная неопределенность.
Имитационная модель, обеспечивающая проведение статистических экспериментов, называется статистической имитационной моделью. Последнее условие отражает вероятностный, стохастический характер процессов, имеющих место во многих сложных
информационных системах и во взаимодействующей с ними внешней среде.
Поведение системы в рамках имитационной модели обусловлено поведением функциональных элементов, или объектов, которые отображают компоненты реальной системы [6; 10; 19; 26].
Преимуществом имитационной модели является возможность имитирования поведения системы во времени таким образом, что временем можно управлять: замедлять, ускорять, прерывать и воспроизводить. Однако результат имитационного моделирования имеет погрешность и зависит от объема выборки и времени моделирования.
Цели имитационного моделирования:
− воспроизведение с необходимой точностью поведения отдельных элементов системы;
− накопление статистических данных о поведении элементов системы;
− обработка статистическими методами накопленной информации о поведении элементов системы для получения статистических оценок.
При проведении имитационного моделирования можно выделить следующие этапы.
19
1. Постановка задачи. На данном этапе осуществляется определение необходимых свойств системы в контексте решаемой задачи, сбор исходной информации о выбранных свойствах.
2. Формирование концептуальной модели.
3. Выбор языка имитационного моделирования и построение
модели.
4. Тестирование имитационной модели (с использованием
контрольных примеров).
5. Планирование экспериментов.
6. Проведение модельных экспериментов.
7. Анализ и интерпретация результатов эксперимента.
Основным методом имитационного моделирования и оценки
эффективности сложных систем со стохастическими элементами
на ЭВМ является метод статистического моделирования – развитие метода статистических испытаний Монте-Карло.
Метод статистических испытаний Монте-Карло заключается в
описании случайных явлений не в привычном аналитическом виде,
а в проведении серии экспериментов, дающем случайный результат.
В ходе проведения экспериментов происходит накопление статистической информации – множества реализаций случайного процесса, – которая обрабатывается методами математической статистики.
В основе метода статистического моделирования лежит выполнение следующих действий:
− проведение большого количества одинаковых по исходным данным имитаций вероятностного процесса функционирования систем во взаимодействии с внешней средой;
− формирование на этой основе соответствующего количества независимых реализаций случайных величин, характеризующих те или иные исходы функционирования системы в смысле
выполнения возлагаемых на нее функций;
− усреднение или другая статистическая обработка формируемых реализаций случайных величин с целью получения статистически значимых выводов относительно эффективности системы.
20
Существуют следующие виды имитационного моделирования: дискретно-событийное моделирование; системная динамика;
агентное моделирование.
Дискретно-событийное моделирование заключается в представлении всех процессов и явлений как последовательности ключевых дискретных событий (отказ от непрерывной природы явлений), оно получило наибольшее распространение в сфере логистики и моделировании систем массового обслуживания.
Для системной динамики характерно определение всех причинно-следственных связей элементов системы с указанием обратных связей и влияний одних элементов на другие. Такой подход используется при моделировании бизнес-процессов, динамики популяции или других развивающихся систем.
Агентное моделирование характеризуется индивидуальными
свойствами и правилами поведения элементов системы, учитывает
прямое и косвенное взаимодействие этих элементов и моделирует
поведение всей системы исходя из частного поведения отдельных
активных объектов – агентов. Агенты могут принимать решения в
соответствии с некоторым набором правил, изменяться и взаимодействовать с окружающей средой. Агентное моделирование используется при моделировании децентрализованных систем.
Типовая структурная схема имитационного моделирования
включает:
− цикл по числу реализаций;
− цикл по шагам во времени (дискретные модели);
− цикл по компонентам взаимодействия в данный момент
времени.
Компьютерный эксперимент обладает значимыми преимуществами перед реальным экспериментом, поскольку реальный
эксперимент требует финансовых и временных затрат тем больше,
чем больше информации о системе необходимо получить. К тому
же для организации экспериментов важны:
− простота повторений условий эксперимента;
21
− возможность управления экспериментом, включая его
прерывание и возобновление;
− легкость изменения условий его проведения (воздействий
внешней среды);
− исключение корреляции между последовательностями
данных, снимаемых в процессе эксперимента с моделью;
− определение временного интервала исследования модели (0, T ) .
Для достижения компромисса между максимумом полученной информации и минимумом затраченных ресурсов пользуются
методами планирования.
1.5. Особенности разработки систем
и использования моделей
Рассматриваемые системы информатики и вычислительной
техники, автоматизированные системы обработки информации и
управления, информационные системы относятся к классу больших систем, этапы проектирования, внедрения, эксплуатации и
эволюции которых в настоящее время невозможны без использования различных видов моделирования. На всех перечисленных
этапах для сложных видов различных уровней необходимо учитывать следующие особенности:
− сложность структуры и стохастичность связей между элементами;
− неоднозначность алгоритмов поведения при различных
условиях;
− большое количество параметров и переменных;
− неполноту и недетерминированность исходной информации;
− разнообразие и вероятностный характер воздействий
внешней среды и т. д.
Независимо от разбиения конкретной сложной системы на
подсистемы при проектировании каждой из них необходимо вы22
полнить внешнее проектирование (макропроектирование) и внутреннее (микропроектирование). Так как на этих стадиях разработчик преследует различные цели, то и используемые при этом методы и средства моделирования могут существенно различаться.
На стадии макропроектирования должна быть разработана обобщенная модель процесса функционирования сложной системы,
позволяющая разработчику получить ответы на вопросы об эффективности различных стратегий управления объектом при его
взаимодействии с внешней средой. Стадию внешнего проектирования можно разбить две составляющие: анализ и синтез.
При анализе изучают объект управления, строят модель воздействий внешней среды, определяют критерии оценки эффективности, имеющиеся ресурсы, необходимые ограничения. Конечная
цель стадии анализа – построение модели объекта управления для
оценки его характеристик.
При синтезе на этапе внешнего проектирования решаются
задачи выбора стратегии управления на основе модели объекта
моделирования, то есть сложной системы.
На стадии микропроектирования разрабатывают модели с
целью создания эффективных подсистем. Причем используемые
методы и средства моделирования зависят от того, какие конкретно обеспечивающие подсистемы разрабатываются – информационные, математические, технические, программные и т. д.
Выбор метода моделирования и необходимая детализация
моделей существенно зависят от этапа разработки сложной системы. На этапах обследования объекта управления, например промышленного предприятия, и разработки технического задания на
проектирование автоматизированной системы управления модели
в основном носят описательный характер и преследуют цель наиболее полно представить в компактной форме информацию об
объекте, необходимую разработчику системы.
На этапах разработки технического и рабочего проектов систем модели отдельных подсистем детализируются, и моделиро23
вание служит для решения конкретных задач проектирования, то
есть выбора оптимального по определенному критерию при заданных ограничениях варианта из множества допустимых. Поэтому в основном на этих этапах проектирования сложных систем
используются модели для целей синтеза.
Целевое назначение моделирования на этапе внедрения и эксплуатации сложных систем – это проигрывание возможных ситуаций для принятия обоснованных и перспективных решений по
управлению объектом. Моделирование (имитацию) также широко
применяют при обучении и тренировке персонала автоматизированных систем управления, вычислительных комплексов и сетей,
информационных систем в различных сферах.
24
Глава 2. ПРОГРАММНЫЕ СРЕДСТВА
ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
Существует множество программных продуктов, которые
используются для моделирования и проведения исследований интересующих объектов, процессов и систем. Программные средства обладают своими особенностями и подходят для решения различных прикладных задач, что следует учитывать при выборе необходимого средства имитационного моделирования. Ниже рассмотрены наиболее известные из них.
2.1. MATLAB
MATLAB [12] – пакет прикладных программ для решения задач технических вычислений. Предоставляет наборы инструментов
для цифровой обработки сигналов, анализа и синтеза динамических
систем, проектирования и моделирования систем управления.
Система MATLAB – это одновременно и операционная среда, и язык программирования. Одна из наиболее сильных сторон
состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования (рис. 2.1). Пользователь
может сам написать специализированные файлы и программы, которые оформляются в виде М-файлов.
Simulink – интерактивный инструмент для моделирования,
имитации и анализа динамических систем. Он дает возможность
строить графические блок-диаграммы, имитировать динамические
системы, исследовать работоспособность систем и совершенствовать проекты. Simulink (рис. 2.2) полностью интегрирован с
MATLAB, что обеспечивает немедленный доступ к широкому спектру инструментов анализа и проектирования. Simulink также интегрируется с Stateflow для моделирования поведения, вызванного событиями. Эти преимущества делают Simulink наиболее популярным
инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования.
25
Рис. 2.1. Начальное окно MATLAB
Рис. 2.2. Начальное окно Simulink
Программа Simulink является приложением к пакету
MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с
которым пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом,
26
в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, достаточно общих знаний, необходимых при работе на компьютере, и, естественно, знаний той предметной области, в которой он работает.
Simulink – достаточно самостоятельный инструмент
MATLAB, и при работе с ним совсем не требуется знать сам
MATLAB и остальные его приложения. С другой стороны, доступ
к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в
состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета
для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических
устройств, Digital Signal Processing Blockset – набор блоков для
разработки цифровых устройств и т. д).
При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные,
а также составлять новые библиотеки блоков. При моделировании
пользователь может выбирать метод решения дифференциальных
уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования есть
возможность следить за процессами, происходящими в системе.
Для этого используются специальные устройства наблюдения,
входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.
Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм, написанных как на языке MATLAB, так и на языках С++, Fortran и Ada.
Имеет графическую среду имитационного моделирования
Simulink, позволяющую строить динамические модели, включая
дискретные, непрерывные и гибридные, нелинейные и разрывные
системы.
27
Среда Simulink (рис. 2.3) позволяет использовать уже готовые
библиотечные блоки для моделирования электросиловых, механических и гидравлических систем, а также применять развитый модельно ориентированный подход при разработке систем управления, средств цифровой связи и устройств реального времени. Среда
Simulink встроена в MATLAB, что позволяет использовать весь
спектр математических и графических возможностей MATLAB.
Stateflow (рис. 2.4, 2.5) предоставляет графический язык, который включает диаграммы переходов состояний, блок-схемы,
таблицы переходов состояний и таблицы истинности. Вы можете
использовать Stateflow, чтобы описать, как алгоритмы MATLAB и
модели Simulink реагируют на входные сигналы, события и условия на основе времени.
Stateflow позволяет проектировать и разрабатывать диспетчерское управление, планирование задач, управление отказами, протоколы связи, пользовательские интерфейсы и гибридные системы.
Рис. 2.3. Пример модели в Simulink
28
Рис. 2.4. Пример модели в Simulink
Рис. 2.5. Результат работы модели в Simulink
29
С помощью Stateflow создается комбинаторная логика и логика принятия решений, которые можно смоделировать как блок в
модели Simulink или выполнить как объект в MATLAB. Графическая анимация позволяет анализировать и отлаживать свою логику
во время ее выполнения. Проверки во время редактирования и
выполнения обеспечивают согласованность и полноту проектирования перед внедрением.
2.2. AnyLogic
AnyLogic [9] – программное обеспечение для имитационного
моделирования сложных систем и процессов, разработанное российской компанией «Экс Джей Текнолоджис» (англ. XJ Technologies). Программа обладает графической средой пользователя и
позволяет использовать язык Java для разработки моделей.
Система AnyLogic поддерживает три технологии создания
имитационных моделей: процессно ориентированный (дискретнособытийный), системно-динамический и агентный, а также любую
их комбинацию. Графический интерфейс AnyLogic, инструменты
и библиотеки позволяют быстро создавать модели для широко
спектра задач от моделирования производства, логистики, бизнеспроцессов до стратегических моделей развития компаний и рынков. Перечисленные выше факторы способствуют распространению AnyLogic как корпоративного стандарта для бизнес-моделирования во многих транснациональных компаниях в самых различных областях. Также AnyLogic широко используется в образовании.
AnyLogic (рис. 2.6) сочетает на одной платформе профессиональные средства агентного моделирования, дискретно-событийное моделирование и системную динамику. Комбинируя методы,
можно проще и быстрее построить точную модель и приступить к
анализу. Библиотека процессного моделирования AnyLogic интегрирована с анимационными средствами AnyLogic и позволяет
анимировать процессы любой сложности.
30
Рис. 2.6. Начальное окно AnyLogic
Продукт получил название AnyLogic, потому что он поддерживал все три известных метода моделирования: системную динамику; дискретно-событийное (процессное) и агентное моделирование, а также любую комбинацию этих подходов в пределах
одной модели.
С помощью AnyLogic возможно разрабатывать модели в следующих областях:
− производство;
− логистика и цепочки поставок;
− рынок и конкуренция;
− бизнес-процессы и сфера обслуживания;
− здравоохранение и фармацевтика;
− управление активами и проектами;
− телекоммуникации и информационные системы;
− социальные и экологические системы;
− пешеходная динамика;
− оборона.
31
AnyLogic содержит большую библиотеку визуальных компонентов. Разработчик может также создавать и добавлять в среду
собственные компоненты. Модели сохраняются как Java-апплеты.
В профессиональной версии работает отладчик и можно создавать
автономные JAR-файлы. AnyLogic-модели обладают хорошими
средствами 2D и 3D симуляции, интерактивности и развитыми
возможностями проведения экспериментов (в том числе оптимизационных).
После установки программы нужно пройти регистрацию на
сайте компании и получить ознакомительный (бесплатный) или
постоянный ключ. Регистрация с постоянным ключом дает возможность получать от группы поддержки помощь в разработке
моделей по интернету, а также обновления программы. Необходимо отметить, что разработчики регулярно обновляют учебную
версию AnyLogic, сближая ее возможности с профессиональной
версией более ранних релизов.
При запуске AnyLogic отображается начальная страница. После этого можно выбрать пример из обширного списка учебных
моделей и посмотреть ее работу.
В современных средах программирования разработка приложений организуется в виде проектов.
В панели проектов AnyLogic (рис. 2.7) отображаются древовидные диаграммы вновь созданных и загруженных с диска моделей. Если перед окончанием сеанса работы с программой они не
были закрыты специальной командой меню «Файл – Закрыть», то
при очередном запуске AnyLogic он загрузит их в рабочую среду
и покажет в окне проектов. Эта опция весьма полезна, так как позволяет легко переносить (копировать) из одной модели в другую
элементы, фрагменты кода и готовые классы.
В начале работы с моделью дерево проекта содержит, как
минимум, два компонента: класс активного объекта Main (главный класс, агент верхнего уровня) и простой эксперимент Simulation:Main.
32
Рис. 2.7. Пример модели в AnyLogic
AnyLogic предоставляет обширный набор графических инструментов для создания визуальных 2D- и 3D-интерфейсов ваших
моделей. В их число входят различные фигуры (прямоугольники,
ломаные, текстовые метки, изображения и т. д.), элементы управления (кнопки, бегунки, текстовые поля и т. д.), элементы 3Dанимации (камеры, источники света, 3D-объекты), а также объекты визуализации данных (диаграммы и графики). В этой главе
объясняется, как рисовать 2D-фигуры, и говорится об основных
принципах анимации.
AnyLogic является инструментом динамического (имитационного) моделирования, и вполне естественно, что картинка, которую вы рисуете в графическом редакторе AnyLogic, может анимироваться. Любое свойство любой фигуры (такое, как размер,
местоположение или цвет) может изменяться во время выполнения модели, отражая динамику модели. Вы также можете динамически создавать копии фигур, прятать и отображать фигуры и даже создавать их и удалять.
Графика может использоваться не только для украшения модели или визуализации ее динамики. С помощью графики можно
33
задавать физическую или логическую конфигурацию модели. Созданные пользователем фигуры доступны объектам модели, так что
эти объекты могут вести себя в соответствии с заданной графической конфигурацией. Это используется в части основной библиотеки, отвечающей за моделирование транспортных сетей, где нарисованные пользователем узлы и пути используются для задания и
параметризации сети, по которой перемещаются заявки и ресурсы.
Графическая среда моделирования AnyLogic включает в себя
следующие элементы:
− Stock & Flow Diagrams (диаграмма потоков и накопителей) – применяется при разработке моделей при помощи метода
системной динамики;
− Statecharts (карты состояний) – в основном используется в
агентных моделях для определения поведения агентов, но также
часто используется в дискретно-событийном моделировании, например для симуляции машинных сбоев;
− Action charts (блок-схемы) – используется для построения
алгоритмов в дискретно-событийном моделировании (маршрутизация звонков) и агентном моделировании (для логики решений
агента);
− Process flowcharts (процессные диаграммы) – основная
конструкция, используемая для определения процессов в дискретно-событийном моделировании.
2.3. ARIS Simulation
Инструментальная среда ARIS [18] представляет некоторый
подход к формализации информации о деятельности предприятия
и представлению ее в виде графических моделей, удобных для понимания и анализа. Создаваемые при помощи данного средства
модели отражают существующую ситуацию на предприятии с той
или иной степенью приближенности. Степень детализации описания зависит от целей осуществляемого проекта. Построенные по
данной методологии модели могут быть использованы для анали34
за и выработки различного рода решений по реорганизации предприятия, внедрению информационной системы поддержки деятельности предприятия.
Система реализует принципы структурного анализа, когда
предприятие представляется в виде сложной системы, состоящей
из разных компонент, имеющих различного рода взаимосвязи. Таким образом, рассматриваемые инструментальные средства позволяют определить и отразить в моделях основные компоненты
предприятия, протекающих процессов, используемой информации, а также представить взаимосвязи между этими составляющими компонентами.
Создаваемые в среде ARIS модели (рис. 2.8) представляют
собой документированную совокупность знаний о системе управления на предприятии – организационной структуре предприятия,
взаимодействии между предприятием и прочими субъектами рынка, составе и структуре документов, последовательности шагов
процессов, должностных инструкциях отделов и их сотрудников.
В отличие от прочих подобных средств, ARIS хранит всю информацию в едином репозитории, что обеспечивает целостность и непротиворечивость процесса моделирования и анализа.
ARIS – архитектура интегрированных информационных систем, методология и тиражируемый программный продукт для моделирования бизнес-процессов организаций. ARIS представляет
собой векторный редактор, предназначенный для моделирования
бизнес-процессов, в том числе для создания функциональных и
поведенческих моделей информационных систем. Среда ARIS используется:
– для оценки возможностей оптимизации/модификации процессов (например, по финансовым или временным затратам);
− выявления узких мест;
− выявления на ранних стадиях и оценки критических ситуаций, связанных с нехваткой ресурсов;
− оценки потенциальных возможностей модификации моделей в реальных ситуациях;
35
− оценки различных сценариев в количественных характеристиках;
− оперативной оптимизации деловых процессов.
Модуль ARIS Simulation предоставляет данные, которые
могут быть получены только благодаря моделированию процессов во времени, такие данные нельзя извлечь из статической модели. Только исследование совместного влияния различных
факторов на некотором временном отрезке может выявить узкие
места, например, критические ситуации, возникающие в связи с
нехваткой ресурсов, или низкий процент загрузки ресурсов.
В результате динамического анализа деловых процессов могут
быть выявлены длительности периодов простоя в процессах, например, динамика времени ожидания и ситуации недостатка ресурсов.
Рис. 2.8. Пример модели в ARIS-simulation
36
Имитация позволяет обнаружить возникновение незапланированного времени ожидания в некоторых точках процесса и таким образом позволяет выявить недостаток людских ресурсов.
В таком случае функция процесса не может быть выполнена из-за
того, что все назначенные сотрудники заняты выполнением других функций.
Это ограничение может быть выявлено и устранено с помощью имитационных статистических таблиц. Можно, к примеру,
отслеживать и корректировать точки синхронизации (например,
время, когда несколько операций должны быть закончены, чтобы
можно было начать выполнение следующей операции). Такая
коррекция может быть проведена в частности за счет увеличения
количества исполнителей непосредственно перед тем моментом
времени, как могла бы возникнуть проблема их недостатка. Другой возможностью является сдвиг времени выполнения функции в
той точке процесса, где возникает задержка.
Модуль ARIS Simulation используется:
− для оценки возможностей оптимизации/модификации процессов (например, по финансовым или временным затратам);
− выявления узких мест;
− выявления на ранних стадиях критических ситуаций, связанных с нехваткой ресурсов, и оценки таких ситуаций;
− оценки потенциальных возможностей модификации моделей в реальных ситуациях;
− оценки различных сценариев в количественных характеристиках;
− оперативной оптимизации деловых процессов.
ARIS Simulation – это модуль ARIS Toolset, применяемый для
динамического (во времени) моделирования бизнес-процессов.
Цель имитационного моделирования – определение узких
мест, таких как несогласованность параллельно выполняемых подпроцессов, нехватка ресурсов, информационные разрывы. Можно
задавать различные характеристики бизнес-процессов.
37
Имитационное моделирование позволяет выявлять преимущества и недостатки предлагаемых решений. Анализируя альтернативные варианты реализации бизнес-процессов, определяя их
количественные характеристики, например, общее время выполнения процесса или коэффициенты использования трудовых ресурсов, можно отобрать вариант, наиболее эффективный с точки
зрения выделенных критериев.
2.4. Modelica
Modelica [2] – объектно ориентированный, декларативный,
мультидоменный язык моделирования для компонентно ориентированного моделирования сложных систем, в частности, содержащих механические, электрические, электронные, гидравлические, тепловые, энергетические компоненты, а также компоненты
управления и компоненты, ориентированные на отдельные процессы. Modelica (рис. 2.9, 2.10) разработана некоммерческой организацией Modelica Association.
Modelica напоминает объектно ориентированные языки программирования, такие как C++ или Java, но она отличается от них
в двух аспектах. Во-первых, Modelica является языком моделирования, а не обычным языком программирования. Классы Modelica
не компилируются в обычном смысле, но преобразуются в объекты, которые затем используются специализированным процессором. Специализированный процессор языком не определяется, хотя к нему предъявляются определенные требования.
Во-вторых, хотя классы могут содержать алгоритмические
компоненты, аналогичные операторам или блокам в языках программирования, их основное содержание составляют множества
уравнений. В терминах языка Modelica точки, уравнения не задают заранее определенную причинно-следственную связь (causality). Специализированный процессор может (и обычно должен)
манипулировать уравнениями в символьном виде, определяя по38
рядок их исполнения и то, какие компоненты в этом уравнении
определяют входы и выходы.
Язык Modelica поддерживает интеграцию с пакетами моделирования, как MATLAB и Simulink, обеспечивает поддержку
стандартов ACSL, M-file, Simnon. Также поддерживается возможность использования функций и процедур написанных на языке C.
Благодаря объектно ориентированному подходу модели, созданные на языке Modelica, легко модернизируются. Это позволяет
создавать на их основе более сложные модели. Для работы на
языке Modelica необходим компилятор, например Dymola, Omola,
который как правило, в отличие от самого языка Modelica, является коммерческим, а не свободно распространяемым.
Рис. 2.9. Пример модели в Modelica
39
Рис. 2.10. Пример модели в Modelica
2.5. Plant Simulation
Plant Simulation [1] – программная среда имитационного моделирования систем и процессов. Решение предназначено для оптимизации материалопотоков, загрузки ресурсов, логистики и метода управления для всех уровней планирования от целого производства и сети производств до отдельных линий и участков. Plant
Simulation входит в состав продуктовой линейки Tecnomatix компании Siemens PLM Software. Plant Simulation (рис. 2.11) представляет собой визуальную объектно ориентированную среду для построения имитационных моделей широкого класса систем. Модели строятся из имеющейся библиотеки стандартных объектов, в
которой есть несколько основных разделов:
40
Рис. 2.11. Пример модели в Plant Simulation
− Material Flow – объекты, предназначенные для обработки
подвижных объектов. Например: Source (источник деталей), SingleProc (единичная операция), Buffer (накопитель), Line (конвейер);
− Movable Units – подвижные объекты: Entity (деталь), Container (тара), Transporter (самодвижущийся транспорт);
− Information Flow – объекты для информационного обеспечения модели (переменные, таблицы, генераторы событий, интерфейсы обмена данными, методы для обработки событий);
− User Interface – объекты для представления данных (графики, диаграммы);
− Fluids – объекты для моделирования трубопроводов и потоков жидкостей.
Кроме стандартных объектов доступны дополнительные библиотеки, реализующие специальные объекты (краны, автоматизированные склады) или инструменты (нейронные сети, генератор
вариантов).
Все объекты обладают набором параметров (например, время операции) и поведением. Можно строить более сложные
структуры, объединяя базовые объекты и добавляя подпрограм41
мы (методы) обработки событий на языке SimTalk. Таким образом, можно создавать пользовательские библиотеки объектов и
иерархические модели.
Plant Simulation широко распространен, так как используется
во многих отраслях промышленности. Например, в автомобилестроении, производстве и поставке комплектующих для автомобилестроения, машино-, судостроении, авиационно-космической,
обрабатывающей, электронной промышленности, производстве
товаров народного потребления, логистике и других отраслях.
Plant Simulation также применяют в исследовательских целях
учебными заведениями и научными организациями.
Для просмотра готовых имитационных моделей помимо высокоэффективного двумерного представления можно использовать
трехмерную визуализацию и анимацию в реальном времени на основе формата JT (стандарт ISO; рис. 2.12).
Процесс моделирования также можно контролировать, изменяя свойства и параметры объектов модели, варьируя скорость и
временные характеристики в менеджере событий.
Рис 2.12. 3D модель производства деталей
42
2.6. Boson NetSim
Boson NetSim [3] в основном предназначен для имитации сетевых коммутаторов и маршрутизаторов Cisco. Он поставляется
вместе со всеми лабораторными работами от Boson, и нет необходимости загружать отдельные файлы и импортировать их позже в
NetSim. В NetSim есть панель истории выполнений лабораторных
работ, а также возможность быстрого просмотра лабораторных
работ, что ускоряет навигацию между работами. Весь процесс загрузки, отделки и сортировки лабораторных работ осуществляется
в самом приложении. Построение и загрузка топологий сетей могут быть легко выполнены с помощью приложения. И наоборот,
можно просматривать топологии, загруженные другими участниками сообщества, и загружать их в приложение.
Функции терминала чрезвычайно реалистичны. Boson NetSim
заимствует интуитивно понятную систему настройки от GNS3. Дополнительные модули, называемые надстройками, могут быть
включены для настройки сетевого устройства (рис. 2.13). NetSim
предоставляет панели инструментов, упрощающие настройку сетей.
Рис. 2.13. Выбор модулей для подключения
43
Главным преимуществом симулятора сетей Boson NetSim является наличие графического интерфейса и возможности отрисовки
полученной сети в главном окне дизайнера сети (Network Designer),
который позволяет создавать новые топологии сетей и редактировать существующие. В дизайнере возможно выравнивать узлы, а
также добавлять метки и комментарии, что упрощает восприятие
архитектуры. Также существуют две панели, отображающие активные устройства и соединения. Графическое представление сети позволяет быстро сориентироваться в архитектуре сети и понять его
основные компоненты. Визуальное отображение позволяет быстрее
находить узкие места или логические разрывы в сети, а также оптимизировать роутинг трафика внутри сети.
Главной особенностью интерфейса является наличие четырех
разных видов отображения, каждый из которых предназначен для
выполнения определенной функции (рис. 2.14). Boson NetSim является удобным инструментом для проектирования сетей, а также их
симуляции.
Рис. 2.14. Возможные виды интерфейса
44
2.7. Simplex3
Simplex3 [13] – универсальная система имитационного моделирования, состоящая из открытого банка моделей для различных сфер приложения, среды экспериментирования, обеспечивающей построение моделей и управление экспериментом,
обработку, анализ и представление результатов, а также собственного специализированного объектно ориентированного языка
описания моделей Simplex-MDL и языка описания эксперимента
Simplex-EDL.
Язык моделирования Simplex-MDL содержит элементы логического программирования; расширяет объектно ориентированный подход с помощью дополнительных механизмов связи
между компонентами; делает возможным иерархическое структурирование моделей и пошаговую разработку модели, собираемую из прототипов. Главным достоинством языка Simplex-MDL
является простота описания моделей сложных объектов в форме,
близкой к естественным параметрическим описаниям текущего
состояния, сенсорных связей с другими объектами и динамики
изменения состояния с помощью известных математических
средств и дискретно-событийного описания.
Одной из основных особенностей системы является описание
динамического поведения с помощью дифференциальных уравнений. Таким образом, для моделирования необходимо иметь описывающее модель дифференциальное уравнение или систему
дифференциальных уравнений. Система содержит многочисленные шаблоны, примеры моделей непрерывных и дискретных процессов массового обслуживания, производственных и транспортных систем, ситуационных моделей принятия решений.
Язык моделирования Simplex-MDL используется для компактного описания непрерывных и дискретных моделей, моделей
очередей, ситуационных и транспортных моделей в виде базовых
компонентов, их взаимосвязей и динамики, временных и условных событий, приоритетов и процедур (рис. 2.15).
45
Рис. 2.15. Интерфейс рабочего окна Simplex3
Благодаря своей универсальности система подходит для использования в академических и научных целях, а также в задачах,
объединяющих разные науки или предметные области.
2.8. Язык GPSS
Язык GPSS (General Purpose Simulation System) [9], ориентированный на процессы, разработан еще в 1961 г., но продолжает широко использоваться и реализован в ряде программ имитационного моделирования. Модель (программа) на языке GPSS
(рис. 2.16) представляет собой последовательность операторов
(их называют блоками), отображающих события, происходящие
в СМО при перемещениях транзактов. Поскольку в интерпретаторах GPSS реализуется событийный метод и в СМО может
быть одновременно много транзактов, то интерпретатор будет
попеременно исполнять разные фрагменты программы, имити46
руя продвижения транзактов в текущий момент времени до их
задержки в некоторых устройствах или очередях.
Рис. 2.16. Моделирование в GPSS World
Модель в GPSS строится из отдельных элементов – объектов.
Выделяют всего четыре вида объектов: динамические, или транзакты; статические, или оборудование; статистические; операционные блоки.
Состояние модели в любой момент времени определяется
совокупностью состояний всех объектов, составляющих модель;
смена состояний модели предполагает изменение состояния хотя
бы одного объекта. Основная особенность GPSS как системы моделирования состоит в том, что состояние модели изменяется
лишь тогда, когда динамический объект – транзакт – проходит через операционный блок. Динамический объект GPSS – транзакт –
47
во многом аналогичен динамическому объекту СМО – запросу;
вместе с тем это понятие более широкое и сложное.
Текстовый объект (текстовый файл GPSS World) предназначен для упрощения разработки больших моделей и создания библиотеки исходных текстов. То есть модель может быть разделена
на наборы операторов, представляющие собой отдельные текстовые файлы, а затем объектом «Процесс моделирования» собрана
из них. Объект «Процесс моделирования» может также создавать
новые текстовые файлы с фрагментами модели, результатами моделирования, считывать и записывать данные в текстовые файлы.
GPSS World предназначена для имитационного моделирования систем с дискретными и непрерывными процессами. Языком
моделирования в ней является язык GPSS, улучшенный встроенным языком программирования низкого уровня PLUS. Язык GPSS
построен в предположении, что модель сложной системы можно
представить совокупностью элементов и логических правил их
взаимодействия в процессе функционирования моделируемой системы. Набор абстрактных элементов, называемых объектами, небольшой. Также набор логических правил ограничен и может быть
описан стандартными операциями. Комплекс программ, описывающих функционирование объектов и выполняющих логические
операции, является основой для создания программной модели.
Кроме этого комплекса в составе GPSS World имеется программа-планировщик, выполняющая следующие функции:
− обеспечение продвижения по заданным разработчиком
маршрутам динамических объектов, называемых транзактами;
− планирование событий, происходящих в модели, путем
регистрации времени наступления каждого события и выполнения
их в нарастающей временной последовательности;
− регистрация статистической информации о функционировании модели;
− продвижение модельного времени в процессе моделирования системы.
48
Глава 3. ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТОВ
Целью проведения исследования является получение максимума информации о системе или объекте. Для этого можно
изучать модель во всевозможных режимах, при всех возможных
сочетаниях внешних и внутренних параметров, повторять каждый эксперимент множество раз (чем больше, тем точнее). Но
полученные таким образом данные будет трудно проанализировать, на что будут затрачены дополнительные ресурсы.
Для достижения компромисса между максимумом полученной информации и минимумом затраченных ресурсов пользуются
методами планирования [4; 25].
План эксперимента – совокупность данных, определяющих
количество, условия и порядок реализации опытов.
План экспериментов определяет:
− объем вычислений на компьютере;
− порядок проведения вычислений;
− способы накопления и статистической обработки результатов моделирования.
С помощью планирования экспериментов достигают таких
целей, как:
− сокращение общего времени моделирования при соблюдении требований к точности и достоверности результатов;
− увеличение информативности каждого наблюдения;
− создание структурной основы процесса исследования.
Таким образом, план эксперимента на компьютере является
методом получения необходимой информации с помощью эксперимента.
Планирование имитационного моделирования представляет
совокупность методов и приемов получения с помощью эксперимента на разработанной модели необходимой информации с учетом затрачиваемых на это ресурсов. В терминологии Р. Шеннона
разделяют стратегическое и тактическое планирование.
49
3.1. Стратегическое планирование
Стратегическое планирование – это планирование совокупности экспериментов, различающихся по исходным данным, в ходе которых должна быть получена вся необходимая информация о
системе, то есть определены все интересующие исследователя
свойства. Исходя из ранее введенных определений, можно сделать
вывод, что эти свойства описываются компонентами вектора
u K ( S wv , ) оценочной функции эффективности системы при заданных внешних условиях.
Соответственно план экспериментов позволяет разработать
экономную стратегию задания исходных данных [4; 25]:
− конечного числа вариантов структур Wa = {Wa1, …, WaN}
системы;
− подмножеств значений параметров Va = {Va1, …, VaN} для
каждого из вариантов структур;
− конечного множества элементов, определяющих характеристики внешней среды a a1 ,, aL , по отношению к которым определяется эффективность системы.
Данная стратегия должна обеспечить перекрытие всего спектра гипотез и условий, подлежащих проверке в ходе анализа вариантов системы и, с другой стороны, реализовать обозримый по
времени и экономичный по затратам стратегический план исследования путем определения наиболее информативных наборов
исходных данных для имитационной модели.
В ходе стратегического планирования решаются обычно два
типа задач:
1) объяснение соотношения между контролируемыми (входными) параметрами и выходными показателями;
2) определение сочетания параметров, которые оптимизируют в некотором смысле выходные показатели.
Объекты стратегического планирования: входные переменные (факторы); уровни факторов; выходные переменные (отклики,
реакции).
50
Рассмотрим математическую постановку задачи стратегического планирования. Ее решение базируется на использовании методов факторного и регрессионного анализа.
3.1.1. Факторный анализ
Формирование стратегического плана происходит в так называемом факторном пространстве. Факторами называются независимые входные переменные исследуемой системы, которые
влияют на ее отклик (выходные значения).
Факторное пространство – множество внешних и внутренних параметров, значения которых могут контролироваться в ходе
проведения модельного эксперимента.
Будем называть факторами x1, x2, …, xk независимые входные
переменные – характеристики исследуемой системы S и внешней
среды Ω, определяющие в своей совокупности параметры, условия
и режимы ее функционирования. Каждый из факторов имеет диапазон допустимых значений xi min xi xi max , i 1, k . Факторы могут быть количественными и качественными. Для качественных
факторов обычно вводят условную шкалу, которую используют
для формирования плана экспериментов.
Соответственно выходные переменные задачи, характеризующие изучаемые свойства системы и зависящие от основных факторов, называются откликами или реакцией системы S и обозначаются как y1, y2, …, yk.
Любой процесс или объект может быть условно изображен
следующим образом:
х1
х2
хn
ОБЪЕКТ
y1
y2
yn
где x1, x2, …, xn обозначают входные параметры (факторы), а
y1, y2, …, yn – отклики системы.
51
Каждый фактор xi может принимать в эксперименте несколько значений Li , i 1, k из заданного диапазона, называемых уровнями. Фиксированный набор уровней определяет вариант построения системы и описания внешней среды, одновременно
представляя условия проведения (полный набор исходных данных) для одного из возможных имитационных экспериментов.
Следует заметить, что факторы бывают контролируемые, то есть
задаваемые разработчиком, и наблюдаемые, не зависящие от его
воли. Каждому фиксированному набору уровней соответствует
определенная точка в многомерном (k-мерном) пространстве, называемом факторным пространством.
В ходе планирования эксперимента должны быть определены:
− необходимый набор факторов, влияющих на исследуемую
характеристику системы и описание зависимостей откликов от
факторов;
− установление количества уровней факторов и их значений
в ходе проведения эксперимента;
− определение необходимого количества и порядка проведения экспериментов, то есть составление собственно плана в виде комбинаций уровней различных факторов.
В общем случае зависимость любого отклика от факторов
y = (x1, …, xk) достаточно сложна и вид ее заранее не известен,
тем более, что речь идет о процессах имитации, имеющих вероятностный характер. Поэтому в ходе эксперимента пытаются искать
приближенную зависимость y ~
= (x1, …, xk). При поиске подобной
зависимости часто используют ее аппроксимацию в виде полинома. При этом важную роль играют методы регрессионного анализа.
3.1.2. Регрессионный анализ
Регрессией случайной величины Y на величину X в широком
смысле называется некоторая функция, приближенно представляющая статистическую зависимость
Y F ( X ) ( X ,Y ) ,
52
где F (X ) является регрессией, а ( X , Y ) – случайная ошибка такого представления. Часто регрессией случайной величины Y на X в
более узком смысле называют условное математическое ожидание
Y при фиксированном значении X: y M Y / X x f ( x) .
Регрессионный анализ – метод, обеспечивающий подбор
функциональной зависимости заданного вида, при которой экспериментальные точки ложатся на нее наилучшим образом в смысле
критерия наименьших квадратов. Задание вида кривой сводится к
определению класса функций, используемых для аппроксимации
исходных данных (например, линейные функции или полиномы
третьего порядка); собственно процедура «подбора» состоит в определении параметров (коэффициентов полиномов) функций выбранного класса. Важно отметить, что если в качестве исследуемого отклика выступает некий показатель качества системы, то
его удобно рассматривать именно как регрессию относительно
факторов. Это связано с тем, что используемые показатели качества являются среднестатистическими характеристиками поведения системы при фиксированных исходных данных, то есть в том
или ином виде условными математическими ожиданиями.
Итак, предполагаем, что в ходе экспериментов изучается
~
xi min ~
xi ~
xi max , i 1, k~ на некоторую
xi ~
влияние k факторов ~
реакцию y. При этом предполагается, что функцию реакции
^ ((x1, …, xk) с некоторой точностью можно представить в виде
~
полинома степени d 1 от k переменных
k
k
k
i 1
i 1 j1
i
y b i1 ...ik x 1i1 ... x kk b 0 b i x i b i x i x j
i1 ...ik
b
{i1 ...i k }
i1 ...i k d
i1 ...i k
i
x 1i1 ... x kk ,
~ ~
где b0 , b1 , … – искомые коэффициенты регрессии общим количе~
ством k Ck~k d . Данное соотношение всегда может быть сведено к
53
линейному полиному, если провести замену переменных xi ~xi ,
2
i 1, k ; x k~ 1 x12 , …, x2 k~1 xk~ , x2 k~ 2 x1 x2 , … и обозначений
~
~
~
b0 b0 , bi bi , i 1,k ; bk~ 1 b11 , …, b2 k~ 1 bk~k~ , b2 k~ 2 b12 и т. д.
В результате всегда можно получить полином, описывающий линейную регрессию по отношению к k-факторам:
k
k
i 1
i 0
y b0 bi xi bi xi .
При записи последней суммы вводится фиктивный фактор
x0 1. Исходная функция реакции может иметь и более сложный,
чем полиномиальный, вид. И в этом случае ее часто можно свести
к линейному виду.
Пусть общее количество экспериментов равно N. Тогда для
решения задачи надо найти оценки коэффициентов b0, …, bk по
результатам наблюдения совокупности откликов y1, …, yN , считая,
что полученные данные отвечают системе уравнений
y1 b0 x01 b1 x11 … bk xk1 1,
…
y N b0 x0 N b1 x1N … bk xkN N ,
где xij , i 0, k ; j 1, N – значения факторов в ходе экспериментов,
а j , j 1, N – случайные погрешности определения отклика,
имеющие нулевое математическое ожидание и дисперсию 2 .
Если использовать метод наименьших квадратов, то оценки
b^ i , i 0, k можно получить из условия минимизации величины
N
…
Ab0 ,
, bk ( y j b0 x0 j … bk xkj ) 2 b
o bk
j 1
Для нахождения оценок, при которых выполняются эти условия, приравняем нулю частные производные следующим образом:
N
A
A
^
^
2( y j b0 x0 j … bk xkj ) xij 0, i 0, k .
0,
bi
bi b b
j 1
i
i
54
Перепишем последнее уравнение в виде
N
k
N
x b x x y , i 0, k .
ij
j 1
^
t 0
t
tj
j 1
ij
j
Введем векторы b^ (b^ 0 , … , ^b k )T , y ( y1 , … , yN )T и матрицу
X xrs , где r 0, k – номера строк, s 1, N – номера столбцов.
Матрица XT называется матрицей планирования, а ее размерность
равна N ( k 1). В результате перехода к векторному представлению получим матричное уравнение вида
^
^
XX T b Xy , C XX T , C b Xy .
Решение этого уравнения и соответствующей системы для
^
компонентов b с учетом того, что матрица C 0 (положительно
определена), имеет вид
^
b C 1 Xy .
Значительного упрощения в вычислениях можно достичь,
если столбцы матрицы Х будут ортогональны, то есть
N
x x 0 , l r, 0 r , l k .
j 1
lj
rj
Это значит, что матрица C имеет вид
0
с00
N
T
C XX
, сii xij2 .
j 1
0
сkk
Соответственно, при ортогональной матрице X коэффициенты регрессии определяются по формуле
N
b i xij y j
^
j 1
N
x , i 0, k.
j 1
2
ij
Условие ортогональности имеет понятный физический
смысл: значения факторов в различных экспериментах должны
быть «некоррелированы», то есть в условиях проведения эксперимента они должны быть в максимальной степени линейно независимыми друг от друга. Описанные соотношения дают общее ре55
шение задачи стратегического планирования. Если теперь выполнить нормировку факторов
xi* ( xi xi 0 ) / xi , xi 0 xi min xi ; xi ( xi max xi min ) / 2 ,
то условия ортогональности будут выполняться, если уровни факторов в ходе эксперимента будут взяты симметрично относительно начала координат и равны +1 и –1.
В общем случае можно провести проверку адекватности использования линейного уравнения регрессии. Для этого применяют различного рода критерии. В частности используют критерий
Фишера (F – распределение) [15]. Он основан на вычислении статистики
F max
2
a
~ 2 ,~ 2 2 , 2
a
a
k
^
^
1 N
2
^
y
b
i xij ,
,
(
y
y
)
j
j
j
0
i
N k j 1
где y^ j – расчетное значение реакции, полученное на основе оценок; a2 – общая выборочная оценка дисперсии по всем наблюдениям. Если полученное значение статистики будет меньше порогового значения Fα, определяемого исходя из уровня значимости
α, то можно говорить об адекватности уравнения регрессии. Если
значение будет больше критической величины, то выбранный вид
зависимости не отражает рассматриваемый процесс, и следовательно, необходимо перейти к увеличению числа факторов и/или
использованию более сложного вида полинома.
3.1.3. Стандартные планы
Многие планы экспериментов в настоящее время стандартизованы. Их реализации имеются в математических пакетах программ и системах моделирования. В MATLAB функции для планирования факторных экспериментов собраны в разделе Design of
Experiments. Рассмотрим наиболее значимые из них.
Полный факторный план эксперимента
Полным факторным планом называют сочетания всех уровней факторов. Он является самым информативным и понятным по
56
структуре. Количество экспериментов при полном факторном
эксперименте (далее – ПФЭ) рассчитывается путем перемножения
всех уровней факторов:
k
N leveli ,
i 1
где leveli – уровень i-го фактора, k – количество факторов.
В табл. 3.1 представлен пример ПФЭ с тремя факторами, когда уровень первого фактора – 2, уровень второго фактора – 3, уровень третьего фактора – 2. В таком случае N 2 3 2 12 экспериментов будет проведено.
Т а б л и ц а 3.1
Матрица планирования ПФЭ
№
1
2
3
4
5
6
7
8
9
10
11
12
X0
1
1
1
1
1
1
1
1
1
1
1
1
X1
1
1
1
1
1
1
2
2
2
2
2
2
X2
1
1
2
2
3
3
1
1
2
2
3
3
X3
1
2
1
2
1
2
1
2
1
2
1
2
Y
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
Y10
Y11
Y12
Для реализации ПФЭ в MATLAB воспользуемся функцией
FULLFACT. В качестве аргумента функция получает массив
значений уровней факторов и возвращает матрицу планирования, заполненную индексами уровней факторов, а не значениями
уровней. Индексы принимают целочисленные значения больше
нуля.
57
Л и с т и н г 3.1
Формирование полного факторного плана эксперимента
clear all; %очищаем все переменные
nf = 3; %задаем количество факторов
minf = [-5 -10 0]; %задаем нижнюю границу диапазона значений
фактора
maxf = [5 10 20]; %задаем верхнюю границу диапазона значений
фактора
levels = [2 3 2]; %задаем количество уровней каждого фактора
fullplan = fullfact (levels) %формируем полный план эксперимента
N = prod(levels); %определяем количество экспериментов 2*3*2
for i = 1 : nf %цикл по количеству факторов
for j = 1 : N %цикл по количеству экспериментов
%меняем индексы уровней факторов на значения факторов
fullexp(j, i) = minf(i) + ( fullplan(j, i) - 1 )*(
maxf(i) – minf(i) ) / ( levels(i) - 1 );
end;
end;
fullexp %вывод получившейся матрицы в командное окно MATLAB
В результате выполнения листинга 3.1 в командном окне
MATLAB появятся значения матрицы планирования:
fullplan =
1
1
2
1
1
2
2
2
1
3
2
3
1
1
2
1
1
2
2
2
1
3
2
3
1
1
1
1
1
1
2
2
2
2
2
2
fullexp =
-5
-10
5
-10
-5
0
5
0
0
0
0
0
58
-5
5
-5
5
-5
5
-5
5
10
10
-10
-10
0
0
10
10
0
0
20
20
20
20
20
20
Графически матрицу планирования для трех факторов можно
представить с помощью листинга 3.2.
Л и с т и н г 3.2
Графическое изображение матрицы планирования
x = fullplan ( : , 1);
y = fullplan ( : , 2);
z = fullplan ( : , 3);
plot3 (x, y, z, ’*’);
grid on;
Каждая строка fullplan отвечает одному эксперименту, в котором факторы принимают уровни, обозначенные номерами, определяемыми соответствующими элементами массива. Далее в fullexp
формируется массив исходных данных – значений уровней факторов в заданных по условию диапазонах значений, которые будут реально использоваться в ходе эксперимента. Значения уровней факторов для проведения эксперимента в результате устанавливаются
симметрично относительно срединной точки диапазона значений.
В результате выполнения листинга 3.2 будет получено изображение (рис. 3.1).
ПФЭ является очень ресурсоемким, поэтому его применяют,
когда число факторов невелико. Для сокращения числа экспериментов и, следовательно, уменьшения затрат времени на проведение экспериментов пользуются способами, основанными на пренебрежении эффектами парных, тройных и более взаимодействий
факторов, что снижает точность моделирования, но во многих
случаях допустимо.
59
Рис. 3.1. Графическое изображение матрицы ПФЭ
Полный двухуровневый план
(двухуровневый полнофакторный план)
Полный факторный план при двух уровнях называют планом D
или планом 2k. Для такого плана число различных экспериментов N
определяется числом всех неповторяющихся комбинаций из k независимых переменных, имеющих два значения, и будет равно N 2 k .
При значении k = 3 матрица планирования имеет вид, представленный в табл. 3.2, а геометрическая интерпретация – на рис. 3.2.
x2
x2
(-,+,-)
(+,+,-)
+1
(-,+,+)
–1
+1
0
(+,+,+)
x1
(+,-,-)
–1
(-,-,-)
(-,-,+)
x3
x1
(+,-,+)
Рис. 3.2. Пример формирования матрицы планирования при k = 2 и k = 3
60
В таком случае ПФЭ с тремя факторами будет проведено
N 23 8 экспериментов (табл. 3.2) .
Т а б л и ц а 3.2
Расширенная матрица планирования
двухуровневого ПФЭ с фиктивным фактором (X0)
№
1
2
3
4
5
6
7
8
X0
+1
+1
+1
+1
+1
+1
+1
+1
X1
+1
+1
+1
+1
–1
–1
–1
–1
X2
+1
+1
–1
–1
+1
+1
–1
–1
X3
+1
–1
+1
–1
+1
–1
+1
–1
X1X2
+1
+1
–1
–1
–1
–1
+1
+1
X1X3
+1
–1
+1
–1
–1
+1
–1
+1
X2X3
+1
–1
–1
+1
+1
–1
–1
+1
X1X2X3
+1
–1
–1
+1
–1
+1
+1
–1
Y
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Для реализации полного двухуровневого факторного плана
эксперимента в MATLAB воспользуемся функцией FF2N. В качестве аргумента функция получает количество факторов и возвращает
матрицу планирования, заполненную индексами уровней факторов.
В отличие от FULLFACT индексы принимают значения 0,1 .
Л и с т и н г 3.3
Формирование полного двухуровнего факторного плана эксперимента
clear all; %очищаем все переменные
nf = 3; %задаем количество факторов
minf = [-5 -10 0]; %задаем нижнюю границу диапазона значений фактора
maxf = [5 10 20]; %задаем верхнюю границу диапазона значений фактора
ff2nplan = ff2n (nf) %формируем полный двухуровневый план
эксперимента
N = 2 ^ nf; %определяем количество экспериментов 2^3
for i = 1 : nf %цикл по количеству факторов
for j = 1 : N %цикл по количеству экспериментов
%меняем индексы уровней факторов на значения
факторов
ff2nexp(j, i) = minf(i) + ff2nplan(j, i)*
61
( maxf(i) – minf(i) );
end;
end;
ff2nexp %вывод получившейся матрицы в командное окно
MATLAB
В результате выполнения листинга 3.3 в командном окне
MATLAB появятся значения матрицы планирования:
ff2nplan =
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
ff2nexp =
-5
-10
-5
-10
-5
10
-5
10
5
-10
5
-10
5
10
5
10
0
1
0
1
0
1
0
1
0
20
0
20
0
20
0
20
ПФЭ обладает определенной избыточностью (число экспериментов в ПФЭ превосходит число коэффициентов линейной
модели регрессии) и дает возможность определять не только коэффициенты регрессии, но и соответствующие эффекты взаимодействия; для этого план ПФЭ расширяют до матрицы планирования путем добавления фиктивных переменных – столбцов произведений и т. д.
Главным недостатком полного факторного плана является
быстрый рост числа экспериментов с увеличением k числа факторов. С целью сокращения количества экспериментов можно
реализовать матрицу планирования, содержащую часть полного
62
факторного плана, то есть провести дробный факторный эксперимент (дробный план).
Дробный факторный эксперимент
Сущность дробного факторного эксперимента сводится к сокращению числа членов аппроксимирующего полинома за счет
смешивания основных факторов с теми, которые на основании априорных или интуитивных соображений слабо влияют на изучаемый процесс.
Используя матрицу планирования для двух факторов
(табл. 3.3), можно вычислить коэффициенты и представить результаты в виде уравнения
y b0 b1 x1 b2 x2 b12 x1 x2 .
Т а б л и ц а 3.3
Пример матрицы ПФЭ
№
эксперимента
1
2
3
4
1
1
1
ПФЭ
х1
х2
–1
–1
+1
–1
–1 +1
х1х2
(х3)
+1
–1
–1
1
+1
+1
х0
+1
Реакция y
y1
y2
y3
y4
Если в выбранных интервалах варьирования ограничиться
описанием системы линейной моделью, то достаточно определить
три коэффициента – b0, b1, b2. Но при этом остается одна степень
свободы, которую можно использовать для минимизации числа
испытаний. При линейном описании b12 → 0 и вектор – столбец
значений х1х2 можно использовать для нового фактора х3. В этом
случае раздельных оценок, которые имели бы место при реализации ПФЭ типа 23, уже не будет.
При использовании плана, полученного после подстановки
значений х3 = х1х2, нет также разницы между значениями х0 и
63
х1х2х3, х1 и х2х3, х2 и х1х3. В результате происходит смешивание
факторов, а получаемые оценки смещаются с учетом того, что
y b0 b1 x1 b2 x2 b3 x3 b12 x1 x2 b13 x1 x3 b23 x2 x3 b123 x1 x2 x3
b0 b1 x1 b2 x2 (b3 b12 ) x1 x2 b13 x12 x2 b23 x22 x1 b123 x32
(b0 b123 ) (b1 b23 ) x1 (b2 b13 ) x2 (b3 b12 ) x3 .
Таким образом, при таком плане вместо искомых оценок коэффициентов фактически находятся смещенные оценки
b0 b0 b123 , b1 b1 b23 , b2 b2 b13 , b3 b3 b12 ,
но этим смещением пренебрегают, считая, что при постулировании
линейной модели все парные взаимодействия незначительны (реальные b12 0 , b23 0 , b13 0 , b123 0 ). Таким образом, вместо 23
испытаний в рамках ПФЭ можно провести только 22 в рамках
дробного эксперимента.
Правило проведения дробного эксперимента формулируется
следующим образом: для сокращения числа экспериментов новому фактору присваиваются значения вектора – столбца матрицы,
принадлежащего взаимодействию, которым можно пренебречь.
Формирование дробного плана из четырех экспериментов для
оценки влияния трех факторов осуществляется на основе половины
ПФЭ типа 23. Эта половина называется полурепликой. Их может
быть две. Первая получается, если приравнять х3 и х1х2, при этом
х1х2х3 = 1 (табл. 3.4). Вторая полуреплика получается, если приравнять –х1х2 и х3, тогда х1х2х3 = –1.
Т а б л и ц а 3.4
Формирование дробных планов
№
испытания
1
2
3
4
х1
+1
–1
+1
–1
х3 = х1х2
х2
х3 х1х2х3
+1 +1
1
–1 +1
1
–1 –1
1
+1 –1
1
№
испытания
1
2
3
4
64
х1
+1
–1
+1
–1
х3 = –х1х2
х2
х3 х1х2х3
+1 –1
–1
–1 –1
–1
–1 +1
–1
+1 +1
–1
Для реализации дробного двухуровневого факторного плана
эксперимента в MATLAB воспользуемся функцией FRACFACT.
В качестве аргумента функция получает наименования факторов и
интересующих взаимодействий (смесей) факторов и возвращает
матрицу планирования, заполненную индексами уровней факторов, где индексы принимают значения 1, 1 . В листинге 3.4
представлено формирование дробного двухуровнего факторного
эксперимента, генерация фиктивного фактора x0 1 для последующего вычисления коэффициентов регрессии.
Л и с т и н г 3.4
Формирование дробного двухуровнего факторного плана эксперимента
clear all; %очищаем все переменные
nf = 3; %задаем количество факторов
minf = [-5 -10 0]; %задаем нижнюю границу диапазона значений фактора
maxf = [5 10 20]; %задаем верхнюю границу диапазона значений фактора
[fracplan, conf] = fracfact (’a b c ab ac bc abc’); %формируем полный двухуровневый план эксперимента
fracplan
conf % вывод матрицы учета взаимодействий факторов
N = 2 ^ nf; %определяем количество экспериментов
fictfact = ones(N, 1); %задаем фиктивный фактор x0
X = [fictfact fracplan]’; %добавляем фиктивный фактор к
матрице планирования
fracexp = zeros (N, nf);
for i = 1 : nf %цикл по количеству факторов
for j = 1 : N %цикл по количеству экспериментов
%меняем индексы уровней факторов на значения
факторов
fracexp(j, i) = minf(i) + ( fracplan(j, i) + 1 )*
( maxf(i) – minf(i) ) / 2;
end;
end;
fracexp %вывод получившейся матрицы в командное окно
MATLAB
В результате выполнения листинга в командном окне MATLAB появятся значения матрицы планирования:
65
fracplan =
-1
-1
-1
-1
-1
1
-1
1
-1
-1
1
1
1
-1
-1
1
-1
1
1
1
-1
1
1
1
conf =
'Term'
'X1'
'X2'
'X3'
'X4'
'X5'
'X6'
'X7'
'X1*X2'
'X1*X3'
'X1*X4'
'X1*X5'
'X1*X6'
'X1*X7'
'X2*X3'
'X2*X4'
'X2*X5'
'X2*X6'
'X2*X7'
'X3*X4'
'X3*X5'
'X3*X6'
'X3*X7'
'X4*X5'
'X4*X6'
'X4*X7'
'X5*X6'
'X5*X7'
'X6*X7'
1
1
-1
-1
-1
-1
1
1
1
-1
1
-1
-1
1
-1
1
'Generator'
'a'
'b'
'c'
'ab'
'ac'
'bc'
'abc'
'ab'
'ac'
'b'
'c'
'abc'
'bc'
'bc'
'a'
'abc'
'c'
'ac'
'abc'
'a'
'b'
'ab'
'bc'
'ac'
'c'
'ab'
'b'
'a'
1
-1
-1
1
1
-1
-1
1
-1
1
1
-1
1
-1
-1
1
'Confounding'
'X1 + X2*X4 + X3*X5 + X6*X7'
'X2 + X1*X4 + X3*X6 + X5*X7'
'X3 + X1*X5 + X2*X6 + X4*X7'
'X4 + X1*X2 + X3*X7 + X5*X6'
'X5 + X1*X3 + X2*X7 + X4*X6'
'X6 + X1*X7 + X2*X3 + X4*X5'
'X7 + X1*X6 + X2*X5 + X3*X4'
'X4 + X1*X2 + X3*X7 + X5*X6'
'X5 + X1*X3 + X2*X7 + X4*X6'
'X2 + X1*X4 + X3*X6 + X5*X7'
'X3 + X1*X5 + X2*X6 + X4*X7'
'X7 + X1*X6 + X2*X5 + X3*X4'
'X6 + X1*X7 + X2*X3 + X4*X5'
'X6 + X1*X7 + X2*X3 + X4*X5'
'X1 + X2*X4 + X3*X5 + X6*X7'
'X7 + X1*X6 + X2*X5 + X3*X4'
'X3 + X1*X5 + X2*X6 + X4*X7'
'X5 + X1*X3 + X2*X7 + X4*X6'
'X7 + X1*X6 + X2*X5 + X3*X4'
'X1 + X2*X4 + X3*X5 + X6*X7'
'X2 + X1*X4 + X3*X6 + X5*X7'
'X4 + X1*X2 + X3*X7 + X5*X6'
'X6 + X1*X7 + X2*X3 + X4*X5'
'X5 + X1*X3 + X2*X7 + X4*X6'
'X3 + X1*X5 + X2*X6 + X4*X7'
'X4 + X1*X2 + X3*X7 + X5*X6'
'X2 + X1*X4 + X3*X6 + X5*X7'
'X1 + X2*X4 + X3*X5 + X6*X7'
fracexp =
-5
-10
0
-5
-10 20
-5
10
0
-5
10 20
66
5
5
5
5
-10
0
-10 20
10
0
10 20
Матрица conf показывает, что такое планирование эксперимента не позволяет оценить главные и парные эффекты для всех
семи факторов (все смеси считаются самостоятельным фактором).
Следовательно, использование такого генератора ведет к получению главных эффектов, смешанных с парными взаимодействиями.
Кроме симметричных двухуровневых планов в теории планирования модельного эксперимента рассматриваются более сложные планы, в том числе имеющие три, четыре и более уровней.
Существует также большое количество разных способов сокращения объема экспериментов, обеспечивающих предоставление необходимой информации. Рассмотренные планы носят названия планов регрессионного анализа для многофакторного эксперимента.
Таким образом, для выбора условий испытаний в рамках
стратегического планирования необходимо прежде всего установить перечень существенных факторов, значительно влияющих на
величину искомого показателя эффективности системы. Далее из
априорных предположений выбирается вид аппроксимирующего
полинома, для которого строится матрица планирования, определяющая различные комбинации уровней факторов. С учетом анализа взаимодействий проводится рациональное усечение матрицы
с целью сокращения объема экспериментов. Полученная совокупность сочетаний уровней факторов дает полное представление о
стратегическом плане эксперимента.
3.2. Тактическое планирование
Тактическое планирование связано с определением эффективности и ресурсоемкости каждого конкретного эксперимента,
представляющего собой серию повторяющихся и однотипных испытаний (прогонов) имитационной модели в смысле задания ис67
ходных данных или комбинаций факторов, установленных в ходе
стратегического планирования.
Тактическое планирование сводится к решению двух задач:
1) определение начальных условий в той мере, в какой они
влияют на установление стационарного режима работы модели;
2) снижение погрешности (дисперсии) получаемых при моделировании оценок реакции системы при одновременном сокращении объема испытаний (числа прогонов).
Первая задача возникает вследствие искусственного характера функционирования имитационной модели. В отличие от реального объекта, который часто функционирует непрерывно, у модели всегда существует переходный период, связанный с тем, что
случайные процессы, разыгрываемые в модели, требуют определенного времени для выхода в установившийся режим. Возникает
задача снижения или исключения влияния начального периода
при проведении каждого прогона модели. При этом используют
три основных подхода:
− увеличение продолжительности каждого прогона так,
чтобы влияние переходного периода было бы заведомо незначительным;
− исключение из рассмотрения начального периода, то есть
введение этапа специальной предварительной «раскрутки» процесса имитации случайных величин и процессов;
− искусственный подбор близких к режимным начальных
условий для каждой реализации, например, использование одной
длительной реализации случайного процесса, разбиваемой для
каждой реализации на отдельные фрагменты.
При решении первой задачи тактического планирования в
рамках рассмотренных подходов используют в основном эвристические приемы, опирающиеся на знание физики разыгрываемых в имитационной модели процессов. Вторая задача тактического планирования может быть решена строго математически.
Данная задача фактически сводится к определению гарантированного объема испытаний (размера выборки, числа прогонов)
68
для получения требуемой точности оценивания компонентов отклика системы, описывающих ее эффективность. При этом будем разделять ситуацию оценки величины непрерывнозначного
показателя эффективности системы и дискретной величины, характеризующей вероятность наступления тех или иных событий,
описывающих «хорошие» и «плохие» исходы функционирования системы.
Оценка непрерывнозначной величины. Обычно в ходе моделирования в этом случае проводится оценка математического ожидания m и дисперсии D некоторого компонента реакции системы по
формулам
n
1 n ~
~
~1
y* m
u
y
D
( m ui ) 2 ,
,
**
i
n i 1
n 1 i 1
(3.1)
где ui – наблюдение исследуемой случайной величины U, полученное в i-й реализации процесса испытаний, i 1, n ; n – количество
~ , как правило, характериповторяющихся испытаний. Величина m
зует такие показатели, как среднее время выполнения системой
своих функций, средний расход энергоресурсов и т. д. Величина
~
D определяет разброс показателя относительно среднего значения, а, кроме того, часто выступает как самостоятельный показатель, например, как показатель точности наведения ракеты в цель.
Для оценок, определяемых формулами (3.1), выполняются
соотношения
Dn ,
~ ] m, 2~ M m
~ m 2
M [m
m
4
2
M4
~
2
D
~
~
O n2 ,
M
D
(3.2)
M [ D ] D, D
n
где m, D 2 – истинные математическое ожидание и дисперсия
величины U; M 4 M [(U m) 4 ] – центральный момент величины U
четвертого порядка. Следует отметить, что для гауссовской вели2
2
чины в (3.2) D~ 2 D n .
В ходе модельного эксперимента определение требуемого
объема испытаний, то есть конкретного значения n, проводится
69
на основе метода доверительных интервалов. При этом необходимо найти такой размер выборки, который гарантировал бы попадание истинных и оцениваемых значений m и/или D внутрь некоторых заранее заданных интервалов с вероятностью 1 – α. Выбор интервалов обычно целесообразно задавать исходя из следующих соотношений:
~ m d 1 ,
P m
m
~
(D
D)
d 1 , 0 d 1,
P
D
где dm, dσ – величины, устанавливающие границы интервалов,
которые обычно называют доверительными. Именно такой подход к определению и заданию точности представления случайных оценок называют методом доверительных интервалов.
3.2.1. Оценка выборочного
математического ожидания
Предположим сначала, что наблюдения (отклики), полученные в каждой реализации, распределены по гауссовскому, или
нормальному закону. При оценке математического ожидания нера~ m d эквивалентно следующему неравенству:
венство m
m
~ m) n d n
d m n (m
m~ .
~
~
D
D
D
Отсюда следует, что величину доверительного интервала
можно определить, используя t-статистику или распределение
Стьюдента с k-степенями свободы
tZ k
V,
где Z – нормально распределенная величина с нулевым средним и
единичной дисперсией; V – независимая от Z случайная kвеличина,
2
имеющая χ распределение с k-степенями свободы; V Vi 2 , причем Vi – независимые случайные величины, распределенные по нормальному закону M [Vi ] 0, M [Vi 2 ] 1, i 1, k. Можно увидеть, что
70
~ m) n
(m
m
~
D
подчиняется распределению Стьюдента с n – 1 степенями свобо~ m ] 0;
ды. Доказательство вытекает из того, что M [m
2
~
~ m 2 2 n , а величина D
M m
(n 1) 2 имеет χ распределе-
ние с n – 1 степенями свободы. Уменьшение степеней свободы
~
~ в выражении для D
связано с тем, что для разностей u m
имеi
n
~ ) 0 . Отсюда получим
ется одна линейная связь (ui m
~ m)
(m
2
i 1
n 1
~ m) n
(m
.
~
~
D(n 1)
D
1
n
2
Таким образом,
~ m) n d n
(m
dm n
d n
m
P
S
S
n 1
~
~
~ n 1 ~
D
D
D
D
d n
2S n 1 m ~ 1 1 ,
D
где Sn1 (t ) – функция распределения Стьюдента (t-распределения).
Последнее выражение получено исходя из следующей цепочки преобразований:
t
t
t
S n1 (t ) S n1 (t ) 0,5 f (u )du 0,5 f (u )du 2 f (u )du
0
0
0
t
t
2 f (u )du 0,5 2 f (u )du 1.
~
Отсюда получаем конечное уравнение, связывающее d m , D
и n,
~
tkp2 ( ) D
dm n
1
t
S
(
)
1
t
(
)
n
,
,
,
kp
n 1
kp
2
~
2
d
D
m
71
где величина tkp ( ) вычисляется по специальным таблицам, исходя из заданного значения α. Реальное использование полученных
соотношений основано на проведении пробной оценки доверительного интервала или введении правила автоматической остановки процесса имитации до получения интересующей точности.
Необходимо отметить, что при n 30 t-распределение аппроксимируется гауссовским распределением. При этом
2
t
x
1
S n 1 (t ) 0,5 Ф0 (t ), Ф0 (t )
e 2 dx ,
2 0
dm n
1 1
(
)
t
Ф
.
0
kp
~
2
D
В общем случае предположение о нормальности распределения наблюдений (откликов) в каждой реализации может быть неверным. В этом случае для решения задачи можно использовать
неравенство Чебышева
2Ф0 (tkp ( )) 1 ,
~ m d m~ , 2~ .
P m
m
m
n
d m2
2
2
~
Здесь можно с высокой точностью заменить 2 на D , тогда
получим окончательно следующие уравнения:
~
~
ndm2 D, n D d m2 .
3.2.2. Оценка выборочной дисперсии
Рассмотрим теперь задачу определения уравнения, связывающего доверительный интервал и размер выборки, исходя из
требуемой точности определения дисперсии. Соответствующее
~
неравенство D D D d можно переписать в виде
~
D
(3.3)
(n 1)(1 d ) (n 1) (n 1)(1 d ), 0 d 1.
D
~
Величина (n 1) D D , как уже отмечалось, подчиняется 2
распределению с n – 1 степенями свободы. Если n достаточно ве-
72
лико, то ее можно рассматривать как распределенную по нормальному закону с параметрами mx n 1 , Dx 2(n 1) .
Соответственно можно переписать неравенство (3.3) в виде
~
(n 1) D
(n 1) d (n 1)
d (n 1)
D
,
2(n 1)
2(n 1)
2(n 1)
~
D
где величина W (n 1) (n 1) 2(n 1) распределена по
D
стандартному гауссовскому закону. Отсюда
~
D
D
d (n 1)
P
d P W
2Ф0 (tkp ( )) 1 .
D
2(n 1)
Окончательно получим следующие уравнения:
2tkp2 ( )
d (n 1)
1 1
.
tkp ( ) Ф0
, d tkp ( ) 2 /( n 1) , n 1
2
d
2(n 1)
2
3.2.3. Оценка вероятности события
Рассмотрим теперь часто встречающийся случай, когда в ходе
имитационного моделирования оценивают некоторые вероятностные или процентные соотношения для компонентов отклика, описывающих наступление того или иного события (исхода функционирования системы). В этом случае случайная величина U в каждой реализации может принимать два значения: единица с вероятностью «хорошего» исхода p и ноль с вероятностью «плохого» исхода 1 – p. В качестве оценки вероятности p выступает величина
1 n
e
~
y* p ui ,
n
n i 1
где e – количество интересующих исходов в n имитируемых реализациях. Требуется найти число испытаний, при котором
P ~
p p d 1,
(3.4)
p
где dp – доверительный интервал. Величина е, вообще говоря,
подчиняется биномиальному распределению
73
n!
.
e!(n e)!
Однако уже при np 5 и n(1 p) 5 или np(1 p) 25 можно
пользоваться гауссовской аппроксимацией закона распределения e
с параметрами me np , De np (1 p ). Отсюда можно переписать
исходное неравенство ~p p d p в виде
e ~ Cne p e (1 p ) ne, Cne
dp n
p (1 p )
e np
np (1 p )
dp n
p (1 p )
.
(3.5)
Таким образом, получим, что соотношение (3.4) эквивалентно следующему:
e np
dp n
~
P p p d p P
2Ф0 (tkp ( )) 1 ,
np
(
1
p
)
p
(
1
p
)
и уравнение, связывающее dp и n, имеет вид
d p tkp ( ) p(1 p) n , n
tkp2 ( )
p(1 p) .
2
d p2
Для того чтобы избавиться от неизвестного значения p, можно
заменить произведение p(1 p) на величину max p (1 p ) 0,25.
p
Тогда окончательно получим выражение для гарантированных значений dp и n в (3.4), (3.5)
tkp ( ) г tkp2 ( )
г
, n
.
dp
2
4
d
2 n
p
Общий подход к оптимизации процесса имитации в ходе тактического планирования – нахождение уравнений, связывающих
доверительные интервалы, т. е. требуемая точность оценки величин
в ходе имитационного моделирования с необходимым объемом выборки. На основе использования определенных приемов и приближений для законов распределения оценок в этих уравнениях при
этом должны исключаться значения статистических характеристик
этих законов, которые являются недоступными исследователю.
74
Глава 4. СТОХАСТИЧЕСКИЕ МОДЕЛИ
Стохастические математические модели применяются для
описания объектов, процессов и систем, в которых характер изменений значений входных, промежуточных или выходных переменных носит случайный характер, – учитывающих действие случайных факторов. Случайные воздействия в данном случае могут
быть как внешними (воздействие на систему), так и внутренними.
В реальном мире не существует закрытых систем, поэтому характеристики объектов системы меняются под действием случайных
внешних воздействий, вследствие чего и отклики системы носят
случайный характер.
В результате проведения экспериментов со стохастической
моделью можно с достаточной степенью вероятности сказать, какое значение будет принимать исследуемый показатель эффективности при изменении факторов. Детерминированные модели
не учитывают действие случайных факторов и могут рассматриваться как частный случай стохастических моделей в условиях отсутствия случайности. Точные величины и зависимости, используемые в детерминированных моделях, являются средними значениями (математическими ожиданиями) реальных случайных величин, а результаты экспериментов, полученные с помощью детерминированных моделей, будут представлять собой математическое ожидание реальных характеристик. При этом конкретные
данные для конкретных систем могут значительно отличаться от
математического ожидания. Для получения более точных результатов пользуются стохастическими моделями.
Целью исследования стохастической модели является нахождение характеристик системы в стационарном состоянии – состоянии объекта, когда время моделирования стремится к бесконечности.
Расчет стохастических систем осуществляется с помощью
статистических методов, а статистические свойства случайной ве75
личины определяются по ее функции распределения и плотности
распределения вероятностей.
4.1. Системы передачи информации
В современном мире все более распространенными становятся беспроводные устройства (аудиосистемы, наушники, часы) и
системы умного дома. Функционирование всех этих устройств
тесно связано с передачей информации.
4.1.1. Модель стандартной системы
передачи информации
Под системой передачи информации понимается совокупность технических средств, обеспечивающих возможность передачи сообщений от источника к получателю (рис. 4.1). Информация (сообщение) передается от некоторого источника к приемнику
по некоторому каналу связи между ними.
Сообщение – информация, выраженная в определенной форме и подлежащая передаче. В качестве сообщения может выступать звук, изображение и т. д.
Источник сообщения – это совокупность источника информации (далее – ИИ) и кодера источника (далее – КИ) – преобразователя сообщения (далее – ПрС). ИИ – это объект, способный
накапливать, хранить, преобразовывать и воспроизводить информацию в виде сообщений. В качестве ИИ могут выступать
люди, датчики, различные устройства – клавиатура, видеокамера
и т. д. Для передачи сообщения его нужно преобразовать в сигнал. Для этого используется КИ. Он преобразует сообщение в
электрический сигнал и кодирует его, например, посредством нулей и единиц.
Передающее устройство состоит из кодера канала (далее –
КК), или кодирующего устройства (далее – КУ), и модулятора
(далее – М) и осуществляет преобразование сообщений в сигналы,
удобные для прохождения по конкретной линии связи.
76
Рис. 4.1. Модель системы передачи информации
КУ осуществляет помехоустойчивое кодирование. Следует
различать КИ и КК. КИ преобразует вид сообщения и старается
максимально сжать сообщение, а КК наоборот добавляет избыточность в сообщение – дополнительные контрольные разряды – для обнаружения и исправления ошибок при передаче информации по каналу связи. В передающем устройстве полезный
низкочастотный сигнал преобразуется в высокочастотный, способный передаваться по каналу связи. Такое преобразование
осуществляется в модуляторе (преобразует параметры несущего сигнала в соответствии с изменениями передаваемого сигнала). По виду управляемых параметров модуляторы бывают амплитудные, частотные, фазовые, квадратурные, однополосные
и др.
При передаче сообщения по линии связи (далее – ЛС) могут возникать различные помехи, в результате чего сигнал до
передачи отличается по форме от сигнала после передачи. ЛС –
это физическая среда, связывающая источник сигнала и приемник. Различают проводные (воздушные), кабельные и беспроводные каналы связи.
77
Приемное устройство обрабатывает зашумленный сигнал:
отделяет полезный сигнал от помехи и восстанавливает по нему
переданное сообщение. Принимаемый полезный высокочастотный сигнал фильтруется и усиливается линейными каскадами (далее – ЛК) приемного устройства и поступает на демодулятор (далее – ДМ), в котором высокочастотный сигнал преобразуется в
низкочастотный. В декодирующем устройстве (далее – ДКУ) низкочастотный сигнал преобразуется в кодовую комбинацию символов первичного сигнала. Также ДКУ обнаруживает и исправляет
искаженные символы сигнала. Эта операция осуществляется в
случае использования на передающей стороне помехоустойчивого
кодирования. Таким образом, на выходе ДКУ имеется кодовая
комбинация символов первичного сигнала, соответствующая передаваемому сообщению.
Демодуляция и декодирование не являются обратными
операциями модуляции и кодирования. В результате помех и искажения передаваемого сигнала задачей приемного устройства
является принятие решения о том, какое из возможных сообщений было передано источником. Для решения данной задачи в
приемном устройстве существует решающая схема, которая анализирует сигнал с учетом сведений об источнике, помехоустойчивом коде и виде модуляции. В различных системах роль решающей схемы может выполнять ДМ, совокупность ДМ и ДКУ
или человек.
Детектор сигнала (далее – ДС) преобразует кодовую комбинацию символов первичного сигнала в соответствующее сообщение, которое поступает на вход получателя информации (далее –
ПИ), которому была адресована исходная информация.
Совокупность средств, предназначенных для передачи сообщений (передатчик, приемник, линия связи), называют каналом
связи.
Важнейшей целью передачи информации является обеспечение соответствия принятого сообщения переданному. Мера такого
78
соответствия называется верностью передачи. При передаче непрерывных первичных сигналов такой мерой является среднеквадратичная ошибка, а в случае передачи дискретных сообщений – вероятность ошибки – отношение ошибочно принятых первичных сигналов к общему числу переданных сигналов.
4.1.2. Моделирование системы передачи информации
в MATLAB. Знакомство с Communications Toolbox
Для создания модели системы передачи информации можно
воспользоваться системой имитационного блочного моделирования
в MATLAB – Simulink, которая позволяет обойтись без использования языка MATLAB в явном виде и создавать модели из стандартных блоков в графическом виде. Для разработки, моделирования и
анализа систем связи в Simulink существует набор инструментов и
алгоритмов, объединенных в Communication System Toolbox.
Для создания новой модели Simulink (S-модели) необходимо
на вкладке HOME панели инструментов MATLAB нажать New и далее Simulink Model (рис. 4.2). Если такого пункта нет в выпадающем
списке, значит, пакет Simulink не был установлен на вашем компьютере и для дальнейшего использования необходимо его установить.
Рис. 4.2. Создание модели Simulink
79
Через некоторое время после нажатия вы увидите новое пустое окно Untitled (рис. 4.3), где будет происходить сборка Sмодели.
Рис. 4.3. Вид рабочей области для создания модели Simulink:
1 – строка меню; 2 – панель инструментов; 3 – рабочая область
Окно имеет строку меню, панель инструментов и рабочую
область, где осуществляется сборка модели. Строка меню содержит следующие пункты:
File – операции создания новой модели, открытия и закрытия
модели, сохранения и экспорта модели;
Edit – операции отмены и повтора действия, копирования,
вставки и поиска;
View – содержит операции открытия Library Browser и Model
Explorer, управляет внешним видом окна модели;
Display – инструменты для обнаружения ошибок в коде или
модели;
Diagram – операции работы с блоками, создания, просмотра
подсистем;
80
Simulation – операции настройки и запуска моделирования;
Analysis – инструменты для анализа модели;
Code – инструменты для генерации кода;
Tools – операции открытия Library Browser и Model Explorer,
обеспечивает доступ к инструментальным средствам;
Help – обеспечивает доступ к справочной системе MATLAB.
Панель инструментов предназначена для быстрого доступа к
основным функциям с помощью кнопок (рис. 4.4). Панель инструментов окна создания Simulink-модели содержит следующие
функции:
1 – New model (Model, Chart, Library) – открывает новое пустое окно для создания модели;
2 – Save – сохранение модели как *.slx или *.mdl файл;
3 – Print – печать модели;
4 – Back – переход к предыдущей модели;
5 – Forward – переход к следующей модели;
6 – Up to Parent – переход к родительской модели (на более
высокий уровень агрегации);
7 – Library Browser – запуск библиотеки Simulink;
8 – Model Configuration Parameters – открытие окна для задания параметров модели;
9 – Model Explorer – открытие окна с обзором используемых
модельных переменных и их характеристик;
10 – Run – запуск моделирования;
11 – Stop – остановка процесса моделирования;
12 – Record & Inspect Simulation Output – запись и просмотр
выходных значений блоков;
13 – Simulation Stop Time – задание длительности моделирования;
Рис. 4.4. Панель инструментов модели Simulink
81
14 – Simulation Mode – выбор режима моделирования;
15 – Model Advisor – проверка модели на наличие условий
моделирования и параметров конфигурации, которые могут привести к неточному или неэффективному моделированию системы,
представленной моделью.
Перед началом создания S-модели необходимо осуществить
установку общих параметров с помощь вызова Model Configuration Parameters на панели инструментов (рис. 4.4, поз. 8). В результате выбора соответствующей кнопки появится диалоговое
окно установки параметров моделирования (рис. 4.5). Это окно
имеет ряд вкладок, однако основной для нас сейчас является
вкладка Solver (Решатель), которая открывается по умолчанию.
Эта вкладка позволяет установить параметры решающего устройства системы моделирования Simulink. Элементы управления на
этой вкладке собраны в четыре группы.
Рис. 4.5. Окно настройки параметров моделирования Simulink
82
Simulation time – относится к числу важнейших параметров
решателя и задается начальным (Start time) и конечным (Stop time)
значениями модельного времени.
Solver options – задает опции решателя. Type – тип решателя
и метод моделирования. Выделяют решатели Fixed step – с фиксированным шагом и Variable step – с переменным шагом. Solver –
задает тип решателя. Решатели реализуют следующие методы решения систем дифференциальных уравнений (далее – ДУ):
− ode45 одношаговые явные методы Рунге – Кутта 4-го и
5-го порядков в модификации Дорманда и Принца. Это классический метод, рекомендуемый для начальной пробы решения.
Во многих случаях он дает хорошие результаты, если система
решаемых уравнений нежесткая;
− ode23 одношаговые явные методы Рунге – Кутта 2-го и
3-го порядков в модификации Богацки и Шампина. При умеренной жесткости системы обыкновенных ДУ и низких требованиях к
точности этот метод может дать выигрыш в скорости решения;
− ode113 многошаговый метод Адамса – Башворта – Мултона
переменного порядка класса предиктор-корректор. Это адаптивный
метод, который может обеспечить высокую точность решения;
− ode15s многошаговый метод переменного порядка (от 1 до 5,
по умолчанию 5), использующий формулы численного «дифференцирования назад». Это адаптивный метод, его стоит применять, если
решатель ode45 не обеспечивает решения и система ДУ жесткая;
− ode23s одношаговый метод, использующий модифицированную формулу Розенброка 2-го порядка. Может обеспечить высокую скорость вычислений при низкой точности решения жесткой системы ДУ;
− ode23t неявный метод трапеций с интерполяцией. Этот метод дает хорошие результаты при решении задач, описывающих
колебательные системы с почти гармоническим выходным сигналом. При умеренно жестких системах ДУ может дать высокую
точность решения;
83
− ode23tb неявный метод Рунге – Кутта в начале решения и
метод, использующий формулы «дифференцирования назад» 2-го
порядка в последующем. Несмотря на сравнительно низкую точность, этот метод может оказаться более эффективным, чем ode15s.
Все решатели могут решать системы уравнений явного вида
y′ = F(t, y), причем для решения жестких систем уравнений рекомендуется использовать только специальные решатели ode15s,
ode23s, ode23t, ode23tb.
При выборе переменного шага моделирования далее возможно задать следующие значения:
– max step size – максимальное значение шага моделирования;
– min step size – минимальное значение шага моделирования;
– initial step size – начальный шаг моделирования.
Для этих параметров по умолчанию устанавливается значение Auto (выбрать автоматически), но это значение можно изменять и устанавливать требуемое для данной задачи.
Relative tolerance – относительная погрешность моделирования.
Absolute tolerance – абсолютная погрешность моделирования.
Для постоянного шага моделирования необходимо задать
Fixed step size – значение фиксированного шага моделирования
(при значении Auto устанавливается шаг, заданный источником
сигнала, и если источников несколько, устанавливается наименьший шаг моделирования).
Окончательная настройка параметров в рамках указанных
опций осуществляется после сборки и согласования всех элементов модели.
Сборка S-модели заключается в перетаскивании необходимых блоков из окна библиотеки (Simulink Library Browser) на рабочую область и их последующем соединении. Для доступа к
библиотеке элементов (рис. 4.6) можно воспользоваться следующими пунктами строки меню: View и Tools, – или соответствующей кнопкой на панели инструментов (рис. 4.4, поз. 7). Слева
84
в раскрывшемся окне перечислен список библиотек блоков. После
нажатия на библиотеку в рабочей области справа появятся блоки
выбранной библиотеки. Также можно воспользоваться поиском
блоков по имени.
Для моделирования системы передачи информации необходимо вспомнить основные составляющие системы: источник полезного сигнала; передающее устройство (модулятор); линия передачи; аддитивные помехи; усилитель сигнала; демодулятор; декодер источника; приемник сигнала. В качестве источника полезного сигнала могут выступать различные блоки из стандартной
библиотеки Simulink → Sources (рис. 4.7).
Рис. 4.6. Окно библиотеки Simulink
85
Рис. 4.7. Окно источников сигнала библиотеки Simulink
Библиотека содержит множество различных источников сигнала:
Band-Limited White Noise – генератор белого шума в непрерывной системе;
Chirp Signal – генератор синусоидального сигнала с растущей частотой;
Clock – отображает и предоставляет время моделирования;
Constant – генератор константного значения;
Counter Free-Running – счетчик, растущий от нуля и до максимально возможного значения для заданного количества бит и
обращающийся в ноль в результате переполнения;
86
Counter Limited – счетчик, растущий от нуля и до максимально возможного значения и обращающийся в ноль в результате переполнения;
Digital Clock – выводит текущее время моделирования при
заданном интервале дискретизации;
Enumerated Constant – выводит перечислимую константу,
указанную в параметре Value;
From File – загружает данные из MAT-файла;
From Workspace – загружает данные из рабочей области
MATLAB;
Ground – «заземление» неподключенных входных портов;
Inport – создает входной порт для подсистемы или модели;
Pulse Generator – генератор прямоугольных импульсов с периодическими интервалами;
Ramp – генератор непрерывно усиливающегося или затухающего сигнала;
Random Number – генератор нормально распределенных случайных значений;
Repeating Sequence – генератор периодического сигнала произвольной формы;
Repeating Sequence Interpolated – выводит периодическую
дискретную последовательность, с использованием интерполяции
между точками данных;
Repeating Sequence Stair – выводит периодическую дискретную последовательность;
Signal Builder – генератор взаимозаменяемых групп кусочнолинейных сигналов;
Signal Generator – генератор различных сигналов;
Sine Wave – генератор синусоидального сигнала;
Step – генератор ступенчатой функции;
Uniform Random Number – генератор равномерно распределенных случайных значений.
87
Данные блоки могут использоваться в контексте нашей задачи не только в качестве генератора полезного сигнала, но и аддитивных помех.
Блоки модуляторов и демодуляторов находятся в Communications System Toolbox → Modulation. Разделяют аналоговую и цифровую модуляцию. Существующие блоки аналоговой модуляции
представлены во вкладке Analog Passband Modulation (рис. 4.8).
Communications Toolbox поддерживает множество типов аналоговой и цифровой модуляции. Ниже представлены типы аналоговой модуляции с описанием.
DSB AM Modulation/Demodulation – блоки двухполосной амплитудной модуляции.
Рис. 4.8. Окно модуляции библиотеки Simulink
88
DSBSC AM Modulation/Demodulation – блоки двухполосной
амплитудной модуляции с подавленной несущей.
SSB AM Modulation/Demodulation – блоки однополосной амплитудной модуляции/демодуляции, с фильтром Гильберта.
FM Modulation/Demodulation – блоки частотной модуляции.
PM Modulation/Demodulation – блоки фазовой модуляции.
Поддерживаемые типы цифровой модуляции: QAM, PAM,
CPFSK, CPM, GMSK, MSK, FSK, PSK, BPSK, DBPSK, OQPSK,
DQPSK, DPSK, TCM.
Блоки модуляции и демодуляции могут требовать дискретность остальных блоков модели. Для этого необходимо установить значение Sample Time в блоках (например, 1/100).
Рис. 4.9. Блоки дискретизации из стандартной библиотеки Simulink
89
Рис. 4.10. Блоки задания параметров сигнала
из стандартной библиотеки Simulink
При работе с компьютерными моделями необходимо понимать, что цифровой сигнал – это аналоговый непрерывный сигнал,
дискретизированный по времени и квантованный по уровню. Поэтому для преобразования исходного аналогового сигнала в цифровой необходимо провести его дискретизацию по времени и
квантование по уровню. Дискретизация – это процесс выбора некоторого шага по времени и определении значений сигнала только
в моменты времени, кратные шагу дискретизации. Таким образом,
непрерывный сигнал преобразуется в ступенчатую функцию.
Квантование – это процесс представления значений сигнала конечным числом уровней (округление точных значений сигнала,
например, до целых значений).
90
Для выполнения дискретизации сигнала в Simulink необходимо воспользоваться блоками Zero Order Hold (рис. 4.9), Rate
Transition из стандартной библиотеки Simulink (рис. 4.10) или
блоками Quantizers из библиотеки DSP System Toolbox (рис. 4.11).
Блок Zero Order Hold выполняет экстраполяцию входного сигнала на интервале дискретизации: фиксирует значение входного
сигнала в начале интервала дискретизации и поддерживает это
значение до окончания интервала дискретизации. Далее значение
сигнала скачком меняется до величины на следующем интервале
дискретизации.
Рис. 4.11. Блоки квантования сигнала
из библиотеки DSP System Toolbox
91
В результате модуляции происходит затухание сигнала, поэтому необходимо поставить усилитель сигнала для его возврата к
изначальным значениям. Для этого можно воспользоваться блоком Gain из Math Operations стандартной библиотеки Simulink,
который увеличивает амплитуду сигнала во столько раз, сколько
вы укажите (рис. 4.12).
Рис. 4.12. Блоки выполнения математических операций
из стандартной библиотеки Simulink
На рис. 4.13 представлен пример модели генерации сигнала,
его усиления, дискретизации и зашумления.
Для отображения вида сигнала на каждом этапе моделирования можно воспользоваться осциллографом (блок Scope), в на92
стройках которого возможно варьировать количество необходимых входов (осей – number of axes). Результаты моделирования
представлены на рис. 4.14.
Рис. 4.13. Модель генерации полезного сигнала,
его дискретизации и зашумления
Рис. 4.14. Вид полученных в результате моделирования сигналов
93
Существует несколько способов моделирования линии передачи сообщения. Можно воспользоваться стандартными блоками
генерации каналов связи из библиотеки Communications System
Toolbox (рис. 4.15).
Рис. 4.15. Блоки генерации каналов связи
из библиотеки Communications System Toolbox
AWGN Channel – канал с аддитивным белым Гауссовским
шумом.
Binary Symmetric Channel – симметричный канал для передачи двоичных данных. Создает ошибки в последовательности битов. Блок принимает скалярные величины или векторы на входе и
формирует для каждого элемента с определенной вероятностью
ошибки в виде замены входного двоичного символа на противоположный: 1 на 0 и 0 на 1. Параметр Error probability задает вероятность ошибки в каждом из символов, а Initial seed представляет
собой начальное значение генератора случайных чисел.
94
Multipath Rayleigh Fading Channel – канал с многолучевым
замиранием, распределенным по Рэлею.
Multipath Rician Fading Channel – канал с замиранием, распределенным по Райсу.
На рис. 4.16 представлен пример модели с использованием
блоков генерации сигнала, модуляции, добавлении случайного
шума и демодуляции. На рис. 4.17–4.18 – настройки источника
сигнала, модулятора, канала связи и демодулятора соответственно.
Для отображения вида сигнала на каждом этапе моделирования пользуемся осциллографом (блок Scope). В настройках данного блока можно численно задать количество необходимых входов
(осей – number of axes). На рис. 4.19 представлен вид сигнала на
каждом этапе передачи информации. Как видно из полученных
результатов, демодулированный сигнал имеет вид, схожий с видом полезного сигнала, но немного зашумлен.
Рис. 4.16. Пример простейшей системы
передачи информации
95
Рис. 4.17. Параметры источника сигнала и модулятора сигнала
Рис. 4.18. Параметры канала передачи
и параметры демодулятора сигнала
96
В стандартной библиотеке Simulink существует класс блоков,
позволяющих реализовывать пользовательские функции (UserDefined Functions, рис. 4.20).
Рис. 4.19. Вид исходного, модулированного,
зашумленного и демодулированного синала
Рис. 4.20. Пользовательские функции
97
Другим способом моделирования канала передачи сигнала
(и любого другого блока) является использование пользовательских функций и блока Fcn с последующим добавлением аддитивного белого Гауссовского шума. В блоке Fcn необходимо задать выражение для преобразования сигнала. Входной сигнал
для данного блока обозначается как u, а в поле Expression необходимо задать зависимость выходного сигнала от входного.
Также в качестве выражений в данном блоке могут использоваться операторы сравнения, тогда на выходе будем получать
«0» в случае ложного значения выражения или «1» – в случае
истинного значения (рис. 4.21).
В качестве приемника сигнала можно использовать любой
из блоков (рис. 4.22). Блок To Workspace позволяет передать результаты моделирования в рабочую область MATLAB в переменную, имя которой будет указано в параметрах блока. Использование данного блока удобно для дальнейшей оценки качества полученной модели, для чего необходимо передавать в
рабочую область как исходный (полезный) сигнал, так и полученный для дальнейшей обработки.
Другим способом оценки качества полученного сигнала является использование блока Error Rate Calculation библиотеки
Communications System Toolbox блока Comm Sinks (рис. 4.23).
Данный блок выдает в результате три значения: вероятность
ошибки, число ошибочных бит и число обработанных бит. Для
отображения данных значений необходимо к выходу блока Error
Rate Calculation подключить блок Display. Значения будут отображены вертикально, поэтому для корректного отображения
необходимо растянуть блок Display по горизонтали.
98
Рис. 4.21. Параметры блока Fcn
Рис. 4.22. Виды приемников сигнала
99
Рис. 4.23. Блоки приема сигнала библиотеки Communications System Toolbox
4.2. Системы массового обслуживания
В последнее время в самых разных областях деятельности
человека возникает необходимость решения задач, связанных с
работой СМО.
Под СМО принято понимать динамическую систему, предназначенную для эффективного обслуживания потока заявок и содержащую один или несколько каналов, обслуживающих заявки,
поступающие на вход системы, и накопитель, в который попадают
заявки, ожидающие обслуживания, в случае занятости каналов обслуживания.
В качестве примеров таких систем могут выступать ремонтные мастерские, медицинские учреждения, торговые предприятия,
билетные кассы и др. Изучение реальных систем проводится с помощью имитационного моделирования с применением метода
100
статистических испытаний. Рассматриваемые далее модели и схемы будут относиться к классу непрерывно-стохастических моделей (Q-схемы).
4.2.1. Обобщенная схема системы массового обслуживания.
Параметры и характеристики
При исследовании СМО предполагаются известными некоторые свойства системы – параметры СМО. В результате исследования определяются характеристики СМО, являющиеся функцией
от параметров СМО.
На вход СМО поступают заявки на обслуживание, образующие входящий поток СМО. Далее заявка обрабатывается в
канале обслуживания и выходит из системы. В случае занятости
серверов (обработчиков заявок) заявка поступает в накопитель и
образует очередь. Существуют различные способы организации
очередей. Наиболее известные из них: FIFO (First in first out –
первый пришел – первый ушел), LIFO (Last in first out – последний пришел – первый ушел), Random Order (случайный порядок),
Priority Queue (приоритетная очередь – каждой заявке присваивается некоторой значение приоритета, по которому будет проходить организация очереди). В зависимости от числа мест в очереди различают СМО с отказами и СМО без отказов. В СМО с отказами число мест в очереди конечно, в результате чего существует вероятность занятости всех каналов и очереди и получения
отказа в обслуживании.
На рис. 4.24 представлена обобщенная схема СМО. Пунктирной линией от входного потока на рисунке обозначен случай
отказа в обслуживании в результате переполнения очереди, а от
очереди – в результате превышения времени ожидания.
Таким образом, к параметрам СМО можно отнести интенсивность потока заявок, интенсивность потока обслуживания, количество обслуживающих серверов, максимальную длину очереди, способ организации очереди.
101
K1
Очередь
Входной
поток
K2
Kn
Обслуженные
заявки
Не обслуженные
заявки
Рис. 4.24. Обобщенная схема СМО
Для описания характеристик СМО при моделировании пользуются нотацией Кендалла, которая в обобщенном виде записывается как A/S/c/K/N/D, где A обозначает распределение временных
промежутков между поступающими заявками, S – распределение
времени обслуживания, c – количество каналов обслуживания, K –
максимальную длину очереди, N – количество сущностей поступающих на вход системы, D – способ организации очереди. Подробное описание обозначений нотации Кендалла представлено
в прил. Б.
Под показателями эффективности СМО понимаются количественные показатели, характеризующие выполнение СМО возложенных на нее функций, на основе которых может быть сделан
вывод об эффективности построенной системы со всеми ее ограничениями. В качестве таких показателей могут выступать:
− вероятность обслуживания;
− вероятность потери;
− среднее время ожидания;
− среднее время нахождения заявки в системе;
− средняя длина очереди;
− среднее число занятых каналов;
− среднее число заявок в системе.
102
Вероятность обслуживания характеризует вероятность того,
что произвольно выбранная заявка из входного потока с интенсивностью вх окажется в потоке обслуженных заявок с интенсивностью о :
Pоб о .
вх
Вероятность потери характеризует вероятность того, что произвольно выбранная заявка из входного потока с интенсивностью
вх окажется в потоке потерянных заявок с интенсивностью п :
о
1 0 1 Роб .
Pп п вх
вх
вх
вх
Среднее время ожидания заявки в очереди – математическое
ожидание времени ожидания.
Среднее время нахождения заявки в системе – математическое ожидание времени пребывания заявки в системе. Время пребывания заявки в системе равно сумме времени ожидания и времени обслуживания.
Средняя длина очереди – математическое ожидание числа
заявок, находящихся в очереди. Для систем без потерь средняя
длина очереди связана со средним временем ожидания:
l t ож вх .
Среднее число занятых каналов обслуживания равно математическому ожиданию числа занятых обслуживанием каналов, характеризующему степень загрузки обслуживающей системы. Для
определения степени загрузки необходимо знать вероятность загрузки Рзаг – вероятность того, что в определенный момент времени обслуживанием заняты все каналы m :
K Pзаг m.
Cреднее число заявок в системе определяется математическим ожиданием числа заявок в очереди и канале обслуживания в
одно время, и может быть рассчитано как сумма средней длины
очереди и среднего числа занятых каналов обслуживания.
103
4.2.2. Моделирование простейших
систем массового обслуживания в MATLAB
Для моделирования СМО в Simulink воспользуемся библиотекой SimEvents. Это библиотека Simulink для моделирования систем с дискретными состояниями, использующая теорию
очередей и СМО. Позволяет создавать имитационные модели
прохождения объекта через сети и очереди, обеспечивает моделирование систем, зависящих не от времени, а от дискретных
состояний. SimEvents предлагает библиотеку блоков, которая позволяет создавать, обрабатывать, сохранять и перемещать сущности в системе, моделировать как простые, так и сложные сети
очередей и серверов.
К особенностям SimEvents можно отнести:
− имитационное моделирование дискретных событийных систем;
− библиотеку очередей, СМО, шлюзов и др.;
− генераторы объектов, очередей и сигналов;
− моделирование гибридных моделей в событийном и временном пространствах;
− расчет статистических показателей;
− разработку алгоритмов изменения программы/данных, описываемых состояние объекта с использованием распределенных
функций MATLAB;
− моделирование иерархии и синхронизации данных через
наборы состояний и признаков объекта;
− автоматический сбор общих статистических данных, таких
как запаздывание и производительность.
При дискретно-событийном моделировании используется понятие сущности (entity). Сущности могут перемешаться через сети
очередей (queues), серверов (servers) и переключателей (switches),
управляемых дискретными событиями, в процессе моделирования.
Графические блоки SimEvents могут представлять компонент, который обрабатывает сущности, но сами сущности не имеют графи104
ческого представления. Событие (event) – это мгновенное дискретное явление, которое изменяет переменную состояния, выход и/или
является причиной появления других событий.
Примеры событий в модели SimEvents:
− перемещение сущности от одного блока к другому;
− завершение обслуживания сущности в сервере.
Для открытия библиотек SimEvents наберите в командной
строке simeventslib или выберите соответствующий раздел в библиотеке элементов Simulink. На рис. 4.25 представлены разделы
библиотеки SimEvents.
Библиотека Generators содержит блоки для создания сущностей, основанных на времени или событиях. Генерация сущностей
(заявок) осуществляется с помощью раздела Generators → Entity
Generators (рис. 4.26).
Рис. 4.25. Разделы библиотеки SimEvents
105
Рис. 4.26. Генерация сущностей
По умолчанию используется блок Time-Based Entity Generator, который формирует распределенные во времени сигналы,
имитирующие последовательность поступающих на вход системы
заявок на обслуживание.
В свойствах блока параметр Generate entities upon задает
способ генерации:
− Intergeneration time from dialog – параметры выбираются из
полей окна Entity Generation. В данном случае в поле Distribution
выбирается тип распределения моментов времени из возможных
значений: Constant – постоянное время между генерируемыми событиями задается в поле Period, Uniform – случайное равномерное
распределение задается диапазоном в полях Minimum и Maximum,
Exponential – экспоненциальное распределение задается параметром Mean (среднее);
106
− Intergeneration time from port t – моменты времени генерации выбираются с помощью сигнального порта t (который появится в случае выбора данного способа генерации), на вход которого подается событийный (event-based) сигнал.
Для сбора статистик на вкладке Statistics необходимо отметить галочкой требуемые сигналы, которые появятся в качестве
дополнительных выходных портов (рис. 4.27):
− #d – число сущностей покинувших блок после начала моделирования;
− w – cреднее время между генерациями сущностей.
Рис. 4.27. Свойства блока Time-Based Entity Generator
Библиотека Entity Management содержит блоки для комбинации или разделения сущностей (рис. 4.28).
В библиотеку Attributes входят блоки для установки и чтения
атрибутов сущности. Данные блоки могут потребоваться, например, для установки приоритета заявок. Полный список блоков
представлен на рис. 4.29.
107
Рис. 4.28. Пример блоков библиотеки Entity Management
Рис. 4.29. Пример блоков библиотеки Attributes
108
Библиотека Queues содержит блоки для приема входящих
сущностей (рис. 4.30):
− FIFO (First in first out – первый пришел, первый ушел);
− LIFO (Last in first out – последний пришел, первый ушел);
− Priority Queue – приоритетная очередь.
В свойствах данных блоков (рис. 4.31) можно задать максимальную длину очереди – Capacity, а также собрать необходимую
статистику:
− #d – число сущностей, покинувших блок через порт OUT
после начала моделирования;
− #n – число сущностей в очереди;
− w – среднее время ожидания в этом блоке для всех сущностей, покинувших блок через любой порт;
− len – среднее число сущностей в очереди по времени, то
есть средний по времени сигнал #n.
Рис. 4.30. Пример блоков библиотеки Queues
109
Рис. 4.31. Свойства блока FIFO Queue
Библиотека Servers содержит блоки для обработки входящих
сущностей (рис. 4.32).
Рис. 4.32. Пример блоков библиотеки Servers
110
Single Server – блок, обслуживающий одновременно одну заявку (сущность).
N-Server – блок, обрабатывающий одновременно N заявок
(сущностей). Значение N можно задать в свойствах блока.
Infinite Server – блок, обслуживающий одновременно любое
количество заявок (сущностей).
Время обслуживания задается в соответствии со значением
параметра Service Time From: Dialog (через параметры поля
Service Time), Attribute (в соответствии со значением атрибута
сущности – необходимо указать имя атрибута) или с помощью
Signal port t (событийный сигнальный порт).
Данные блоки также содержат статистики:
− #d – число сущностей, покинувших блок через порт OUT
после начала моделирования;
− #n – число сущностей в сервере, 0 или 1;
− w – среднее время ожидания в этом блоке для всех сущностей, покинувших блок;
− util – утилизация сервера, то есть доля времени моделирования, использованная на хранение сущностей. В начале моделирования утилизация равна 0 или 1 в зависимости от того, хранит
ли сервер сущность.
Свойства блока Single Server представлены на рис. 4.33.
Библиотеки Routing и Gates содержат блоки, которые используют переключатели, работающие статистически либо детерминированно (рис. 4.34, 4.35).
Блок Output Switch позволяет выбрать в процессе моделирования один из нескольких выходных портов для сущностей. После
выбора одного из выходных портов остальные порты становятся
недоступными.
Блок Input Switch позволяет выбрать в процессе моделирования один из нескольких входных портов для сущностей. После
выбора одного из входных портов остальные порты становятся
недоступными.
111
Рис. 4.33. Свойства блока Single Server
Рис. 4.34. Пример блоков библиотеки Routing
112
Рис. 4.35. Пример блоков библиотеки Gates
Блок Path Combiner позволяет объединить несколько путей в
один. Блок принимает сущности через один из нескольких входных портов и выпускает их через единственный выходной порт.
Количество входных портов определяется параметром Number of
entity input ports.
Библиотека SimEvents Sinks содержит блоки, используемые
для завершения путей сущности (блок Entity Sink) или для графического отображения полученных результатов (статистических
данных) – Scope (рис. 4.36).
На рис. 4.37 представлены свойства блока Entity Sink.
Параметр Input port available for entity arrivals отвечает за
доступность блока к приему входных сущностей. Параметр Report
number of entities arrived, #a создает сигнальный порт, сообщающий о количестве принятых блоком сущностей.
113
Рис. 4.36. Пример блоков библиотеки SimEvents Sinks
Рис. 4.37. Свойства блока Entity Sink
На рис. 4.38 представлен пример простейшей СМО, а также
полученные результаты моделирования.
Для построения модели были выбраны следующие блоки:
− блок формирования распределенных во времени сигналов,
имитирующих последовательность поступающих на вход системы
запросов на обслуживание (Time-Based Entity Generator);
114
Рис. 4.38. Простейшая модель СМО
− блок, реализующий дисциплину обслуживания заявок (FIFO
Queue);
− обслуживающий прибор (Single Server);
− приемник обслуженных заявок (Entity Sink);
− два блока визуализации процесса моделирования (Сгенерированные сущности, Обработанные сущности);
− дисплей, отображающий количество заявок, находящихся в
процессе обслуживания.
При конфигурации модели в блоке Time-Based Entity Generator в окне Period установим интервал следования заявок, равный 1,
а также включим статистику #d – число сущностей, покинувших
блок после начала моделирования.
115
Для блока Single Server необходимо установить такие параметры, как #d – число сущностей, покинувших блок через порт
OUT после начала моделирования, #n – число сущностей в сервере, 0 или 1.
Перед началом моделирования в меню рабочего окна модели
нужно установить время моделирования – 10 и нажать кнопку Start.
Как видно из полученных результатов, было сгенерировано
11 сущностей, а обработано – 10. Данные результаты говорят о
том, что одна сущность все еще находится в блоке-обработчике в
момент окончания времени моделирования, что видно в блоке
Display.
4.2.3. Моделирование систем массового
обслуживания в среде MATLAB с использованием
подсистемы Simulink и пакета Stateflow
Stateflow – это среда для моделирования и симуляции комбинаторной и последовательной логики принятия решений, основанных на машинах состояний и блок-схемах.
Stateflow позволяет комбинировать графические и табличные
представления, включая диаграммы перехода состояний, блоксхемы, таблицы перехода состояний и таблицы истинности – для
того, чтобы смоделировать реакцию системы на события, условия
во времени и внешние входные сигналы.
При помощи Stateflow можно разрабатывать логику диспетчерского управления, планирования задач и систем реагирования
на ошибки. Stateflow включает анимацию диаграммы состояний, а
также статические и динамические проверки. Это позволяет убедиться, что дизайн является согласованным и целостными до того,
как приступить к его реализации.
Stateflow предоставляет графические и табличные интерфейсы для моделирования логики системы с использованием машин
состояний. При помощи машины состояний моделируются режимы работы системы как состояния, а логику переключения между
116
режимами можно представить в виде переходов и узлов. Также
существует возможность моделировать различные компоненты
системы как состояния, которые выполняются по одному или параллельно. Stateflow позволяет управлять сложностью дизайна путем иерархической организации объектов диаграммы состояния,
функций и компонентов. В Stateflow можно представлять комбинаторную логику графически в виде блок-схем и в табличной
форме при помощи таблиц истинности.
Разработка логики включает в себя определение условий для
проверки и соответствующие действия, которые должны выполняться. Stateflow позволяет задавать условия и действия при помощи языка C или в MATLAB и управлять данными, использующимися в условия и действиях из Simulink Model Explorer. Перед
запуском модели Stateflow сообщает о возможных несоответствиях состояний, неиспользуемых данных и событиях и неправильных переходах.
Stateflow предоставляет редактор и графические объекты для
рисования машин состояний и блок-схем.
Построение машины состояний в Stateflow заключается в
выборе состояний, переходов и узлов из графической палитры и
перетаскивании их в редактор Stateflow. Также возможно использование мастера шаблонов (Pattern Wizard), позволяющего легко
создавать широко используемые логические шаблоны.
Для выявления синтаксических ошибок, неполных переходов
и недостижимых состояний до запуска модели можно запустить
статические диагностические тесты.
Для работы с моделью Stateflow (SF-модель) необходимо изначально создать модель Simulink (S-модель), в которую будет
вложена SF-модель. Сначала осуществляется установка общих параметров модели Configuration Parameters, где в поле Solver группы Solver options целесообразно установить метод discrete, так как
будет проводиться моделирование системы с набором дискретных
основных состояний (рис. 4.39).
117
Открытие модели Stateflow осуществляется с помощью
блока Chart (в переводе с англ. «диаграмма»), который можно
найти в библиотеке элементов Simulink в разделе Stateflow
(рис. 4.40). Для работы с блоком необходимо перетащить его в
рабочую область S-модели и открыть двойным щелчком. Первоначально блок Chart, размещенный в рабочем окне mdl-файла,
является пустым, то есть служит заготовкой для создания модели. Открывшееся окно будет редактором SF-модели, в котором
можно начать сборку модели (рис. 4.41).
Для перемещения между S-моделью и SF-моделью можно
воспользоваться панелью Model browser, в которой представлена
иерархическая структура отношений между моделями.
Рис. 4.39. Настройка параметров Stateflow модели
118
Рис. 4.40. Раздел Stateflow библиотеки Simulink
Рис. 4.41. Вид окна редактора SF-модели
119
Система обозначений Stateflow состоит из набора графических объектов, набора неграфических (текстовых) объектов и определенных отношений между этими объектами. К графическим
объектам относятся состояния, переходы, соединения (узлы),
хронологические соединения. Для создания графических объектов используются кнопки боковой панели. Удерживая кнопку
мыши, можно перетащить любой графический объект в рабочую
область. На рис. 4.41 цифрами обозначены следующие графические элементы:
1 – State – обеспечивает установку всех необходимых состояний модели в виде блоков, имеющих вид прямоугольников со
скругленными углами. SF-диаграмма может реализовывать иерархическую структуру вложенных состояний. Это означает, что каждое состояние имеет состояние-родителя. Для SF-диаграммы, состоящей из одного состояния, родителем является сама SFдиаграмма. Для того чтобы получить вложенные состояния, необходимо с помощью мыши перетащить один блок-состояние в другой, предварительно увеличив размеры последнего. Эти размеры
регулируются также с помощью мыши, для чего необходимо поместить ее указатель в один из скругленных углов прямоугольника.
При выполнении действий адрес любого вложенного состояния с
именем state_name1 указывается как state_name.state_name1, где
state_name – имя состояния-родителя. Stateflow выделяет взаимоисключающие и параллельные состояния. По умолчанию все состояния – взаимоисключающие и обозначаются непрерывной границей. Для определения параллельных состояний необходимо первоначально поместить их в родительское состояние с последующим выбором Decomposition → AND (Parallel) в меню поля внешнего (родительского) состояния по щелчку правой кнопки мыши, в
результате чего границы параллельных состояний станут пунктирными, а в правом верхнем углу блоков автоматически установятся
их номера (рис. 4.42). При создании состояния в левом верхнем углу его графического образа появляется знак вопроса. На его место
120
вводится описание состояния, которое в простейшем случае
должно определять имя состояния. Также состояние имеет метки,
определяющие моменты выполнения действий: entry – задает
группу действий, выполняемых при входе в состояние; during –
задает группу действий, выполняемых пока данное состояние активно; exit – задает группу действий, выполняемых при выходе из
состояния; и on event_name – задает группу действий, выполняемых в случае возникновения события с именем NAME во время
нахождения в данном состоянии. На рис. 4.43 представлен общий
вид синтаксиса блока State.
Рис. 4.42. Создание параллельных состояний
Рис. 4.43. Общий вид синтаксиса блока State
121
2 – Junction – устанавливает признак альтернативных переходов без захода в состояния в виде пустого кружка, что в ряде
случаев существенно упрощает построение модели.
3 – Default transition – реализует установку перехода по
умолчанию в виде стрелки с черным кружком в начале, что позволяет указать начальное состояние в случае, если имеется неоднозначность между взаимоисключающими состояниями одного
уровня иерархии SF-диаграммы.
4 – Box – обеспечивает при необходимости группирование
элементов создаваемой модели в блоки (подсистемы), первоначально (после перетаскивания мышью) имеющих вид пустых прямоугольников.
5 – Simulink function – обеспечивает программирование и
включение в модель функций на языке Simulink, устанавливаемых
в виде прямоугольников с надписью Simulink function и окошком
для указания имени функции.
6 – Graphical function – обеспечивает программирование и
включение в модель графических функций, определенных графом
потока вычислений для описания реализуемого алгоритма и устанавливаемых в виде блоков – прямоугольников с заготовкой для
имени функции function.
7 – MATLAB function – обеспечивает программирование и
включение в модель функций на языке MATLAB, устанавливаемых в виде прямоугольников с надписью MATLAB function и
окошком для указания имени функции.
8 – Truth table – обеспечивает программирование и включение
в модель специальных функций – таблиц истинности, реализующих описание сложного логического поведения элементов модели и устанавливаемых изначально в виде блоков – прямоугольников с надписью truthtable и окошком для указания имени таблицы.
9 – History – обеспечивает установку в любом блоке состояния
признака состояния с памятью в виде кружка с вложенной буквой H.
Хронологическое соединение отменяет любые переходы по умолча122
нию. При переходе к такому состоянию становится активным то
подсостояние, которое было активным в последнюю очередь.
10 – Annotation – позволяет добавлять подписи к модели в
любом месте при необходимости.
Также к графическим объектам относятся переходы, которые
связывают один объект с другим. Источник – это объект, на границе которого начинается переход, а адресат – объект, где переход
заканчивается. Для создания перехода необходимо навести мышь
на границу объекта-источника и, удерживая нажатие, довести до
границы объекта-адресата. Метки переходов описывают события,
под действием которых система переходит из одного состояния к
другому. Для описания перехода следует поместить указатель
мыши на соединительную линию и нажать левую кнопку мыши.
Около линии появится знак вопроса. На его место следует ввести
описание или метку перехода, которая определяет условия срабатывания перехода и выполняемые при этом процедуры. В общем
случае структура метки перехода состоит из нескольких частей и
имеет следующий вид:
event_name[condition]
{condition_action}/transition_action,
где event_name – имя события, которое инициирует переход;
condition – условие перехода в виде булевского выражения, инициирующего переход в случае его истинности; condition_action –
действие условия, выполняемое мгновенно после того, как стало
истинным условие перехода, но до того, как выполнен весь переход (не определилось состояние-адресат); transition_action – действие перехода, совершаемое при переходе, когда уже найдено состояние-адресат.
При программировании метки перехода может отсутствовать
любая ее часть. Переход происходит при наступлении события, но
с учетом истинности условия, если оно определено. Определение
условия не обязательно, как и имя события. Тогда переход происходит при выполнении условия и наступлении любого события.
123
К неграфическим объектам относятся события, данные, действия.
События (Event) управляют работой SF-диаграммы и должны
быть определены пользователем. События имеют различные области видимости (Scope): локальные (видимые только в пределах
SF-диаграммы или ее состояний); входные (передаваемые в SFдиаграмму из Simulink); выходные (передаваемые в Simulink из
SF-диаграммы); экспортируемые (передаваемые во внешнюю
управляющую программу); импортируемые (передаваемые из
внешней управляющей программы).
Для создания событий необходимо воспользоваться пунктом
меню Chart. Для локальных событий выбираем Add Other Elements
→ Local Event (рис. 4.44), а для входных или выходных – Add
Inputs & Outputs → Event Input From/Output To Simulink (рис. 4.45).
Рис. 4.44. Создание локальных событий
124
Рис. 4.45. Создание входных/выходных событий
В появившемся окне для локальных событий можно задать имя
и описание. В случае входных и выходных событий появится окно
(рис. 4.46), где кроме вышеописанных возможностей задается номер
порта и определяется вид события в поле Trigger. В большинстве
случаев события могут рассматриваться как скачкообразные изменения (переключения) состояний, сопровождающиеся резкими изменениями уровня соответствующих сигналов; при этом могут быть
события следующего вида: Rising – с повышением уровня сигнала;
Falling – с понижением уровня; Either – с любым направлением изменения уровня; Function call – вызываемые функцией.
События могут также создаваться и модифицироваться в диалоговом окне обозревателя Stateflow Model Explorer, выбираемом в
рамках пункта основного меню Tools → Model Explorer (рис. 4.47).
125
Рис. 4.46. Диалоговое окно Event
Рис. 4.47. Создание событий в Model Explorer
126
Другими основными неграфическими объектами SF-модели
являются данные (Data) – числовые значения переменных, используемых в модели. Они имеют свойства (классические типы),
а также область видимости (Scope) и могут быть:
− локальными;
− входными из модели Simulink;
− выходными в модель Simulink;
− временными;
− определенными в рабочем пространстве MATLAB;
− константами;
− экспортируемыми в код, внешний к Stateflow диаграмме и
модели Simulink;
− импортируемыми из источника кода, внешнего к Stateflow
и Simulink.
Для создания и модификации данных следует воспользоваться пунктом меню Chart. По аналогии с созданием событий, для
создания локальных данных далее выбираем Add Other Elements
→ Local Data/Constant, а для входных или выходных Add Inputs &
Outputs → Data Input From/Output To Simulink. Также можно воспользоваться обозревателем Stateflow Model Explorer, в рамках
пункта меню Tools → Model Explorer.
Еще одним классом неграфических объектов SF-моделей являются действия или процедуры (Action). Они определяют любые
операции, связанные с преобразованием данных, работой SFмодели и управлением процессом ее функционирования. Состояния могут иметь действия have entry (на входе), during (в течение),
exit (на выходе) и on event_name (в случае события с именем)
(рис. 4.47). Для описания процедур служит специальный язык
Action Language, построенный на основе синтаксиса языка C и содержащий арифметические и логические операторы, функции, определяемые пользователем, а также некоторые специальные
функции. Следует отметить следующие процедуры, часто используемые при построении SF-моделей:
127
− chg (data_name) – процедура генерации локального события в случае изменения значений переменной data_name;
− in (state_name) – логическая функция, имеющая значение
true, когда состояние state_name активно;
− send (event_name, state_name) – процедура пересылки спецификации события event_name состоянию state_name (прямая передача событий);
− ml (ꞌfunction_name (a, b, …)ꞌ) – процедура, вызывающая
функцию, сформированную в MATLAB и выполняющую вычисления для значений перечисленных аргументов;
− ml.datam_name – процедура, предоставляющая доступ к
переменной datam_name рабочей области MATLAB.
Процедуры используются для описания SF-диаграммы в
рамках двух моделей конечных автоматов:
− модели Мура, связывающей процедуры с состояниями;
− модели Мили, связывающей процедуры с переходами.
Для того чтобы реализовать выбранный алгоритм работы SFмодели, необходимо выполнить описание введенных состояний и
переходов между ними, а также используемых данных.
При подготовке SF-модели к работе требуется установить
параметры модели с помощью диалогового окна, вызываемого
командой Chart → Properties в меню графического редактора. Окно содержит элементы, определяющие: имя SF-диаграммы; имя Sмодели и/или SF-диаграммы более высокого уровня (Machine), в
которых размещается данная модель; тип машины состояний:
классический, модель Мили, модель Мура; раскрывающийся список Update method, определяющий используемый метод управления динамикой работы SF-диаграммы из Simulink; поле параметра
дискретизации по времени Sample time; вспомогательные флажки,
устанавливающие возможности использования данных Simulink,
варианты инициализации и задания точек остановки модели и т. п.
Весьма существенным является выбор установки Update
method. Она имеет три основных варианта:
128
− Inherited – метод, реализующий управление SF-диаграммы
внешними событиями, что приводит к активизации модели каждый раз, когда на триггерный порт диаграммы поступает управляющий сигнал;
− Discrete – метод, при котором периодичность активизации
SF-диаграммы задается параметром Sample time, при этом Simulink автоматически генерирует управляющие события с соответствующей периодичностью;
− Continuous – непрерывный метод активизации SF-диаграммы на каждом шаге моделирования, установленном для
Simulink.
Помимо рассмотренных компонентов разработки и управления SF-моделей следует также выделить встроенный отладчик, вызываемый в пункте меню Simulation → Debug, а также средства поиска объектов заданного типа (Edit → Find). Принципы их использования подробно рассматриваются в специальной литературе.
При создании SF-моделей необходимо помнить, что для каждой диаграммы Stateflow нужно определить метод модификации
блока Stateflow, выходные события к Simulink (Output to Simulink),
добавление и определение нелокальных событий и нелокальных
данных в пределах диаграммы Stateflow, отношения с любыми
внешними источниками.
Рассмотрим технологию создания SF-моделей на примере
простейших СМО. Выберем систему с одним каналом без накопителя вида M/M/1/0, которая имеет два состояния: канал обслуживания занят (busy)/свободен (free). Факторами, определяющими
эффективность обработки заявок, являются интенсивность входного потока заявок Li и интенсивность потока обслуживания Lo.
Значения этих параметров определяются в m-файле управляющей
программы (листинг 4.1). Показателем эффективности является
относительная пропускная способность системы q, определяемая
как отношение среднего количества обслуженных заявок к среднему количеству поступивших заявок в единицу времени.
129
Л и с т и н г 4.1
Управляющая программа в MATLAB «Моделирование
и оценка эффективности систем массового обслуживания»
Используемые показатели: относительная пропускная способность – q.
Исследуемые факторы влияния: интенсивность входного потока заявок – Li;
интенсивность потока обслуживания – Lo; емкость накопителя – nqm.
clear all;
%Задание интервала дискретизации по времени и количества %отсчетов на интервале моделирования [0,10]с
Ts=0.01;
Ns=1000;
%Задание значений интенсивностей потоков
Li=1;
Lo=1;
%Задание вероятности поступления заявки в интервале %[t,t+Ts]
(только для варианта с внешним генератором %потока заявок)
Pi=Li*Ts;
if Pi>1 Pi=1; end;
%Задание емкости накопителя
nqm=5; if nqm==0 nqm=1; end;
%Задание количества испытаний модели системы
kk=1;
for k=1:kk,
sim('sf_model',Ts*Ns);
end;
При построении S-моделей, в которых используются блоки
Stateflow, содержащие в себе переходы, инициируемые истечением некоторых временных интервалов (что характерно для
СМО), требуется обеспечить синхронизацию внутреннего системного времени Stateflow и Simulink. Для этого необходимо в
качестве входного параметра подавать в SF-диаграмму системное время (systime) из Simulink и именно это время использовать
для составления условий переходов.
Другой возможный способ состоит в том, чтобы использовать специальный символ t, изначально определенный в
Stateflow для проверки выполнения условий истечения временных интервалов. Однако в этом случае, если требуется осуществить многократное обращение к модели в цикле статистического
моделирования, необходимо отключить флажок Execute (enter)
130
Chart At Initialization в диалоговом окне Chart → Properties.
И тот, и другой подход может быть использован в равной степени. Реализация с внешним источником предоставляет дополнительные возможности применения неравномерной шкалы системного времени (с замедлением и ускорением процесса моделирования).
Возможно рассмотреть два варианта построения S-модели.
В рамках первого варианта входной поток заявок формируется в
Simulink и подается на вход SF-модели в виде последовательности событий-заявок. На рис. 4.48 и 4.49 представлены блокдиаграмма S-модели и диаграмма вложенной в нее SF-модели,
реализованные в рамках этого варианта.
Здесь в S-модели размещается блок Clock, формирующий
значение времени systime (Input from Simulink date), подаваемого
на вход SF-модели (блок Chart). Поток заявок формируется на
выходе блока Fcn, реализующего сравнение входного сигнала с
величиной Pi Li Ts (логическое условие u Pi ).
Рис. 4.48. Блок-диаграмма S-модели
131
Рис. 4.49. Блок-диаграмма SF-модели
Амплитуда входного сигнала u имеет равномерное распределение в диапазоне [0,1] и формируется на выходе генератора
шума Uniform Random Number. Значение Ts определяет интервал
дискретизации Sample time во всех блоках S-модели. В результате
с вероятностью Pi на выходе блока Fcn в каждом элементарном
интервале [t, t + Ts] формируется сигнал с единичной амплитудой.
Поток заявок при этом имеет вид последовательности коротких
импульсов, имеющих длительность Ts. Каждое событие, связанное с поступлением входной заявки, определяется в SF-модели
под именем entity (Input from Simulink event).
Событие entity инициирует переход из состояния free схемы
(рис. 4.49) в состояние busy. При определении этого входного для
SF-модели события в пункте меню Tools → Model Explorer на изображении блока Chart появится значок триггерного входа. Это
означает, что активизация SF-модели будет происходить только
при реализации метода обновления (Update method) Inherited и
132
только в моменты поступления заявок. Данная ситуация не позволяет обеспечить правильную работу SF-модели, так как в ней, как
видно из рис. 4.49, при нахождении в состоянии busy требуется
постоянно проводить сравнение текущего значения systime со
временем окончания процесса обслуживания, определяемым как
to bt . Здесь to – фиксируемое при входе в состояние время
systime, а bt – значение случайной величины интервала времени
обслуживания с экспоненциальным законом распределения, вызываемое с помощью m-функции pro ( Lo) , которая определяется в
MATLAB следующим образом (листинг 4.2).
Л и с т и н г 4.2
Реализация m-функции
function u = pro (Lambda);
% экспоненциальное распределение с параметром Lambda
u = – (1/Lambda)*log (rand);
Таким образом, чтобы обеспечить инициирование событий
и переходов, связанных с истечением временных интервалов, в
схеме на рис. 4.48 требуется обеспечить активизацию SFдиаграммы на каждом шаге изменения времени S-модели. Для
этого в блок-диаграмме вводится специальный генератор событий Pulse Generator, формирующий периодическую последовательность импульсов с длительностью Ts и периодом 2 Ts . Соответственно, в SF-диаграмме определяется Input from Simulink
event под именем Pulse с установкой Either. В результате поток
этих событий-активаторов SF-модели вместе с потоком заявок
подается на триггерный порт SF-модели и активизирует ее с периодичностью Ts. Помимо рассмотренных объектов в SF-диаграмме вводятся два события processed и free, имеющие статус
Output to Simulink event. Эти события фиксируют начало и окончание пребывания в соответствующих состояниях и используются в S-модели для визуализации и регистрации процесса работы СМО.
133
На рис. 4.50 представлено окно обозревателя Stateflow, где
размещается древовидная структура, описывающая иерархию моделей и внутренних состояний блока Chart, таблица определений
событий и данных, а в правой части – диалоговое окно Chart
properties.
Рис. 4.50. Окно обозревателя Stateflow
Процесс функционирования SF-модели характеризуется визуальным отображением активных состояний и переходов, что позволяет наглядно определить динамику работы СМО. На выходе
SF-модели в S-модели фиксируются событийные процессы processed и free. Они вместе с входным потоком заявок и потоком
импульсов Pulse визуализируются в блоке Scope1, как это показано на рис. 4.43 ( Li 1 c 1 , Lo 1 c 1 ).
Здесь видно, что при указанном способе определения событий processed и free соответствующие процессы описывают пребывание системы во взаимоисключающих состояниях. При этом
134
количество переходов в состояние busy, описываемых повышением уровня processed, определяет количество обслуженных заявок.
Поэтому в S-модели для регистрации общего количества заявок и
количества обслуженных заявок (рис. 4.48) используются соответствующим образом настроенные двоичные счетчики импульсов
(блоки Counter подраздела Swiches and Counter библиотеки Signal
Processing). Результаты счета отображаются в блоках Display (раздел Sinks). Виды сигналов представлены на рис. 4.51.
Рис. 4.51. Блок Scope1
Для приближенной оценки пропускной способности достаточно при длительной реализации входного потока оценить отношение q npr n количества зарегистрированных счетчиком
Counter1 обслуженных заявок n pr к общему числу заявок n , зарегистрированных счетчиком Counter2. Запуск всей модели осуществляется либо из управляющего m-файла, либо из Simulink (если
все значения переменных определены в блоках S-модели).
Рассмотрим теперь второй вариант реализации модели, в
рамках которого поток заявок формируется внутри SF-модели.
Одновременно представляется реализация модели с использова135
нием внутреннего источника времени на основе специального
символа t (блок-диаграммы S- и SF-моделей – на рис. 4.52 и 4.53).
Рис. 4.52. Блок-диаграмма S-модели
Рис. 4.53. Блок-диаграмма SF-модели
136
SF-модель имеет теперь два параллельных состояния: состояние Aсtive, где осуществляется генерация событий entity (статус Local) пуассоновского потока с интенсивностью Li и одновременно формируется выходной сигнал SF-модели osig (Output to
Simulink date); состояние QP, где размещается собственно модель
СМО с аналогичной предыдущему примеру конструкцией. На
рис. 4.54 представлено соответствующее окно Stateflow Explorer,
описывающее иерархию модели, события и данные. Следует только отметить, что в рамках данного варианта должны быть реализованы Update methods: Discrete или Coutinues.
Рис. 4.54. Окно Stateflow Explorer
На рис. 4.55 представлены осциллограммы сигналов на выходе
данного варианта SF-модели, регистрируемые блоком Scope. Как
видно из этого рисунка, процесс работы SF-модели в этом варианте
аналогичен ранее рассмотренному с внешним генератором. Однако
общая S-модель в данном случае представляется более простой.
В качестве следующего примера рассмотрим построение
модели одноканальной СМО с накопителем. Для нее, помимо
137
Рис. 4.55. Блок Scope
интенсивностей потоков Li, Lo в управляющей MATLAB программе, зададим переменную nqm, определяющую предельную
длину очереди или емкость накопителя.
Блок-диаграммы S-и SF-моделей, разработанные для подобной системы, представлены на рис. 4.56 и 4.57.
Здесь появляются дополнительные выходные переменные в
блоке Chart S-модели, что связано с усложнением ее SF-диаграммы. SF-модель имеет теперь три параллельных процесса: изменения состояния генератора заявок (Active); изменения состояния
канала обслуживания (Process) и изменения состояния очереди
накопителя (Queue).
Для упрощения анализа работы системы функции генерации случайных интервалов времени между заявками и временем
обслуживания в схеме на рис. 4.57 заменены переменными at, bt
(Local), принимающими детерминированные значения. Блок
Active по сравнению с предыдущим примером изменился в том
плане, что теперь указывается адресация при посылке события
entity. Текущее количество заявок в очереди (блок Queue) описывается переменной nq, имеющей видимость в Simulink. Новый
138
блок Queue имеет три вложенных состояния, выделяемые для
накопителя: пусто (empty); хранение (stored); заполнено (full).
Для описания входа и выхода в состояния используются события empty, full (Output to Simulink), а для регистрации отказа в
обслуживании новой заявки при пребывании в состоянии full
используется переменная reject (Output to Simulink date). Событие prf (Local) фиксирует переход на обслуживание новой заявки
с выбором ее из очереди, при этом в блоке Queue осуществляется уменьшение значения nq на единицу.
Соответствующее разработанной модели окно Stateflow
Explorer, содержащее иерархию моделей и состояний, таблицу определений событий и данных, а также окно Chart Properties приведены на рис. 4.58.
Рис. 4.56. Блок-диаграмма S-модели
139
Рис. 4.57. Блок-диаграмма SF-модели
На рис. 4.59 представлены сигналы, формируемые на выходе
SF-модели и регистрируемые в блоке Scope. Осциллограммы построены в соответствии со значениями at 2 c и bt 1 c. Естественно, что при этом очереди нет и все заявки обслужены.
Возможен другой случай, когда at 0, 25 с и bt 5 с , а
nqm 5 . Тогда накопитель быстро заполняется (nq = 5) и после
определенного момента времени заявки получают отказ. После
того, как через 5 с заканчивается обслуживание первой заявки,
величина nq уменьшается и очередная заявка поступает в накопитель. Эта ситуация фиксируется в осциллограммах full, nq и
reject.
140
Рис. 4.58. Окно Stateflow Explorer
Рис. 4.59. Сигналы, формируемые на выходе
SF-модели и регистрируемые в блоке Scope
141
Следующий этап предполагает проведение исследований,
направленных на оценку эффективности рассматриваемой системы с использованием управляющей программы, реализующей
полномасштабное стратегическое и тактическое планирование
модельного эксперимента (подробнее см. главу 2). В качестве показателей будем рассматривать относительную пропускную способность системы и среднее время нахождения заявки в системе
(в очереди и на обслуживании). Пример управляющей программы
представлен в листинге 4.3.
Л и с т и н г 4.3
Управляющая программа smo_sf_model.m «Оценка эффективности
системы массового обслуживания M/M/1/nqm»
Используемые показатели: относительная пропускная способность qm;
среднее время обслуживания заявки taym.
Исследуемые факторы влияния: интенсивности потока заявок Li и потока
обслуживания Lo.
Фиксируемый параметр – предельная длина очереди nqm.
clear all;
rand('state',10)
%Задание интервала дискретизации по времени и
%количества отсчетов на интервале моделирования [0,10] с.
Ts=0.01;
Ns=10000;
%Задание неварьируемых величин (предельная длина очереди)
nqm=5;
%Задание количества и диапазонов изменения факторов Li (a) и Lo
(b)
nf=2;
minf=[0.4 0.4];
maxf=[1 1];
%формирование дробного двухуровневого плана эксперимента для
учета взаимодействий
fracfact('a b ab' );
N=2^nf;
fracplan=ans;
fictfact=ones(N,1);
X=[fictfact ans]';
fraceks=zeros(N,nf);
for i=1:nf,
for j=1:N,
fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)minf(i))/2;
142
end;
end;
fraceks
%Тактическое планирование эксперимента
%Задание доверительного интервала и уровня значимости оценки qm
dm=0.01;
alpha=0.05;
%Определение t-критического
tkr_alpha=norminv(1-alpha/2);
%Цикл по совокупности экспериментов стратегического плана
for j=1:N,
a=fraceks(j,1);
b=fraceks(j,2);
Li=a;
Lo=b;
rr=rand
%Организация цикла статистических испытаний с переменным
объемом
%NE для достижения заданной точности оценки показателя qm;
%показатель taym оценивается попутно
NE=1; D=1;
e=0; l=0; SQ=0;
while NE < tkr_alpha^2*D/dm^2,
%массивы интервалов времени
t1(1:Ns)=0; tay(1:Ns)=0;
ns(1:nqm)=0; %массив номеров заявок в очереди
ob=0; %количество входящих заявок
ok=0; %количество обслуженных заявок
%Имитация функционирования системы
sim('sf_model3',Ts*Ns);
%Фиксация результатов каждой реализации
u=ok/ob;
v=sum(tay)/ok;
%Усреднение результатов и оценка выборочной
%дисперсии D измеряемого параметра
e=e+u;
l=l+v;
SQ=SQ+u^2;
if NE>1 D=SQ/(NE-1)-(e^2)/(NE*(NE-1)); end;
NE=NE+1;
end;
NE=NE-1
%Оценка показателей (реакции) по NE реализациям
qm=e/NE
taym=l/NE
Y(j)=qm;
Y1(j)=taym;
end;
%Определение коэффициентов регрессии для qm и taym
143
C=X*X';
b_=inv(C)*X*Y'
b_1=inv(C)*X*Y1'
%Формирование зависимостей реакции системы на множестве значений факторов
A=minf(1):0.01:maxf(1);
B=minf(2):0.01:maxf(2);
[k N1]=size(A);
[k N2]=size(B);
for i=1:N1,
for j=1:N2,
an(i)=2*(A(i)-minf(1))/(maxf(1)-minf(1))-1;
bn(j)=2*(B(j)-minf(2))/(maxf(2)-minf(2))-1;
%Экспериментальная поверхность реакции для qm(Yc)и
taym(Yc1)
Yc(j,i)=b_(1)+an(i)*b_(2)+bn(j)*b_(3)+an(i)*bn(j)*b_(4);
Yc1(j,i)=b_1(1)+an(i)*b_1(2)+bn(j)*b_1(3)+an(i)*bn(j)*b_1(4);
end;
end;
%Отображение зависимостей в трехмерной графике
[x,y]=meshgrid(A,B);
figure;
subplot(1,2,1),plot3(x,y,Yc),
xlabel('fact a(Li)'),
ylabel('fact b(Lo)'),
zlabel('Yc'),
title('qm(ex)'),
grid on,
subplot(1,2,2),plot3(x,y,Yс1),
xlabel('fact a(Li)'),
ylabel('fact b(Lo)'),
zlabel('Yс1'),
title('taym(ex)'),
grid on;
В данной программе реализуется многократный прогон Sмодели в ходе статистических испытаний в соответствии с планом
эксперимента, а также обработка и отображение результатов моделирования. Тактическое планирование выполняется для оценки
пропускной способности, тогда как оценка среднего времени нахождения заявки в системе проводится попутно.
Для регистрации результатов в каждой реализации процесса
функционирования системы в программе вводятся массивы моментов времени поступления заявок на вход системы t1(:) и вре144
менных интервалов нахождения заявок в системе tay(:), а также
переменные, определяющие количества входящих заявок ob и количества обслуженных заявок ok. Кроме того, для фиксации временных интервалов потребовалось ввести служебный массив ns(:),
который должен хранить порядковые номера входящих заявок, в
данный момент времени находящихся в очереди, и который должен постоянно обновляться по мере продвижения заявок в очереди в процессе обслуживания.
Основной вопрос, который возникает при разработке данной модели и ей подобных, состоит в выборе наиболее рационального и удобного для пользователя способа связи S- и SFмоделей с управляющей программой, написанной на языке
MATLAB, c учетом потребностей выполнения необходимых
вспомогательных процедур обработки данных для регистрации
результатов моделирования и получения оценок эффективности
системы.
Для упрощения описания общей интегрированной модели
MATLAB + Simulink + Stateflow рекомендуется использовать
внутренние графические компоненты Stateflow, позволяющие
определить переменные и массивы внутри самой SF-модели. К таким компонентам относятся Simulink function, Graphical function,
MATLAB function и Truth table. Эти компоненты перетаскиваются
с помощью мыши в окно диаграммы в виде прямоугольников с
возможностью описания необходимых функций.
В предлагаемых ниже примерах рассматривается три возможных способа.
Первый способ не предполагает применение каких-либо дополнительных компонентов Stateflow по отношению к уже рассмотренным в предыдущих примерах. Он основан на реализации
необходимых процедур и операций с максимальным использованием возможностей языка MATLAB. Пример SF-модели, реализующей данный подход, представлен на рис. 4.60.
145
Рис. 4.60. Блок-диаграмма SF-модели
Эта модель фактически повторяет модель, представленную
на рис. 4.57, в которой дополнительно введены операции присвоения значений переменных и массивов, определенных в mфайле управляющей программы. Введены счетчики входящих
заявок nz и обслуженных заявок nob, на основе которых определяются переменные ml.ob и ml.ok. Текущее обновление массива ml.ns (сдвиг очереди), на основе которого определяется
очередной номер обслуживаемой заявки no=ml.ns[1] и рассчитывается время обработки заявки в системе ml.tay[no]=tml.t1[no] в блоке Processed, производится путем вызова mфункции (листинг 4.4).
146
Л и с т и н г 4.4
Реализация сдвига элементов массива
function y=shif(ns,nq);
%сдвиг элементов массива после уменьшения его длины nq на
единицу
if nq~=0,
for i=1:nq,
ns(i)=ns(i+1);
end;
end;
y=ns;
Обновление массива производится после перехода первой в
очереди заявки на обслуживание и уменьшения величины переменной nq на единицу.
Таким образом, в представленной модели вся вспомогательная обработка данных в интересах оценки эффективности системы
проводится с использованием переменных и функции, определенных в МАТLAB-программе.
Второй способ организации работы модели рассматриваемой
системы предполагает использование такого внутреннего компонента Stateflow, как графические функции, определяемые графом
потока вычислений для описания реализуемого алгоритма и устанавливаемые в виде блоков – прямоугольников с заготовкой для
имени функции function. На рис. 4.61 представлена блок-диаграмма модели, реализующей данный способ для организации
внутренних процедур обработки данных. В рассматриваемом
примере графическая функция используется в блоке Queue.stored
для проведения обновления и перезаписи элементов массива ns,
сохраняющего номера заявок в очереди для последующей фиксации времени пребывания заявок в системе.
Для программирования графической функции соответствующий блок перемещается из панели инструментов в окно SFдиаграммы. Далее в появляющемся поле function вводится имя
функции, входные и выходные переменные, после чего выполняется программирование с использованием графических элементов
147
типа Default Transition и Connective Junction. В результате формируется диаграмма потокового графа функции (рис. 4.61). Задание
входного описания функции автоматически приводит к появлению в окне обозревателя Stateflow, в иерархическом описании модели, соответствующего значка f( ) с указанием имени функции.
Активизировав этот значок, в окне получаем таблицу входных и
выходных переменных функции, которые требуется описать, указав тип переменных, размеры массивов и т. д. Таблица при необходимости должна быть дополнена списком и описанием внутренних переменных (рис. 4.62).
Рис. 4.61. Блок-диаграмма SF-модели
148
Рис. 4.62. Окно Stateflow Explorer
Еще один способ выполнения внутреннего программирования
процедур обработки данных в SF-модели состоит в использовании
графических компонентов Embedded MATLAB function, обеспечивающих включение в модель функций на языке MATLAB. Эти
компоненты перетаскиваются с помощью мыши в окно диаграммы
в виде прямоугольников с надписью eM и окошком для указания
имени функции, входных и выходных переменных (рис. 4.61). При
активизации этого блока щелчком левой кнопки мыши появляется
активное окно (рис. 4.63), в которое вводится текст eM-функции.
В иерархическом описании модели (рис. 4.62) появляется значок,
свидетельствующий о наличии соответствующего компонента модели, активизировав который можно получить доступ к таблице
определения внешних и внутренних переменных eM-функции.
В модели, представленной на рис. 4.61, подобная функция используется в блоке Queue.full и реализует такую же операцию обновления массива ns, как и графическая функция в блоке Queue.stored.
Тем самым иллюстрируется возможность получения одного и того
же результата различными способами.
149
Рис. 4.63. eM-функция
В результате использования рассмотренных внутренних графических компонентов Stateflow появляется возможность определить переменные и массивы внутри самой SF-модели (рис. 4.61).
Это упрощает описание общей интегрированной модели
MATLAB + Simulink + Stateflow по сравнению с вариантом, в котором активно используются переменные и функции, определенные в MATLAB (этот вариант ранее представлен текстом mсценария и SF-моделью на рис. 4.60).
Таким образом, рассмотренные примеры иллюстрируют возможности создания имитационных моделей СМО и любых
событийно управляемых систем с использованием интегрированной среды MATLAB + Simulink + Stateflow. Продемонстрированный подход может использоваться при разработке других, более
сложных моделей СМО, а также любых систем с гибридным
поведением.
150
Глава 5. МОДЕЛИРОВАНИЕ
ИНФОРМАЦИОННОГО КОНФЛИКТА СИСТЕМ
5.1. Информационный конфликт систем
Конфликт – процесс взаимодействия объектов (систем) –
сторон, имеющих явно противоположные цели и стремящихся
достигнуть несовместимых состояний. В современных условиях в
конфликт вовлекаются не отдельные средства, а целостные большие и сложные системы, решающие согласованный ряд задач в
интересах достижения поставленных целей. Отдельные элементы
таких систем не являются независимыми, а дополняют и взаимно
«помогают» друг другу. В этом плане конфликтное взаимодействие противостоящих сторон приобретает все характерные черты
сложного коалиционного конфликта – столкновения двух коалиций, каждая из которых представлена совокупностью элементов,
стремящихся к упреждающему решению поставленных перед ними задач, в том числе и путем прямого вмешательства в процесс
функционирования элементов противостоящей стороны [16].
Основные идеи теории конфликта состоят в построении системной модели, связывающей объекты и факторы, участвующие
в конфликте, и направленной на установление закономерностей
рационального поведения сторон в конфликте. Основой построения математической модели конфликта является концептуальная
модель или содержательная схема конфликта, определяющая цели
и задачи сторон, используемые для их количественного описания
показатели эффективности и ограничения, возможные связи элементов противоборствующих систем в статике.
Общая схема конфликта содержит надсистемы – стороны A и
B стремятся нарушить или исключить функционирование противоборствующей стороны. Под нарушением функционирования будем
понимать снижение уровня показателей эффективности системы до
заданного предела, например, уменьшение дальности действия,
увеличение времени передачи полезного сообщения и т. п.
151
Ход и исход конфликта во многом [11; 16; 28] определяются
способностью той или иной стороны к добыванию сведений о
своем противнике, введению его в заблуждение относительно собственных действий, эффективностью применения активных
средств воздействия на противника, способностью к прогнозу ситуации и приспособлению в условиях преднамеренно усиливаемой противоборствующей стороной неопределенности. Целевая
направленность действий сторон в конфликте определяет и состав
его участников – это средства (системы) управления, средства добывания, обработки, накопления и передачи информации о противостоящей стороне (средства информационного обеспечения) и
средства активного воздействия – боевые элементы надсистем.
Ввиду исключительной важности влияния указанных факторов на протекание и исход конфликта и в соответствии с функциональной декомпозицией облика надсистем в современных условиях целесообразно выделить в самостоятельную составную
часть конфликта информационный конфликт (далее – ИК).
Понятие информационного обеспечения действий сторон в
условиях конфликта является более широким и охватывает процесс получения любой необходимой информации, позволяющей
повысить качество управления действиями и поведением сторон.
ИК – процесс борьбы за информацию, основная цель которого состоит в нарушении управления противоборствующей стороны и поддержании устойчивости своего управления. Эта цель реализуется путем пассивного или активного (скрытие, защита, разрушение информации) вмешательства в процесс получения сведений о своей стороне посредством затруднения нормального функционирования средств добывания и передачи информации другой
стороны, а также нейтрализации противопоставленных ею активных средств информационного противодействия [4].
При этом основными и обязательными участниками ИК [4]
являются информационные системы, решающие задачи добывания и передачи сведений о противостоящей стороне, относящиеся
152
к классу систем извлечения информации. Активные средства противодействия, в своей совокупности объединяемые в системы разрушения (защиты) информации, также оказывают непосредственное влияние на исход ИК. Тем не менее они являются сугубо исполнительными элементами. В своем функционировании они
практически полностью зависят от возможностей систем извлечения информации, которые оценивают текущие состояния элементов противоборствующей стороны, а затем выдают целеуказание
активным элементам. Пассивные средства противодействия, обеспечивающие защиту и скрытие информации, ориентированы на
использование данных о текущем состоянии сторон в меньшей
степени. Согласованность действий сторон в ИК предполагает организацию управления средствами и системами извлечения и разрушения (защиты) информации, которое выделяется в самостоятельную основную систему. К числу вспомогательных средств,
участвующих в ИК, относятся элементы систем передачи данных,
обеспечивающих информационный обмен для каждой из сторон.
Основные и вспомогательные средства и системы каждой из
сторон образуют коалиции, решающие свои задачи в интересах
достижения единых целей. Общность целей и взаимосвязанность
действий участников коалиций в условиях ИК объединяет их в
радиоэлектронные комплексы (далее – РЭК), которые являются
составными радиоэлектронными частями надсистем. В соответствии с этим представлена обобщенная структура – участников ИК
в составе надсистем.
В качестве примера целесообразно рассмотреть вариант простого конфликта [16], в котором в качестве одной из сторон выступает РЭК Ai , а другой – РЭК B j . Задача, решаемая Ai , состоит
в поиске, обнаружении и оценке координат в фазовом пространстве (то есть, по сути, разведке) цели надсистемы B. Считается, что
если Ai обнаружила и оценила состояние B, то боевые элементы А
поражают B с вероятностью, близкой к единице, то есть действия
Ai практически полностью предопределяют исход конфликта. За153
дача B j – в выполнении тех же самых действий по отношению к
стороне А, что предполагает поиск и обнаружение, а также оценку
координат А в соответствующем фазовом пространстве (оно может быть и другим, нежели фазовое пространство, в котором Ai
решает свои задачи), а затем создание для нее активных поражающих действий, например, радиопомех.
В основе построения математической модели динамики конфликта первоначально лежит задание графа конфликтно обусловленных состояний (рис. 5.1).
Основное состояние S A выигрыша стороны А здесь означает
факт упреждающего обнаружения и оценки координат B с помощью соответствующего РЭК А в пределах отведенного для этого
интервала времени [0, t] и является поглощающим.
Основное состояние S B выигрыша стороны B означает, что
на интервале [0, t] сторона B раньше, чем А обнаружила и оценила
координаты А с помощью своего РЭК в пределах отведенного для
этого интервала времени [0, t] и также является поглощающим.
Начальное состояние конфликта – S0 (рис. 5.1).
SA
S0
SB
Рис. 5.1. Простейший граф состояний динамики конфликта
Далее может проводиться декомпозиция основных состояний (рис. 5.2), что позволяет учесть промежуточные ситуации и
нестандартные переходы. Здесь введены следующие состояния:
S A1 – сторона А раньше, чем сторона В, выполнила обнаружение
В; S A2 – сторона А раньше, чем сторона В, выполнила измерение
154
координат В в соответствующем фазовом пространстве; S B1 –
сторона В раньше, чем сторона А, выполнила обнаружение А;
S B 2 – сторона В раньше, чем сторона А, выполнила измерение
координат А в том же самом или, возможно, в другом фазовом
пространстве.
S A1
S A2
S B1
SB 2
S0
Рис. 5.2. Декомпозиция основных состояний конфликта
Кроме того, во многих случаях стороны предполагают присутствие друг друга и могут фиксировать возможные ответные
действия противника. Как следствие, они предпринимают в связи
с этим некоторые меры как активного, так и пассивного характера
по уклонению от воздействия с противоборствующей стороны.
Для описания этих действий вводятся дополнительные состояния
и переходы.
5.2. Моделирование конфликтов СМО в MATLAB
Рассмотрим простейший вариант построения управляющей
программы.
Л и с т и н г 5.1
Простейший вариант построения управляющей программы в MATLAB
clear all;
%Моделирование конфликта систем в дуэльной ситуации
%Задание интервала дискретизации и количества отсчетов на интервале времени 0…10 с
Ts=0.1;
Ns=100;
%Задание интенсивностей смены состояний противоборствующих сторон
155
LA1=1; LA2=1; LA3=1;
LB1=1; LB2=1; LB3=2;
%Задание вероятностей поражения на завершающем этапе
pa=0.95;
pb=0.7;
%Задание количества испытаний модели системы
kk=1000;
%Задание массивов для фиксации исходов конфликта в каждом эксперименте
na=zeros(1,kk);
nb=zeros(1,kk);
for k=1:kk,
ra=0;
rb=0;
sim('duel',Ts*Ns);
%Фиксация результатов исхода конфликта
na(k)=ra;
nb(k)=rb;
end;
pr(1)=sum(na);%количество проигрышей первой стороны конфликта
pr(2)=sum(nb);%количество проигрышей второй стороны конфликта
figure;
bar(pr);
Здесь для управления статистическим экспериментом используются следующие параметры: интервал дискретизации Ts и
количество отсчетов дискретизации Ns, в совокупности определяющие величину интервала времени моделирования; количество
выполняемых испытаний модели в ходе статистического моделирования kk; интенсивности переходов LA1, LA2, LA3, LB1, LB2,
LB3 для показательного распределения (без ограничения общности используется пуассоновская модель переходов) времени пребывания конфликтующих систем в каждом из своих состояний,
обратно пропорциональные среднему времени пребывания в состояниях; вероятности поражения противоборствующей стороны
активными элементами на основе полученной информации о фазовых координатах противника pa, pb.
Используемая S-модель запускается из управляющей программы под именем duel.mdl (рис. 5.3). Фактически она состоит из
карты состояний (SF-модели) и двух многоканальных осциллографов, отражающих изменение состояний участников конфликта
и его результаты.
156
Реализованная SF-модель (рис. 5.4) состоит из двух параллельно функционирующих объектов, сторон A и B, в которых
размещены карты состояний, описывающие поведение сторон в
динамике конфликта. Для каждого объекта введена одинаковая
иерархия состояний. Рассмотрим ее на примере стороны A.
Базовыми здесь являются состояния life_A и death_A – соответственно нормальное функционирование объекта и состояние
объекта, подвергнутого активному воздействию и вследствие этого прекратившего свое функционирование или функционирующего с принципиальными нарушениями работоспособности.
Рис. 5.3. Модель для исследования конфликта в дуэльной ситуации
157
158
Рис. 5.4. SF-модель для исследования конфликта в дуэльной ситуации
В свою очередь состояние life_A имеет следующие вложенные состояния, которые, на наш взгляд, характерны для большинства радиоэлектронных информационных систем:
− A1 – состояние доставки и развертывания системы со стороны А в зоне возникновения конфликта;
− A2 – поиска и обнаружения системой со стороны А противоборствующей ей системы со стороны В, характеризующееся
большой областью неопределенности в фазовом пространстве координат системы В;
− A3 – измерения фазовых координат объектов (элементов)
противоборствующей системы со стороны В с необходимой для
выполнения активных воздействий точностью;
− victory_A – упреждающего и эффективного применения активного воздействия стороной А, при достижении которого сторона
В считается проигравшей (переходит в состояние death_В).
Время пребывания в каждом из состояний является случайным
и задается путем вызова m-функции pro(Lambda), формирующей
случайное число, распределенное по показательному закону с параметром Lambda, и ранее описанной в листинге 4.2. Переходы из одного состояния в другое осуществляется по условию истечения времени пребывания в каждом из состояний. Параметрами функции
pro() при генерации случайного времени пребывания в состояниях
А1, А2, А3 являются величины LA1, LA2, LA3, задаваемые из управляющей программы. Кроме этого, переход в состояние victory_A
осуществляется при выполнении дополнительного условия, разыгрываемого с задаваемой из управляющей программы вероятностью
pa – вероятностью поражения противника на завершающем этапе.
Состояния victory_A и death_A являются поглощающими. При
попадании в состояние victory_A формируется событие attack_a со
статусом Local, инициирующее упреждающий переход противника
в состояние death_B. Аналогично попадание в состояние death_A
происходит при возникновении упреждающего события attack_b со
статусом Local, формируемого противоборствующей стороной B.
159
Для визуализации процессов смены основных состояний вводятся события life_A, death_A, а для визуализации вложенных состояний – события a1, a2, a3, имеющие статус Output to Simulink.
Для управления процессами смены состояний вводятся внутренние переменные t1, at, p1 (рис. 5.4).
Для фиксации результатов конфликта со стороны А используется переменная ra, определенная из управляющей программы,
имеющая изначально нулевое значение и получающая каждый раз
единичное значение при попадании в состояние death_A.
Аналогичным образом определяются состояния, события и
данные для стороны В.
В соответствии с изложенным на рис. 5.5 представлено окно
обозревателя Stateflow, в полном объеме отображающее введенную иерархию состояний SF-модели и определенные для них события и данные.
При проведении статистического эксперимента, состоящего
из тысячи испытаний, на основе описанной модели оценивалось
среднее количество проигрышей сторон в конфликте. Результаты
отображаются при вызове из управляющей программы стандартной функции построения столбцевой диаграммы bar().
Для варианта исходных данных, представленных на приведенном выше m-файле управляющей программы, эти результаты
приведены на рис. 5.6. Из их анализа следует, что сторона А имеет
большее количество проигрышей, чем В. При этом А имеет более
высокую вероятность pa = 0,95 «поражения» В на завершающем
этапе (у В такая вероятность равна pb = 0,70). В то же время сторона В действует в два раза более оперативно при измерении координат A, имея значение интенсивности перехода LB3 = 2 c–1 против
LA3 = 1 c–1, что и приводит в конечном итоге к более высокой эффективности функционирования B в условиях конфликта. Это говорит о важности фактора времени при реализации упреждающего
характера воздействия в конфликте по сравнению с вероятностью
«поражения» на конечном этапе по результатам целеуказания.
160
Рис. 5.5. Окно Stateflow Explorer с иерархией моделей
и состояний для SF-модели конфликта в дуэльной ситуации
Рис. 5.6. Диаграмма, отображающая количество
проигрышей сторон в конфликте
161
Для иллюстрации результатов моделирования на рис. 5.7
представлены также временные диаграммы, отображающие пребывание систем, действующих со сторон А и В, в своих состояниях, а также результаты исхода конфликта в одной из реализаций
статистического моделирования. Из него видно, что в этой реализации победу одержала сторона А, которая раньше перевела противника в состояние death_B. Причем состояние B3 у стороны В
даже не успело наступить.
Изложенные приемы визуального программирования модели
конфликта систем в дуэльной ситуации могут быть положены в
основу создания более сложной модели конфликта группировок
(коалиций) систем. Основные трудности, возникающие при построении подобных моделей, состоят в необходимости воспроизведения механизма управления коалициями систем и связанного с
ним механизма изменения взаимосвязей и состава противоборствующих сторон в динамике конфликта. В частности потребуется
моделировать эффекты «перенацеливания» отдельных участников
конфликта после того, как они достигают частных выигрышей в
дуэльных ситуациях.
Рис. 5.7. Визуальное отображение изменения
состояний сторон в конфликте
162
Можно предложить два варианта преодоления указанных
трудностей. Один из них предполагает реализацию технологии
перестройки структуры системы (коалиции систем), основанную
на использовании возможностей Stateflow API. Другой, на наш
взгляд, более простой, подход состоит в реализации управления
процессом взаимодействия участников конфликта с обеих сторон
с помощью введения дополнительных признаков состояний систем и использования их как элементов управления.
Сначала рассмотрим структуру управляющей программы
(листинг 5.2).
Л и с т и н г 5.2
Вариант построения управляющей программы в MATLAB.
Моделирование конфликта коалиции систем
clear all;
%Задание интервала дискретизации и количества отсчетов на интервале времени 0…10 с
Ts=0.1; Ns=100;
%Задание интенсивностей смены состояний систем противоборствующих сторон [c-1]
LA1=1; LA2=1; LA3=0.5;
LB1=1; LB2=1; LB3=1;
%Задание вероятностей поражения на завершающем этапе
pa=0.9;
pb=0.7;
%Задание количества систем, действующих с каждой стороны
NA=4;
NB=4;
%Задание количества испытаний (реализаций) модели конфликта
kk=1;
%Задание массивов для фиксации исходов конфликта в каждой реализации
na=zeros(1,kk); %выигрыш стороны А
nb=zeros(1,kk); %выигрыш стороны B
no=zeros(1,kk); %равный результат сторон
nas=zeros(1,kk); %количество систем, оставшихся со стороны А по
окончании конфликта
nbs=zeros(1,kk); %количество систем, оставшихся со стороны B по
окончании конфликта
for k=1:kk,
%Задание массивов признаков начальных и текущих состояний
систем коалиций
na0=ones(1,NA);
163
nb0=ones(1,NB);
sim('duel_44',Ts*Ns);
%Фиксация результатов исхода конфликта
inda=find(na0>0);
[n ra]=size(inda);
nas(k)=ra;
indb=find(nb0>0);
[n rb]=size(indb);
nbs(k)=rb;
if ra>rb, na(k)=1;
end;
if ra<rb, nb(k)=1;
end;
if ra==rb, no(k)=1;
end;
end;
%отображение среднестатистического результата конфликта
pr(1)=sum(na); %количество выигрышей первой стороны конфликта
pr(2)=sum(no); %количество ничьих
pr(3)=sum(nb); %количество выигрышей второй стороны конфликта
figure(1);
bar(pr);
prs(1)=sum(nas)/kk; %среднее количество систем, оставшихся со
стороны А
prs(2)=sum(nbs)/kk; %среднее количество систем, оставшихся со
стороны А
figure(2);
bar(prs);
В этой программе все основные параметры управления модельным экспериментом задаются так же, как и в ранее рассмотренном m-файле для конфликта в дуэльной ситуации. Определяется также количество систем NA и NB, действующих в коалициях с каждой стороны. При фиксации результатов конфликта подсчитываются следующие исходы: количество выигрышей первой
стороны конфликта (сторона А имеет большее количество «оставшихся в живых» систем); количество ничьих (равное количество «оставшихся в живых» систем); количество выигрышей второй
стороны конфликта (сторона В имеет большее количество «оставшихся в живых» систем). Кроме этого, подсчитывается среднее
количество систем, «оставшихся в живых» в составе коалиции с
каждой стороны.
164
Однако более принципиальным является задание массивов
признаков начальных и текущих состояний систем коалиций na0,
nb0. Значения их элементов первоначально устанавливаются равными единице. Именно эти массивы используются для управления
процессом взаимодействия систем и «перенацеливания» систем
после прекращения функционирования некоторых из них в динамике конфликта. Для реализации подобного управления разработана специальная m-функция (листинг 5.3).
Л и с т и н г 5.3
Реализация m-функции res(nx)
function t=res(nx)
%Функция для назначения номера объекта (системы) воздействия
противоборствующей стороны в процессе управления
%Входной массив n0 содержит данные о состоянии объектов
%противоборствующей стороны к текущему моменту времени:
%nx(i)=0 - объект "поражен"; nx(i)=1 - объект функционирует и
не находится под воздействием; nx(i)=2 - объект функционирует
под воздействием какой либо из систем;
%Выходная переменная t задает номер очередного объекта воздействия
%для вызывающего функцию объекта (системы);
%при этом в SF – модели осуществляется модификация
%элемента массива nx(t)=2 в соответствии с принятым назначением
%В данном примере назначение осуществляется случайным образом
для
%объектов, "свободных" от воздействия
ind1=find(nx==1); %массив номеров "свободных" от воздействия
объектов
[n m1]=size(ind1); %количество "свободных" от воздействия объектов
ind2=find(nx==2); %массив номеров находящихся под воздействия
объектов
[n m2]=size(ind2); %количество находящихся под воздействия объектов
t=1;
if m1>0,
r=ceil(m1*rand);
t=ind1(r);
elseif m2>0,
r=ceil(m2*rand);
t=ind2(r);
end;
165
Таким образом, функция res() при каждом обращении к ней
анализирует состояние систем противоборствующей стороны и реализует назначение нового объекта воздействия для вызвавшей его
системы из перечня «оставшихся в живых». Под воздействием понимается полный цикл обслуживания, начиная с действий информационного характера, и заканчивая реализацией активного воздействия. При этом считается, что каждая сторона может однозначно
фиксировать факт прекращения функционирования объектов – участников конфликта с противоборствующей стороны. Алгоритм назначения объектов воздействия может быть различным. Здесь выбор
осуществляется случайным образом из перечня свободных, то есть
не находящихся под воздействием объектов противоборствующей
стороны, а если таковые отсутствуют, то из общего перечня «оставшихся в живых» и находящихся под воздействием объектов.
Используемая S-модель запускается из управляющей программы под именем duel_2.mdl (рис. 5.8). Фактически она состоит
из карты состояний и двухканального осциллографа, используемого
для фиксации изменения количества участников конфликта с каждой стороны.
Рис. 5.8. S-модель для исследования конфликта коалиций систем
166
Принципиальное значение имеет построение базовой SF-модели системы, входящей в состав коалиции. Для того чтобы было
можно без затруднений увеличивать состав коалиции путем простого копирования и размножения до необходимого количества,
такая модель должна в максимальной степени инкапсулировать
используемые события и данные так, чтобы после копирования
блоков необходимое редактирование в ручном режиме занимало
бы минимальный объем. Пример построения подобной модели
представлен на рис. 5.9.
Рис. 5.9. Базовая SF-модель одного из участников
конфликта коалиций систем
167
Данная модель является моделью одной из систем A1, действующей со стороны А в конфликте. Ее основные состояния по
смыслу совпадают с ранее введенными состояниями для модели,
показанной на рис. 5.4. При попадании в состояние A_2 (поиск и
обнаружение цели) в системе путем обращения к m-функции res()
ей выдается целеуказание, то есть определяется номер k объекта
(системы) стороны B, которая должна далее находиться под воздействием системы A1. Такое целеуказание, например, физически может содержать параметры зоны, выделяемой для поиска конкретного объекта в фазовом пространстве координат системы стороны B.
При применении активного воздействия с вероятностью pa,
задаваемой в управляющей программе, осуществляется переход в
состояние victory_A, где формируется события attack_a для стороны B. При выполнении этого перехода модифицируется значение
соответствующего элемента массива nb0(k) = 0, что фиксирует
факт «поражения» системы стороны B с номером k. Присвоение
значения nb0(k) = 0 определяет условие перехода именно этой
системы в состояние death_B. В свою очередь, система A1 переходит в свое состояние death_B при возникновении события attack_b
и одновременном выполнении условия na(1) = 0 (система A1 имеет номер 1 в своей коалиции) (рис. 5.9).
Состояние victory_A не является в данном случае поглощающим. Из него при выполнении условия sum(nbo) > 0 («суммарное количество "оставшихся в живых" систем в противоборствующей группировке больше нуля») осуществляется переход в состояние A_2 для получения новой цели. Все вспомогательные переменные блока at1, at2, at3, p1 и k определены как данные со статусом Local и областью видимости в пределах состояния life_A.
Для этого они должны быть определены в Model Explorer после
выделения соответствующего состояния в иерархической схеме
состояний карты и использования кнопки меню Add. Подобное задание данных позволяет далее минимизировать действия, выполняемые при копировании базового блока. Cобытия attack_a и
168
attack_b определяются со статусом Local и должны иметь область
видимости в пределах всей диаграммы, так же, как и данные sa и
sb, для которых задается статус Output to Simulink и которые
должны отображать количество одновременно функционирующих
систем в каждый момент времени с каждой стороны.
Следующим шагом является построение модели конфликтующих коалиций (группировок) систем. Для этого выполняется
выделение, группирование (двойной щелчок мышью в поле блока)
и копирование блока A1 столько раз, сколько требуется для создания нужного количества систем стороны A – NA.
Аналогичным образом осуществляется построение базовой
модели системы В1, действующей со стороны В. Далее также выполняется выделение и копирование соответствующего блока B1
столько раз, сколько требуется для создания нужного количества
систем стороны B – NB.
После копирования в каждом блоке нужно отредактировать два
элемента. Имена блоков, полученных копированием А1 и В1, в соответствии с их порядковыми номерами заменяются на A2, A3, … и
B2, B3, …. Условия переходов в состояния death_A и death_B в соответствии с этими же номерами переопределяется на [ml.nb0(2)==0],
[ml.nb0(3)==0], … и [ml.na0(2)==0], [ml.na0(2)==0], ….
Результат построения подобным образом модели конфликта
коалиций систем «четыре на четыре» представлен на рис. 5.10.
В центральной части SF-модели размещается блок, используемый
для определения величин sa и sb, позволяющих фиксировать текущее количественное состояние коалиций (рис. 5.11).
При проведении статистического эксперимента на основе
данной модели в ходе тысячи испытаний оценивалось среднее количество выигрышей сторон в конфликте и количество систем в
каждой группировке, оставшихся после конфликтного взаимодействия на заданном интервале времени. Для исходных данных,
представленных в приведенном выше m-файле управляющей программы, эти результаты приведены на рис. 5.12.
169
Рис. 5.10. SF-модель для исследования
конфликта коалиций «четыре на четыре»
170
Рис. 5.11. SF-модель блока для фиксации результатов конфликта
а)
б)
Рис. 5.12. Диаграммы, отображающие результаты конфликта
коалиций систем: а) среднее количество выигрышей сторон в конфликте;
б) количество систем в каждой группировке, оставшихся после
конфликтного взаимодействия на заданном интервале времени
171
Из анализа этих рисунков следует, что сторона В имеет
большее количество выигрышей, чем А. При этом А имеет более
высокую вероятность pa = 0,9 «поражения» В на завершающем
этапе (у В такая вероятность равна pb = 0,7), но В действует в
два раза более оперативно при измерении координат противника, имея значение интенсивности перехода LB3 = 1 с–1 против
LA3 = 0,5 с–1, которое имеет А. В ходе конфликта зафиксировано также незначительное количество ничьих. Количество остающихся «в живых» систем на интервале моделирования
0, …, 10 с для стороны А в среднем равно приблизительно единице, а для стороны В – двум.
Для иллюстрации результатов моделирования на рис. 5.13
приведены также временные диаграммы, отображающие изменение количественного состава группировок на заданном интервале
моделирования. Из него видно, что в этой реализации победу
одержала сторона В, которая к исходу конфликта сохранила
большее количество активных элементов.
Рис. 5.13. Визуальное отображение изменения
количественного состава сторон в ходе конфликта
172
В заключение следует отметить, что представленные модели при сохранении общих принципов и технологий их построения могут быть без каких-либо ограничений существенно
усложнены. Поэтому использование рассмотренных возможностей среды MATLAB + Simulink + Stateflow для компьютерного
имитационного моделирования конфликта систем в его любых
проявлениях представляется целесообразным и весьма эффективным.
При моделировании конфликтов будем использовать связку
MATLAB + Simulink + Stateflow проведением экспериментов.
Управляющая программа в m-файле запускает S-модель, которая является оболочкой для событийно управляемой SF-модели
конфликта.
173
Глава 6. ЛАБОРАТОРНЫЕ РАБОТЫ
1. Стратегическое и тактическое планирование
модельного эксперимента
Тема: «Стратегическое и тактическое планирование модельного эксперимента при проведении оценки эффективности систем
методом статистических испытаний в среде MATLAB».
Цель работы: практическое изучение методов стратегического и тактического планирования модельного эксперимента,
освоение навыков экспериментальных исследований при работе
со статистическими имитационными моделями систем в ходе
оценки их эффективности.
Подготовка и порядок проведения работы: выполняется в
среде MATLAB и оформляется в виде m-файла сценария (script
file), содержащего обращение к m-файлу функции, реализующей
генерацию случайной величины, описывающей отклик системы в
каждом эксперименте и имеющую определенный в конкретном
задании вид плотности распределения вероятностей.
Этапы работы:
1. Изучение теоретического материала, знакомство с принципами стратегического и тактического планирования экспериментов.
2. Знакомство со стандартными планами модельных экспериментов, обеспечивающих разработку стратегического плана экспериментов, и их реализацией в среде MATLAB (раздел Design of
Experiments (планирование экспериментов) библиотеки Statistics
Toolbox (набор инструментов статистического анализа)).
3. Написание m-функции в MATLAB, реализующей имитацию функционирования заданной системы (алгоритмы генерации
см. в прил. А).
4. Написание m-файла сценария в MATLAB, реализующего
стратегическое и тактическое планирование модельного эксперимента для оценки эффективности построенной модели случайной
величины.
174
5. Построение реальной и экспериментальной поверхностей
реакции. Для построения реальной поверхности необходимо воспользоваться прил. А.
Алгоритм выполнения лабораторной представлен на блоксхеме (рис. 6.1).
НАЧАЛО
1. Формирование функции для генерации случайной величины
2. Задание исходных данных
– количество факторов;
– диапазонов значений факторов
3. Стратегическое планирование
– расчет числа проводимых экспериментов;
– формирование дробного двухуровневого плана эксперимента с учетом
парного взаимодействия факторов (добавление фиктивного фактора);
– формирование матрицы планирования с учетом фиктивного фактора
4. Задание исходных данных
– доверительный интервал;
– уровень значимости
5. Расчет значений
– t-критического;
– требуемого числа испытаний модели (будет различным при различных показателях эффективности)
6. Тактическое планирование
– цикл по совокупности экспериментов стратегического плана;
– цикл статистических испытаний;
– имитация функционирования системы;
– оценка параметров (реакции) по выборке наблюдений
7. Отображение полученной в ходе эксперимента зависимости
показателя эффективности от выбранных факторов
– расчет коэффициентов регрессии;
– формирование множества реальных значений факторов;
– построение экспериментальной поверхности реакции;
– построение теоретической поверхности реакции
8. Проверки адекватности полученной модели
КОНЕЦ
Рис. 6.1. Блок-схема алгоритма выполнения лабораторной работы 1
175
Варианты заданий для самостоятельной работы
1. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону гамма-распределения.
Факторами являются параметры: b (2; 5), c (3; 5). Оценить показатель эффективности – дисперсию реакции системы. Доверительный интервал d 0,01 c уровнем значимости 0,06.
2. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону нормального распределения. Факторами являются параметры: ( 2; 2,5), (1; 2,5).
Оценить показатель эффективности – математическое ожидание
реакции системы. Доверительный интервал d 0,04 c уровнем
значимости 0,01.
3. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону логистического распределения. Факторами являются параметры: a ( 2; 4), k (3; 4).
Оценить показатель эффективности – математическое ожидание
реакции системы. Доверительный интервал d 0,08 c уровнем
значимости 0,01.
4. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону распределения Эрланга. Факторами являются параметры: b (1; 6), c (2; 6). Оценить показатель эффективности – математическое ожидание реакции системы. Доверительный интервал d 0,12 c уровнем значимости 0,06.
5. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону нормального распределения. Факторами являются параметры: (2; 4), (0,2; 0,4).
176
Оценить показатель эффективности – вероятность исхода реакции
системы 4. Доверительный интервал d 0,02 c уровнем значимости 0,05.
6. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону суммы экспоненциального и Парето распределений. Факторами являются параметры: b (1; 6), c (3; 6). Оценить показатель эффективности –
математическое ожидание реакции системы. Доверительный интервал d 0,08 c уровнем значимости 0,07.
7. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону бета-распределения.
Факторами являются параметры: v (0,4; 0,5), w (0,15; 0,5). Оценить показатель эффективности – дисперсию реакции системы. Доверительный интервал d 0,08 c уровнем значимости 0,02.
8. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону равномерного распределения. Факторами являются параметры: a ( 4; 4), b (1; 4).
Оценить показатель эффективности – вероятность исхода реакции
системы 2. Доверительный интервал d 0,04 c уровнем значимости 0,04.
9. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону равномерного распределения. Факторами являются параметры: a ( 5; 5), b (1; 5).
Оценить показатель эффективности – математическое ожидание
реакции системы. Доверительный интервал d 0,08 c уровнем
значимости 0,07.
10. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
177
случайная величина, распределенная по закону распределения Эрланга. Факторами являются параметры: b (4; 7), c (2; 7). Оценить показатель эффективности – дисперсию реакции системы.
Доверительный интервал d 0,02 c уровнем значимости 0,05.
11. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону логнормального
распределения. Факторами являются параметры: (2; 0,6) ,
(0,1; 0,6) . Оценить показатель эффективности – математическое ожидание реакции системы. Доверительный интервал d 0,3
c уровнем значимости 0,15 .
12. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону распределения
Вейбулла. Факторами являются параметры: b (2; 7) , c (3,5; 7) .
Оценить показатель эффективности – математическое ожидание
реакции системы. Доверительный интервал d 0,5 c уровнем значимости 0,03.
13. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону бета-распределения. Факторами являются параметры: v (1; 5) , w (3; 7) . Оценить показатель эффективности – вероятность исхода реакции
системы 0,6 . Доверительный интервал d 0,1 c уровнем значимости 0,5 .
14. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону распределения
экстремального значения. Факторами являются параметры:
a (3; 5,5) , b ( 2; 5,5) . Оценить показатель эффективности математическое – ожидание реакции системы. Доверительный интервал d 0,04 c уровнем значимости 0,07 .
178
15. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону гамма-распределения.
Факторами являются параметры: b (1; 5), c (3; 7). Оценить показатель эффективности – вероятность исхода реакции системы 8.
Доверительный интервал d 0,1 c уровнем значимости 0,05.
16. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону распределения Вейбулла. Факторами являются параметры: b (2; 8), c (3,5; 5,5).
Оценить показатель эффективности – дисперсию реакции системы.
Доверительный интервал d 0,07 c уровнем значимости 0,07.
17. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону бета-распределения.
Факторами являются параметры: v (0,1; 0,45), w (0,3; 0,45). Оценить показатель эффективности – математическое ожидание реакции системы. Доверительный интервал d 0,05 c уровнем значимости 0,09.
18. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону логнормального распределения. Факторами являются параметры: (1; 4), (3; 4).
Оценить показатель эффективности – вероятность исхода реакции
системы 4. Доверительный интервал d 0,1 c уровнем значимости 0,05.
19. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону логнормального распределения. Факторами являются параметры: ( 2; 4), (0,1; 0,9).
Оценить показатель эффективности – дисперсию реакции системы.
Доверительный интервал d 0,75 c уровнем значимости 0,04.
179
20. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону суммы нормального и равномерного распределений. Факторами являются параметры: ( 2; 1), b (2,5; 5,5). Оценить показатель эффективности вероятность исхода реакции системы 1. Доверительный интервал
d 0,04 c уровнем значимости 0,05 ( 0,5, a 1) .
21. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону гамма-распределения.
Факторами являются параметры: b (3; 6), c (4; 6). Оценить показатель эффективности – математическое ожидание реакции системы. Доверительный интервал d 0,08 c уровнем значимости
0,04.
22. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону распределения
Вейбулла. Факторами являются параметры: b (1; 1,5), c (0,5; 5).
Оценить показатель эффективности – вероятность исхода реакции
системы 0,5. Доверительный интервал d 0,01 c уровнем значимости 0,5.
23. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по закону гамма-распределения.
Факторами являются параметры: b (2; 4), c (4; 6). Оценить показатель эффективности – дисперсию реакции системы. Доверительный интервал d 0,08 c уровнем значимости 0,04.
24. Провести стратегическое и тактическое планирование
модельного эксперимента. Выходной реакцией системы является
случайная величина, распределенная по закону распределения
Вейбулла. Факторами являются параметры: b (2; 4), c (3,5; 7,5).
Оценить показатель эффективности – математическое ожидание
180
реакции системы. Доверительный интервал d 0,05 c уровнем
значимости 0,05.
25. Провести стратегическое и тактическое планирование модельного эксперимента. Выходной реакцией системы является случайная величина, распределенная по равномерному закону распределения. Факторами являются параметры: b (0; 1), c (0; 5). Оценить показатель эффективности – вероятность исхода реакции системы 0,3. Доверительный интервал d 0,02 c уровнем значимости 0,5.
181
2. Моделирование и оценка эффективности
систем передачи информации
Тема: «Моделирование и оценка эффективности систем передачи информации в среде MATLAB + Simulink».
Цель работы: практическое изучение технологий визуального
программирования имитационных моделей систем с использованием подсистемы Simulink, освоение навыков проведения экспериментальных исследований с моделями систем передачи информации в
интересах оценки их эффективности и влияния основных факторов.
Подготовка и порядок проведения работы: выполняется в
среде MATLAB и оформляется в виде m-файла управляющей программы, реализующей стратегический и тактический планы исследований и содержащей обращение к mdl-файлу (файлу Sмодели), реализующему имитационную модель одной из возможных систем передачи информации. Задания на выполнение работы
предусматривают исследования различных видов систем передачи
информации: с импульсными и непрерывными сигналами; с различными видами модуляции (АМ, ФМ, ЧМ и т. п.); с проведением
оценок эффективности по различным показателям в зависимости
от различных факторов.
Этапы работы:
1. Изучение теоретического материала, знакомство с принципами стратегического и тактического планирования экспериментов, знакомство с моделью стандартной системы передачи информации.
2. Знакомство со стандартными планами модельных экспериментов, обеспечивающих разработку стратегического плана экспериментов, и их реализацией в среде MATLAB (раздел Design of
Experiments (планирование экспериментов) библиотеки Statistics
Toolbox (набор инструментов статистического анализа)).
3. Ознакомление с возможностями подсистемы визуального
моделирования Simulink и входящих в нее Toolboxes и Bloksets, в
той или иной форме обеспечивающих формирование имитацион182
ных моделей систем и радиоканалов передачи информации при
использовании различных видов радиосигналов.
4. Формирование S-модели исследуемой системы (mdlфайла) со всеми необходимыми атрибутами, обеспечивающими
фиксацию результатов моделирования в контрольных точках.
При моделировании канала передачи сигнала необходимо
использовать пользовательский функциональный блок, отображающий следующую зависимость амплитуды сигнала от расстояния между источником и приемником:
u
u'
.
4 R
Для оценки полученного на выходе демодулятора низкочастотного сигнала рекомендуется провести его сравнение с выражением mr * NP , где mr – величина, определяющая степень превышения порога обнаружения полезного сигнала над уровнем
шума NP . В случае превышения значений полученного сигналом данного выражения будем считать, что в полученном сигнале
есть полезный сигнал.
5. Формирование внешней управляющей программы на языке MATLAB в виде m-файла, в рамках которого организуется задание и варьирование исходных данных в соответствии с планами
проведения модельного эксперимента, реализуется многократный
прогон S-модели системы и проводится оценка показателей эффективности в ходе обработки данных эксперимента. При формировании этой программы осуществляется сопряжение с S-моделью и окончательная настройка ее блоков с учетом выбранных
условий проведения моделирования.
Вызов S-модели из управляющей программы осуществляется
с помощью вызова функции sim(‘model_name’, Time), принимающей в качестве первого аргумента имя S-модели, а в качестве
второго аргумента время моделирования, которое может быть
представлено как произведение интервала дискретизации модели
на количество таких интервалов дискретизации.
183
6. Проведение оценки эффективности и анализа влияния выбранных факторов на используемые показатели эффективности.
Алгоритм лабораторной работы представлен на блок-схеме
(рис. 6.2).
НАЧАЛО
1. Задание исходных данных
– количество факторов;
– диапазонов значений факторов
2. Стратегическое планирование
– расчет числа проводимых экспериментов;
– формирование дробного двухуровневого плана эксперимента с учетом
парного взаимодействия факторов (добавление фиктивного фактора);
– формирование матрицы планирования с учетом фиктивного фактора
3. Задание исходных данных
– доверительный интервал;
– уровень значимости
4. Создание модели системы (S-модели)
– выбор элементов S-модели;
– настройка параметров элементов S-модели (блоков);
– сборка S-модели
5. Расчет значений
– t-критического;
– требуемого числа испытаний модели
6. Тактическое планирование
– цикл по совокупности экспериментов стратегического плана;
– цикл статистических испытаний;
– имитация функционирования системы;
– оценка параметров (реакции) по выборке наблюдений
7. Отображение полученной в ходе эксперимента зависимости
показателя эффективности от выбранных факторов
– расчет коэффициентов регрессии;
– формирование множества реальных значений факторов;
– построение экспериментальной поверхности реакции
8. Проверки адекватности полученной модели
КОНЕЦ
Рис. 6.2. Блок-схема алгоритма выполнения лабораторной работы 2
184
Варианты заданий для самостоятельной работы
1. Путем имитационного моделирования канала передачи
информации с полезным синусоидальным радиосигналом и частотной модуляцией (несущая частота – 700 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума
NP (0,001; 0,1) и расстояния от источника до приемника
R (1; 7). Коэффициент различимости mr 0,8, амплитуда импульса Am 20, доверительный интервал dp 0,07 с уровнем значимости 0,05. Построить зависимость интенсивности ложных тревог
L от расстояния от источника до приемника R (2; 6) и коэффициента различимости mr (0,002; 0,5). Мощность шума NP 0,5, доверительный интервал dl 0,01 с уровнем значимости 0,07.
Длительность импульса – 1 сек., время моделирования – 10 сек.
2. Путем имитационного моделирования канала передачи информации с полезным пилообразным радиосигналом и частотной
модуляцией (несущая частота – 200 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума NP (0,004; 0,1) и расстояния от источника до приемника R (2; 7). Коэффициент различимости mr 0,5, амплитуда импульса Am 40, доверительный
интервал dp 0,7 с уровнем значимости 0,5. Построить зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (4; 9) и коэффициента различимости
mr (0,01; 0,08). Мощность шума NP 0,9, доверительный интервал dl 0,01 с уровнем значимости 0,03. Длительность импульса – 1 сек., время моделирования – 10 сек.
3. Путем имитационного моделирования канала передачи информации с полезным Гауссовским белым шумом (далее – ГБШ)
радиосигналом и частотной модуляцией (несущая частота – 500 Гц)
в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шу185
ма NP (0,006; 0,02) и расстояния от источника до приемника
R (1; 5). Коэффициент различимости mr 1, амплитуда импульса
Am 15, доверительный интервал dp 0,006 с уровнем значимости
0,001. Построить зависимость интенсивности ложных тревог L
от расстояния от источника до приемника R (2; 4) и коэффициента
различимости mr (0,01; 0,18). Мощность шума NP 0,1, доверительный интервал dl 0,01 с уровнем значимости 0,05. Длительность импульса – 1 сек., время моделирования – 10 сек.
4. Путем имитационного моделирования канала передачи
информации с полезным импульсным радиосигналом и частотной
модуляцией (несущая частота – 300 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума NP (0,04; 0,9) и
расстояния от источника до приемника R (3; 8). Коэффициент
различимости mr 1, амплитуда импульса Am 50, доверительный интервал dp 0,05 с уровнем значимости dp 0,07. Построить зависимость интенсивности ложных тревог L от расстояния от
источника до приемника R (1; 7) и коэффициента различимости
mr (0,007; 0,01). Мощность шума NP 0,2, доверительный интервал dl 0,01 с уровнем значимости 0,06. Длительность импульса – 1 сек., время моделирования – 10 сек.
5. Путем имитационного моделирования канала передачи информации с полезным синусоидальным радиосигналом и амплитудной модуляцией (несущая частота – 400 Гц) в среде с мешающим
аддитивным белым шумом построить зависимость среднеквадратической ошибки (далее – СКО) передачи аналогового сообщения от
мощности шума NP (0,0005; 0,03) и расстояния от источника до
приемника R (1; 8).
6. Путем имитационного моделирования канала передачи информации с полезным пилообразным радиосигналом и амплитудной модуляцией (несущая частота – 250 Гц) в среде с мешающим
аддитивным белым шумом построить зависимость СКО передачи
186
аналогового сообщения от мощности шума NP (0,025; 0,1) и расстояния от источника до приемника R (2; 5).
7. Путем имитационного моделирования канала передачи информации с полезным ГБШ радиосигналом и амплитудной модуляцией (несущая частота – 600 Гц) в среде с мешающим аддитивным белым шумом, построить зависимость СКО передачи аналогового сообщения от мощности шума NP (0,0003; 0,25) и расстояния от источника до приемника R (3; 10).
8. Путем имитационного моделирования канала передачи информации с полезным импульсным радиосигналом и амплитудной
модуляцией (несущая частота – 800 Гц) в среде с мешающим аддитивным белым шумом, построить зависимость СКО передачи аналогового сообщения от мощности шума NP (0,003; 0,1) и расстояния от источника до приемника R (1; 9).
9. Путем имитационного моделирования канала передачи
информации с полезным синусоидальным радиосигналом и фазовой модуляцией (несущая частота – 150 Гц) в среде с мешающим
аддитивным белым шумом построить зависимость вероятности
уверенного приема сигнала PO от мощности шума NP (0,02; 0,8)
и расстояния от источника до приемника R (4; 10). Коэффициент
различимости mr 0,7, амплитуда импульса Am 15, доверительный интервал dp 0,9 с уровнем значимости 0,01. Построить
зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (3; 12) и коэффициента различимости
mr (0,0008; 0, 01). Мощность шума NP 0,8, доверительный интервал dl 0,01 с уровнем значимости 0,04. Длительность импульса – 1 сек., время моделирования – 10 сек.
10. Путем имитационного моделирования канала передачи
информации с полезным пилообразным радиосигналом и фазовой
модуляцией (несущая частота – 750 Гц) в среде с мешающим аддитивным белым шумом, построить зависимость вероятности уверенного приема сигнала PO от мощности шума NP (0,004; 0,09)
187
и расстояния от источника до приемника R (5; 7). Коэффициент
различимости mr 0,2, амплитуда импульса Am 35, доверительный интервал dp 0,007 с уровнем значимости 0,9. Построить зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (7; 9) и коэффициента различимости mr (0,005; 0,08). Мощность шума NP 0,6, доверительный интервал dl 0,01 с уровнем значимости 0,08. Длительность импульса – 1 сек., время моделирования – 10 сек.
11. Путем имитационного моделирования канала передачи
информации с полезным ГБШ радиосигналом и фазовой модуляцией (несущая частота – 450 Гц) в среде с мешающим аддитивным
белым шумом, построить зависимость вероятности уверенного
приема сигнала PO от мощности шума NP (0,008; 0,4) и расстояния от источника до приемника R (3; 7). Коэффициент различимости mr 0,7, амплитуда импульса Am 5, доверительный
интервал dp 0,7 с уровнем значимости 0,001. Построить зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (8; 15) и коэффициента различимости
mr (0,015; 0,45). Мощность шума NP 0,07, доверительный интервал dl 0,01 с уровнем значимости 0,06. Длительность импульса – 1 сек., время моделирования – 10 сек.
12. Путем имитационного моделирования канала передачи
информации с полезным импульсным радиосигналом и фазовой
модуляцией (несущая частота – 350 Гц) в среде с мешающим аддитивным белым шумом, построить зависимость вероятности уверенного приема сигнала PO от мощности шума NP (0,0006; 0,3)
и расстояния от источника до приемника R (2; 100). Коэффициент различимости mr 0,01, амплитуда импульса Am 50, доверительный интервал dp 0,001 с уровнем значимости 0,01.
Построить зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (4; 12) и коэффициента
различимости mr (0,01; 0,1). Мощность шума NP 0,7, довери188
тельный интервал dl 0,01 с уровнем значимости 0,02. Длительность импульса – 1 сек., время моделирования – 10 сек.
13. Путем имитационного моделирования канала передачи информации с полезным синусоидальным радиосигналом и частотной
модуляцией (несущая частота – 1000 Гц) в среде с мешающим аддитивным белым шумом построить зависимость СКО передачи аналогового сообщения от мощности шума NP (0,007; 0,4) и расстояния от источника до приемника R (4; 16).
14. Путем имитационного моделирования канала передачи
информации с полезным пилообразным радиосигналом и частотной модуляцией (несущая частота – 500 Гц) в среде с мешающим
аддитивным белым шумом, построить зависимость СКО передачи
аналогового сообщения от мощности шума NP (0,0002; 0,016) и
расстояния от источника до приемника R (12; 16).
15. Путем имитационного моделирования канала передачи
информации с полезным ГБШ радиосигналом и частотной модуляцией (несущая частота – 900 Гц) в среде с мешающим аддитивным белым шумом, построить зависимость СКО передачи аналогового сообщения от мощности шума NP (0,008; 0,8) и расстояния от источника до приемника R (8; 16).
16. Путем имитационного моделирования канала передачи
информации с полезным импульсным радиосигналом и частотной
модуляцией (несущая частота – 200 Гц) в среде с мешающим аддитивным белым шумом построить зависимость СКО передачи аналогового сообщения от мощности шума NP (0,007; 0,8) и расстояния от источника до приемника R (4; 6).
17. Путем имитационного моделирования канала передачи
информации с полезным синусоидальным радиосигналом и амплитудной модуляцией (несущая частота – 800 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума
NP (0,0025; 0,55) и расстояния от источника до приемника
189
R (3; 7). Коэффициент различимости mr 1, амплитуда импульса
Am 25, доверительный интервал dp 0,003 с уровнем значимости 0,5. Построить зависимость интенсивности ложных тревог
L от расстояния от источника до приемника R (5; 8) и коэффициента различимости mr (0,01; 0,1). Мощность шума NP 0,8, доверительный интервал dl 0,01 с уровнем значимости 0,04. Длительность импульса – 1 сек., время моделирования – 10 сек.
18. Путем имитационного моделирования канала передачи
информации с полезным пилообразным радиосигналом и амплитудной модуляцией (несущая частота – 400 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума
NP (0,0006; 0,45) и расстояния от источника до приемника
R (6; 13). Коэффициент различимости mr 0,5, амплитуда импульса Am 35, доверительный интервал dp 0,004 с уровнем
значимости 0,005. Построить зависимость интенсивности
ложных тревог L от расстояния от источника до приемника
R (4; 7) и коэффициента различимости mr (0,005; 0,7). Мощность шума NP 0,4, доверительный интервал dl 0,01 с уровнем
значимости 0,03. Длительность импульса – 1 сек., время моделирования – 10 сек.
19. Путем имитационного моделирования канала передачи
информации с полезным ГБШ радиосигналом и амплитудной модуляцией (несущая частота – 700 Гц) в среде с мешающим аддитивным белым шумом построить зависимость вероятности уверенного приема сигнала PO от мощности шума NP (0,004; 0,6) и
расстояния от источника до приемника R (3; 15). Коэффициент
различимости mr 0,01, амплитуда импульса Am 50, доверительный интервал dp 0,03 с уровнем значимости 0,005. Построить зависимость интенсивности ложных тревог L от расстояния от источника до приемника R (1; 6) и коэффициента различимости mr (0,003; 0,5). Мощность шума NP 0,25, доверитель190
ный интервал dl 0,01 с уровнем значимости 0,05. Длительность импульса – 1 сек., время моделирования – 10 сек.
20. Путем имитационного моделирования канала передачи
информации с полезным синусоидальным радиосигналом и фазовой модуляцией (несущая частота – 500 Гц) в среде с мешающим
аддитивным белым шумом построить зависимость СКО передачи
аналогового сообщения от мощности шума NP (0,005; 0,3) и
расстояния от источника до приемника R (6; 9).
21. Путем имитационного моделирования канала передачи
информации с полезным пилообразным радиосигналом и фазовой
модуляцией (несущая частота – 300 Гц) в среде с мешающим аддитивным белым шумом построить зависимость СКО передачи
аналогового сообщения от мощности шума NP (0,004; 0,1) и расстояния от источника до приемника R (5; 10).
22. Путем имитационного моделирования канала передачи
информации с полезным ГБШ радиосигналом и фазовой модуляцией (несущая частота – 100 Гц) в среде с мешающим аддитивным
белым шумом построить зависимость СКО передачи аналогового
сообщения от мощности шума NP (0,0006; 0,04) и расстояния от
источника до приемника R (3; 5).
23. Путем имитационного моделирования канала передачи информации с полезным импульсным радиосигналом и фазовой модуляцией (несущая частота – 1000 Гц) в среде с мешающим аддитивным белым шумом построить зависимость СКО передачи аналогового сообщения от мощности шума NP NP (0,0035; 0,015) и расстояния от источника до приемника R (4; 9).
24. Путем имитационного моделирования канала передачи
информации с полезным синусоидальным радиосигналом и фазовой модуляцией (несущая частота – 300 Гц) в среде с мешающим
аддитивным белым шумом построить зависимость СКО передачи
аналогового сообщения от мощности шума NP (0,03; 0,11) и расстояния от источника до приемника R (4; 8).
191
25. Путем имитационного моделирования канала передачи
информации с полезным импульсным радиосигналом и фазовой
модуляцией (несущая частота – 500 Гц) в среде с мешающим аддитивным белым шумом построить зависимость СКО передачи
аналогового сообщения от мощности шума NP (0,007; 0,2) и
расстояния от источника до приемника R (4; 7).
192
3. Моделирование СМО (SimEvents)
Тема: «Моделирование СМО (Q-систем) в Simulink с использованием библиотеки SimEvents».
Цель работы: практическое изучение технологий визуального программирования имитационных моделей систем с использованием подсистемы Simulink, построение СМО, а также оценка
различных показателей эффективности с помощью библиотеки
SimEvents.
Подготовка и порядок проведения работы: выполняется
в среде Simulink с использованием библиотеки SimEvents
(а также возможно использование MATLAB для оценки необходимых показателей эффективности) и оформляется в виде mdlфайла и (при необходимости) m-файла управляющей программы. Задания на выполнение работы предусматривают исследования различных видов СМО с проведением оценок эффективности по различным показателям в зависимости от различных
факторов.
Этапы работы:
1. Изучение теоретического материала, знакомство с СМО,
их составными частями и принципами построения.
2. Ознакомление с возможностями подсистемы визуального
моделирования Simulink и входящей в нее библиотеки SimEvents в
интересах моделирования СМО.
3. Формирование S-модели исследуемой системы (mdlфайла) со всеми необходимыми атрибутами, обеспечивающими
фиксацию результатов моделирования в контрольных точках, а
также расчетом и графическим отображением требуемых показателей эффективности.
4. Формирование внешней управляющей программы на языке MATLAB в виде m-файла, в случае необходимости, для расчета
заданных показателей эффективности.
Алгоритм выполнения лабораторной работы представлен на
блок-схеме (рис. 6.3).
193
НАЧАЛО
1. Задание исходных данных
– интенсивности потока заявок,
– интенсивности потока обслуживания;
– количество серверов обслуживания;
– емкость очереди
2. Создание модели СМО (S-модель, SimEvents)
– выбор элементов S-модели;
– настройка параметров элементов S-модели (блоков);
– сборка S-модели
3. Имитация функционирования СМО
4. Отображение полученной в ходе эксперимента
зависимости показателя эффективности СМО
– расчет показателя эффективности модели СМО;
– построение поверхности для показателя эффективности модели СМО
4. Проверки адекватности полученной модели
КОНЕЦ
Рис. 6.3. Блок-схема алгоритма выполнения лабораторной работы 3
Варианты заданий для самостоятельной работы
1. Интенсивность потока телефонных звонков в агентство по
заказу железнодорожных билетов, имеющему один телефон, составляет N (4; 16) вызовов в час. Продолжительность оформления заказа на билет равна t (0,3; 2,4) минуты. Определить относительную и абсолютную пропускную способность этой СМО и
вероятность отказа (занятости телефона). Сколько телефонов
должно быть в агентстве, чтобы относительная пропускная способность была не менее 0,75?
2. СМО – одна билетная касса с неограниченной очередью.
Касса продает билеты в пункты А и В. Пассажиров, желающих
купить билет в пункт А, приходит в среднем трое за 20 мин.,
194
в пункт В – двое за 20 мин. Поток пассажиров простейший. Кассир в
среднем обслуживает трех пассажиров за 10 мин. Определить среднее число заявок в системе и в очереди, среднее время пребывания
заявки в системе, среднее время пребывания заявки в очереди.
3. Междугородный переговорный пункт имеет четыре телефонных аппарата. В среднем за сутки поступает 320 заявок на переговоры. Средняя длительность переговоров составляет 5 мин. Длина
очереди не должна превышать шести абонентов. Потоки заявок и
обслуживаний простейшие. Определить характеристики обслуживания переговорного пункта в стационарном режиме: вероятность
простоя каналов, вероятность отказа клиенту в обслуживании, среднее число занятых каналов, среднее число заявок в очереди.
4. Интенсивность потока телефонных звонков в туристическое агентство во время продажи горящих путевок составляет
N 25 вызовов в час. Продолжительность разговора с клиентом
равна t 10 мин. Сколько телефонов должно быть в агентстве,
чтобы относительная пропускная способность была не менее 0,75,
а среднее время ожидания клиента в очереди не более 5 мин.?
Поток заявок распределен по экспоненциальному закону.
5. СМО – билетная касса с четырьмя окнами. Касса продает
билеты на пригородные и междугородние поезда – по два окошка
для обоих типов продаж. В зале ожидания могут находиться не
более шести человек. Желающих купить билет на пригородные
поезда приходит в среднем 12 за час (с временными интервалами,
распределенными по экспоненциальному закону), а на междугородние поезда – двое за 20 мин. (с временными интервалами, распределенными по равномерному закону). Кассир в среднем обслуживает трех пассажиров за 23 мин. Определить среднее число
заявок в системе и в очереди, среднее время пребывания заявки в
системе, среднее время пребывания заявки в очереди и вероятность отказа клиенту в обслуживании.
6. В службу поддержки банка в среднем за сутки поступает
80 000 заявок на переговоры. Средняя длительность переговоров
195
составляет 7 мин. Длина очереди не должна превышать четырех
абонентов. Потоки заявок и обслуживаний простейшие. В службе
поддержки работает 32 оператора. Определить характеристики
обслуживания переговорного пункта в стационарном режиме:
среднее число заявок в системе, вероятность обслуживания клиента, пропускную способность системы за неделю.
7. Интенсивность потока заявок в автомобильной мастерской
составляет N 13 заявок в сутки. Если очередь составляет более
шести заявок, клиенты предпочитают не ждать. Продолжительность выполнения работы в среднем составляет t 6,5 часа.
В мастерской работает пять мастеров с графиком работы 12 часов
5 дней в неделю. Определите характеристики обслуживания мастерской: среднее число занятых каналов, среднее число заявок в
очереди, среднее время заявки в системе, вероятность отказа клиенту в обслуживании. Сколько людей нужно нанять, чтобы мастерская успевала выполнять все заказы?
8. В продуктовом магазине обслуживание происходит на
трех кассах. В конце рабочего дня поток людей распределен по
нормальному закону и составляет 40 человек в час, в среднем из
каждых 8 человек двое – пенсионеры, обслуживание которых
происходит без очереди. Среднее время обслуживания клиента –
2 мин. Определить среднее время пребывания заявки в системе,
абсолютную пропускную способность, относительную пропускную способность системы.
9. В службу поддержки интернет-провайдера в среднем за сутки поступает 581 заявка на переговоры. Средняя длительность переговоров составляет 9 мин. Длина очереди не должна превышать
четырех абонентов. Потоки заявок и обслуживаний простейшие.
В службе поддержке работает шесть операторов. Подсчитать характеристики СМО: пропускную способность; вероятность обслуживания клиента; среднее время занятости каждого канала.
10. Система скорой помощи некоего городского района представляет собой пункт (который принимает требования на выполне196
ние), некоторое количество автомашин скорой помощи и несколько врачебных бригад. Определить среднее время нахождения заявки в системе, среднее время ожидания заявки в очереди, среднее
количество заявок, стоящих в очереди, если заявки поступают случайно, время выполнения заявки (с учетом дороги) в среднем составляет 25 мин., а количество машин и бригад – пять.
11. Рассматривается круглосуточная работа пункта проведения профилактического ремонта автомашин с одним каналом обслуживания. На осмотр и выявление поступает в среднем 36 машин в сутки. Потоки заявок и обслуживания случайные. Если водитель машины, прибывшей в пункт осмотра, не застает ни одного
канала свободным, он покидает пункт осмотра необслуженным.
Определить вероятность обслуживания автомашины, среднее время нахождения заявки в системе.
12. СМО – билетная касса с шестью окнами. Касса продает
билеты на пригородные (два окна обслуживания) и междугородние поезда (четыре окна обслуживания). В зале ожидания могут
находиться не более десяти человек. Желающих купить билет на
пригородные поезда приходит в среднем 23 за час (с временными
интервалами, распределенными по экспоненциальному закону), а
на междугородние поезда – 4 за 20 мин. (с временными интервалами, распределенными по равномерному закону). Кассир в среднем обслуживает пассажира за 14 мин. Определить время пребывания заявки в системе, вероятность отказа клиенту в обслуживании, среднее время занятости каждого канала.
13. Интенсивность потока телефонных звонков в агентство
по заказу железнодорожных билетов, имеющее один телефон, составляет N (3; 18) вызовов в час. Продолжительность оформления заказа на билет равна t (3; 5,4) мин. Определить относительную и абсолютную пропускную способность этой СМО и вероятность отказа (занятости телефона). Сколько телефонов должно
быть в агентстве, чтобы относительная пропускная способность
была не менее 0,85?
197
14. В продуктовом магазине обслуживание происходит на
13 кассах. В конце рабочего дня поток людей распределен по нормальному закону и составляет 100 человек в час, в среднем из каждых 12 человек трое – пенсионеры, обслуживание которых происходит без очереди. Среднее время обслуживания клиента равно
4 мин. Определить среднее время пребывания заявки в системе,
абсолютную пропускную способность, вероятность занятости каждого канала.
15. В службу поддержки банка в среднем за сутки поступает
20 540 заявок на переговоры. Средняя длительность переговоров
составляет 8 мин. Длина очереди не должна превышать пяти абонентов. Потоки заявок и обслуживаний случайные. В службе
поддержки работает 25 операторов, трое из которых занимаются
определением класса проблемы и переключением между другими
операторами, десять – операциями со вкладами и счетами, семь –
проблемами с доступом в личный кабинет приложения, пять –
вопросами кредитования. Определить характеристики обслуживания переговорного пункта в стационарном режиме: вероятность занятости каждого канала, среднее время занятости каждого канала, среднее число клиентов в очереди, вероятность отказа
клиенту в обслуживании.
16. Рассматривается круглосуточная работа пункта проведения профилактического ремонта автомашин с семью каналами
обслуживания. На осмотр и выявление поступает в среднем
36 машин в сутки. Потоки заявок и обслуживания случайные.
Если водитель машины, прибывшей в пункт осмотра, не застает
ни одного канала свободным, он покидает пункт осмотра необслуженным. Определить пропускную способность системы, вероятность занятости всех каналов вместе, среднее время занятости каждого канала.
17. В службу поддержки интернет-провайдера в среднем за
сутки поступает 111 заявок на переговоры. Средняя длительность
переговоров составляет 6 мин. Длина очереди не должна превы198
шать двух абонентов. Потоки заявок и обслуживаний простейшие.
В службе поддержке работает три оператора. Подсчитать характеристики СМО: пропускную способность; вероятность обслуживания клиента; среднее время занятости каждого канала.
18. Интенсивность потока заявок в автомобильной мастерской составляет N 9 заявок в сутки. Если очередь составляет
более трех заявок, клиенты предпочитают не ждать. Продолжительность выполнения работы в среднем составляет t 5,5 часа.
В мастерской работают три мастера с графиком работы 10 часов
5 дней в неделю. Определите характеристики обслуживания мастерской: среднее число занятых каналов, среднее число заявок в
очереди, среднее время заявки в системе, вероятность отказа клиенту в обслуживании. Сколько людей нужно нанять, чтобы мастерская успевала выполнять все заказы?
19. СМО – билетная касса с тремя окнами. Касса продает билеты на пригородные (одно окно обслуживания) и междугородние
поезда (два окна обслуживания). В зале ожидания могут находиться не более четырех человек. Желающих купить билет на
пригородные поезда приходит в среднем 13 за час (с временными
интервалами, распределенными по экспоненциальному закону),
а на междугородние поезда – двое за 20 мин. (с временными интервалами, распределенными по равномерному закону). Кассир в
среднем обслуживает пассажира за 8 мин. Определить время пребывания заявки в системе, вероятность отказа клиенту в обслуживании, среднее время занятости каждого канала.
20. В службу поддержки интернет-провайдера в среднем за
сутки поступает 715 заявок на переговоры. Средняя длительность
переговоров составляет 11 мин. Длина очереди не должна превышать пяти абонентов. Потоки заявок и обслуживаний простейшие.
В службе поддержке работает шесть операторов. Подсчитать характеристики СМО: пропускную способность системы; вероятность обслуживания клиента системой; среднее время занятости
каждого канала.
199
21. В службу поддержки банка в среднем за сутки поступает
5763 заявки на переговоры. Средняя длительность переговоров
составляет 8 мин. Длина очереди не должна превышать четырех
абонентов. Потоки заявок и обслуживаний простейшие. В службе
поддержки работает 15 операторов. Определить характеристики
обслуживания переговорного пункта в стационарном режиме:
пропускную способность системы за неделю, вероятность простоя
каждого канала, среднее время занятости каждого канала.
22. В продуктовом магазине – 20 касс. В конце рабочего дня
поток людей распределен по нормальному закону и составляет
200 человек в час, в среднем из каждых 50 человек десять – пенсионеры, обслуживание которых происходит без очереди. Среднее
время обслуживания клиента равно 4,5 мин. Определить среднее
время пребывания заявки в очереди, абсолютную пропускную
способность, вероятность занятости каждого канала.
23. Интенсивность потока заявок в автомобильной мастерской составляет N 41 заявка в сутки. Если очередь составляет
более пяти заявок, клиенты предпочитают не ждать. Продолжительность выполнения работы в среднем составляет t 4, 45 часа.
В мастерской работает 12 мастеров с графиком работы 8 часов
5 дней в неделю. Определите характеристики обслуживания мастерской: среднее время заявки в системе, вероятность занятости
каждого канала, среднее время занятости каждого канала. Сколько
людей нужно нанять, чтобы мастерская успевала выполнять все
заказы? Сколько людей работают не весь рабочий день?
24. Рассматривается круглосуточная работа пункта проведения
профилактического ремонта автомашин с двумя каналами обслуживания. На осмотр и выявление поступает в среднем 36 машин в сутки. Потоки заявок и обслуживания случайные. Если водитель машины, прибывшей в пункт осмотра, видит более трех машин перед
собой, он покидает пункт осмотра необслуженным. Определить вероятность обслуживания автомашины, среднее время нахождения
заявки в системе, среднее время нахождения заявки в очереди.
200
25. В службу поддержки банка в среднем за сутки поступает
3853 заявки на переговоры. Средняя длительность переговоров
составляет 6 мин. Длина очереди не должна превышать четырех
абонентов. Потоки заявок и обслуживаний простейшие. В службе
поддержки работает 15 операторов, три из которых занимаются
определением класса проблемы и переключением между другими
операторами, шесть – операциями со вкладами и счетами, четыре – проблемами с доступом в личный кабинет приложения, два –
вопросами кредитования. Определить характеристики обслуживания переговорного пункта в стационарном режиме: вероятность
занятости каждого канала, среднее время занятости каждого канала, среднее число клиентов в очереди, вероятность отказа клиенту
в обслуживании.
201
4. Моделирование СМО (Stateflow)
Тема: «Моделирование СМО (Q-систем) в Simulink с использованием библиотеки Stateflow».
Цель работы: практическое изучение технологий визуального программирования моделей с использованием подсистемы
Simulink и пакета расширения Stateflow; освоение навыков проведения экспериментальных исследований с моделями СМО в интересах оценки их эффективности и влияния основных факторов.
Подготовка и порядок проведения работы: выполняется в
среде MATLAB и оформляется в виде m-файла управляющей программы, содержащей обращение к mdl-файлу S-модели с вложенной
SF-моделью (SF-диаграммой, SF-машиной) одной из возможных
конфигураций СМО. Задания на выполнение работы предполагают
проведение исследований различных типов и структур СМО с использованием разнородных показателей для оценки эффективности
в зависимости от основных факторов влияния.
Роль управляющей программы состоит в задании варьируемых
и неварьируемых факторов, проведении стратегического и тактического планирования модельного эксперимента, реализации процедур статистической обработки результатов моделирования.
Роль S-модели заключается в обеспечении динамики процесса
функционирования SF-модели и регистрации его результатов на основе использования стандартных элементов подсистемы Simulink.
Наконец, роль SF-модели состоит, собственно, в воспроизведении
визуальной модели СМО с использованием формализма гибридных
автоматов (карт состояний Харела).
Этапы работы:
1. Изучение теоретического материала, знакомство с СМО,
их составными частями и принципами построения.
2. Ознакомление с возможностями подсистемы визуального
моделирования Simulink и входящей в нее библиотеки SimEvents
в интересах моделирования СМО, а также с пакетом Stateflow.
3. Формирование SF-модели с оболочкой S-модели исследуемой системы (mdl-файл) со всеми необходимыми атрибутами,
202
обеспечивающими фиксацию результатов моделирования в контрольных точках, а также расчетом и графическим отображением
требуемых показателей эффективности.
4. Формирование внешней управляющей программы на языке MATLAB в виде m-файла для расчета заданных показателей
эффективности в случае необходимости.
Алгоритм выполнения лабораторной работы представлен на
блок-схеме (рис. 6.4).
НАЧАЛО
1. Задание исходных данных
– интервал дискретизации по времени;
– количество отсчетов на интервале моделирования;
– количество факторов;
– диапазонов значений факторов;
– предельная длина очереди (неварьируемая величина)
2. Стратегическое планирование
– расчет числа проводимых экспериментов;
– формирование дробного двухуровневого плана эксперимента с учетом
парного взаимодействия факторов (добавление фиктивного фактора);
– формирование матрицы планирования с учетом фиктивного фактора
3. Задание исходных данных
– доверительный интервал;
– уровень значимости
4. Создание модели системы (S-/SF-модель)
– выбор элементов S-/SF-модели;
– настройка параметров элементов S-модели (блоков)/SF-модель;
– сборка S-/SF-модели
5. Расчет значений
– t-критического;
– требуемого числа испытаний модели
6. Тактическое планирование
– цикл по совокупности экспериментов стратегического плана;
– цикл статистических испытаний;
– имитация функционирования системы;
– оценка параметров (реакции) по выборке наблюдений
7. Отображение полученной в ходе эксперимента
зависимости показателя эффективности от выбранных факторов
– расчет коэффициентов регрессии;
– формирование множества реальных значений факторов;
– построение экспериментальной поверхности реакции
8. Проверки адекватности полученной модели
КОНЕЦ
Рис. 6.4. Блок-схема алгоритма выполнения лабораторной работы 4
203
Варианты заданий для самостоятельной работы
1. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 2, 25, потоком обслуживания,
описываемым детерминированным потоком с интенсивностью ,
построить зависимости эмпирически вычисляемых параметров:
относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок); средней загрузки очереди N q от объема накопителя N q и от величины интенсивности потока обслуживания (начальное значение 0 1).
Поток заявок формируется в Simulink.
2. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым детерминированным потоком с интенсивностью , потоком обслуживания,
описываемым пуассоновским потоком с интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок) и среднего времени пребывания заявки в системе от величин интенсивности
потоков и в диапазоне 1…4. Объем накопителя равен 5. Поток заявок формируется в Simulink.
3. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым потоком Эрланга второго порядка с интенсивностью 4, потоком обслуживания, описываемым пуассоновским потоком с интенсивностью
, построить зависимости эмпирически вычисляемых параметров:
относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок); средней
204
загрузки очереди N q от объема накопителя N q и от величины интенсивности потока обслуживания (начальное значение 0 2).
Поток заявок формируется в Simulink.
4. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым потоком Эрланга второго порядка с интенсивностью , потоком обслуживания, описываемым потоком Эрланга третьего порядка с интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной способности q (отношение
среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); среднего времени нахождения заявки в очереди от величины интенсивности потоков и в диапазоне 5…10. Объем накопителя
равен 7. Поток заявок формируется в Simulink.
5. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым детерминированным потоком с интенсивностью 5, потоком обслуживания,
описываемым пуассоновским потоком с некоторой интенсивностью , построить зависимости эмпирически вычисляемых параметров: среднего числа отказов в единицу времени и среднего
времени нахождения заявки в системе от величины интенсивности потоков и в диапазоне 5…10. Объем накопителя равен 2.
Поток заявок формируется в Simulink.
6. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 3, потоком обслуживания,
описываемым детерминированным потоком с интенсивностью ,
построить зависимости эмпирически вычисляемых параметров:
относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок); средней загрузки очереди N q от объема накопителя Nq и от величины ин205
тенсивности потока обслуживания (начальное значение 0 2).
Поток заявок формируется в Stateflow.
7. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым детерминированным потоком с интенсивностью , потоком обслуживания,
описываемым пуассоновским потоком с интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок) и среднего времени пребывания заявки в системе от величин интенсивности
потоков и в диапазоне 0,5…2. Объем накопителя равен 4.
Поток заявок формируется в Stateflow.
8. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым потоком Эрланга второго порядка с интенсивностью 3, потоком обслуживания, описываемым пуассоновским потоком с интенсивностью
, построить зависимости эмпирически вычисляемых параметров:
относительной пропускной способности q (отношение среднего
числа заявок, обслуживаемых системой в единицу времени, к
среднему числу поступивших за это время заявок); средней загрузки очереди N q от объема накопителя Nq и от величины интенсивности потока обслуживания (начальное значение 0 3).
Поток заявок формируется в Stateflow.
9. Путем имитационного моделирования элементарного прибора обслуживания с потоком заявок, описываемым потоком Эрланга второго порядка с интенсивностью , потоком обслуживания, описываемым потоком Эрланга третьего порядка с интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной способности q (отношение
среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); сред206
него времени нахождения заявки в очереди от величины интенсивности потоков и в диапазоне 5…10. Объем накопителя равен 7. Поток заявок формируется в Simulink.
10. Путем имитационного моделирования элементарного
прибора обслуживания с потоком заявок, описываемым детерминированным потоком с интенсивностью 5, потоком обслуживания, описываемым пуассоновским потоком с некоторой интенсивностью , построить зависимости эмпирически вычисляемых
параметров: среднего числа отказов в единицу времени и среднего
времени нахождения заявки в системе от величины интенсивности потоков и в диапазоне 5…10. Объем накопителя равен 2.
Поток заявок формируется в Stateflow.
11. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 2, 25, потоками обслуживания одинаковыми для каждого
прибора и описываемыми пуассоновскими потоками с некоторой
интенсивностью , построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); среднего времени пребывания заявки в
системе от объема накопителя N q первой фазы в диапазоне 1…5 и
величины интенсивности потока обслуживания (начальное значение 0 1). Объем накопителя второй фазы равен 0. Формирование потока заявок и их передача производится в Stateflow.
12. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим
входным пуассоновским потоком с интенсивностью , потоками
обслуживания, описываемыми пуассоновскими потоками с некоторой одинаковой интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной
способности q (отношение среднего числа заявок, обслуживаемых
207
системой в единицу времени, к среднему числу поступивших за
это время заявок); среднего времени пребывания в очереди от величины интенсивности потока заявок и потока обслуживания
в диапазоне 0,5…3. Объем накопителей равен 5. Формирование
потока заявок и их передача производится в Stateflow.
13. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 4, потоками обслуживания, описываемыми пуассоновскими потоками с интенсивностью в первой фазе и / 3 во
второй фазе, построить зависимости относительной пропускной
способности q (отношение среднего числа заявок, обслуживаемых
системой в единицу времени, к среднему числу поступивших за
это время заявок); среднего времени пребывания заявки в системе
от объема накопителя N q первой фазы в диапазоне 1…5 и величины интенсивности потока обслуживания (начальное значение
0 1). Объем накопителя второй фазы равен 5. Формирование
потока заявок и их передача производится в Stateflow.
14. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим входным пуассоновским потоком с интенсивностью , потоками обслуживания, описываемыми пуассоновскими потоками с интенсивностью и 2, построить зависимости эмпирически вычисляемых параметров: относительной пропускной способности q (отношение
среднего числа заявок, обслуживаемых системой в единицу времени,
к среднему числу поступивших за это время заявок); среднего времени пребывания в системе от величины интенсивности потока заявок и в диапазоне 0,2…1. Объем накопителей равен 3 и 8.
Формирование потока заявок и их передача производится в Stateflow.
15. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсив208
ностью , потоками обслуживания одинаковыми для каждого
прибора и описываемыми пуассоновскими потоками с некоторой
интенсивностью , построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); среднего времени пребывания заявки
в системе от величины интенсивности потока заявок и потока
обслуживания в диапазоне 0,5…5. Объем накопителя первой
фазы равен 0, а второй фазы равен 6. Формирование потока заявок
и их передача производится в Stateflow.
16. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим потоком заявок, описываемым пуассоновским потоком с интенсивностью 4, потоками обслуживания, описываемыми пуассоновскими потоками с интенсивностью и / 2, построить зависимости среднего числа заявок, получивших отказ в единицу времени, относительно среднего числа поступивших за это время заявок; среднего времени пребывания заявки в очереди от объема накопителей N q в диапазоне 1…5 и величины интенсивности потока
обслуживания (начальное значение 0 1). Формирование потока заявок и их передача производится в Stateflow.
17. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 2, 25, потоками обслуживания одинаковыми для каждого
прибора и описываемыми пуассоновскими потоками с некоторой
интенсивностью , построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); среднего времени пребывания заявки в
системе от объема накопителя N q первой фазы в диапазоне 1…5
и величины интенсивности потока обслуживания (начальное
209
значение 0 1). Объем накопителя второй фазы равен 0. Формирование потока заявок и их передача производится в Simulink.
18. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим
входным пуассоновским потоком с интенсивностью , потоками
обслуживания, описываемыми пуассоновскими потоками с некоторой одинаковой интенсивностью , построить зависимости эмпирически вычисляемых параметров: относительной пропускной
способности q (отношение среднего числа заявок, обслуживаемых
системой в единицу времени, к среднему числу поступивших за
это время заявок); среднего времени пребывания в очереди от величины интенсивности потока заявок и потока обслуживания
в диапазоне 0,5…3. Объем накопителей равен 5. Формирование
потока заявок производится в Simulink.
19. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью 4, потоками обслуживания, описываемыми пуассоновскими потоками с интенсивностью в первой фазе и / 3 во
второй фазе, построить зависимости относительной пропускной
способности q (отношение среднего числа заявок, обслуживаемых
системой в единицу времени, к среднему числу поступивших за
это время заявок); среднего времени пребывания заявки в системе
от объема накопителя N q первой фазы в диапазоне 1…5 и величины интенсивности потока обслуживания (начальное значение
0 1). Объем накопителя второй фазы равен 5. Формирование
потока заявок и их передача производится в Simulink.
20. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим входным пуассоновским потоком с интенсивностью , потоками обслуживания, описываемыми пуассоновскими потоками с интенсивностью и 2, построить зависимости эмпирически вычисляемых
210
параметров: относительной пропускной способности q (отношение
среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок); среднего
времени пребывания в системе от величины интенсивности потока
заявок и в диапазоне 0,2…1. Объем накопителей равен 3 и 8.
Формирование потока заявок производится в Simulink.
21. Путем имитационного моделирования двух последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью , потоками обслуживания одинаковыми для каждого
прибора и описываемыми пуассоновскими потоками с интенсивностью , построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых
системой в единицу времени, к среднему числу поступивших за
это время заявок); среднего времени пребывания заявки в системе
от величины интенсивности потока заявок и потока обслуживания в диапазоне 0,5…5. Объем накопителя первой фазы равен 0,
а второй фазы – 6. Формирование потока заявок и их передача
производится в Simulink.
22. Путем имитационного моделирования двух параллельно
соединенных элементарных приборов обслуживания с общим потоком заявок, описываемым пуассоновским потоком с интенсивностью 4, потоками обслуживания, описываемыми детерминированными потоками с интенсивностью и / 2, построить зависимости среднего числа заявок, получивших отказ в единицу
времени, относительно среднего числа поступивших за это время
заявок; среднего времени пребывания заявки в очереди от объема
накопителей N q в диапазоне 1…5 и величины интенсивности потока обслуживания (начальное значение 0 1). Формирование
потока заявок производится в Simulink.
23. Путем имитационного моделирования трех последовательно соединенных элементарных приборов обслуживания с по211
током заявок, описываемым пуассоновским потоком с интенсивностью , потоками обслуживания одинаковыми для каждого прибора и описываемыми детерминированными потоками с интенсивностью , построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых
системой в единицу времени, к среднему числу поступивших за это
время заявок) от величины интенсивности потока заявок и потока обслуживания в диапазоне 0,5…5. Объем накопителя первой
фазы равен 1, второй – 3, третьей – 6. Формирование потока заявок
и их передача производится в Simulink.
24. Путем имитационного моделирования трех последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью , потоками обслуживания, одинаковыми для каждого
прибора и описываемыми пуассоновскими потоками с интенсивностью µ, µ/3, µ/4, построить зависимости относительной пропускной способности q (отношение среднего числа заявок, обслуживаемых системой в единицу времени, к среднему числу поступивших за это время заявок) от величины интенсивности потока
заявок и потока обслуживания в диапазоне 1…3. Объем накопителя первой фазы равен 1, второй – 3, третьей – 6. Формирование потока заявок и их передача производится в Stateflow.
25. Путем имитационного моделирования трех последовательно соединенных элементарных приборов обслуживания с потоком заявок, описываемым пуассоновским потоком с интенсивностью , потоками обслуживания, одинаковыми для каждого
прибора и описываемыми детерминированными потоками с интенсивностью , построить зависимости среднего времени пребывания заявки в системе от величины интенсивности потока заявок
и потока обслуживания в диапазоне 0,1…2. Объем накопителя первой фазы равен 2, второй – 4, третьей – 5. Формирование
потока заявок и их передача производится в Simulink.
212
5. Компьютерное моделирование
информационного конфликта систем
Тема: «Компьютерное моделирование информационного
конфликта (MATLAB + Simulink + Stateflow)».
Цель работы: практическое изучение технологий компьютерных имитационных моделей информационного конфликта систем с использованием подсистемы Simulink и пакета расширения
Stateflow.
Подготовка и порядок проведения работы: выполняется в
среде MATLAB и оформляется в виде m-файла управляющей программы, содержащей обращение к mdl-файлу S-модели с вложенной SF-моделью (SF-диаграммой, SF-машиной) конфликта, реализованная в рамках формализма карт состояний Харела.
Задания на выполнение работы предполагают проведение исследований с различными вероятностными законами времени
пребывания в состояниях, а также исследований моделей конфликта при различном количественном составе коалиций систем,
а также в условиях ухода из-под воздействия.
Роль управляющей программы состоит в задании интервала
дискретизации и количества отсчетов на интервале времени, вероятностей поражения на завершающем этапе, фиксации результатов исхода конфликта (количество проигрышей первой/второй
стороны конфликта).
S-модель является необходимой оболочкой для событийно
управляемой модели в Stateflow. Наконец, роль SF-модели состоит,
собственно, в воспроизведении модели конфликта с использованием формализма гибридных автоматов (карт состояний Харела).
Этапы работы:
1. Изучение теоретического материала, знакомство с СМО,
их составными частями и принципами построения.
2. Ознакомление с возможностями подсистемы визуального
моделирования Simulink и входящей в нее библиотеки SimEvents,
а также с пакетом Stateflow.
213
3. Формирование SF-модели с оболочкой S-модели исследуемой системы (mdl-файла) со всеми необходимыми атрибутами,
обеспечивающими фиксацию результатов моделирования в контрольных точках, а также расчетом и графическим отображением
требуемых показателей эффективности.
Алгоритм лабораторной работы представлен на блок-схеме
(рис. 6.5).
НАЧАЛО
1. Задание исходных данных
– интервал дискретизации по времени;
– количество отсчетов на интервале моделирования;
– количество испытаний (реализаций) модели
конфликта;
– количество систем, действующих с каждой
стороны;
– интенсивности смены состояний противоборствующих сторон;
– вероятности поражения систем на завершающем
этапе
2. Создание модели конфликтов систем (SF-модель)
– выбор элементов SF-модели;
– настройка параметров элементов SF-модели (блоков);
– сборка SF-модели
3. Имитация функционирования конфликта коалиции систем
4. Отображение полученной в ходе эксперимента
зависимости показателя эффективности СМО
– расчет показателя эффективности модели СМО;
– построение поверхности для показателя эффективности модели СМО
4. Проверки адекватности полученной модели
КОНЕЦ
Рис. 6.5. Блок-схема алгоритма
выполнения лабораторной работы 5
214
Варианты заданий для самостоятельной работы
1. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 4, NB = 5. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 1, LA2 = 1, LA3 = 1, LB1 = 1,
LB2 = 1, LB3 = 1. Вероятности поражения: pa = 0,9, pb = 0,7. Алгоритм назначения объектов воздействия – случайным образом из
списка «свободных».
2. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 5, NB = 5. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 1, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2=0,5, LB3=1. Вероятности поражения: pa = 0,6,
pb = 0,3. Алгоритм назначения объектов воздействия – первый
четный из списка «свободных».
3. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 4, NB = 7. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,5,
pb = 0,7. Алгоритм назначения объектов воздействия – первый нечетный из списка «свободных».
4. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 7, NB = 7. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 0,5,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,9,
pb = 0,1. Алгоритм назначения объектов воздействия – первый из
списка «свободных».
5. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 2, NB = 7. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 1, LA2 = 1, LA3 = 1, LB1 = 1,
215
LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,5, pb = 0,5. Алгоритм назначения объектов воздействия – последний из списка
«свободных».
6. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 3, NB = 3. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 0,5, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,3,
pb = 0,7. Алгоритм назначения объектов воздействия – последний
из списка «свободных».
7. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 9, NB = 2. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,5,
pb = 0,9. Алгоритм назначения объектов воздействия – первый нечетный из списка «свободных».
8. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 10, NB = 10. Интенсивности смены состояний систем противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 1, LB3 = 1. Вероятности поражения: pa = 0,5,
pb = 0,5. Алгоритм назначения объектов воздействия – случайный
из списка «свободных».
9. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 2, NB = 12. Интенсивности смены состояний систем противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,9,
pb = 0,1. Алгоритм назначения объектов воздействия – случайный
из списка «свободных».
10. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
216
стороны: NA = 7, NB = 4. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,3, LA2 = 0,4, LA3 = 1,
LB1 = 1, LB2 = 1, LB3 = 1. Вероятности поражения: pa = 0,5,
pb = 0,7. Алгоритм назначения объектов воздействия – первый
четный из списка «свободных».
11. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 7, NB = 7. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 0,5. Вероятности поражения: pa = 0,8,
pb = 0,7. Алгоритм назначения объектов воздействия – первый из
списка «свободных».
12. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 5, NB = 5. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 0,5. Вероятности поражения pa = 0,5,
pb = 0,5. Алгоритм назначения объектов воздействия – последний
из списка «свободных».
13. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 10, NB = 10. Интенсивности смены состояний систем противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,9,
pb = 0,9. Алгоритм назначения объектов воздействия – первый нечетный из списка «свободных».
14. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны: NA = 4, NB = 6. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 0,5, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения: pa = 0,3,
pb = 0,1. Алгоритм назначения объектов воздействия – первый
четный из списка «свободных».
217
15. Провести моделирование конфликта коалиций систем в
дуэльной ситуации. Количество систем, действующих с каждой
стороны NA = 6, NB = 8. Интенсивности смены состояний систем
противоборствующих сторон: LA1 = 0,5, LA2 = 1, LA3 = 1,
LB1 = 1, LB2 = 0,5, LB3 = 1. Вероятности поражения pa = 0,7,
pb =0,5. Алгоритм назначения объектов воздействия – случайный
из списка «свободных».
218
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Bangsow S. Tecnomatix plant simulation. Modeling and programming by means of examples / S. Bangsow. – Switzerland : Springer International Publishing, 2015.
2. Jensen J. M. Dynamic modeling of thermo-fluid systems /
J. M. Jensen. – 2003. – 215 p.
3. NetSim [Электронный ресурс]. – Режим доступа: https://
www.boson.com/support/NetSim
4. Алгазинов Э. К. Анализ и компьютерное моделирование
информационных процессов и систем / Э. К. Алгазинов, А. А. Сирота. – Диалог МИФИ, 2009. – 416 с.
5. Андрейчиков А. В. Анализ, синтез, планирование решений
в экономике / А. В. Андрейчиков, О. Н. Андрейчикова. – М. : Финансы и статистика, 2004. – 464 с.
6. Анфилатов В. С. Системный анализ в управлении /
В. С. Анфилатов, А. А. Емельянов, А. А. Кукушкин. – М. : Финансы и статистика, 2005. – 368 с.
7. Беллман Р. Математическое моделирование. Процессы в
сложных экономических и экологических системах / Р. Беллман,
И. Гликсберг, О. Гросс. – М. : ИИЛ, 1962. – 336 с.
8. Бир С. Кибернетика и менеджмент : пер. с англ. / С. Бир. –
Издательство «УРСС» , 2006. – 280 с.
9. Боев В. Д. Компьютерное моделирование. Элементы теории и практики : учеб. пособие / В. Д. Боев, Р. П. Сыпченко. –
СПб. : Военная академия связи, 2009. – 432 с.
10. Денисов А. А. Теория больших систем управления /
А. А. Денисов, Д. Н. Колесников. – Л. : Энергоиздат, 1982. – 288 с.
11. Дружинин В. В. Введение в теорию конфликта /
В. В. Дружинин, А. С. Конторов, Д. С. Конторов. – М. : Радио и
связь, 1989. – 288 с.
12. Дьяконов В. П. MATLAB и SIMULINK для радиоинженеров / В. П. Дьяконов. – М. : ДМК-Пресс, 2011. – 976 с.
219
13. Ивашкин Ю. А. Агентные технологии и мультиагентное
моделирование систем / Ю. А. Ивашкин. – М., 2013. – 267 с.
14. Истомин Е. П. Теория организаций : системный подход :
учебник / Е. П. Истомин, А. Г. Соколов. – СПб. : Андреевский издательский дом, 2009. – 314 с.
15. Кобзарь А. И. Прикладная математическая статистика /
А. И. Кобзарь – М. : Физматлит, 2006. – 816 с.
16. Козирацкий Ю. Л. Особенности моделирования сложного коалиционного конфликта в условиях противодействия /
Ю. Л. Козирацкий, В. М. Шляхин, В. А. Губарев // Радиотехника. – 1997. – № 6. – С. 43–46.
17. Месарович М. Теория иерархических многоуровневых
систем / М. Месарович, Д. Мако, И. Такахара. – М. : Мир, 1978. –
311 с.
18. Морозова В. И. Моделирование бизнес-процессов с использованием методологии ARIS : учебно-методическое пособие /
В. И. Морозова, К. Э. Врублевский. – М. : РУТ (МИИТ), 2017. –
47 c.
19. Мухин В. И. Исследование систем управления / В. И. Мухин. – М. : Экзамен, 2006. – 479 с.
20. Острейковский В. А. Теория систем / В. А. Острейковский. – М. : Высшая школа, 1997. – 240 с.
21. Петров А. В. Анализ и синтез радиотехнических комплексов / А. В. Петров, А. А. Яковлев. – М. : Радио и связь, 1984. –
248 с.
22. Ползунова Н. Н. Исследование систем управления /
Н. Н. Ползунова, В. Н. Краев. – М. : Академический проект,
2004. – 176 с.
23. Радзиевский В. Г. Информационное обеспечение радиоэлектронных систем в условиях конфликта / В. Г. Радзиевский,
А. А. Сирота. – М. : Радиотехника, 2001. – 456 с.
220
24. Романов А. Н. Информационные системы в экономике
(лекции, упражнения и задачи) : учебн. пос. / А. Н. Романов,
Б. Е. Одинцов. – М. : Вузовский учебник, 2006. – 300 с.
25. Сирота А. А. Компьютерное моделирование и оценка эффективности сложных систем / А. А. Сирота. – Техносфера,
2006. – 280 с.
26. Системный анализ и принятие решений : словарь-справочник / под ред. В. Н. Волковой, В. Н. Козлова. – М. : Высшая
школа, 2004. – 616 с.
27. Советов Б. Я. Моделирование систем / Б. Я. Советов,
С. А. Яковлев. – М. : Высшая школа, 2001. – 275 с.
28. Сухоруков Ю. С. Принципы моделирования динамики
взаимодействия сторон в условиях радиолокационного конфликта / Ю. С. Сухоруков, В. М. Шляхин // Радиотехника. – 1992. –
№ 1–2. – С. 4–11.
29. Шрейдер Ю. А. Системы и модели / Ю. А. Шрейдер,
А. А. Шаров. – М. : Радио и связь, 1982. – 152 с.
221
ПРИЛОЖЕНИЯ
Приложение А
Алгоритмы генерации случайных величин
Обозначение, параПлотность
№
Наимеметры
распределения вероятностей,
п/п нование
сдвига,
математическое ожидание m
масштаба,
и дисперсия D
формы
1
2
3
4
1 Равномерное R: a, b
1 / b , a x a b,
f x
распределе0, x a, x a b,
ние
2
m = a + b/2, D = b /12
2 Биномиаль- B: n, p
ное распределение
f x C nx p x 1 p n x, x 0,1,2 ,...,
m np , D = np 1-p
Алгоритм
генерации
5
R : a,b ~ a + bR ( 0 ) ,
R ( 0 ) = R : 0,1 – стандарт-
ный датчик РСВ
в диапазоне (0,1)
1, R ( 0 ) p ,
В : 1, p ~
0, R ( 0 ) p .
n
В: n, p ~
B : 1, p
i
i 1
3 Распределе- P:
ние Пуассона
f x x exp / x!, x 0,1,2 ,... Р: ~ x , x 0,1,2 ,...,
F ( x ) R ( 0 ) F ( x 1 ),
m , D =
x
F( x )
exp /i!
i
i 0
4 Гауссовское N: μ, σ
(нормальное) распределение
5 ЭкспоненE: b
циальное
(показательное) распределение
6 Распределе- Rl: σ
ние
Рэлея
x , m , D = 2
f x
1
x
exp , x 0,
b
b
12 ( 0 )
Ri 6
:
,
~
N
i 1
Е : b ~ – bln R ( 0 )
m = b, D = b 2
f( x)
m
7 ЛогнорL: μ, σ
мальное
распределение
x 2
exp
,
2 1 / 2 2 2
1
f x
x2
x
exp
2 2 , x 0,
2
, D (2 – ) 2
2
2
Rl : ~ 2 ln R
(0)
ln x / 2 L : , ~ expN : 0,
f x
exp
,
2 2
x 2 1 / 2
1
x 0, m exp 2 ,
2
D = 2 exp 2 exp 2 1
1
222
П р о д о л ж е н и е п р и л. А
1
2
8 Гаммараспределение
3
: b, c
4
x
f x
b
c 1
5
x
exp /bГ с , x 0
b
Г с exp u u c 1du – гамма-
0
10 Бетараспределение
, S R ,
S1 R1( 0 )
( 0 ) 1 / 1 c
2
1/ c
2
S1 S 2 1
функция, m bc , D b 2 c
9 Распределение Эрланга
γ : b ,c ~ –-b : 1,c,
при 0 c 1,
γ : 1,c ~ S1 ln R3( 0 ) /( S1 S 2 )
c 1
Er: b, c,
c (0)
x
x
f
x
exp
/
b
c
1
!
,
x
0
,
:
b
,
c
~
b
ln
Ri
Er
c – целое
b
b
i 1
m bc , D b 2 c
: v, w
f x x v-1 1 – -x w-1 /B( v , w ), 0 x 1, β : v,w ~ S1 / S 1 S 2 ,
B( v ,w ) u
1
1
v 1
1 u
w1
du – бета-
0
1
S1 R1( 0 ) v , S 2 R2( 0 ) w ,
S1 S 2 1
функция,
11 Распреде- Xe: a, b
ление экстремального (минимального)
значения
12 Логистиче- Xl: a, k
ское распределение
m = v/(v + w), D = vw/(v + w)2(v + w + 1)
1
xa
x a Хе: a, b ~ a + b ln ln R ( 0 )
f x exp
exp– exp
b
b
b
x ,
m = a+b(-– 0,57721 ), D = b 2 π 2 / 6
expx a / k
f x
k 1 expx a / k
x ,
2
R( 0 )
Xl : a, k ~ a +k ln
(0)
1 R
,
m = a, D = k 2 / 3
13 Распределение Парето
X: c
f(x) =cx c 1 , 1 x ,
1
Х: c ~ (0)
R
m = c/(c– 1 ), c 1,
D = c/(c – 2) – c / c 12 ,c 2
14 Распреде- W: b, c
ление Вейбулла
f x cx c 1 / b c
exp bx , x 0 W: b, c ~ b ln R
m = b (c + 1 )/ c ,
( 0 ) 1/ c
c
c 1
D = b 2 c 2 / c 2 c 1 / c ,
15 Распределение Коши
C: b, a
–1
2
С : b ,a ~ a btg 2R ( 0 )
1 xa
f(x) = 1
, x
b b
m , D – не существуют
16 Распреде- A: b, a
ление арксинуса
1/ c
2
1 xa
f(x) = 1
b b
m a , D b2 / 2
223
–1/2
, x
А : b,a ~ a b sin R ( 0 ) / 2
Приложение Б
Нотация Кендалла для описания СМО
Обозначение
1
M
D
Ek
G
M
D
Ek
G
c
K
Название
Описание
2
3
A: Распределение потока заявок
Марковский
Пуассоновский (случайный) процесс
процесс
генерации заявок (время между генерацией заявок распределяется по экспоненциальному закону)
Вырожденное
Фиксированное время поступления
распределение
заявок
Распределение
Заявки поступают по распределению
Эрланга
Эрланга с параметром k (сумма k случайных величин, распределенных экспоненциально)
Общее
Независимые времена поступления
распределение
заявок
S: Распределение потока обслуживания заявок
Марковский
Экспоненциальное время обработки
процесс
заявок
Вырожденное
Фиксированное время обработки
распределение
заявок
Распределение
Заявки обрабатываются по распредеЭрланга
лению Эрланга с параметром k (сумма
k случайных величин, распределенных
экспоненциально)
Общее
Независимые времена поступления
распределение
заявок
c: Количество серверов
Количество сер- Например, в системе M/M/1 – один
веров (каналов
сервер, а в системе M/M/с – c серверов
обслуживания)
K: Количество мест в системе
Емкость системы Максимальное количество заявок, которые могут одновременно находиться в системе, включая заявки, находящиеся на серверах обработки. Когда максимальное число заявок будет
достигнуто, новые заявки будут отклоняться.
224
П р о д о л ж е н и е п р и л. Б
N
FIFO/FCFS
LIFO/LCFS
SIRO
PNPN
Также может обозначать количество
заявок в очереди. Тогда количество
заявок в системе рассчитывается как
c + K, где c − количество серверов, а
K − максимальная емкость очереди
N: Популяция генератора заявок
Количество гене- Небольшое количество заявок значирируемых заявок тельно повлияет на показатели системы, так как чем больше заявок находится в очереди, тем меньше мест остается в системе и больше заявок будет отклонено. Если значение пропущено, число заявок считается неограниченным или бесконечным
D: Дисциплина очереди
Заявки обслуживаются в порядке возFirst in – first
out/First come – никновения
first served
Заявки обслуживаются в порядке, обLast in – first
ратном порядку возникновения заявок
out/Last come –
first served
Service in random Заявки обслуживаются в случайном
порядке, независимо от порядка возorder
никновения заявки
Заявки обслуживаются в зависимости
Priority service
от приоритета заявки, который назначается ей до поступления на очередь
225
Учебное издание
Митрофанова Елена Юрьевна,
Сирота Александр Анатольевич,
Швырева Анна Владимировна
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
ИНФОРМАЦИОННЫХ ПРОЦЕССОВ И СИСТЕМ
Учебное пособие
Редактор Е. В. Поликаркина
Компьютерная верстка А. Ю. Хаустовой
Подписано в печать 25.11.2021. Формат 60×84/16
Уч.-изд. л. 10,4. Усл. п. л. 13,1. Тираж 50. Заказ 597
Издательский дом ВГУ
394018 Воронеж, пл. Ленина, 10
Отпечатано в типографии
Издательского дома ВГУ
394018 Воронеж, ул. Пушкинская, 3
226