/
Author: Харин Ю.С. Малюгин В.И. Кирлица В.П.
Tags: математика компьютерное моделирование
ISBN: 985-6182-31-X
Year: 1997
Text
Харин Ю.С., Малюгин В.И.,
Кирлица В.П., Лобач В.И., Хацкевич Г.А.
ОСНОВЫ ИМИТАЦИОННОГО
И СТАТИСТИЧЕСКОГО
МОДЕЛИРОВАНИЯ
Допущено Министерством образования Республики Беларусь
в качестве учебного пособия для студентов математических,
инженерно-технических и экономических специальностей
высших учебных заведений
Минск
Издательство "Дизайн ПРО"
1997
УДК 519.95 :
ББК 22.18я7
Х20
62.529: 681.3
i
Рецензенты:
Кафедра математических проблем управления
Гомельского государственного университета им.Ф.Скорины,
доктор тенических наук, профессор Максимей И.В.;
доктор физико-математических наук, профессор Егоров А.Д.
Харин Ю.С., Малюгин В.И., Кирлица В.П. и др.
Х20 Основы имитационного и статистического моделирования.
Учебное пособие — Мн.: Дизайн ПРО, 1997, — 288 с: ил.
ISBN 985-6182-31-Х
Изложены основы теории имитационнойо и статистического
моделирования сложных систем. Описаны различные типы
математических моделей и методы их построения, способы разработки
моделирующих алгоритмов и программ. Детально описаны методы
имитации на ЭВМ случайных элементов, Рассмотрены ¦ вопросы
оптимального планирования и статистической обработки результатов
имитационных экспериментов. Описаны программно-методические
средства для организации компьютерного практикума.
Для студентов вузов, обучающихся по математическим,
инженерно-техническим и экономическим специальностям, слушателей
факультетов переподготовки и повышения квалификации, а также
специалистам, желающим познакомиться с методами компьютерного
моделирования.
X-
1402020000 - 58
97
ББК22.18я7
ISBN 985-6182-31-Х
© Харин Ю.С., Малюгин В.И.,
Кирлица В.П., Лобач В.И.,
Хацкевич Г.А., 1997.
Учебное издание
Юрий Семенович Харин
Владимир Ильич Малюгин
Валерии Петрович Кирлица
Виктор Иванович Лобач
Геннадии Алексеевич Хацкевич
Основы имитационного и статистического моделирования
Редактор Н.В.Овчиннт-пва
Технические редакторы Е.В.Радченко, И.Ю.Зверева
Подписано в печать с оригинал-макета 15.06.97. Формат 60x90 1/16. Бум. офсетная.
Печать офсетная. Усл. печ. л. 17,8. Уч. изд. л. 18. Тираж 1000 экз. Зак. 5452
Лицензия ЛВ№ 819
Издательство "Дизайн ПРО", 220027. Минск, пр. Ф.Скорипы. 65
Отпечатано в типографии "Победа". 222310, г. Молодечпо. ул. Тавлая. 11
ПОСВЯЩАЕТСЯ 75-ЛЕТИЮ
БЕЛОРУССКОГО ГОСУДАРСТВЕННОГО
УНИВЕРСИТЕТА
Ч
Дадим краткую классификацию видов моделирования систем (см.
рис.0.1).
ВВЕДЕНИЕ
Важнейшей, универсальной целью рациональной деятельности че-
человека является создание высокоэффективных систем, объектов, явле-
явлений, технологий, процессов в экономике, технике, экологии, производст-
производстве, обществе. Высокая эффективность предполагает достижение
экстремума некоторых числовых характеристик — показателей эффек-
эффективности. В связи с этим необходимы математические методы. Но к ре-
реальному явлению, объекту, системе эти методы непосредственно не при-
применимы. Необходимо, прежде всего, построить математическую модель
системы, то есть приближенное описание системы с помощью математи-
математических соотношений. Математическое моделирование (ММ) представ-
представляет собой исследование математической модели, включающее построе-
построение модели, изучение ее и перенос полученных сведений на
моделируемую систему.
Математическое моделирование существует фактически с тех да-
далеких времен, когда математический аппарат начинал применяться для
решения практических задач. Однако эти попытки часто заходили в ту-
тупик из-за сложности моделей (нелинейные уравнения; большое число
переменных, параметров, уравнений; малая априорная информация и
др.) и невозможности их исследования традиционными аналитическими
методами. С появлением и совершенствованием ЭВМ ситуация коренным
образом изменилась. С математической моделью начали экспериментиро-
экспериментировать на ЭВМ. Появились новые понятия и подходы: вычислительный
эксперимент, имитационное моделирование, статистическое моделирова-
моделирование, метод Монте-Карло. В настоящее время сущность ММ состоит в
замене исходной (исследуемой, управляемой, эксплуатируемой) системы
ее математической моделью и дальнейшем экспериментировании с этой
моделью при помощи вычислительно-логических алгоритмов.
Моделирование систем
Физическое
Математическое
Аналитическое Компьютерное
Численное
Имитационное Статистическое
Рис.0.1. Классификация видов моделирования
Физическое моделирование предполагает, что в качестве модели
используется либо сама исследуемая система, либо другая система с той
же или подобной физической природой. Примером физического модели-
моделирования является исследование свойств летательных аппаратов в аэроди-
аэродинамической трубе.
Под математическим моделированием (ММ) понимается процесс
установления соответствия данной реальной системе S некоторой мате-
математической модели М и исследование этой модели, позволяющее полу-
получить характеристики реальной системы.
Для аналитического моделирования характерно то, что процессы
функционирования элементов системы записываются в виде некоторых
математических соотношений (алгебраических, интегро-дифференциаль-
ных и т.п.) или логических условий. Аналитическая модель может быть
исследована следующими методами: а) аналитическим, когда стремятся
получить в общем виде явные зависимости для искомых характеристик;
б) численным методом; в) качественным, когда, не имея решений в яв-
явном виде, можно найти некоторые свойства решения.
Для компьютерного моделирования характерно, что математиче-
математическая модель системы представлена в виде программы для ЭВМ — ком-
компьютерной модели, позволяющей проводить с ней вычислительные экс-
эксперименты. В зависимости от математического аппарата, используемого
при построении, и способа организации вычислительных экспериментов
можно выделить три взаимосвязанных вида моделирования: численное,
статистическое и имитационное. При численном моделировании для по-
построения компьютерной модели используются методы вычислительной
математики, а вычислительный эксперимент заключается в численном
решении некоторых математических уравнений при заданных значениях
параметров и начальных условий. Имитационное моделирование
(ИМ) — это вид компьютерного моделирования, для которого характерно
воспроизведение на ЭВМ (имитация) процесса функционирования иссле-
исследуемой сложной системы. При этом имитируются элементарные
явления, составляющие процесс, с сохранением их логической структу-
структуры, последовательности протекания во времени, что позволяет получить
информацию о состоянии системы S в заданные моменты времени. Ста-
Статистическое моделирование (СМ) — это вид компьютерного моделирова-
моделирования, позволяющий получать статистические данные о процессах в моде-
моделируемой системе S.
Математическое моделирование позволяет достичь следующих це-
целей.
1. Соединить достоинства традиционных теоретических и экспе-
экспериментальных методов, т.е. математическую модель и эксперимент на
ЭВМ.
2. Гарантировать высокую эффективность применения вычисли-
вычислительной техники и основанных на ней средств информатики и автомати-
автоматизации: САПР, АРМ, АСУ, ГАП, экспертных систем.
3. Исследовать такие системы, натурное и физическое моделиро-
моделирование которых экономически не оправдано или трудноосуществимо
(например, требуется уникальное дорогостоящее оборудование; экспери-
эксперименты с такими системами, как АСУ Предприятием, Отраслью и т.п.).
4. Исследовать системы, натурное и физическое моделирование
которых связано с опасными для здоровья человека условиями
(например, в условиях высокой радиации или токсичности).
5. Исследовать перспективные системы (не существующие еще в
реальности) на стадии их проектирования.
6. Исследовать труднодоступные объекты — удаленные в про-
пространстве и во времени (например, моделирование атмосферы планет,
моделирование процесса зарождения Вселенной).
7. Исследовать ненаблюдаемые объекты вследствие их размера и
длительности существования (например, модели макро- и микромира).
8. Исследовать экономические, социальные, экологические и био-
биологические системы.
Указанные достоинства делают математическое моделирование:
— универсальной интенсивной методологией и технологией;
— интеллектуальным ядром компьютеризации;
— главным инструментом прикладной математики и информатики
в исследовании реальных систем, процессов и явлений.
Экономический эффект от внедрения методов математического мо-
моделирования многократно превышает затраты (по оценкам Института
Прикладной Математики им. М.В.Келдыша, от 10 до 100 раз в зависи-
зависимости от сферы приложения).
Целью данного курса является изучение основных видов матема-
математического моделирования — имитационного и статистического модели-
моделирования, а также их программного обеспечения. В качестве объекта мо-
моделирования мы будем использовать некоторую абстрактную систему
или, как принято говорить, сложную систему.
Данное учебное пособие основано на курсе лекций "Имитационное
и статистическое моделирование", который разработан на кафедре мате-
математического моделирования и анализа данных Белгосуниверситета и чи-
читается с 1988 года на факультете прикладной математики и информати-
информатики по специальностям:
Н.08.01 — "Прикладная математика";
Н.08.02 — "Информатика";
Н.08.03 — "Экономическая кибернетика".
Для поддержки этого курса разработаны компьютерные учебники
СТАТМОД-У, СТАН-У, МУЛЬТИСТАН-У, ДИНСТАТ-У, функционирую-
функционирующие под управлением операционной системы MS DOS версии 5.0 и выше,
а также в среде WINDOWS 95. Описание этих компьютерных учебников
содержится в главе 7 данного учебного пособия.
Авторы благодарны заведующему НИЛ статистического анализа и
моделирования, кандидату физико-математических наук Галинскому
Виктору Антоновичу за подготовку раздела 7.4, выражают глубокую
признательность рецензентам за замечания и предложения, способство-
способствовавшие улучшению учебного пособия.
Авторы будут признательны всем, кто поделится своими сообра-
соображениями по совершенствованию данного курса.
Предложения и замечания по учебному пособию, а также заявки
на приобретение компьютерных учебников просим направлять по адресу:
Республика Беларусь, 220050, г.Минск, пр. Ф.Скорины, 4.
Белорусский государственный университет,
факультет прикладной математики и информатики,
кафедра математического моделирования и анализа данных.
Телефоны: @172) 226 57 04, 268 70 57.
Факс: @172) 226 59 40
E-mail: kharin@fpm.bsu.unibeL.by
\
8
СПИСОК ОСНОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
Р{А} — вероятность случайного события А;
?{!;} — закон распределения случайной величины ?;
Е{У — математическое ожидание случайной величины
D{?,} — дисперсия случайной величины ?,;
1а(х) — индикаторная функция множества А,
RN — JV-мерное евклидово пространство;
Ат — транспонированная матрица А;
\А\ - det(A) — определитель матрицы А;
1п — единичная матрица порядка п;
Z — множество целых чисел;
Ф(х) — функция стандартного нормального распределения
\е 2dt;
ления
2л J
Ф~1(р) — квантиль уровня р стандартного нормального распреде-
р(х) =
R[a, Ъ] — распределение, равномерное на [а, Ь], с плотностью
[1/F-а), хе[а,Ь],
[О, хе[а,Ъ];
^, г]}— ковариация случайных величин Ъ,, л;
СВ — случайная величина;
БСВ — базовая случайная величина с распределением Я[0, 1]^
ИМ — имитационная модель;
СС — сложная система;
HJIH — наилучшая линейная несмещенная оценка;
МНК —¦ метод наименьших квадратов;
¦ — символ завершения доказательства.
ГЛАВА 1
МАТЕМАТИЧЕСКИЕ МОДЕЛИ СЛОЖНЫХ СИСТЕМ
И ПРИНЦИПЫ ИХ ПОСТРОЕНИЯ
Данная глава посвящена описанию основных классов мате-
математических моделей сложных систем и методов их построения.
Вводится понятие сложной системы как объекта моделирования
(раздел 1.1) и приводится общее описание ее математической мо-
модели (раздел 1.2).
Излагаются принципы построения математических моделей
для таких типов моделей как:
— детерминированные непрерывные и дискретные модели
на основе дифференциальных и разностных уравнений, а также
на основе теории конечных автоматов и сетей Петри (раздел 1.3);
— вероятностные непрерывные и дискретные модели на ос-
основе стохастических дифференциальных уравнений, теории мас-
массового обслуживания, стохастических разностных уравнений и
теории вероятностных автоматов (раздел 1.4);
— агрегативные модели (раздел 1.5).
1.1. Понятие сложной системы
В различных областях материального производства, науч-
научных исследований, социально-экономического прогнозирования
приходится постоянно оперировать с многочисленными объекта-
объектами, которые принято называть сложными системами. К основным
отличительным характеристикам таких объектов относят сле-
следующие:
1) наличие большого числа взаимосвязанных и взаимодей-
взаимодействующих между собой элементов системы;
2) целевая функция, на оптимизацию которой направлено
функционирование системы, не совпадает с целевыми функциями
элементов, составляющих систему;
3) наличие управления и разветвленной информационной
сети, осуществляющей многочисленные связи системы как внутри
ее элементной базы, так и по ее взаимодействию с внешней сре-
средой.
Введем ряд определений, связанных с понятиями "система"
и "сложная система".
Элементом s назовем некоторый объект (материальный,
энергетический, информационный), обладающий рядом свойств,
обеспечивающих выполнение некоторых функций, внутреннее
2. Зак. 5452
10
строение (содержание) которого для целей исследования не пред-
представляет интереса.
Связью I между элементами назовем процесс их взаимодей-
взаимодействия важный для целей исследования.
Системой S называется совокупность элементов со связями
и целью функционирования, отличной от целей функционирова-
функционирования составляющих ее элементов.
Сложной системой называется система S, состоящая из
разнотипных элементов с разнотипными связями.
Большой системой называется система S, состоящая из
большого числа однотипных элементов с однотипными связями.
В соответствии с определением под сложной системой S бу-
будем понимать тройку множеств:
S = {{s}, {I}, F},
где:
{s} — множество априорно выделенных элементов системы;
{1} — комплекс как взаимных связей между элементами,
так и связей между элементами и внешней средой;
F — функция, описывающая цель функционирования сис-
системы.
Примеры сложных систем: Sj — гибкая производственная
система (ГПС) обработки деталей (рис.1.1), включающая: систему
автоматической обработки деталей (обрабатывающие центры с
ЧПУ); систему складирования, манипулирования и транспорти-
транспортировки (автоматизированный склад, кран-штабелер, зажимные
места, транспортный робот); информационно-управляющую сис-
систему (центральный пульт управления), обеспечивающую связь
с внешней средой и соответствующий контроль и управление сис-
системой; S2 — телефонная сеть города (рис. 1.2).
^Автоматизированный
склад
Обрабатывающие центры
ОЦ1
I Кран-штабелер
Места для временного хранения
деталей (накопители)
Рис. 1.1
11
Автоматическая телефонная станция 1 (АТС-1)
Абонентские
телефонные
аппараты
Сети
кабельных
каналов
коммутатор
связи
Абонентские
телефонные
аппараты
Система
междугородних
разговоров
Система автомати-
автоматической диагностики
и ремонта
Коммутационный комплекс
центральной телефонной станции
АТС-2
ATC-N
Рис.1.2
Другими важными примерами являются: S3 — информаци-
информационная система; S4 — АСУ технологическим процессом; S5 — ком-
компьютерная сеть; вб — система управления городским транспор-
транспортом; Sw — вычислительная система; Ss — крупный морской или
авиационный порт; Sg — робототехнический комплекс; Sio — от-
отраслевая экономика.
Заметим, что к классу больших систем можно отнести одно-
однотипные конструкции трубопроводов или мостов. Однако, следует
сказать, что различие между понятиями большой и сложной сис-
системы достаточно условно.
Ввиду неотъемлемой принадлежности управления к основ-
основным характеристикам, присущим сложной системе, введем опре-
определение автоматизированной системы, в которой принятие реше-
решения об эффективности ее функционирования осуществляется
человеком.
Автоматизированной системой S^ называется сложная
система с определяющей ролью элементов двух типов:
1) в виде технических средств;
2) в виде действий человека.
Тогда
SA = {{sT}, {s4}, <sB}, {I}, F},
где:
sT — технические средства (прежде всего ЭВМ);
S4 — принятие решений или другая человеческая актив-
активность, полезная для функционирования системы;
Sg — остальные (вспомогательные) элементы системы.
12
Заметим, что среди множества связей {/} может быть выде-
выделено подмножество {/т>ч) взаимодействий человека с техникой.
Для исследования системы важно ввести понятие ее струк-
структуры.
Структурой системы называется ее расчленение
(декомпозиция) на элементы или группы элементов с указанием
связей между ними, неизменное в течение времени исследования
и дающее точное представление о системе.
Структура системы характеризуется по имеющимся в ней
связям, простейшими из которых являются последовательное,
параллельное соединения элементов и обратная связь, являющая-
являющаяся важным регулятором функционирования системы и неотъем-
неотъемлемым ее атрибутом.
Различают структуру с равноправно входящими в нее эле-
элементами и иерархическую структуру.
Иерархией называется структура с наличием подчиненности
одних элементов другим, когда воздействия в одном из направле-
направлений оказывают гораздо большее влияние на элемент, чем в дру-
другом.
Примером иерархии в управляемых системах служит связь,
изображенная на рис.1.3.
Управление, информация
m2
Рис.1.3
Здесь прямая связь является доминирующей над обратной,
поэтому структура системы, изображенная на рис.1.3, — иерар-
хична.
Для любой сложной системы характерно функционирование
во времени, поэтому целесообразно определить ее динамические
характеристики.
Состоянием системы называется множество характеристик
элементов системы, изменяющихся во времени и важных для це-
целей ее функционирования.
Процессом (динамикой) системы назовем множество значе-
значений состояний системы, изменяющихся во времени.
В заключение определим понятия, связанные с постановкой
цели функционирования системы.
Целью функционирования системы называется задача полу-
получения желаемого состояния системы.
13
Заметим, что определение цели влечет:
1) необходимость постановки локальных целей для ее эле-
элементов;
2) целенаправленное вмешательство в процесс функциони-
функционирования системы, называемое управлением.
Среди множества задач исследования сложных систем
можно выделить два больших класса:
1) задачи анализа, направленные на изучение свойств функ-
функционирования системы в зависимости от ее структуры;
2) задачи синтеза, связанные с выбором структуры и значе-
значений параметров по заданным свойствам системы.
В силу сложности указанных задач во многих практических
исследованиях единственно возможным способом их решения
оказывается имитационное моделирование процессов функциони-
функционирования систем на ЭВМ.
Более детальное (в смысле математической формализации)
описание системы рассмотрим в следующем разделе.
1.2. Понятие математической модели
Введем обозначения: Т = [t^, T] — временной интервал мо-
моделирования системы S (интервал модельного времени), где:
t0 — время начала моделирования (обычно полагают t0 = 0);
Т — время окончания моделирования;
t е Т— текущее значение модельного времени.
Построение математической модели системы S начинается с
определения параметров системы и переменных, определяющих
процесс функционирования системы.
Физическую интерпретацию вводимых здесь понятий будем
давать, используя описанный в разделе 1.1 пример ГПС (рис. 1.1).
Параметры системы Qx, 92, ..., Эт — это характеристики
системы, остающиеся постоянными на всем интервале моделиро-
моделирования Т.
Если значения {6г} определены на некотором множестве ©,
т.е.
то говорят, что имеется параметрическое семейство систем.
Пример. Количество единиц оборудования и технические
характеристики оборудования в ГПС.
Множество переменных разбивают на два подмножества —
зависимых и независимых переменных.
14
К независимым переменным отнесем следующие характери-
характеристики.
Входные воздействия на систему (сигналы): щ,и2,---,иПх .
Входные воздействия в момент t e T характеризуются вектором
и = u(t) = (Ul (t), ...,uni (t)) eUcR"i.
Среди {ы;} могут быть управляющие воздействия, например,
Ui,U2,¦ ¦.,ип, (п{ < п{), а остальные п^ - п{ воздействий — не-
неуправляющие .
Пример входных воздействий — управляющие воздействия,
поступающие с ЦПУ на управляемые компоненты ГПС.
Воздействия внешней среды:. Среди них могут быть кон-
контролируемые (наблюдаемые) и неконтролируемые (ненаблюда-
(ненаблюдаемые), детерминированные и случайные воздействия. В момент
(е Т они характеризуются вектором
v = v(t) =
,...,vn2(t))
Пример. Наличие дефектов у заготовок: внешние дефек-
дефекты — контролируемые, а внутренние (скрытые) — неконтроли-
неконтролируемые воздействия; случайные интервалы времени между посту-
поступлением деталей на обработку.
Переменные, характеризующие состояние системы jcj, X2,
...,хпз. В отличие от {8J состояния {xt} характеризуют свойства
системы, изменяющиеся во времени. Состояние системы в момент
t e T описывается вектором
х = x(t) =
,...,х
пз
где X — пространство состояний или фазовое пространство
системы (множество возможных значений вектора х). Если
t\ < t2 < ••• — моменты изменения состояния системы, то после-
последовательность x(ti), x(t2), ... называется фазовой траекторией
системы.
Пример. x(t) = (xi, X2) — вектор, описывающий состояние
обрабатывающих центров ГПС в момент (s T,
[О, если ОЦг свободен,
[1, если ОЦ; занят обработкой (i = 1,2);
X = {@,0), @,1), A,0), A,1)} с R2.
К зависимым переменным отнесем следующие характери-
характеристики.
15
Выходные характеристики (сигналы) системы Ух,У2у->Уп4'
определяемые в момент t e T вектором
у = y(t) = (y^t),...,у„4(<)) eYc R.
Пример. Сигналы, поступающие из ОЦх и ОЦ2 на ЦПУ, яв-
являются выходными для обрабатывающих центров и управляющи-
управляющими для ЦПУ.
Связи между зависимыми и независимыми переменными
изображены на рис. 1.4.
i*t)
u(t)
S
9, *(*)
Рис.1.4
Показатели эффек-
эффективности (ПЭ) функцио-
функционирования системы u>i, и>2,
..., wk характеризуют сте-
степень достижения системой
ее цели, (т.е. характеризу-
характеризуют качество функциониро-
функционирования системы) и образуют
вектор
w = w(t) = (w^t),...,wk(t)) e W с R\ t e Т.
ПЭ представляются в виде некоторых функционалов
wt = wt(u(t),v(t),x(t),y(t),Q,t) ,te<T,i = l,h.
Пример. Производительность ГПС за смену, расход матери-
материальных ресурсов.
При наличии в системе случайных факторов (например,
случайных воздействий внешней среды) значения {wt} являются
также случайными и поэтому не могут служить показателями
эффективности. В этих случаях в качестве ПЭ используют сред-
средние значения {WJ, определяемые соотношениями
где Е{-} — символ математического ожидания.
Процесс функционирования системы во времени описывает-
описывается операторными соотношениями (заданными аналитически или
алгоритмически) для состояний, выходных характеристик и ПЭ
системы:
F2(u(t),vV,xV,e,t), A.1)
w(t) = F3(i*w,D('\*w,yw,e,t), (eT,
где uW обозначает реализацию процесса u(t) на отрезке [0,t], ана-
аналогично обозначены х^\ г/*'.
16
Через Fi(), F2O, F3O обозначены соответствующие операто-
операторы, описывающие динамику зависимых и независимых перемен-
переменных и показателей эффективности.
Зависимости A.1) называются законами функционирования
системы S; зависимость у = y(t), t e T называется выходной
траекторией системы, а зависимость х = x(t), t e T — фазовой
траекторией.
В выборе переменных x(t), характеризующих состояние сис-
системы в момент времени t e Т, обычно имеется произвол, который
используется так, чтобы упростить закон функционирования A.1)
и привести его к виду
A.2)
где F(), Gj(), G2O) — некоторые операторы; х*0' — начальное со-
состояние системы. Закон A.2) отличается от A.1) следующими
особенностями:
1) состояние системы S в момент времени t e T зависит от
начального состояния системы л:*0';
2) выходные характеристики и показатели эффективности
системы в момент времени t зависят только от состояний х*(* и
текущего времени.
Пример. Для ГПС, состоящей из двух обрабатывающих
центров, влияние воздействий внешней среды, состоящее в нали-
наличии отклонений параметров заготовок от стандартов, учтем при
формировании фазового пространства. Пусть xt(t), i = 1,2 — пере-
переменная, характеризующая состояние г-го ОЦ в момент времени t.
Положим:
10, если ОЦ; свободен,
1, если On,j обрабатывает стандартную заготовку,
2, если ОЦ; обрабатывает нестандартную заготовку.
Тогда влияние на y(t), w(t) воздействия внешней среды v(t) будет
учтено в состоянии системы x(t).
Математической моделью системы называется множество
переменных и, v, 9, х, у, w вместе с законом функционирования в
виде A.1) или A.2).
Опишем теперь классификацию математических моделей.
Операторные соотношения в A.1), A.2) могут быть заданы ана-
аналитически, то есть с помощью функциональных соотношений
или логических условий, либо алгоритмически. В зависимости от
способа задания закона функционирования математические моде-
модели делятся на аналитические и алгоритмические.
Отметим, что время t может рассматриваться и как непре-
непрерывная переменная: ( е Т= [0,Т], и как дискретная:
t = iA,i = 0Д,...,М, М = [Т/А],
где Д — шаг дискретизации. При этом соответственно имеем не-
непрерывные (Н) и дискретные (Д) математические модели. Если
математическая модель не содержит случайных элементов, . то
имеем детерминированную модель (Д); в противном случае имеем
вероятностную (В) модель. Таким образом, по признакам непре-
непрерывности и стохастичности можно выделить четыре обширных
класса математических моделей: непрерывно-детерминированные
(НД) модели; дискретно-детерминированные (ДД) модели; дис-
дискретно-вероятностные (ДВ) модели; непрерывно-вероятностные
(НВ) модели.
1.3. Детерминированные модели
V 1.3.1. Непрерывно-детерминированные модели
Сд В этих моделях время t е [О, Т] полагается непрерывной пе-
4i ременной, а случайными факторами в системе пренебрегают. Ос-
Основной математический аппарат, используемый при построении и
исследовании НД-моделей, — теория дифференциальных и инте-
интегральных уравнений. Поясним особенности НД-моделировани^ на
примерах использования дифференциальных уравнений.
Пусть, например, подлежащей моделированию системой S
является электрический колебательный контур с двумя парамет-
параметрами: емкостью 9j и индуктивностью 1/02- Состояние этой систе-
системы в момент t будем характеризовать величиной заряда конденса-
конденсатора x(t), которая измеряется прибором с некоторой е
погрешностью v(t) e [-E, е]. Тогда, как известно из физики, мате-
математическая модель будет иметь вид
d2x(t) 1
" О л \ / \ /
A.3)
где u(t) — внешнее детерминированное электрическое воздействие
на контур. Если u(t) = 0, х@) = Асовф, то решение.однородного
уравнения A.3) имеет вид
x(t) = Acos
где А — амплитуда, ф — фаза колебаний.
18
При построении НД-моделей системы автоматического
управления приходится использовать дифференциальные уравне-
уравнения высших порядков. Пусть S — одноканальная система автома-
автоматического управления [1], структура которой представлена на
рис.1.5.
v(t)
I
Управляющая
система
z(t)
Объект
управления
x(t)
Канал
измерений
У
Рис.1.5
Объект управления описывается дифференциальным урав-
уравнением fe-ro порядка
' dkx{t)
dt"
(L4)
где ЧЧ-) — некоторая функция от k + I + т + 3 переменных;
x(t) — состояние объекта управления, измеряемое с некоторой s-
погрешностью в канале измерения
y(t) = x(t) + v(t),\v(t)\<s; A.5)
z(t) — воздействующий на объект управления сигнал, формируе-
формируемый управляющей системой по заданному алгоритму
z{t) = <S>(u(t),y{t)). A.6)
Соотношения A.4) - A.6) и определяют НД-модель. Нередко ис-
используется частный случай A.4) — линейное дифференциальное
уравнение, коэффициенты которого являются параметрами 9 мо-
модели:
^в^~г+- ¦+<W(*> = °-
В прикладных задачах переноса излучения (например, при
расчете ядерных реакторов) при построении НД-модели приходит-
приходится использовать дифференциальные уравнения в частных произ-
производных и интегральные уравнения.
1.3.2. Дискретно-детерминированные модели
В отличие от НД-моделей в этих моделях время t является
дискретной переменной: t = тА, где А — шаг дискретизации;
т = 0, 1, 2, ... — "дискретное время".
Основной математический аппарат, используемый при по-
построении ДД-моделей, это теория разностных уравнений и аппа-
19
рат дискретной математики, в частности — теория конечных ав-
автоматов [3].
Разностное уравнение — это уравнение, содержащее конеч-
конечные разности искомой функции
ф(хх,хх+1,...,хх+п,их,их+1,...,их+т,В,т) = 0, A.7)
где хт = х(тД), и-х = и(тА) — соответственно состояние системы и
внешнее воздействие в "дискретный момент времени т".
Отметим, что ДД-модели в виде A.7) часто возникают как
промежуточные при исследовании НД-моделей на ЭВМ, когда
аналитическое решение дифференциального уравнения получить
не удается и приходится применять разностные схемы.
Пример. Рассмотрим x{t) — величину заряда конденсатора
из примера A.3), i{t) — величину силы тока в дискретные момен-
моменты времени t = тА. Для разностного приближения величины i(t)
используем формулу
Дискретную аппроксимацию уравнения
di(t) _ d2x(t)
dt " dt2
осуществим двумя следующими способами:
а)
*т-1
dt'
dt2
А
4+1 - Ч
А
хх+2 - 2х
т+1
Тогда однородную часть математической модели A.3) можно
описать двумя разностными уравнениями, соответствующими
приближениям а) и б):
ст+1
- 2-
хх+2 - 2xx+i
хх + хх_х = О,
хт=0.
Решая разностные уравнения при заданных начальных зна-
значениях хо> Х1 и х-1> получим фазовые траектории {xi\, i = 1, 2, ...
представленных выше разностных схем.
Анализ устойчивости разностных уравнений [2] позволяет
заключить, что амплитуда колебаний фазовой траектории второго
уравнения возрастает со скоростью, сравнимой с ростом функции
т/2
20
что не соответствует предположению об ограниченности амплиту-
амплитуды непрерывной модели A.3). Поэтому можно сделать вывод
о неадекватности второго разностного уравнения аппроксимируе-
аппроксимируемой модели A.3). Первое же разностное уравнение оказывается
хорошо согласованным с моделью A.3). Следовательно, исследо-
исследование устойчивости разностных схем является важной задачей
при аппроксимации непрерывных моделей дискретными.
Другой математический аппарат для построения ДД-
моделей представляет теория конечных автоматов [3]. Конечный
автомат — это математическая модель дискретной системы S,
которая под действием входных сигналов и е U вырабатывает
выходные сигналы у е Y, и которая может иметь некоторые из-
изменяемые внутренние состояния х е X; при этом U, Y, X — ко-
конечные множества.
Конечный автомат S характеризуется шестью элементами:
— входным алфавитом U;
— выходным алфавитом Y;
— внутренним алфавитом состояний X;
— начальным состоянием xq e X;
— функцией переходов х' = Ф(х, и) : XU —> X;
— функцией выходов у - \\i(x, и) : XU —> Y.
Опишем процесс функционирования конечного автомата S-
В т-м такте (т = 0,1, ...) на вход автомата, находящегося в состоя-
состоянии хх ? X, поступает входной сигнал иТ е U, на который автомат
реагирует переходом на т+1-м такте в состояние хт+1 е X и выда-
выдачей выходного сигнала ух е Y. Например, конечный автомат
Мили описывается следующими рекуррентными соотношениями:
х1+1 =Ф(хх,их), х@) = х0,
ух = \\i(xx,ux), т = 0,1,...
На рис. 1.6 изображен граф, описывающий булевский автомат
Мили с х0 = 0 и алфавитами: U = Y = {0, 1}, X = {0, 1, 2}. Верши-
Вершины графа соответствуют внутренним состояниям автомата, а ду-
дуги — соответствующим переходам. Каждая дуга "из х в х'" поме-
помечается парой (и, у), где и, у — входной
и выходной сигналы соответственно,
при которых осуществляется переход
из х в х'.
В заключение отметим, что ко-
конечные автоматы являются адекватной
математической моделью элементов и
узлов ЭВМ, устройств контроля, регу-
регулирования, управления систем комму-
коммутации в технике передачи данных.
21
1.3.3. Сети Петри. Основные понятия
A.8)
@,0
@,0)
Рис.1.6
Современное развитие дискретно-детерминированных моде-
моделей нашло отражение в теории сетей Петри [26, 33-36]. Матема-
Математический формализм этого аппарата моделирования основывается
на теории комплектов, обобщающей теорию множеств.
Комплект, подобно множеству, есть набор элементов из не-
некоторой области X, отличие лишь в том, что допускается присут-
присутствие в X одного и того же элемента несколько раз.
Например, при образовании комплектов над областью вида
{а, Ь, с, d) к их числу относятся как обычные множества {а, Ь, с),
{b, d), так и расширения типа {а, Ь, с, с}, {а, а, а}.
Вместо отношения включения, являющегося основным по-
понятием теории множеств, в теории комплектов вводится функция
числа повторений каждого элемента. Число повторений элемента
х в комплекте В обозначается символом
#{х, В) (читается "число х в В").
Легко заметить, что если ограничить число повторений эле-
элементов в комплекте так, чтобы 0<#(х,В) < 1, \/х е X , то полу-
получим обычное понятие множества элементов.
Операции связывания и сравнения комплектов могут быть
определены простым обобщением обычных теоретико-множествен-
теоретико-множественных операций. Соответствие множественных операций описанию
операций на языке функций числа повторений представлено в
табл. 1.1.
Таблица 1.1
№
п/п
1.
2.
3.
4.
5.
6.
7.
8.
9.
Соотношения между комплектами
На языке теории
множеств
х е В
х е В
В = 0
АсВ
А = В
AUB
АПВ
А + В
А -В
На языке функций числа повторений элементов
#(х, В) > 0
#(*, В) = 0
#(х, В) = 0, Vx e X
#(*, А) < #(х, В), Vx e X
#(х, А) = #(х, В), Vx e X
#(х, A U В) = тах{#(х, А), #(х, В)}
#(х, АПВ) = min{#(x, А), #(х, В)}
#(х, А + В) = #(х, А) + #(х, В)
#(х, А - В) = #(х, А) - #(*, АПВ)
Под пространством комплектов Х" понимают множество
зсех таких комплектов, элементы которых принадлежат X и ни
один из них не входит в комплект более п раз:
{В е X"} о {х е В => х е X; #(х, В) < п., Vx e X}.
22
Тогда через X™ обозначают множество всех комплектов над
областью X без ограничений на число повторений элементов в
комплекте.
Мощностью комплекта В называется общее число повторе-
повторений элементов в комплекте
|В|= 1#(х,В), хеХ.
X
Сетью Петри (С) называется дискретная детерминирован-
детерминированная модель, состоящая из четырех элементов С = (Р, Т, I, О), где
Р = (pi, р2, ..., рп) — конечное множество позиций, п > О,
Т = (ti, t2, ..., tm) — конечное множество переходов, т > О,
РПТ = 0,
I : Т —> Рм — входная функция, отображающая множество
переходов в комплекты событий,
О : Т -> Р™ — выходная функция из Т в Р™.
Позиция Pi является входной позицией перехода tj в том
случае, если pt e I(tj) и выходной, если ft e O(tj). Входные и вы-
выходные функции можно аналогично использовать для отображе-
отображения позиций в комплекты переходов. С этой целью введем опре-
определение.
Расширенными входными и выходными функциями сетей
Петри соответственно называются отображения:
I : Р -> Г°; О : Р -> Т°,
для которых
# (tj, I(ft)) =# (ft, O(tj)); # (tj, O(Pi)) =# (ft, Щ)).
Пример. Пусть структура сети Петри имеет вид:
С - (Р, Т, I, О); Р = (рь р2, р3, р4, ръ); Т = {tlt t2, t3, t4};
I(*i) = (Pi} O(h) = {p2, рз, р5}
Uh) = (P2, Рз, Рь) O(t2) = {p5}
44) = Ш O(t3) = {p4}
4h) = Ы O(t4) = {p2, p3}.
Тогда расширенными входной и выходной функциями данной се-
сети являются :
l(Pi) = {Ф} O0»i) = {h}
I(P2) = {«i, U} O(p2) = {t2}
1(Рз) = ih, h} O(p3) = {t2, t3}
I(p4) = {t9} O(pA) = {^4}
I(p5) = {tlt t2) O(p5) = {t2).
Для иллюстрации понятий теории сети Петри более удоб-
удобным является ее графическое представление в виде двудольного
ориентированного мультиграфа. Элементами графа служат круж-
кружки, обозначающие позиции сети, и планки, обозначающие ее
23
переходы. Ориентированные дуги соединяют позиции и переходы
в обоих направлениях. Сеть Петри является мультиграфом, так
как он допускает существование кратных дуг от одной вершины
(позиция либо переход) к другой. Так как вершины графа состоят
из двух множеств позиций и переходов, то граф является дву-
двудольным. На рис. 1.7 представлен граф сети Петри, эквивалент-
эквивалентный структуре сети из примера.
Рис.1.7
Граф G сети Петри есть двудольный ориентированный
мультиграф G = {V, А}, где
V = {i>i, v2, ..., vs} — множество вершин V = PUT;
А = {aj, a2, ..., аг} — комплект направленных дуг, aj = (Vj,
vk), Vj, vk e V.
Следующее определение дает возможность определить граф
G по заданной структуре С сети Петри.
Пусть сеть Петри задана своей структурой С(Р, Т, I, О).
Обозначим V = PUT. Введем комплект направляющих дуг А сле-
следующим образом:
#«Pi, tj), A) = #(ph Щ)), V Pi e P, t} e T;
#((*;, Pi), A) = #(Pi, O(tj)).
Тогда G = (V, А) — граф сети, эквивалентный ее заданию
структурой С.
Двойственной к сети Петри является сеть, которая получа-
получается в результате перестановки позиций и переходов. Структура
двойственного графа сохраняется, лишь меняются местами круж-
кружки и планки. Приведем на следующем рисунке 1.8 двойственный
граф к графу рисунка 1.7.
н
Рис.1.8
24
Для выполнения сети Петри применяют маркировку, пред-
представляющую присвоение позициям сети фишек, количество и по-
положение которых при выполнении сети могут изменяться.
Маркировкой ц сети Петри С(Р, Т, I, О) называется функ-
функция, отображающая множество позиций Р в множество натураль-
натуральных чисел N:
ц : Р -> N.
Можно обобщить определение маркировки, подразумевая
под этим понятием я-вектор ц = (ц1( ..., цп), где п = |Р|, |л,- е N,
i=l, ..., п, который определяет для каждой позиции сети pt ко-
количество фишек (|Д;) в этой позиции.
На графе сети Петри фишки изображаются точками в
кружке соответствующей позиции, если \xt — невелико, в против-
противном случае указывается натуральное число Ц; для данной пози-
позиции.
Приведем пример маркировки ц = A,2,0,51,0), соответст-
соответствующей структуре сети Петри (рис. 1.9).
Pl
Рис.1.9
Правила выполнения сети Петри основаны на количестве и
распределении фишек в сети. Сеть Петри выполняется посредст-
посредством запусков переходов, осуществляемых путем удаления фишек
из их входных позиций и образования новых фишек, помещае-
помещаемых в их выходные позиции. Переход может быть запущен,
только когда он разрешен, то есть, если каждая из его входных
позиций имеет число фишек по крайней мере равное числу дуг из
позиций в переход. Фишки во входной позиции, допускающие
переход, носят название разрешающих фишек.
Переход tt е Т в маркированной сети Петри С(Р, Т, I, О) с
маркировкой ц разрешен, если
ц, = ц(д)*#(д, «*»))• У Pi е Р.
Переход запускается удалением всех разрешающих фишек
из его входных позиций и последующим помещением в каждую
из его выходных позиций по одной фишке для каждой дуги.
25
Запуск перехода в целом заменяет маркировку \х сети Петри
на новую маркировку ц'.
Переход tt в маркированной сети Петри с маркировкой ц
может быть запущен, если он разрешен.
В результате запуска разрешенного перехода tt образуется
новая маркировка ц', по следующему правилу:
h
Рис.1.10
В качестве примера рассмотрим сеть Петри, изображенную
на рис. 1.10. При такой маркировке разрешены лишь три перехо-
перехода t\, t3 и t4. Переход t2 не разрешен, так как ни одна из входных
позиций для перехода t2 не содержит ни одной фишки. Так как
ti, ?3 и ^4 разрешены, то любой из них может быть запущен. На
рис.1.11 показано выполнение сети Петри (рис.1.10) при запуске
перехода t^, при котором одна фишка удаляется из р5> одна фиш-
фишка помещается в р3, а количество фишек в р± увеличивается с
двух до трех.
Pl
Рис.1.11
Пространство состояний сети Петри, обладающей конечным
числом (п) позиций, есть множество всех маркировок. Изменение
в состоянии, вызванное запуском очередного перехода, осуществ-
осуществляется с помощью функции следующего состояния.
Функция следующего состояния 8 : N" х Т —> N" для сети
Петри С с маркировкой ц и переходом tj e T определена тогда и
только тогда, когда
Ц*/)), VPi eP.
26
ние
где
В случае определения функции S, осуществляется отображе-
= ц\
ЛЦ(А- (А, 1(<;)) + (ft. О(*;-)), Vp; e Р.
При выполнении сети Петри получаются две последова-
последовательности: последовательность маркировок {(.t0, ц1, ...} и последо-
последовательность переходов, которые были запущены {^д. ?д, -•¦}, свя-
связанные соотношением
6(ц*. tjk) = p.k+\ k = 0,1, ••• •
Для сети Петри С(Р, Т, I, О) с маркировкой ц маркировка
ц' называется непосредственно достижимой из ц, если существу-
существует переход tj е Т, такой что 5(ц, fy) = ц'.
Множеством достижимости R(C, ц) для сети Петри с мар-
маркировкой ц называется наименьшая последовательность маркиро-
маркировок, таких что:
1)М ЩС, ц);
2) если ц' е R(C, ц) и ц" = 5(ц, fy), для которого tj e T, то
" е R(C, (.i).
Например, для сети Петри, изо-
изображенной на рис. 1.12 с начальной мар-
маркировкой ц = A, 0, 0), непосредственно
достижимыми являются две маркиров-
маркировки: (д1 = @, 1, 0) и ц2 = A, 0, 1). Однако,
ц
h
Рз
Pi
Рис.1.12
43
Р2
из ц1 нельзя достичь ни одной марки-
маркировки, а из д2 можно получить: @, 1, 1) и A, 0, 2). Продолжая
этот процесс, получим, что ЩС,ц) = {A, 0, п), @, 1, п), п > 0}.
Наряду с рассмотренным выше графическим способом пред-
представления сетей Петри, известны также матричный [33] и алгеб-
алгебраический [35] способы их описания.
1.3.4. Моделирование сложных систем с помощью сетей Петри
Представление системы сетью Петри основано на двух глав-
главных понятиях: событиях и условиях.
События — это действия, имеющие место в системе. Появ-
Появлением событий управляет состояние системы, описываемое мно-
множеством условий. Условие — это логическое описание состояния
системы (предикат), принимающее либо значение "истина", либо
значение "ложь". Для наступления события необходимо выпол-
выполнение соответствующих условий, называемых предусловиями
27
события. Происхождение события может повлечь за собой нару-
нарушение предусловий и привести к выполнению других условий,
называемых постусловиями.
В качестве примера рассмотрим задачу моделирования вы-
вычислительной системы, которая обрабатывает задания, поступаю-
поступающие с устройства ввода, и выводит результаты на устройство вы-
вывода. Задания поступают на устройство ввода. Когда процессор
свободен и в устройстве ввода есть задание, то процессор начинает
обработку задания. Когда задание выполнено, оно посылается в
устройство вывода; процессор же либо продолжает обрабатывать
другое задание, если оно ожидает решения, либо ждет прихода
нового задания, если в устройстве ввода еще нет заданий.
Условиями для такой системы являются: а) процессор сво-
свободен; б) задание ждет обработки; в) процессор обрабатывает за-
задание; г) задание ожидает выхода.
Событиями такой системы будут следующие.
1) Задание помещается во входную очередь.
2) Задание начинает обрабатываться процессором.
3) Процессор завершает обработку задания.
4) Задание выводится.
Предусловия события 2), например, следующие: — (а) про-
процессор ожидает (свободен); (б) задание ждет.
Постусловия для данного события 2) -- (в) задание обраба-
обрабатывается.
Составим таблицу 1.2 предусловий и постусловий для всех
событий системы.
Табли' 1.2
Событие
1
2
3
4
Предусловие
нет
а, б
в
г
Постусловие
б
в
г, а
нет
Такое табличное представление легко моделировать сетью
Петри. В сети Петри условия моделируются позициями, собы-
события — переходами. При этом входы перехода являются преду-
предусловиями соответствующего события; выходы — постусловиями.
Возникновение события соответствует запуску соответствующего
перехода. Выполнение условия фиксируется фишкой в позиции,
соответствующей этому условию. Запуск перехода удаляет разре-
разрешающие фишки, которые отражают выполнение постусловий. На
рис.1.13 сеть Петри изображает модель описанной выше вычис-
вычислительной системы.
Следует заметить, что характерной чертой, свойственной се-
сети Петри, является возможность моделировать события, происхо-
происходящие независимо друг от друга, то есть сеть Петри может
28
служить моделью системы, в которой несколько процессов вы-
выполняются одновременно. Эта особенность привносит сетям Пет-
Петри и их моделям свойства параллелизма и одновременности.
Второй особенностью выполнения сети Петри является не-
недетерминированность (случайность) появления событий, так как
любой из нескольких возможных переходов может быть выбран в
качестве следующего запускаемого. Для разрешения трудности
моделирования систем, связанной со случайностью сети Петри,
вводят следующую классификацию событий.
Моделируемое событие с помощью запуска перехода, зани-
мающего нулевое время, называется примитивным. Такие собы-
события мгновенны и неодновременны. Обосновать это можно тем, что
время есть непрерывная действительная переменная, и, присваи-
присваивая каждому событию время его возникновения, заключаем, что
любые два примитивных события неодновременны (так как веро-
вероятность совпадения двух произвольных моментов времени равна
нулю). Непримитивными называются события, длительность ко-
которых отлична от нуля и их выполнения могут пересекаться во
времени. Непримитивные события представляются в виде двух
примитивных: "начало непримитивного события", "конец непр^-
митивного события" и условия "непримитивное событие происхо-
происходит". Эти сложные события изображаются прямоугольникам1,'.
Например, сеть Петри, эквивалентная представленной на
рис. 1.13, имеет вид, изображенный на рис. 1.14. Прямоугольник
может иметь существенное значение при моделировании слож-
сложных систем на нескольких иерархических уровнях, так как с его
помощью можно объединить в отдельный элемент целые подсети.
Примером такого объединения является понятие подпрограммы в
языках программирования.
Недетерминированность и неодновременность запусков пе-
переходов при моделировании параллельных процессов в системе
осуществляются двумя способами. Первый способ, называемый
согласованием, допускает возможность запуска всех разрешенных
переходов в любом порядке следования. Другой способ, в котором
одновременное выполнение переходов затруднено, называется
конфликтом. На двух рисунках 1.15 и 1.16 показаны согласова-
согласование и конфликт двух переходов tj и t^.
1
2 и 3
(б)
ч
(а)
Рис. 1.14
Г)
29
Рис.1.15
Рис.1.16
На рис.1.16 запуск одного перехода удаляет фишку из об-
общего входа (позиции р) и тем самым запрещает другой переход.
Сети Петри часто применяются для моделирования
процессов синхронизации. Приведем одну из таких задач о
потребителе и производителе [26]. Производитель создает объекты
(товары), которые помещаются в буфер (магазин). Потребитель
ожидает, пока объект не будет помещен в буфер, удаляет его
оттуда и использует. Эта система может быть представлена сетью
Петри на рис. 1.17.
Кроме моделирования ЭВМ и экономических систем сети
Петри могут быть использованы для моделирования сложных
систем в социальной области (юриспруденции), строительстве,
биологии.
Например, PERT-диаграммы [26] — графические изображе-
изображения взаимосвязей между различными этапами сложных проектов,
состоящих из совокупности большого числа этапов, пред ста-
ставимых узлами с указанием названия и времени осуществления
этапа и связанных дугами, отображающими причинно-след-
причинно-следственные связи между этапами, — легко могут быть преобразова-
преобразованы и исследованы сетью Петри.
Употребить
Производитель Потребитель
Рис.1.17
30
Сруб
Кладка
Крыша
Окна
Отмостка
а А Начало
b,4] Котлован
с,2) Фундамент
1) Водопровод
3) Отопление
Штукатурка
5j Настил полов
3)Электропроводка
Окончание
Рис.1.18 Рис.1.19
На следующих рисунках 1.18 и 1.19 представлены PERT-
диаграмма и соответствующая ей сеть Петри в строительстве.
Для сетей Петри разработаны методы анализа, позволяющие
определять следующие важные для моделирования характеристи-
характеристики.
Маркировка называется тупиковой, если в сети Петри нет
ни одного разрешенного перехода.
На примере сети Петри, изображенной
на рис.1.20, опишем ситуацию, приводя-
приводящую к тупиковой маркировке. Начальная
маркировка представленной сети
И = A, 1, 0). Тогда последовательность за-
запусков переходов Ъ и с приведет к марки-
маркировке ц1 = @, 1, 0), при которой для любого
перехода не выполняются условия разре-
разрешимости. Поэтому маркировка ц1 является
Рис. 1.20 тупиковой.
31
Переход t называется просто достижимым, если он может
быть запущен при маркировке ц, получаемой из начальной ц0.
Переход t называется живым, если он достижим из любой
маркировки множества R(C, |i).
Сеть Петри называется живой, если в ней все переходы —
живые.
Позиция р называется k-ограниченной, если для любой мар-
маркировки \xk е R(C, ц) в ней при любом ходе вычисления не может
накопиться более k фишек, то есть
mfp) < k, где цй = (тДр), / = 1, 2, ...).
Позиция р называется просто ограниченной, если она k-
ограничена для некоторого k.
Неформально понятие того, что сеть Петри — живая, имеет
большое значение при моделировании операционных систем. Для
такой системы выполняется важное свойство: из каких бы моду-
модулей она не состояла все они должны быть равномерно задейство-
задействованы. Свойства ограниченности сети характеризует свойства сис-
системы "не накапливать очереди" неограниченной длины.
Сеть Петри Ci(Pi, T1; I1( Oi) называется эквивалентной се-
сети
2, Т2, 1г.
если
|Tj| = IT2I, то есть, если они порождают
одно и тоже множество процессов.
Неформально эквивалентные сети моделируют системы, вы-
выполняющие одни и те же виды работ. Например, сети, изобра-
изображенные на рисунках 1.21 и 1.22, являются эквивалентными.
Заметим, что понятие эквивалентности может использовать-
использоваться как оператор, упрощающий структуру сети Петри. Так, сеть на
рис.1.21 предпочтительнее сети на рис.1.22, так как имеет на од-
одну позицию и четыре дуги меньше.
Рис.1.21
Рис.1.22
Современное состояние сетей Петри стоит перед решением
следующих основных проблем:
1) проблема достижимости (тупиковой) маркировки;
2) проблема достижимости перехода;
3) проблема живости;
4) проблема эквивалентности;
5) проблема ограниченности.
32
Эти проблемы взаимосвязаны, так, например, решение про-
проблемы 1) автоматически влечет решение проблем 2) и 3).
Проблема ограниченности решается с помощью формализма,
использующего дерево достижимых маршрутов [33] и матрицу
достижимых маршрутов [26]. Однако, окончательное решение
большинства из перечисленных выше проблем еще не найдено.
1.4. Вероятностные модели
1.4.1. Дискретно-вероятностные модели
Главное отличие этих моделей от ДД-моделей заключается в
учете случайных элементов в математической модели исследуемой
сложной системы S. Основной математический аппарат, исполь-
используемый при построении и исследовании ДВ-моделей, это теория
разностных стохастических уравнений и теория вероятностных
автоматов [3].
Разностное стохастическое уравнение — это такое уравне-
уравнение, которое содержит случайные параметры 8 или (и) случайные
входные воздействия {их}.
Пусть на вероятностном пространстве (Q, F, Р) определены
случайный М-вектор параметров
9 = (в0, ..., 9M_i) e RM
и случайная последовательность входных воздействий
..., и0, щ, и2, ... е U.
Нелинейное разностное стохастическое уравнение порядка
(п, т) имеет вид
Ф(хт, зст_ъ ..., х,_„, щ, щ-1, ..., их-т, 9, т) = 0, A.9)
где т = п, п + 1, ...; xq, X\, ..., хп+\ — заданные начальные со-
состояния системы; Ф() — заданная функция п + т + М + 3 пере-
переменных.
Решением этого уравнения является определенная на (Q, F,
Р) случайная последовательность состояний моделируемой систе-
системы:
хп+2> хп+3> ¦¦¦ 6 X.
Если Ф() линейна по {хх, их}, то A.9) примет вид:
п т
H^ixz-i + Е9у+п+1"т-7 = "т>т = П + 1,П + 2,..., A.10)
1=0 ;=0
где 9 = (80, ..., 9n+m+i) — вектор М = п + т + 2 параметров. Урав-
Уравнение A.10) в математической статистике известно [3] как урав-
уравнение авторегрессии и скользящего среднего порядка {п, т)
33
(АРСС (п, тп)). Частными случаями A.10) являются модель авто-
авторегрессии АР(п) порядка п:
п
I6i^T_i +ux = 0
i=0
и модель скользящего среднего порядка т СС(т):
i=0
В качестве примера приведем ДВ-модель электрического ко-
колебательного контура из 1.3.1, находящегося под влиянием слу-
случайных внешних воздействий {щ}:
Г—X л Т—Z *
ух = хх + их, т = 2,3
где ошибка измерения {их} представляет собой стационарную слу-
случайную последовательность с нулевым математическим ожидани-
ожиданием и дисперсией 52:
ВД=0, D{vt} = 52.
Другой математический аппарат построения ДВ-моделей
сложных систем представляет теория вероятностных автоматов.
Вероятностный автомат, определенный на (Q, F, Р), есть
конечный автомат (см. п. 1.3.2), в котором функция переходов
х' = Ф(х, и, w), w e Q и функция выхода у = ц)(х, и, w) являются
случайными функциями, имеющими некоторые вероятностные
распределения. .
Примем обозначения для вероятностных распределений Ф(),
ЩЛ) pixo k\uQ i},n (n(i,k))
начальное распределение вероятностей, i e S(I) = {0, 1, ..., I},
k 6 S(K);
Р = (Pu,i)\(i,k))>
P(jMl,k) = p{^T+i = l, Ух = j\ *t = k, u, = i} (; e S(x), I e S(k)) —
вероятность события, состоящего в том, что находящийся в т-м
такте в состоянии хх = k автомат под воздействием входного сиг-
сигнала их = / выдаст выходной сигнал ух = j и перейдет на т + 1-м
такте в состояние хт+1 = I;
H{i,k) = P{*t+i = I I xx = k, uz = i),
bj\(i,k) = P{j/t = j\xx = k, ux= i}.
Математическая модель вероятностного автомата полностью
определяется пятью элементами: U, Y, X, Р, я.
3. Зак. 5452
34
Рассмотрим некоторые частные случаи. Во-первых, если
Рц i)\(i k) 6 @> 1}> то получаем детерминированный конечный авто-
автомат (ДД-модель). Во-вторых, если xT+i, у, условно независимы при
условии, что хт, их — фиксированы, то
P(j,l)\(i,k) = al\(i,k)bj\(i,k)>
при этом имеем вероятностный автомат Мили. Третьим важ-
важным для приложений частным случаем является Y-детермини-
рованный вероятностный автомат, когда функция выходов явля-
является детерминированной
ух = Щхх, их), т = 0, 1, 2, ...,
а функция переходов хт+1 = Ф{хТ, w), описывается однородной це-
цепью Маркова с начальным распределением вероятностей
тг = (я*), nk = Р{х0 = k), k e S(K)
и матрицей вероятностей одношаговых переходов
Р = (Ры)> Ры = Р{^+1 = 11 ж, = к}, k, I e S(K).
Рис.1.23
Y-детерминированный вероятностный автомат удобно представ-
представлять в виде ориентированного графа, вершины которого соответ-
соответствуют состояниям автомата, а дуги — переходам. Каждая дуга
помечается ее весом — вероятностью соответствующего перехода,
а каждая вершина — соответствующим значением выходного сиг-
сигнала у. На рис.1.23 изображен пример графа, определяющего Y-
детерминированный автомат при X = {0, 1, 2, 3, 4}, Y = {0, 1} и
фиксированном входном сигнале {их}.
1.4.2. Непрерывно-вероятностные модели
При построении и исследовании НВ-моделей используется
теория стохастических дифференциальных уравнений и теория
массового обслуживания [3].
Стохастическое дифференциальное уравнение (в форме
Ито) имеет вид:
dx(t) = a{t,x{t))dt + b(t,x(t))dw(t),
где x(t) — случайный процесс, определяющий состояние системы
в момент времени t; w(t) — стандартный винеровский случайный
35
процесс; Ъ{), а() — коэффициенты диффузии и переноса. При не-
некоторых условиях гладкости на коэффициенты а(), Ь() решение
этого стохастического дифференциального уравнения является
марковским диффузионным процессом. Распределение вероятно-
вероятностей процесса удовлетворяет уравнениям Колмогорова. Такая НВ-
модель часто используется при моделировании стохастических
систем управления, процессов тепло- и массообмена.
Теория массового обслуживания применяется для построе-
построения математических моделей таких сложных систем, для кото-
которых характерно: 1) наличие потока многих заявок на выполнение
определенных операций (заявок на обслуживание); 2) наличие
многократно повторяемых операций (выходной поток).
Теория массового обслуживания разрабатывает и исследует
математические модели различных по своей природе процессов
функционирования экономических, производственных, техниче-
технических и других систем, например: поставок сырья и комплектую-
комплектующих изделий некоторому предприятию; заданий, поступающих на
ЭВМ от удаленных терминалов; вызовов в телефонных станциях и
т.д. При этом для функционирования таких систем характерна
стохастичность: случайность моментов времени появления заявок
на обслуживание и т.д.
Сложная система S, описываемая как система массового об-
обслуживания (СМО), состоит из L > 1 взаимосвязанных и взаимо-
взаимодействующих элементов-приборов обслуживания П^, ..., П/. При-
Прибор обслуживания П; состоит из накопителя заявок Н;, в котором
могут одновременно находиться lt заявок @ < Ц < mt) и канала К;
обслуживания заявок; mt @ < mt < <х>) — емкость накопителя Нг,
т.е. число мест в очереди для ожидания начала обслуживания в
канале К; (? = 1, L). На каждый элемент прибора П, поступают
потоки событий; в накопитель Н( — поток заявок {у,}, на канал
К,- — поток "обслуживании" {щ}. Поток заявок {vt} представляет
последовательность времени между моментами появления заявок
на входе СМО и образует подмножество неуправляемых перемен-
переменных СМО. Поток {и;} представляет собой последовательность ин-
интервалов времени между моментами начала и окончания обслу-
обслуживания заявок и образует подмножество управляемых
переменных. Заявки, обслуженные каналом К;, и заявки, поки-
покинувшие прибор П; по различным причинам необслуженными
(например, из-за конечности mt), образуют выходной поток {(/<} -
последовательность интервалов времени между моментами выхода
заявок; это и есть выходной сигнал СМО.
Процесс функционирования прибора П, можно представить
как процесс изменения состояний его элементов во времени
36
xt = xt(t) e X с R2, где ХцЦ) — число заявок, находящихся в на-
накопителе в момент времени t; x^t) — состояние канала обслу-
обслуживания Kj (xt2(t) = О, если канал свободен, x^t) = 1, если канал
занят).
Приборы обслуживания Щ П/, связаны и взаимодейст-
взаимодействуют между собой. Если каналы {К;} различных приборов обслу-
обслуживания соединены параллельно, то имеет место многоканальное
обслуживание. Если же приборы {П;} или их параллельные блоки
соединены последовательно, то имеет место многофазное обслу-
обслуживание.
Для обозначения простых (однофазных) СМО используется
символика, предложенная Кендаллом:
А/В/п/т.
Символ А характеризует входящий поток заявок: А = GI —
рекуррентный поток, А = М — простейший поток с показатель-
показательным распределением вероятностей, А = Е^ — поток Эрланга /е-го
порядка; А = D — регулярный или детерминированный поток (с
постоянными интервалами между моментами поступления зая-
заявок).
Символ В характеризует случайные последовательности
длительностей обслуживания на отдельных каналах: В = G или
В = GI — рекуррентное обслуживание с одной и той же функцией
распределения B(t) для разных каналов; В = М — показательное
обслуживание; В = Е& — эрланговское обслуживание fe-ro порядка;
В = D — регулярное обслуживание.
Символ л означает количество обслуживающих каналов,
символ т — количество мест для ожидания заявок в очереди. Ес-
Если п > 1, то система называется многоканальной. Значение т = О
характеризует СМО с потерями; т = оо — систему с ожиданием;
О < 771 < оо — систему с ограниченным числом мест для ожидания.
Рассмотрим пример, в котором имеется возможность анали-
аналитического определения показателей эффективности функциониро-
функционирования СМО (М/М/1).
Пусть процесс обслуживания начинается при отсутствии
заявок в накопителе, тогда состояние СМО описывается следую-
следующей системой уравнений:
Р„(* + ДО = Р„@A - (Я. + ц)ДО + Pn_i(O*.A + Pn+1(t)nAt, n > 1,
P0(i + At) = P0(i)(l - AAt) + Vi(№At,
где Рл(?) — вероятность нахождения системы в состоянии
xn(t) е X в момент t, т.е. когда в ней находятся га заявок.
I
1
37
Вероятность нахождения в системе га заявок в момент вре-
времени (t + At) равна сумме трех вероятностей:
1) вероятности нахождения в системе га заявок в момент t,
умноженной на вероятность того, что за время At в систему не
поступает ни одной заявки и ни одна заявка не будет об-
обслужена;
2) вероятности нахождения в системе (га - 1) заявки в мо-
момент t, умноженной на вероятность поступления одной заявки за
время At, и ни одна заявка не будет обслужена;
3) вероятности нахождения в системе (га + 1) заявки в мо-
момент t, умноженной на вероятность ухода одной заявки, при ус-
условии непоступления ни одной заявки.
Заметим, что
A - XAt)(l - цД*) = 1 - XAt - цД? + o(At),
А.Д*A - y.At) = Ш + o(At), цД*A - XAt) = \iAt + o(At).
Образуя разностное уравнение и переходя к пределу, получаем
дифференциальные уравнения:
dt
dP0(t)
dt
цри+1(о, * > l,
= -XP0(t)
Найдем выражение среднего числа заявок, находящихся в
накопителе, и среднего времени ожидания заявок в накопи-
накопителе для стационарного состояния при загрузке р = Х/\а < 1
Приравняв производные по времени t к нулю, получим
уравнения:
Я/> га > 1, ГA + р)рп = рпЛ + рРп+1> п > it
\pi=ppo;
Положим га = 1, тогда A+ p)Pl = р2 + р/?0> р2 = р2/,0> повто.
ряя эти операции, имеем рп = рпр0, причем
1/Л=1=> 1рпРо=1=>ро 1рл=1^р0=1-р.
Следовательно, получим, что рп = р"A - р) _ геометрическое рас-
распределение.
Среднее число заявок в системе равно:
гарл =
38
Щхп} = I(л - l*Jpn = In2pn - (р/A - р)J = р/A - р) + 2р2/A - РJ-
л=1 га=1
Среднее число заявок, находящихся в накопителе, равно
2
Среднее время ожидания заявок в накопителе равно
E{U=~ = P2/(Mi-p))-
1.5. Агрегативные модели (А-модели)
В тех случаях, когда аналитическая модель исследуемой
системы является слишком сложной или частично либо полно-
полностью неопределена, единственным методом исследования сложных
систем является имитационное моделирование.
В работах математиков Н.П.Бусленко и И.Н.Коваленко был
предложен подход к построению математических моделей СС, по-
позволяющий облегчить процесс разработки и использования ИМ
исследуемых систем. Подход получил название — агрегативное
моделирование (А-моделирование).
Сущность А-моделирования состоит в следующем. При по-
построении А-модели сложная система разбивается на конечное
число взаимосвязанных элементов (подсистем). Если некоторые из
полученных подсистем оказываются в свою очередь недостаточно
сложными, то процесс их разделения продолжается до тех пор,
пока не будут выделены элементы, допускающие стандартное ма-
математическое описание, называемое агрегатом.
Таким образом, под агрегатом понимают некоторое абст-
абстрактное математическое описание моделей различного типа
(детерминированных, вероятностных, непрерывных, дискретных).
Представление ММ СС в виде AM позволяет за счет исполь-
использования одной и той же формы описания моделей различных ти-
типов (в виде агрегата) унифицировать процесс построения ИМ и
процесс обработки результатов имитационного моделирования для
СС, состоящей из большого числа разнотипных элементов.
Примеры: А-модели производственных процессов — сбороч-
сборочного конвейера, процесса производства целлюлозы, процесса неф-
нефтепереработки. А-модели АСУ — АСУ предприятием, АСУ круп-
крупного аэропорта.
1.5.1. Математическое описание агрегата (А)
Описание А-модели включает следующие характеристики.
1) Вектор состояний
39
Хл
где X — фазовое пространство агрегата.
В каждый момент времени состояние А меняется, образуя
фазовую траекторию х = x{t), t е Т [О, Т]. Графически фазовая
траектория агрегата может быть проиллюстрирована следующим
образом (рис. 1.24).
Рис.1.24
В общем случае для фиксированного момента времени x(t) — слу-
случайный вектор с некоторым законом распределения (пример ОЦ:
Х\ — состояние ОЦ, Х2 — состояние накопителя при ОЦ, х§ —
время до окончания обработки стали в ОЦ.
2) Вектор параметров
8 =
6,
т)
от которого могут зависеть состояния х или их вероятностные ха-
характеристики (пример: среднее время обработки детали в ОЦ).
3) Вектор воздействий внешней среды
V = V(t) =
\vn2;
поступающих в случайные моменты времени t[ < t2 <.... В общем
случае взаимодействия v(t{),v(t2),... образуют случайную после-
последовательность с некоторым вероятностным законом распределе-
распределения.
40
4) Вектор управляющих сигналов (входных воздействий)
и = u(t) =
eUcR,
поступающих в случайные моменты времени t'{ < Щ <.... В общем
случае иA![),и{Щ),..-— случайная последовательность.
5) Начальное состояние и оператор переходов
В начальный момент времени t = О состояние А есть случай-
случайный вектор х@) = х°, называемый начальным состоянием агрегата
и имеющий закон распределения ?{х0}.
Для произвольного момента времени t > 0 (t e T) состояние
агрегата определяется оператором переходов Н():
x(t) = Щх°, v°, u°, t),
где v°, и0 — начальные воздействия внешней среды и управление,
Н() — в общем случае случайная функция, то есть для фиксиро-
фиксированного t, x(t) — случайный вектор, распределение вероятностей
которого зависит от Щ-).
6) Вектор выходных сигналов
у = y(t) =
где y{t) = G(x(t), u(t)), t e T, G() — не-
некоторая функция, называемая операто-
оператором выходов.
Рис.1.25
Связь описанных выше характеристик можно проиллюстри-
проиллюстрировать графически (рис.1.25).
1.5.2. Математическое описание процесса функционирования
агрегата
Будем предполагать, что за конечный интервал времени на
агрегат А поступает конечное число воздействий внешней среды,
управляющих сигналов и выдается конечное число выходных
сигналов.
При этом происходит изменение состояния агрегата. Мно-
Множество всех возможных состояний агрегата будем разделять на
подмножества особых состояний (ОС) и неособых состояний.
41
Принято говорить, что А в момент времени t* e T находит-
находится в ОС x(t*) е X, если t* — либо момент поступления воздейст-
воздействия внешней среды v(t*) е V, либо момент поступления управ-
управляющего сигнала u(t*) e U, либо момент выдачи выходного
сигнала y(t*) e Y. Все остальные состояния А называются неосо-
неособыми состояниями.
Пусть x(t*) (t* e ?} — некоторое ОС, us, Vх — соответственно
последние перед моментом времени t* управляющий сигнал и воз-
воздействие внешней среды (us e U, i/ e V).
Обозначим: t + 0 — момент времени, для которого
t < t + 0 < <i, V*x > t,
т.е. t + 0 — сколь угодно близкий к t будущий момент времени;
x(t + 0) = lim x(t + 5).
5->+0
В процессе функционирования агрегата происходят измене-
изменения его состояния в соответствии с законом функционирования,
определяемым оператором Н(-).
В моменты поступления особых состояний функция Н() из-
изменяется скачкообразно (то есть функция Н() имеет разрывы). Во
временных интервалах между моментами поступления ОС функ-
функция Н(-) является непрерывной, то есть имеет место непрерывный
закон функционирования агрегата.
Математически это описывается с помощью следующих со-
соотношений. Пусть t* е Т — момент наступления одного из ОС; в
момент времени t* + 0 состояние агрегата определяется соотноше-
соотношениями:
) , у, и ), если t - момент поступления v;
, т. jxx2wt ),У ,ы), если* - момент поступления и;
X(t + U) — ¦) А А
Нз(я(* ) >v' u)> еслИ-1 - момент одновр. поступления v и и;
\Л^(х(г ) ,vT,u ), если t -момент выдачи выходного сигнала у.
Пусть t** > t* — момент наступления следующего ОС. В ин-
интервале между ОС функция является непрерывной по t:
x(t) = H0(x(t* + 0),vx',us',t), i6(i* + 0,("). A.12)
Операторы Hq, H^, H2, H3, H4 в общем случае являются
случайными и определяются некоторыми законами распределения
вероятностей.
Опишем условие, при котором А попадает в ОС, соответст-
соответствующее выдаче выходного сигнала. Выделим в фазовом про-
пространстве X семейство критических областей.
42
Критическая область Ху е X для у е Y — это такая об-
область в пространстве X, при попадании фазовой траектории агре-
агрегата в которую выдается выходной сигнал у.
Условие попадания фазовой траектории в Х^ в момент вре-
времени т е Т имеет вид
х(т) е Ху, но Ve > 0 х(т - е) g Xy. A.13)
Выходной сигнал определяется выражением:
у = </(т) = G(x(t), us), A.14)
где us — последний перед т управляющий сигнал.
Опишем процесс функционирования А на интервале време-
времени при следующих предположениях.
1. В начальный момент времени t = 0 заданы:
— начальное состояние х°;
— начальное воздействие внешней среды v°;
— начальное управляющее воздействие (управление) и0.
2. В случайные моменты времени из Т
t{ < Г{ < t{'
соответственно в агрегат поступило первое воздействие внешней
среды
v1 = v(t{) e V,
в агрегат поступило первое управляющее воздействие:
и1 = u(t'{) е U,
и0, v°
л
У1
, ФР-2 х
, ФР-3 .
произошла выдача выходно-
выходного сигнала
1
у' = (/(?{") е Y,
Проиллюстрируем мо-
q , „ , " >j, менты перехода агрегата в
111 особые состояния графиче-
Рис.1.26 ски (рис. 1.26).
Моменты времени t[, t{, ff делят интервал моделирования Т на
фрагменты: Фр.1, Фр.2, Фр.З, ....
Опишем законы функционирования агрегата в моменты
t[, 4, ti , а также на каждом из фрагментов.
Фрагмент 1. В течение Фр.1 закон функционирования агре-
агрегата (ЗФА) определяется формулой A.12), т.е. является непре-
непрерывным
x(t) = П0(х°,v°,u°,t), t e @,t{).
Момент t{. В момент t{ t' * t" поступает воздействие
внешней среды и1 и следующий агрегат попадает в ОС (изменение
43
состояния происходит скачкообразно). При этом закон функцио-
функционирования агрегата согласно A.11) описывается выражением
ж(*{ + 0) = Н1(дс(«1),у1,и°). A.15)
Если t{ = Ч , т.е. в агрегат одновременно поступают v1 и и1,
то ЗФА описывается не A.15), а следующим выражением
x(t[ + 0) = U3(x(t[),v1,u1). A.16)
Если t[ * t'{ , то имеет место фрагмент 2.
Фрагмент 2. Функционирование агрегата описывается не-
непрерывным законом A.12):
x(t) = H0(x(t{),v1,u0,t), t e(t[,tir
Момент t'{ . По окончании Фрагмента 2 в момент t'{ по-
поступает управляющий сигнал и1 и состояние агрегата изменяется
скачком по закону
x(tf+0) = H2(x(ti'),v1,u1). A.17)
Если момент t'{ = ?f" , т.е. в агрегат в один и тот же момент вре-
времени поступает управляющий сигнал и1, а фазовая траектория
x(t) попадает в критическое подмножество X i , т.е. выполняется
условие A.11), тогда состояние агрегата изменяется в данный мо-
момент дважды по закону
x(q + 0) = H4(*(*i' + о^^.ы1) = H4(H2(x(q),v1,u1). (i.i8)
При этом выдается выходной сигнал согласно A.14)
yl=G(x{q),ul). A.19)
Если ?{' ф t{' , то имеет место Фрагмент 3.
Фрагмент 3. Функционирование агрегата описано непре-
непрерывным законом A.12)
x(t) = HoW^^W), t e(*i',*i").
Момент t\" . В момент ?{" фазовая траектория x(t) попадает
в критическую область X i , то есть выполняется условие A.13),
\ У
следовательно, состояние агрегата изменяется скачкообразно и
выдается сигнал A.19).
Таким же образом процесс функционирования агрегата про-
продолжается далее до достижения момента завершения времени мо-
моделирования Т.
Рассмотрим в качестве примера А-модель производственного
участка.
44
Пример. Содержательное описание системы S — производ-
производственный участок обработки деталей, состоящий из четырех обра-
обрабатывающих центров (ОЦ), предназначен для обработки деталей
двух типов. Процесс обработки состоит из двух последовательных
операций, выполняемых для деталей:
1-го типа на ОЦ 1, 2, 3;
2-го типа на ОЦ 1, 2, 4;
Последовательности 1, 2, 3, 1, 2, 4 определяют технологиче-
технологические маршруты обработки деталей 1-го и 2-го типов. При каждом
ОЦ имеется одно место для временного хранения детали. Интер-
Интервалы поступления и выполнения операций, а также тип детали
являются случайными величинами с заданными законами распре-
распределения.
Математическая модель.
Введем обозначения:
v — тип детали: P{v = 1} = р\, P{v = 2} = 1 - рг;
т — интервал между поступлениями деталей,
Е{т} = ц;
tfe — время выполнения k-й (k = 1, 2) операции,
ЕЫ = Ц*.
Законы распределения v, т, {т^} известны.
А-модель системы S состоит из 5 агрегатов (рис.1.27).
u = OL
Ао
У \
Ai
У и
Рис.1.
А2
27
Г
А3
\у - 1
U
А4
Агрегат Ао реализует следующие действия:
1) моделирует интервалы поступления деталей в S со сред-
средним \i и заданным законом распределения;
2) моделирует последовательность типов деталей.
Характеристика описания Aq:
1) вектор состояний
x2(t)
еХ0, teT,
Xi(t) e {1, 2} — тип детали, x2(t) — время в момент teT, остав-
оставшееся до поступления детали в S;
45
2) вектор параметров
е =
3) и = О, ы = О;
4) выходной сигнал
У = y(t) ?{1,2} — тип детали.
Агрегат А; (I = 1,4) моделирует обработку деталей на ОЦ;
1) вектор состояний в момент t e T
x(t) = (Xl(t), x2(t), xa(t)) e X,
e {0,1,2} — состояние ОЦ; x2(t) ? {0,1} — состояние накопи-
накопителя при ОЦ; x3(t) — время до окончания обработки детали;
2) вектор параметров
9 =
е.
V-2
3) v - 0; управляющий сигнал и для А/ (I = 1,4) совпа-
совпадает с выходным сигналом из А,_ь и представляет собой тип де-
детали;
4) выходные сигналы у для А3, А4 равны нулю.
Упражнения и задачи к главе 1
1. Приведите примеры сложных систем с элементной базой
разнообразного типа (материального, энергетического и информа-
информационного).
2. Какие элементы математической модели характеризуют
качество ее функционирования? Приведите примеры элементов
такого рода.
3. Предложите свой вариант классификации математиче-
математических моделей. Какие на Ваш взгляд могут быть выбраны призна-
признаки классификации?
4. Проверьте вывод о неадекватности дискретно-детермини-
дискретно-детерминированной модели из раздела 1.3.2.
5. Изобразите граф сети Петри, имеющей следующую струк-
структуру: Р = {ръ р2}, Т = fa, t2, t3}, Ktj) = {pi}, \{t2) = {pj, l(f3) = {p2},
° (Pi, P2}, O(t2) = {p2}, O(t3) = {0}.
46
6. Покажите, что двойственная к двойственной сети Петри
есть сама сеть Петри.
7. Какие переходы разрешены в маркированной сети Петри,
изображенной на рис.1.9? Какая маркировка получится при за-
запуске разрешенных переходов этой сети?
8. Проверьте, справедливы ли следующие соотношения для
множества достижимости R(C, ц):
a)
6)R(C, ц)= U 5(М;);
tjeT
в)ЩС, ц)= U R(C,5(M;)).
tjeT
9. Сеть Петри со своими фишками и правилами запусков
может служить моделью настольных игр (шашки, шахматы и
т.д.). Придумайте игру для четырех человек, состоящую из
игрового поля (в качестве которого используйте сеть Петри), и
набора фишек. Фишки распределены по позициям сети Петри и
игроки по очереди выбирают разрешенные переходы и запускают
их. Правила игры должны предусматривать:
а) определение цели игры (получить наибольшее количество
фишек, скорейшее прохождение маршрута своими фишками и
т.п.);
б) определение начального расположения фишек у игро-
игроков;
в) раскраску фишек, принадлежащих каждому игроку;
г) присвоение очков различным переходам.
Изобразите граф, соответствующий игровому полю, и попы-
попытайтесь сыграть в придуманную Вами игру.
10. Осуществите моделирование с помощью сети Петри ЭВМ
с тремя процессорами и четырьмя ресурсами: устройство ввода
(два типа), печатающее устройство и два вида памяти (ПЗУ и
ОЗУ). Использование ресурсов процессорами осуществляется сле-
следующим образом:
а) первый процессор запрашивает устройство ввода и печа-
печатающее устройство, а затем освобождает оба ресурса;
б) второй процессор запрашивает устройство ввода, а затем
освобождает его; после этого запрашивает печатающее устройство,
а затем освобождает его;
в) третий процессор запрашивает все четыре ресурса одно-
одновременно, а затем их освобождает.
47
11. К каким классам относятся модели описываемые мар-
марковской цепью и марковским процессом? Какую модель опреде-
определяют символические обозначения:
M/D/10/oo; GI/ES/1/15.
12. Для сложной системы S2, изображенной на рис.1.2, вве-
введите агрегативную модель и опишите ее функционирование.
48
ГЛАВА 2
ПРИНЦИПЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
СЛОЖНЫХ СИСТЕМ
Глава 2 содержит краткое изложение принципов разработки
имитационных моделей СС. Обсуждаются условия применения
ИМ и отмечаются достоинства и недостатки имитационного и
аналитического моделирования СС (раздел 2.1). Вводится понятие
"модельное время" и описываются принципы организации мо-
модельного времени, известные как "принцип At" и "принцип Ах"
(раздел 2.2). Дается краткая характеристика основных способов
имитации: событийного, основанного на просмотре активностей,
процессного (раздел 2.3). Описываются основные этапы разработ-
разработки ИМ и формулируются типичные задачи исследования СС на
основе ИМ (раздел 2.4). Приводится пример разработки модели-
моделирующего алгоритма на основе событийного способа имитации
(раздел 2.5).
2.1. Имитационное моделирование и условия
его применения
Множество математических моделей можно разбить на три
подмножества: аналитические, имитационные и комбинирован-
комбинированные (аналитико-имитационные) модели. Приведем сравнительный
анализ двух первых видов моделей (комбинированные модели со-
соединяют в себе черты моделей первых двух видов).
Аналитической моделью (AM) CC S называется совокуп-
совокупность функциональных соотношений или логических условий,
описывающих связи между параметрами, переменными и показа-
показателями эффективности системы S.
Условия применения AM:
1) сравнительно простые системы;
2) системы, получаемые в результате упрощения (абстра-
(абстрагирования) реальных систем с целью изучения некоторых свойств
системы.
Достоинства AM:
1) универсальность, высокая степень общности и значимо-
значимости результатов;
49
Недостатки AM:
1) чувствительность к степени сложности системы;
2) неадекватность реальной системе.
Имитационной моделью (ИМ) СС S называются машинные
программы (или алгоритмы), позволяющие имитировать на ЭВМ
поведение отдельных элементов системы S и связей между ними в
течение заданного времени моделирования.
Эксперименты на ЭВМ с имитационной моделью называют-
называются имитационными (вычислительными) экспериментами.
Отличительные особенности ИМ:
— при создании ИМ СС законы функционирования всей
системы в целом могут быть неизвестны (достаточно знания алго-
алгоритмов, описывающих поведение отдельных элементов системы и
связей между ними);
— в имитационной модели связи между параметрами и ха-
характеристиками системы выявляются, а значения исследуемых
характеристик определяются в ходе имитационного эксперимента
на ЭВМ.
Условия применения ИМ:
— широкий класс систем практически любой сложности,
аналитические модели которых частично либо полностью не оп-
определены;
— в случаях, когда в силу сложности AM ее практическое
использование невозможно.
Достоинства ИМ:
— часто единственно возможный метод исследования СС;
— возможность исследования системы на различных уров-
уровнях ее детализации, определяемых целью исследования;
— возможность исследования динамики взаимодействия
элементов системы во времени и пространстве параметров систе-
системы;
— возможность оценивания характеристик системы в опре-
определенные моменты времени.
Недостатки ИМ:
— дороговизна: разработка хорошей ИМ часто обходится
дороже создания AM и требует больших временных затрат;
— результаты имитационного моделирования обладают
меньшей степенью общности по сравнению с AM и не позволяют
выявить общие закономерности функционирования классов сис-
систем;
— не существует надежных методов оценки адекватности
ИМ.
50
2.2. Понятие модельного времени
Отметим две особенности функционирования ЭВМ, которые
приходится учитывать при разработке ИМ сложных систем.
1. Сложная система S, как правило, состоит из многих эле-
элементов. Все элементы системы S функционируют одновременно.
Однако в большинстве современных ЭВМ параллельное выполне-
выполнение нескольких программ, имитирующих поведение отдельных
элементов системы, невозможно.
2. Поскольку ИМ — это программы для ЭВМ, то они долж-
должны оперировать с конечным множеством данных и, следователь-
следовательно, имитировать поведение системы S не во все моменты времени
t е [0, Г], а лишь в некоторые, составляющие конечное множест-
множество Т с [0, Т], \Т\ < да (где \Т\ означает мощность множества Т).
Чтобы обеспечить имитацию параллельных (одновременных)
событий системы S на конечном множестве моментов времени Т',
в ИМ используется специальная переменная t, называемая сис-
системным модельным временем или просто модельным временем
(MB).
MB t следует отличать от других типов времени, используе-
используемых при ИМ систем, таких, как: tp — реальное время системы S,
функционирование которой имитируется; t3 — машинное время
имитации, отражающее затраты ресурса времени ЭВМ на органи-
организацию имитационного моделирования.
Существуют два способа формирования конечного множест-
множества моментов времени Т, известных как принципы организации
изменения модельного времени "At" и "Ах".
"Принцип At" заключается в изменении MB с фиксирован-
фиксированным шагом At.
"Принцип Ах" заключается в изменении MB при скачкооб-
скачкообразном изменении вектора состояния х системы S на некоторую
величину Ах (Ах Ф 0).
Для моментов времени ?* из множества Т, сформированного
по принципу "Ах", справедливо
x(t* + 0) = x(t*) + Ax, t* e Т.
Для моментов времени из множества [0, Т]\Т вектор со-
состояний изменяется непрерывно (либо остается неизменным).
Заметим, что скачкообразные изменения состояния системы
S происходят при наступлении таких "особых" событий, как по-
поступление управляющих сигналов и внешних воздействий, выда-
выдача выходных сигналов и т.п.
51
Приведем более строгое описание принципов "At" и "Ах" и
поясним их особенности. Пусть СС S состоит из Л'элементов: А*1»,
^N\ поведение которых предполагается моделировать:
<1) Щ
Для каждого элемента A(l) e S (i = 1, ..., N) определим ло-
локальное модельное время (JIMB) № е [0, Г]. Поведение элемента
А('> e S в течение интервала моделирования определяется некото-
некоторой последовательностью действий
f
Где G — множество всевозможных действий для элементов S. На
множестве G будем выделять подмножество действий D: D с G,
для выполнения которых в ИМ требуется некоторое ненулевое
модельное время.
Будем обозначать такие действия d[l\ ..., d(^ , {dy e D с G,
; = 1, mt, mt < Mt, i = l,N), а интервалы модельного времени,
затрачиваемые на выполнение этих действий, соответственно:
т^\...,т'^. Последовательность{xj'} (/ = 1,/п/) является после-
последовательностью случайных величин с заданными законами рас-
распределения L{xy), i = \,N.
Действия {d- } с D приводят к наступлению в системе S
особых событий {Ар). События {CJr)}, к которым приводят дей-
действия {gj}: {gj)eG\D, не требующие затрат MB, считаются
неособыми.
Момент ЛМВ наступления события Ау для At e S опреде-
определяется по формуле:
где т^ имитируется на ЭВМ в соответствии с законом распреде-
распределения ?А\Ф); t* — текущее значение MB.
Состояние системы S в момент времени t е [О, Т] определя-
определяется вектором состояния x(t) e X с Rn. Состояния системы в мо-
моменты № е Т наступления особых событий будем называть осо-
особыми состояниями, а состояние х@) — начальным состоянием
системы.
52
Для иллюстрации принципов "At" и "Ах" используем вре-
временную диаграмму, изображенную на рис.2.1.
1 1
AB) fj
4B)
(B)
о t
A(l>
0
At
0 Д2А
Ал:
B) Л2)
l h
ЗА 4A 5A 6Д
A^i
7А8Д9А 10Д
r
Л2)
h
t
15A
1
;d
О
Л2) ,A) Л2)
ri h l2
.B)
Рис.2.1
Описание временной диаграммы.
Пусть число моделируемых элементов в S равно 2, т.е.
N = 2, и S = {ACD, Л<2>}.
Временная диаграмма включает:
— временную ось JIMB № для элемента Ат;
— временную ось ЛМВ № для элемента А<2>;
— временную ось модельного времени по принципу "At";
— временную ось модельного времени по принципу "Ах".
Временные оси будем помечать символами
Пусть в течение рассматриваемого интервала моделирования
[О, Т] для элемента АA) произошло 2 события: Aj^,AJp в момен-
моменты
- Для элемента А<2> — 3 события: а[
[2)
в мо-
Предположим, что хронологическая последовательность со-
событий такова:
Принцип "At".
В соответствии с принципом "At" изменение модельного
времени t происходит через промежутки времени, равные Д?, т.е.
t в течение времени моделирования Т принимает конечное мно-
множество значений:
Та = {О, Д*, 2Д* vAt = Т}.
53
При этом событиям, которые попадают в интервал постоян-
постоянства MB 5Г = ((г - l)At, rAt), r = 1, v, в ИМ присваивается один и
тот же момент наступления: t = rAt. Выбор величины Д? сущест-
существенно влияет как на быстродействие ИМ, так и на точность ап-
аппроксимации СС S с помощью ИМ. Пусть At выбран таким, как
указано на диаграмме (рис.2.1), т.е. моменты наступления собы-
тий
S принадлежат следующим интервалам: t\ e63,
е6
в.
Это означает, что соответствующим событиям в ИМ будут
присвоены следующие моменты наступления:
Л}2) - ЗД*, AJp, A& > - 6Д*, А^ - 1(Ш, АB) -15 At.
При этом фазовая траектория системы S с вектором состояний
x(t) e X будет иметь вид:
х@), x(At) = xBAt) = x@), xCAt) = x(t[2)), xDAt) = xEAt) = xCAt),
xFAt) = x(tP), xGAt) = x(8At) = x(9At) = xFAt), xA0At) = x(t^),
x{\\At) =...= хA4Д*) = д:AОД*), хAШ) = x(tf>).
На основании полученной фазовой траектории можно сделать
следующие выводы относительно выбора At:
1) если Д^ — мало, то выполняется много лишних вычисле-
вычислений состояний системы в моменты, когда вектор x(t) не изменяет-
изменяется (за счет этого возрастает t3 выполнения ИМ);
2) даже при сравнительно малом значении Д? моменты на-
наступления событий в системе (а следовательно, и моменты изме-
изменения состояния системы) не совпадают с моментами наступления
событий в ИМ, поэтому фазовая траектория, построенная с помо-
помощью ИМ, на множестве Т с [О, Т] не совпадает с фазовой траек-
траекторией системы S.
Принцип "Ах".
В соответствии с принципом "Дх" изменение модельного
времени происходит в моменты наступления событий или, что то
же самое, в моменты особых состояний, т.е. для нашего примера:
гг - /п ^2> /W tB) tA) № < Т\
а фазовая траектория, построенная с помощью ИМ, будет совпа-
совпадать на множестве Т а [О, Г] с фазовой траекторией системы S:
54
Приведем более строгие формулировки правил изменения
MB по принципам "At" и "Ад;".
Пусть t* < Т — некоторый момент особого состояния систе-
системы S;
rt -— число событий, произошедших с элементом А^ е S до
момента t* включительно (i = 1, ..., N);
r' <t I — момент наступления последнего для элемен-
элемента A(t) события до момента t* включительно;
(О *
tr > t — момент наступления ближайшего после Г; буду-
будущего события;
N
г — ^ ц — общее число событий в момент t*;
t** и т** — моменты ближайших будущих событий в ИМ,
вычисленные по принципам "Ал:" и "At" соответственно.
Модельное время t в ИМ можно рассматривать как функ-
функцию от числа событий, происходящих в ИМ. Очевидно: t(r) =
= t*< T, r=0, 1, 2, ...,
= t(r)
, T - t(r)},
t(r + 1) = т * = rAt, если Г e 8r (r = 1, v,
= 71),
B.2)
B.3)
где {ty}, {xy} определяются соотношением B.1). Заметим, что
моменты MB t** = Т и т** = vAt (если Т е 5V) являются моментами
завершения моделирования.
Правила B.2) и B.3) называются правилами изменения мо-
модельного времени по принципам "Ад:" и "At" соответственно.
Пример. Проиллюстрируем эти правила с помощью рис.2.1.
Пусть **=42)> тогДа гг = 1, г2 = 2, г = 3, tD) = t** =
= min{tg\ $\Т} = tg\ tD) = т** = 10A*, так как t^ e 810 .
На практике отдается предпочтение принципу "Ах". Прин-
Принцип "Д(" используется лишь в случаях, когда:
1) события {Ау} таковы, что ty - ty-^ s const на всем ин-
интервале моделирования Т, и, следовательно, можно подобрать
интервал At изменения MB, обеспечивающий минимальную
55
погрешность аппроксимации (например, для разностных уравне-
уравнений);
2) событий очень много и они появляются группами. В этом
случае за счет групповой обработки событий {А^} , попавших
внутрь очередного шага изменения А?, удается уменьшить затра-
затраты машинного времени.
В большинстве практически важных случаев события {Aj }
наступают через случайные интервалы времени {т^1'}. Поэтому
способ задания шага до следующего события экономичнее (в
смысле затрат машинного времени) и точнее (в смысле точности
аппроксимации) фазовой траектории способа фиксированного из-
изменения MB.
2.3. Способы имитации
Под способом имитации системы S будем понимать способ
формирования фазовой траектории системы. Последний определя-
определяется способом изменения вектора состояния x(t), t e J системы S.
Возможны три способа изменения x(t):
1) в моменты наступления событий {Ау};
2) в результате выполнения действий {dy}, на выполнение
которых требуются затраты модельного времени {xj'} (при этом
пара {dy, xy} называется (i, j)-u активностью системы S);
3) в результате выполнения хронологической последова-
последовательности событий и действий, называемой процессом.
Взаимосвязь между понятиями "событие", "действие",
"процесс" представлена на рис.2.2.
Здесь fM — локальное модельное время элемента А^ систе-
системы S = {AW}.
В зависимости от того,
какой из трех способов
формирования фазовой
траектории используется,
различают способы имита-
имитации: событийный, осно-
процесс ванный на просмотре ак-
Рис.2.2 тивностей; процессный,
события
действия
,@
с {Ay} (j = 1, mt, i = 1, N),
56
транзактный и агрегатный способы имитации. Транзактный
способ имитации сформировался в результате развития процесс-
процессного способа для моделирования систем массового обслуживания
[4].
Агрегатный способ основывается на использовании агрега-
тивных моделей [1,2]. Сформулируем условия применения спосо-
способов имитации для моделирования системы S = {АЩ.
Событийный способ:
1) множество особых событий можно разбить на небольшое
число L типов событий {А^\...,А^ '} с {Ay}
N
1=1
2) для каждого типа событий определена последовательность
действий, приводящая к изменению состояния системы S;
3) определены условия перехода от одного события к друго-
другому для всех типов событий;
4) интервалы времени между последовательными наступле-
наступлениями событий — случайные величины с известными законами
распределения вероятностей.
Способ, основанный на просмотре активностей:
1) все действия для элемента А^ системы S различны и
приводят к наступлению различных событий;
2) каждое действие dy характеризуется набором условий его
выполнения;
3) времена выполнения действий {tj } являются случайны-
случайными величинами с известным законом распределения вероятностей.
Моделирующий алгоритм, основанный на просмотре актив-
активностей реализует просмотр всех наборов условий, а также обраба-
обрабатывает активности {dj , т^}, условия для которых выполняются,
т.е. моделирует время выполнения соответствующего действия и
реализует само действие.
Данный способ требует значительных затрат машинного
времени для проверки многих условий. Его целесообразно приме-
применять в тех случаях, когда время выполнения действий зависит от
состояния системы.
Процессный способ.
Процессный способ сочетает в себе черты событийного спо-
способа и способа, основанного на просмотре активностей. Он приме-
применяется, когда поведение элементов {АЩ системы S может
быть описано фиксированными для некоторого класса систем
57
последовательностями событий и действий, так называемыми
процессами.
Для его реализации используются специализированные сис-
системы моделирования (языки моделирования или ППП), обладаю-
обладающие специальными средствами (например, операторами языка
моделирования), удобными для описания данных процессов. Од-
Однако, поскольку набор подобных стандартных средств, как пра-
правило, ограничен, этот способ является менее гибким, чем собы-
событийный.
2.4. Этапы имитационного моделирования
Процесс имитационного моделирования СС S можно условно
разделить на три следующих последовательно выполняемых эта-
этапа:
31. Построение математической (концептуальной) модели
5";
32. Разработка моделирующего алгоритма и построение
имитационной модели S";
33. Исследование системы S с помощью модели S" (проведе-
(проведение имитационных экспериментов, обработка и интерпретация
результатов).
Процесс имитационного моделирования не является строго
поступательным (рис.2.3). Между этапами существует и обратная
связь, обеспечивающая уточнение, корректировку и учет допол-
дополнительной информации при разработке и использовании имита-
имитационной модели.
результаты
исследования
Рис.2.3
Дадим краткую характеристику каждому из этапов.
Этап 1.
На основании изучения содержательного описания системы
S, составленного в терминах предметной области, осуществляется
переход к математической (концептуальной) модели S'.
Концептуальная модель S' сложной системы S представляет
собой упрощенное математическое или алгоритмическое описание
сложной системы.
Построение модели S' включает 5 взаимосвязанных этапов.
1.1. Постановка задачи и формулировка целей исследова-
исследования.
58
1.2. Анализ системы S: разбиение (декомпозиция) системы
на элементы, допускающие удобное математическое или алгорит-
алгоритмическое описание; определение связей между элементами.
1.3. Определение параметров, переменных и пространства
состояний системы S, т.е. характеристик 9, v, и, у, х; установле-
установление областей изменения для каждой характеристики: 0, V, U,
Y,X.
1.4. Выбор показателей эффективности функционирования,
т.е. вектора w.
1.5. Описание концептуальной модели S' системы S и про-
проверка ее адекватности: использование математических моделей
типа ДД, НД, ДВ, НВ; проверка гипотез, предложений и матема-
математических соотношений.
Этап 2.
На данном этапе осуществляется переход от концептуальной
модели S' к моделирующему алгоритму и имитационной модели
S". Этот переход осуществляется в 5 основных этапов.
2.1. Выбор способа имитации, а также вычислительных и
программных средств реализации ИМ.
2.2. Построение логической схемы моделирующего алгорит-
алгоритма.
2.3. Алгоритмизация математических моделей, описываю-
описывающих поведение элементов системы и связей между ними в рамках
выбранного способа имитации.
2.4. Разработка имитационной модели, т.е. программирова-
программирование моделирующего алгоритма.
2.5. Отладка, тестирование и проверка адекватности ИМ.
Этап 3.
Использование ИМ осуществляется в три этапа.
3.1. Планирование имитационных экспериментов (ИЭ).
3.2. Проведение имитационных экспериментов.
3.3. Обработка, анализ и интерпретация результатов моде-
моделирования.
Поясним, чем обусловлена необходимость этапов 3.1-3.3.
Пусть моделируемая на интервале [О, Т] система S характеризует-
характеризуется вектором параметров 6 = @Ь ..., Qm) е 0 с Rm, значениями ко-
которого в ИМ можно управлять, и вектором показателей эффек-
эффективности (ПЭ) функционирования на интервале [0, t] с [О, Г]:
w = w(Q, t) =
(8,
59
В результате имитационного моделирования системы S при
заданных значениях вектора 9' € 0 и Г получают:
1) фазовую траекторию системы S:
{x(t) е X, t e Г}, B.4)
где Та [О, Т] — конечное множество моментов изменения мо-
модельного времени, получаемое по принципам "At" и "Ах", причем
О, Г е Т;
2) значения показателей эффективности для каждого интер-
интервала модельного времени (О, V), Г е Т: ш(9', V) и для всего интер-
интервала моделирования в целом
ш(б') = wF\ T). B.5)
Имитационные модели могут использоваться для решения
различных задач исследования СС.
Задача 1. Оценивание значений показателей эффективности
w(Q'), 9' е 0.
Задача 2. Оценивание функциональной зависимости w() от
9 е 0.
Задача 3. Сравнение эффективности функционирования сис-
системы S для различных значений параметров 9', 9" е 0, 9' ф 9".
Задача 4. Оптимизация системы S на множестве 0, т.е. ре-
решение задачи: i?(9) —> max (или min) по 9 е 0, где Щ) — некото-
некоторый критерий оптимальности (обобщенный скалярный показатель
эффективности) для системы S.
Значения параметров 9Ь ..., 9т в ходе имитационного экс-
эксперимента могут задаваться неоднозначно. Выбор тех или иных
значений определяется целью ИЭ.
Существуют различные способы организации ИЭ, позво-
позволяющие получать выборки значений ПЭ, обладающими заданны-
заданными свойствами (см. главу 5).
Процесс задания значений 9 е 0, Г и способа формирования
выборки значений ПЭ W(&), обеспечивающих эффективное реше-
решение задач исследования СС S будем называть планированием
имитационных экспериментов.
Таким образом, для решения задач 1-4 необходим этап пла-
планирования имитационного эксперимента, т.е. этап 3.1. Планиро-
Планированию имитационных экспериментов посвящена глава 5 настоя-
настоящего пособия.
Необходимость этапа 3.3 проиллюстрируем для случая, ко-
когда выборка значений ПЭ получается в результате серии незави-
независимых прогонов ИМ.
ИЭ с моделью системы S", в результате которого для задан-
заданных значений 6' = F^ ..., 9т) ? 0, Т имитируется фазовая
60
I Задание значений параметров В'еб
= / ¦ At
~3T
Имитационное моделирование
системы S; вычисление w'(Q', T)
нет
Сохранение результатов
прогона w\Q') = wl(B', T)
Статистическая обработка
выборки {w'(Q')\
нет
Алгоритм оптимизации по В
поиск 8* продолжается
Вывод результатов
Рис.2.4
траектория B.4) и вычисляются показатели эффективности B.5),
называется прогоном ИМ.
В результате одного прогона ИМ S" мы получаем одну реа-
реализацию показателя эффективности w1(9'), 9' е 0. По одной слу-
случайной реализации ПЭ нельзя судить об эффективности функцио-
функционирования системы S. Поэтому на этапе 3.2 для заданных
значений 0^,...,6^„ (т.е. для заданных значений в' е ©), Т осуще-
осуществляется п > 1 прогонов ИМ, в результате которых получается
случайная выборка значений ПЭ ,
61
где ш'(в') — значение ПЭ функционирования системы S для t-ro
(i = 1, л) прогона ИМ.
Для оценивания эффективности функционирования системы
по случайной выборке {wl(d')} (i = 1, п) необходим этап обработки,
анализа и интерпретации результатов имитационного моделиро-
моделирования, т.е. этап 3.3. На данном этапе используются методы стати-
статистического анализа данных (см. главу 6, а также [20-23]).
Представим процесс проведения ИЭ с моделью системы S в
виде блок-схемы (рис.2.4). Предположим для определенности, что
моделирующий алгоритм построен по принципу "At":
t=jAt (j= 0,M), MAt = T.
Пусть целью ИЭ является решение задачи 4, а 6" е © — искомое
оптимальное значение вектора параметров.
2.5. Пример построения моделирующего алгоритма
на основе событийного способа имитации
На примере имитационного моделирования простейшей вы-
вычислительной системы проиллюстрируем методику разработки
ИМ на основе событийного способа имитации (раздел 2.3). Разра-
Разработка ИМ включает этапы 91, Э2 (из раздела 2.4). Опишем под-
подробно действия, осуществляемые разработчиком на каждом из
этапов.
Задание. На основе событийного способа имитации разрабо-
разработать ИМ вычислительной системы (ВС) S, обслуживающей пакеты
заданий пользователей в течение t единиц времени; обеспечить
вычисление количества поступивших, обслуженных и потерян-
потерянных (вследствие переполнения оперативной памяти ВС) заданий.
Реализовать ИМ на универсальном языке программирования.
Содержательное описание системы.
ВС содержит процессор и запоминающее устройство с памя-
памятью, разделенной на т блоков. При выполнении задание занимает
все процессорное время. Если в момент поступления очередного
задания процессор занят, но имеются свободные блоки памяти,
задание становится в очередь на выполнение. Если же все блоки
памяти заняты, то задание не может поступить в ВС и теряется.
Если по окончании времени моделирования ВС выполняется за-
задание, то время моделирования увеличивается на величину Дт,
необходимую для полного обслуживания задания (т.е. фактиче-
фактическое время моделирования будет Тф = Т + Ат). Интервалы поступ-
поступления и выполнения задания — случайные величины с экспонен-
экспоненциальным законом распределения (с параметрами X и ц
соответственно).
62
Математическая (концептуальная) модель (Э1).
Для построения ММ системы S используем аппарат теории
массового обслуживания. Очевидно, система S обладает призна-
признаками, необходимыми для применения данного математического
аппарата [4].
Итак, будем рассматривать S как систему массового обслу-
обслуживания (СМО), состоящую из одного прибора обслуживания
(рис.2.5), включающего накопитель заявок Н (память) емкостью
т и канал К обслуживания заявок (процессор).
В данной СМО имеются сле-
следующие потоки:
— поток заявок v (последова-
v I Jll Nil J -иг \ I К. тельность интервалов времени ме-
между моментами поступления зада-
заданий в ВС);
— поток обслуживания и
Рис.2.5 (последовательность интервалов
времени выполнения заданий);
— выходной поток у (последовательность интервалов време-
времени между моментами выхода заданий (выполненных и потерян-
потерянных) из системы).
Законы распределения L{v), ?{u} случайных величин и, и
известны (v и и имеют экспоненциальное распределение с пара-
параметрами X и (д соответственно).
В качестве вектора параметров системы S возьмем вектор
е © =
х Дц х Ат
\т)
где Д2 = [Z_,Z+], Z-., Z+ — соответственно минимально и макси-
максимально допустимые значения параметра Z.
По условию задания показателями эффективности функ-
функционирования системы являются средние значения таких величин
как: число поступивших в систему заявок и>\, число обслуженных
заявок w2 и число потерянных заявок w^. В качестве оценок этих
показателей будем использовать статистики {WJ, вычисляемые по
результатам /V прогонов ИМ для интервала моделирования [О, Г]:
1 п
Wt=-I.w{ ,
nj=i
где w( — значение г'-го ПЭ на у-м прогоне ИМ.
63
Процесс функционирования системы S — это процесс изме-
изменения состояний ее компонент во времени. Состояние системы S в
момент времени t е [О, Т] будем описывать вектором
*(*)=М'
{x2(t)J
где Xi(t) — количество заявок в накопителе, 0 < Xi(t) < m;
JO, если канал К свободен, Q
[1, если канал К свободен. *
Целью имитационного моделирования системы S является
решение задачи 1 (из раздела 2.4), т.е. нахождение оценок Wt,
W2, W3 при некотором фиксированном значении 9 = {X' ,\i' ,m') е 0.
Моделирующий алгоритм (Э2).
Для построения ИМ системы S будем использовать собы-
событийный способ имитации (раздел 2.3) с изменением модельного
времени по принципу "Ах" (раздел 2.2). Процесс разработки мо-
моделирующего алгоритма включает следующие этапы.
32.1. Выделение элементов системы, подлежащих модели-
моделированию, и определение типов событий.
32.2. Определение условий перехода от одного события к
другому, а также действий в конфликтных ситуациях.
32.3. Определение условий моделирования.
32.4. Для каждого типа событий описание действий, приво-
приводящих к изменению состояния системы и вычислению показате-
показателей эффективности.
32.5. Разработка логической схемы (блок-схемы) модели.
Реализуем каждый из данных этапов при разработке моде-
моделирующего алгоритма системы S.
Э2.1. Будем рассматривать S как систему, состоящую из
двух элементов, поведение которых подлежит моделированию:
А^1' — поток заявок на обслуживание, А'2> — поток обслу-
обслуживании. Тогда в ИМ системы S = {А'1), А<2)} возможны следую-
следующие типы событий (особых) и действий.
Для А^: события А- '— "поступление у-й заявки", к кото-
которым приводят действия d^ eD— "генерация у-й заявки" (у = 1,
2,...).
Для А'2': события Aj ' — "окончание обслуживания у-й за-
заявки", к которым приводят действия оП е D— "обслуживание
У-й заявки" (у = 1, 2, ...).
64
Будем называть их событиями типа А*1' и АB). Помимо этих
особых событий целесообразно ввести еще два события
("псевдоособых"), возникающих только однажды: А@) —
"поступление 1-й заявки" (А*- ' = AJ'), и А*3) — "завершение мо-
моделирования". Поскольку число различных типов событий неве-
невелико (L = 4), то выбор событийного способа имитации оправдан.
32.2. Для разрабатываемой ИМ выделено четыре типа собы-
событий: А'°\ А'1', АB\ АC). События А@), А<3> (первое и последнее со-
события в ИМ) наступают всегда один раз. События типа АA), А*2)
всегда наступают в последовательности AJ ', AJ '(у = 1, 2, ...).
В процессе моделирования моменты наступления событий
разных типов могут совпадать. Такие события называются одно-
одновременными, а подобные ситуации конфликтными. Действия в
конфликтных ситуациях подобного типа предусматривают зада-
задания последовательности наступления событий в ИМ из числа од-
одновременных и реализацию данной последовательности в модели-
моделирующем алгоритме. Для моделируемой системы будем полагать,
что одновременные события типа АA), АB), АC) всегда наступают в
последовательности: А'3\ А*2), А^1'.
В процессе разработки ИМ могут выявиться и другие кон-
конфликтные ситуации, разрешение которых следует осуществлять
исходя из физического содержания моделируемой системы.
32.3. Определение условий моделирования включает: зада-
задание законов распределения моделируемых в ИМ случайных вели-
величин и значений параметров системы S; выбор единицы измерения
модельного времени; описание начального состояния системы S и
условий завершения моделирования.
Будем предполагать, что в начальный момент времени
(t - 0) состояние системы следующее: прибор свободен (канал сво-
свободен, накопитель пуст); обнулены переменные для накопления
результатов моделирования. Будем также считать, что время мо-
моделирования t выбрано так, что с вероятностью 1 выполняется
соотношение: ц ' < Т .
32.4. Прежде чем переходить к описанию последовательно-
последовательностей действий в ИМ, запишем для рассматриваемой ИМ правило
изменения модельного времени по принципу "Ах" B.2)
«@) = 0, t(r) < Т, t(r +1) = min{*<» v t™+v T} =
B.6)
где r=rx + r2 (rlt r2 = 0, 1, 2, ...) и, согласно B.2)
65
B.7)
tf>tj2)
Здесь: гх, г2 — количества, a tf>, tj2) — моменты наступления в
ИМ событий типа Ad), A<2>; tJ4, т$2) - ;-ые реализации случайных
величин, моделируемых по экспоненциальному закону с парамет-
параметрами X, ц соответственно.
Обозначим а(г + 1) е {1, 2, 3} — номер типа (г + 1)-го собы-
события в ИМ, определяемый на основании B.6) по формуле:
а(г + 1) = ¦
1, если t(r + 1) =
2, если t{r + 1) =
3, если t{r + 1) = Т.
B.8)
Наступление событий различных типов порождает последо-
последовательности действий из G\D, не требующих затрат модельного
времени, но приводящих к изменению состояния системы S, т.е.
к изменению вектора х и вычислению показателей эффективности
w. Опишем эти последовательности для каждого типа событий на
Z-м (I = 1, п ) прогоне ИМ.
Действия для события А<°).
1. Установление начальных значений: t^ = 0 {k = 1,2),
*@) = 0, х@) = ^j; w[=wl2=wl3=0.
2. Имитация t™ по формуле B.7) и присваивается
3. Увеличение числа поступивших требований: w[:=wl1+l.
4. Переход канала из свободного состояния в занятое-
1-
5. Имитация t[2) по формуле B.7).
6. Имитация tip по формуле B.7).
7. Вычисление t{2) по формуле B.6) (t(l) = tm): tB) -
66
8. Определение типа будущего события по формуле B.8):
аB) =1?
"ДА" 9. Выполнение действий для события А2 .
"НЕТ" 10. аB) = 2?
"ДА 11. Выполнение действий для события А\ '.
"НЕТ" 12. Выполнение действий для события
Действия для событий Ay (J = 2, 3, ...).
1. Увеличение числа поступивших заявок: w[ := w[ + 1.
2. Проверка состояния канала: х2 = О?
"ДА" 3. Переход канала из свободного состояния в заня-
занятое: х2 := 1.
4. Имитация г- ' по формуле B.7) и переход к дейст-
действию 8.
"НЕТ" 5. Проверка длины очереди: Х\ > ml
"ДА" 6. Занесение заявки в очередь: Х\ = х\ + 1 и переход
к действию 8.
"НЕТ" 7. Потеря заявки: wl3 := wls + 1.
8. Имитация г^ по формуле B.7).
9. Вычисление момента t(r + 1) наступления будущего собы-
события по формуле B.6) (где г = гг + r2 = w[ + wl2)
t(r + 1) = min{fA/ .tBl Г}.
ш?+1 u.'2+l
10. Определение типа будущего события по формуле B.8):
а(г + 1) = 1?
"ДА" 11. Выполнение действий для А*/ .
"НЕТ" 12. а(г + 1) = 2?
"ДА" 13. Выполнение действия для
"НЕТ" 14. Выполнение действий для
Действия для событий А: 0 = 1, 2, ...).
1. Увеличение числа обслуженных заявок: wl2 := w2 + 1.
2. Проверка состояния накопителя: Xi > 0?
"ДА" 3. Продвижение заявки в очереди: х-± := х\ — 1.
1B)
w2+\
67
4. Имитация ty}x по формуле B.7) и переход к дей-
действиям 6, 7.
"НЕТ" 5. Переход канала из занятого состояния в свобод-
свободное: х2 = 0.
6, 7. Выполнение действий 9, 10 для состояния А^1' ¦
Замечание. При выполнении действий 6, 7 после действия 5
может оказаться, что переменная t , в формуле B.8) не опре-
ш2+1
делена (канал свободен х2 = 0). В подобных случаях целесообразно
полагать, что
и>2+1
Действия для события АC'.
Событие "завершение моделирования" требует специальных
действий, связанных с увеличением интервала моделирования
[0, Т] на величину Лт, необходимую для завершения обслужива-
обслуживания заявки, находящейся в канале обслуживания (если таковая в
момент Т модельного времени имеется), и предотвращением по-
поступления новых требований. Последнее достигается переходом к
обработке и выводу результатов. Поэтому последовательность дей-
действий для А*3' следующая.
1. Проверка состояния канала: х2 = 1?
"ДА" 2. Увеличение числа обслуженных заявок: w2: =
¦¦ = wl2+l.
ное: х2 = 0.
3. Переход канала из занятого состояния в свобод-
B)
B
4. Увеличение интервала моделирования: Тф - t l
(т.е. Ах = Тф - Т).
"НЕТ" 5. Вывод результатов Z-ro прогона ИМ: w-y, w2, w$ .
6. Переход к (I + 1)-му прогону ИМ.
Пример. Пусть m = 1 и в результате имитационного моде-
моделирования рассматриваемой системы S на интервале " с [0, Т]
для Z-ro прогона получена последовательность событий, изобра-
изображенная на временной диаграмме (рис.2.6). Тогда в результате вы-
выполнения описанных выше последовательностей действий будут
получены фазовая траектория
= 0,1 4:
68
и показатели эффективности, приведенные в табл.2.1.
Таблица 2.1
Число событий в ИМ (i) х, w
4)
„2
*<0
w[
wl3
0
0
0
0
0
0
1
0
1
1
0
0
2
0
0
1
1
0
0
1
2
1
0
4
1
1
3
1
0
5
0
0
3
2
1
'Is
42)
и),
Х
AdL
Ax.\
t@) = 0 1A) tB)
-> t
Рис.2.6
Э2.5. Логическая схема (блок-схема) моделирующего алго-
алгоритма строится на основании описания действий, разработанных
на этапе Э2.2 с учетом предположений, сделанных на этапах Э2.3,
Э2.4. Разработкой логической схемы заканчивается построение
моделирующего алгоритма. На основании логической схемы в со-
соответствии с требованием задания разрабатывается ИМ (програм-
(программа) системы S.
Упражнения к главе 2
1. Используя приведенные выше описания действий для
особых событий, построить блок-схему моделирующего алгорит-
алгоритма.
2. Дополнительно к упражнению 1 учесть в блок-схеме
возможность наступления одновременных событий.
3. Дополнить моделирующий алгоритм системы S вычисле-
вычислением показателя эффективности W± — среднего числа заявок,
69
поступивших на обслуживание из накопителя, а также вычисле-
вычислением последовательности временных интервалов (на каждом про-
прогоне ИМ) {Z\} (i = 1,104) ожидания заявками обслуживания в на-
накопителе (здесь w\ — • число заявок, поступивших на
обслуживание из накопителя для Z-ro прогона, i — номер заявки).
4. Дополнить вышеописанный алгоритм вычислением сред-
средних значений для двух групп показателей.
1) Показатели эффективности для канала обслуживания:
— абсолютное время занятости канала
i=\
среднее время обслуживания заявки в канале
— абсолютное время простоя канала
W'=Tl-W?;
— коэффициент использования канала
W8'=^-(xl00%);
— коэффициент простоя канала
2) Показатели эффективности для накопителя:
— среднее содержимое накопителя
1 'Ф
Гф г=1
где х-ц — значение переменной Х\ в момент наступления г-го осо-
особого события для Z-ro прогона ИМ;
— среднее время пребывания заявки в накопителе
1
70
— максимальная длина очереди
W[2 = max]x[x xl - (m = со);
I
lri
— коэффициент использования мест в накопителе
wl -
Wl
m
- (xlOO%) (m < oo).
Следующие задачи решить с помощью имитационного моде-
моделирования описанной выше системы на одном из универсальных
языков программирования.
5. Определить минимально допустимую интенсивность об-
обслуживания, гарантирующую требуемый уровень е занятости ка-
канала обслуживания
R(Q) = р. -> min ,
Л
> s, где X, m — фиксированы.
6. Определить максимально допустимую интенсивность
входного потока, при которой максимальная длина очереди не
превышает допустимую величину jixq
Щ$) = X -» max ,
- то> гДе Ц — фиксировано, т = оо.
7. Определить оптимальное число мест в накопителе, мини-
минимизирующее стоимость ожидания и потерь заявок:
C2W4(m)
min
теАт
где X, ц — фиксированы (X > \х), Сх — стоимость пребывания за-
заявки в накопителе, С% — стоимость потери заявки.
8. Минимизировать среднюю стоимость простоя канала и
использования накопителя по параметру ц:
-> min ,
где С\ — стоимость простоя канала, С2 — стоимость использова-
использования накопителя в течение всего интервала моделирования.
9. Определить минимально допустимую интенсивность об-
обслуживания, при которой среднее время пребывания заявки в
системе не превышает допустимого значения то:
-R(G) = ц -» min ,
+
где X, т — фиксированы.
парамвтров
Z
Д„ - [0, 100], л = 20, 50, 100.
72
ГЛАВА 3
МЕТОДЫ ИМИТАЦИИ НА ЭВМ СЛУЧАЙНЫХ
ЭЛЕМЕНТОВ
На функционирование реальных сложных систем —
вычислительных систем (ВС), производственных участков, авто-
автоматизированных телефонных станций (АТС), систем передачи
информации (СПИ) и т.д. оказывают влияние случайные факто-
факторы, которые в математическом моделировании сложных систем
рассматриваются либо как случайные входные (управляющие)
сигналы и, либо как неконтролируемые воздействия внешней сре-
среды V.
Примерами таких случайных факторов являются: случай-
случайные интервалы времени между поступлениями заданий в ВС, де-
деталей на производственный участок, вызовов в АТС, обращений к
СПИ, а также время выполнения заданий в ВС, обработки дета-
деталей, установления связей и длительности переговоров в АТС, вре-
время обработки и передачи информации в СПИ и т.д.
При построении ИМ сложной системы S возникает необхо-
необходимость в имитации случайных факторов по заданным законам
распределения вероятностей. Так, в примере из раздела 2.2 при
построении ИМ вычислительной системы возникла необходимость
в имитации случайных интервалов между поступлениями заданий
пользователя в систему и интервалов выполнения заданий про-
процессором, т.е. задача имитации случайных величин по заданному
вероятностному закону распределения. Объектом имитации могут
быть не только случайные величины, но и случайные события,
векторы, процессы, поля, множества, т.е. произвольные случай-
случайные элементы.
Глава 3 посвящена именно этим актуальным задачам ими-
имитации случайных элементов.
3.1. Принципы моделирования случайных элементов
Моделирование на ЭВМ случайного элемента подчиняется
двум основным принципам:
1) сходство между случайным элементом-оригиналом Е* и
его моделью S состоит в совпадении (близости) вероятностных за-
законов распределения или числовых характеристик;
2) всякий случайный элемент S определяется ("конструи-
("конструируется") как некоторая борелевская функция от простейших слу-
случайных элементов, так называемых базовых случайных величин
(БСВ).
73
Простейшим для моделирования на ЭВМ случайным экспе-
экспериментом является эксперимент, заключающийся в бросании
точки наудачу в промежуток [0, 1). Результатом этого экспери-
эксперимента является координата точки. Математической моделью тако-
такого эксперимента является вероятностное пространство (Q, f, Р),
где О. = [0, 1) — пространство элементарных событий
(элементарное событие со е Q заключается в том, что координата
брошенной точки равна со); J — а-алгебра, порожденная интерва-
интервалами из Q; Р — вероятностная мера, определенная для событий
(подмножеств) А е f и совпадающая с мерой Лебега, так что для
события А = {со : со е [0, .г)}:
Р(А) = Р{@ е [О, х)} = х, х е [О, 1). C.1)
Базовой случайной величиной (БСВ) на (Q, 'JF, Р) будем на-
называть непрерывную СВ
а = а(а>) - см,
равномерно распределенную на полуинтервале [0, 1).
Функция распределения БСВ имеет вид
[О, х<0,
Fa(x) = Р{а < х} - \ х, 0 < х < 1,
1, х > 1,
а плотность распределения определяется формулой
, л [1, 0<*<1,
C.2)
C.3)
Будем обозначать закон распределения а: Л[0, 1).
Математическое ожидание БСВ (первый начальный момент)
[1 = Е{а} = 1/2,
дисперсия (второй центральный момент)
а2 = D{a} = E{(a - цJ} =- 1/1Я.
Наряду с простейшим экспериментом будем рассматривать
составной случайный эксперимент, получающийся в результате г-
кратного (г > 1) повторения независимо друг от друга простейших
экспериментов. Результатом составного случайного эксперимента
является последовательность из г независимых БСВ и-,, ..., а,, та-
таких, что
a, = a.j(co) = со,, I = 1, г ; со = (coi, .... oi,.) e Qr,
где со; — координата точки, брошенной наудочу б [0, 1) в /'-м про-
простейшем эксперименте.
6' Зак. 5452
Б1
Б2
74
Совместная плотность распределения вероятностей сс^, ..., аг
Рои аЛхъ...,хг) = \ '
"I'-'"'- [^0, в противном случае.
Согласно второму принципу моделирования случайных эле-
элементов, любой случайный элемент S представляете •; для некото-
некоторого натурального г в виде функции /(•) от г независимых БСВ
Н = Яаь ..., ос,.).
Таким образом, задача моделирования произвольного слу-
случайного элемента 2" разбивается на две подзадачи:
1) моделирование на ЭВМ независимых БСВ aj, ..., cu;
2) нахождение функции /(¦) такой, чтобы случайный эле-
элемент Е обладал требуемыми вероятностным законом распределе-
распределения и числовыми характеристиками.
Поэтому моделирующий алгоритм состоит из двух блоков
(рис.3.1):
Б1 — блок моделирования БСВ (общий для всех 2);
_ Б2 — блок функцио-
— нального преобразования /(¦)
БСВ (различный для различ-
различных законов распределения
вероятностей).
Для имитации одного и того же случайного элемента 2
может быть предложено несколько вариантов функциональных
преобразований (способы построения /(•) будут описаны ниже).
Обычно предпочтение отдается варианту /(¦), требующему мень-
меньших вычислительных затрат; для этого используется понятие ко-
коэффициента использования БСВ.
Коэффициентном использования БСВ к назовем величину,
обратную числу г базовых случайных величин, используемых для
моделирования одной реализации случайного элемента 2*:
к = 1/г, 0 < к < 1.
Величина к является мерой вычислительных затрат на мо-
моделирование 2*. Чем меньше к, тем больше затраты. Целесообраз-
Целесообразно выбирать такую функцию /(•), для которой к принимает наи-
наибольшее значение.
Очевидно, чтобы моделировать на ЭВМ случайные элементы
с заданным вероятностным законом распределения, необходимо
уметь моделировать БСВ. БСВ а является абсолютно непрерывной
случайной величиной (СВ). Однако на ЭВМ приходится иметь де-
дело с дискретными случайными величинами. Поэтому моделирова-
моделирование БСВ основано на аппроксимации непрерывной СВ а дискрет-
Рис.3.1
75
ной случайной величиной (ДСВ) а'. Опишем способ построения
ДСВ а'.
Рассмотрим случай, когда представление целых неотрица-
неотрицательных чисел на ЭВМ осуществляется с помощью k двоичных
разрядов (битов). Тогда С = {О, 1, 2k - 1} — множество 2к неотри-
неотрицательных целых чисел, представимых в ЭВМ. Определим на
(Q, J, Р) дискретную случайную величину Р = Р(со) следующим
образом:
О, 0 < со < 2~*,
Р = Р(ю) =
i, i-2 * < со <{i + 1J"*, i e С,
C.4)
2* -1, 1-2"* < со <2*2~* =1.
Построение Р проиллюстрируем с помощью рис.3.2. Разобьем
промежуток [0, 1) на 2к отрезков одинаковой длины 2Ч'\ для со,
попадающих в промежуток [I ¦ 2~к, (i + 1J k) полагаем р= C(со) = I,
i s С.
со По построе-
построению распределение
, 1 r>J_? 1 дискретной СВ р
является равномер-
Рис.3.2 ным на множестве
С, то есть все зна-
значения Р равновероятны, действительно:
Р{Р(со) = i\ = Р{со : со е [i ¦ 2Л(^ + 1J~*)} = 2~k. C.5)
Теперь перейдем от СВ Р к искомой ДСВ а':
а' = а'(со) = Р(со)/2* = Р(о>J~*. C.6)
Согласно C.5)
0, 0 <со <2~
0 2'k
а' = <
= 0),
i-2-\i-
->-*
<со <(;+1J \ (Р = /), I е С,
~k
1 - 2 *, 1 - 2~k < со < 1 (р = 2* - 1).
т.е. от целочисленной ДСВ р мы перешли к ДСВ а' со значениями
в [0, 1).
Очевидно, все возможные значения а' определяются множе-
множеством С = {0, 2~к, ..., 1 - 2~к} и являются равновероятными:
Р{сс'(со) = i ¦ 2~к) = Р{р(со) = i) = 2-*, i e С,
76
т.е. закон распределения а' является равномерным на С.
Точность аппроксимации а с помощью а' устанавливается с
помощью леммы.
Лемма. Для СВ а = а(со) и а' = а'(а>), определенных на
(Q, У, Р) и имеющих вид C.2), C.6) соответственно, равномерное
уклонение удовлетворяет выражению
sup|a'(co) -a(co)|<2^ . C.7)
coeQ
Доказательство. Разобьем D. = [0, 1) на 2* промежутков со-
согласно рис.3.2. Пусть со е [i ¦ 2~k, (i + lJ~fe), i e С. Тогда согласно
C.2) справедливо представление
a = a(co) = со = i ¦ 2~k + 8, 0 < 5 < 2~k, i e C,
а согласно C.6)
a' = a'(to) = i ¦ 2~k.
F«(x), Fa.(
1'
1 - s
0
1-8
: 2e
Рис.3.3
Поэтому
|a - a'| = 5 < 2'k, со е Q.
Отсюда заключаем справедливость C.7).И
Из C.7) следует, что если k —» оо, то последовательность
a'k~~—~~—>а равномерно по со е Q. Таким образом, случайная
величина а' = а'(со) является аппроксимацией для БСВ1 a = a(a>);
а' называется в связи с этим квазиравномерной случайной вели-
величиной. Ее функция распределения F,,(.r) изображена на рис.3.3 и
1 Напомним, что аппроксимация непрерывных случайных величин
дискретными широко используется в курсе теории вероятностей при по-
построении интеграла Лебега от случайных величин.
I
77
аппроксимирует Fa(x) с точностью е = 2~k. Между математически-
математическими ожиданиями величин а, а' справедливо соотношение
Е{а'} = 0,5A - 2~k) -> Е{а} = 0,5.
В табл.3.1 приведены соотношения между дисперсиями величин a
и а'.
Таблица 3.1
k
D{a},
2
1,290
3
1,140
1,030
10
1,001
15
1,000
При достаточно больших значениях k (например, для
ППЭВМ IBM PC AT 286 k = 15, E = 0,3 ¦ 10; для ППЭВМ IBM PC
AT 386, 486, 586 (Pentium) k - 31, s = 0,5 ¦ 10"9) величины a и a'
отождествляют.
3.2. Методы имитации БСВ
3.2.1. Типы датчиков БСВ
Датчик БСВ — это устройство, позволяющее по запросу
получать реализацию а или несколько независимых реализаций
ах, ..., аг базовой случайной величины а.
Реализации aj, ..., аг иногда называют случайными числа-
числами. Существует три типа датчиков: 1) табличный; 2) физический;
3) программный.
Табличный датчик БСВ — это таблица случайных чисел,
представляющая собой экспериментально полученную выборку
реализаций равномерно распределенной в [0, 1) случайной вели-
величины.
Например, в [6] приведены 834 десятизначных серийных
номерах лотереи, которые рекомендуется использовать как дроб-
дробные части случайных чисел. Применение табличных датчиков
при имитационном моделировании ограничено в силу двух недос-
недостатков:
1) нехватки табличных случайных чисел (часто для модели-
моделирования требуются миллионы случайных чисел);
2) большой расход оперативной памяти ЭВМ для хранения
таблицы.
Физический датчик БСВ — это специальное радиоэлек-
радиоэлектронное устройство, являющееся приставкой к ЭВМ, выходной
сигнал которой имитирует БСВ. Он состоит из источника флук-
туационного шума (например, "флуктуационно шумящей" радио-
радиолампы), значение которого в произвольный момент времени
78
является случайной величиной ц > 0 с плотностью рп(г/), и нели-
нелинейного преобразователя
а = {л}д/А, C.8)
где {г)}д = Г| - А[г|/Д] — дробная часть числа г|, относительно за-
заданного А > 0 ([г] — целая часть числа г).
Исследуем вероятностные свойства а. По правилам функ-
функционального преобразования случайных величин из C.8) следует,
что плотность распределения а
C.9)
0, x ? [0,1).
Будем предполагать, что р^(у) непрерывно дифференцируема и
Рп(°) < °°. Рп(«) < «• (ЗЛ°)
Применим к у-му слагаемому из C.9) в окрестности точки у = jA
линейную формулу Тейлора с остаточным членом Лагранжа:
Ра(х> =
I Ар (/А) + хА v Ap'{{Qx + j)A)A, 0 < х < 1,
;=0 ;"=0 (о.11)
0, X
где 0 < 9 < 1. При А —» 0 по свойствам плотности распределения
7=0
поэтому из C.10), C.11) следует, что
[о,
C.12)
Таким образом, выбирая А достаточно малой величиной, удается
получить БСВ а.
Недостатки физического датчика БСВ:
1) невозможность повторения некоторой ранее полученной
реализации а (поскольку Р{сс = а} = 0);
2) схемная нестабильность, приводящая к необходимости
контроля работы датчика при очередном его использовании.
По этим причинам на современных компьютерах физиче-
физические датчики БСВ используются весьма редко.
Указанными недостатками не обладает программный датчик
БСВ.
79
Программный датчик БСВ — это программа, служащая для
имитации на ЭВМ реализаций п\, а2, ... базовой СВ.
Он может быть получен из физического датчика БСВ введе-
введением обратной связи. Будем рассматривать функционирование
датчика во времени и обозначим r\t — случайную величину, под-
подвергаемую преобразованию C.8) в момент времени t; at — выход-
выходная величина датчика в момент t (случайное число). Источник
флуктуационного шума в физическом датчике заменяется обрат-
обратной связью
nt = ЧЧсс,-!, aj-2. •••, Щ-Р), C.13)
использующей р ранее полученных выходных значений датчика.
В C.13) t = 1, 2, ..., а ао> a_i, ..., а.\~р фиксируются заранее:
а,¦ = а, (i = 1 - р, 0) и называются исходными (стартовыми) слу-
случайными числами.
Согласно C.8), C.13):
Ы
at = -^ =
А
А
2>---> at~P) -C.14)
A A -v-.-.i.-t-z,-.-, ~t-p>
Рекуррентная формула C.14) определяет последовательность
псевдослучайных чисел а^-р, п2-р, ¦¦¦, uq, аг, ..., at, ... . Термин
"псевдослучайные" используется по следующим причинам:
1) по происхождению эти числа не случайные; они получа-
получаются по известному детерминированному закону C.14);
2) при специальном выборе функции Ф() по вероятностным
характеристикам эти числа похожи на реализации независимых
БСВ.
Отметим, что понятие случайности последовательности
можно связать со сложностью моделирующего алгоритма и, в ча-
частности, со сложностью функции Ф() в C.14).
3.2.2. Методы построения программных датчиков БСВ
Рассмотрим теперь основные методы и алгоритмы, исполь-
используемые при построении программных датчиков БСВ.
1. Мультипликативный конгруэнтный метод (метод вы-
вычетов).
Согласно этому методу псевдослучайная последовательность
вычисляется по рекуррентным формулам
at = а*/т., а- = (Pa*_i)modM(i = 1,2,...), C.15)
гДе Р, М, а0 — параметры программного датчика (натуральные
числа): р — множитель, М — модуль, aj е {1, ..., М - 1} —
80
стартовое значение, операция у = B)modM означает вычет числа z
по модулю М:
у = z - М[г/М].
Из C.15}) следует: 1) последовательность {щ}, а значит и
{а;}, всегда "зацикливается", т.е. начиная с некоторого номера iq
образуется цикл, который повторяется бесконечное число раз;
2) период последовательности Т < М - 1 (если ai - 0 , то al+j = 0
для любого j > 1),
Параметры C, М, а" выбираются из условия максимума пе-
периода. Период Т можно определить аналитически методами тео-
теории чисел или с помощью численных экспериментов на ЭВМ.
Таблица 3.2
я
32
16
231
21
М
2147483648
5= 32768
2
1в +
28 -
Р
3 =
3
65539
= 259
«о
65539
259
М/4 =
М/
т
536870912
4 =-- 8192
Например, часто используется типовой программный датчик
RANDU. В табл.3.2 приведены данные для двух вариантов датчи-
датчика, соответствующих 32-разрядной ЭВМ (машинное слово содер-
содержит q = 32 разряда) и 16-разрядной ЭВМ (q = 16).
2. Метод, использующий линейные смешанные формулы.
В этой ситуации псевдослучайная последовательность вы-
вычисляется рекуррентно по так называемой линейной смешанной
формуле, обобщающей C.15):
а,- = а*/м, а," = {fi ха*_Л+.
pa'i_p +c)modM(t = 1,2,...). C.16)
Параметры датчика: р — порядок; а_^+1> а-/>+2» •••> а--1> ао —
стартовые значения; р1; ..., \ip — множители; с — приращение;
М — модуль. Период датчика Т < М^ - 1, т.е. растет с увеличени-
увеличением М и р.
3. Метод, использующий нелинейные рекуррентные форму-
формулы.
Иногда псевдослучайная последовательность генерируется с
помощью квадратичного рекуррентного соотношения:
at = а*/м, а* = (у(а*_гJ + $а*_х + c)modM (i = 1,2,...). C.17)
Параметры а0 , у, р, М целесообразно выбирать с помощью
следующего утверждения [7].
81
Теорема 3.1. Если М = 21?, q > 2, то наибольший период
Тщах = М последовательности C.17) достигается тогда и только
тогда, когда |3, с — нечетные, у — четно, причем
(P)mod4 = (у + I)mod4.
4. Метод Макларена-Марсальи.
Метод основан на комбинировании двух простейших про-
программных датчиков БСВ. Пусть {bt}, {q} (i = 0, 1, 2, ...) — псевдо-
псевдослучайные последовательности, порождаемые независимо рабо-
работающими программными датчиками Д1 и Д2 соответственно;
V = {V@), ..., V(K - 1)} — вспомогательная таблица К чисел.
Вначале V-таблица заполняется К членами последовательности
{bt\:
V0) = bjtj= 0, К - 1.
Через {а,} будем обозначать комбинированную псевдослучайную
последовательность. Член at является результатом последователь-
последовательности операций
s = [сД], а, = V(s), V(s) = bi+K (i = 0, 1, 2, ...).
Отсюда видно, что Д2 осуществляет случайный выбор из V-
таблицы, а также ее случайное заполнение числами, порожден-
порожденными Д1. Этот метод позволяет ослабить зависимость между чле-
членами at и получать "невероятно" большие периоды, если периоды
Ть Т2 последовательностей {bt}, {cj — взаимно простые числа.
5. Метод, основанный на свойстве воспроизводимости рав-
равномерного закона.
Пусть ^ь ^2> ••¦ е [0, 1) — независимые одинаково распреде-
распределенные случайные величины; ./V — натуральное число: определе-
определены случайные величины:
Ллг = Si + ••• + Z,n, Ov = (nw)modl = r\N - [n.v]. C.18)
Сформулируем результат, выражающий свойство воспроизводимо-
воспроизводимости равномерного закона.
Теорема 3.2. Если 5i, ¦•¦, %n имеют равномерное распреде-
распределение, то и случайная величина C,N имеет стандартное равномер-
равномерное распределение R[0, 1).
Доказательство. По правилам функционального преобразо-
преобразования C.18) случайных величин выразим плотность распределе-
распределения Рг;дгB) случайной величины C,N е [0, 1) через плотность р (у)
распределения величины ид? е [0, N):
N-1
C.19)
82
Методом математической индукции (с использованием формулы
свертки распределений) находим
1 N
Рц„(У)=Л^—ц1р(-1)ксЬ(у-к)"-1Цу-к), 0<y<N, C.20)
где I(u) — единичная функция Хэвисайда.
Подставляя теперь C.20) в C.19), заменяя индекс суммиро-
суммирования I на j = i — k и меняя порядок суммирования по j, k, полу-
получаем
I N-lN-j-l
Суммируя по k и учитывая тождество
Ь (-1) CN = (-1) CN-1 '
fe=O
находим
/-1 7V-1
"a =1, 0<2 <1,
.
C-21)
что и требовалось доказать. ¦
Доказанное свойство позволяет строить весьма эффективные
датчики на микро-ЭВМ (например, ПЭВМ типа ЕС-1842) с невы-
невысокой разрядностью машинного слова. Пусть имеется два про-
простейших датчика БСВ Дь Д2; {?п> ?12, ...}, {^2ь ^22. •••} — незави-
независимые случайные последовательности, имитируемые этими
датчиками; р^.(х) — плотность распределения случайной вели-
величины \ф х е [0, 1) (г = 1, 2; j = 1, 2, ...). Пусть /??.(•) отличается
от плотности стандартного распределения
Нц {х) = I[0,l)(x) + еЛ(ж)
где h{) — ограниченная функция, такая, что
1 1
Щх)> ; hi(x) = Оприх г [0,1); j ht(x)dx = 0 ; C.22)
zi 0
Ej e [0, 1) и характеризует точность датчика Д^: чем et меньше,
тем точность выше.
Теорема 3.3. Пусть аналогично C.18)
Л; = ^1; + ^2/. Q = (Лу)тосИ (/=1,2,...). C.23)
Если ^ly, E,2j 6 [0, 1) независимы и имеют плотности C.21),
то Q имеет плотность распределения
1
Pc,j(z) = г[0,1)(.г) + ?l?2 /Ai(x)(A2(z - х) + Л2B + 1 - x))dx, z e[0.1) .C.24)
83
Доказательство. Согласно C.23)
(у) = {A
1
0
Поэтому при г е [0, 1)
^ .(г) =
- х)
- х)
Подынтегральное выражение упрощается, поскольку
1[0,1)B " х) + I[o.i)(z +1 - х) = 1.
Тогда с учетом C.22) получаем C.24). ¦
Из сравнения C.21), C.24) заключаем, что случайная по-
последовательность {у имеет распределение, более близкое к
Д[0, 1), чем {^}, &2j}:
Pttj(z) = I[0il)(z) + O(eI-),
p^. (z) = I[0,i)(z) + O(z1e2), j = 1,2,....
Формула C.23) используется для получения ;'-го псевдослучайного
числа. Аналогичным образом, увеличивая число исходных датчи-
датчиков Д}, Д2, ¦•¦, можно достичь требуемой точности моделирова-
моделирования.
В заключение отметим еще, что для увеличения отрезка
апериодичности последовательности {Q} следует использовать дат-
датчики Дх, Д2, периоды у которых Т\, Т2 — взаимно простые числа.
3.3. Моделирование дискретных случайных величин
3.3.1. Алгоритм моделирования дискретной СВ
Пусть ?,* — дискретная СВ, принимающая N < ж возможных
значений Cq < Cj < ... < Сдг_1 с заданными вероятностями ро, р^,
..., Рлг_1 соответственно. Опишем алгоритм моделирования реали-
реализации % СВ ?*.
Вычислим вспомогательный Л^-вектор
q = (g0, •••, 4n~i) = (Ро> Ро + Ръ ¦¦¦¦> Ро + ¦¦• + Pn-2, !)•
Алгоритм состоит из двух шагов.
Шаг 1. Моделирование с помощью датчика БСВ реализации
а базовой случайной величины а.
Шаг 2. Принятие решения о том, что реализацией ?'* явля-
является х, определяемое по правилу:
х = С;, если qt-i < а < qt (<?-i = 0), i = 0, 1, ..., N - 1.
84
а:х =
Po Pi
Pn-i
0 <7о=Ро 4i=Po+Pi ¦•¦ 9ы а 4t ¦¦¦ Чы-2 1
Рис.3.4
Работа алгоритма проиллюстрирована на рис.3.4.
Чтобы смоделировать последовательность из п реализаций
СВ ?," (случайную выборку объема п), достаточно повторить дан-
данный алгоритм п раз, меняя перед каждым повторением алгоритма
стартовое число ац в датчике БСВ. Коэффициент использования
БСВ равен к = 1.
Приведем примеры использования алгоритма моделирова-
моделирования дискретной СВ.
3.2.2. Моделирование полной группы случайных событий
Напомним, что система подмножеств Fq, ..., F#_i e f на-
называется полной группой случайных событий на (Q, У, Р) (где
У— о-алгебра подмножеств из О), если:
Ы~\
а) U Ft = ^ — происходит хотя бы одно событие из группы;
! = 0
б) FtP\Fj = 0 для i ф j — совместное наступление двух и бо-
более событий из группы невозможно;
в) P(i"\) > 0, i = 0, 1, ..., N -1 (все события группы имеют
ненулевые вероятности).
Пример. В случайном эксперименте по бросанию монеты
полную группу образуют два события: F\ — "выпадение орла",
F% — "выпадение решки".
Для моделирования полной группы случайных событий (Fq,
..., jP^_j) может быть применен алгоритм моделирования дискрет-
дискретной СВ. Действительно, обозначим: pt = P(Ft) (i = 0, ..., N - 1) —
вероятность /-го события из группы; ^* — дискретная случайная
величина, принимающая значения 0, 1, ..., iV - 1 с вероятностями
Po, pi, ..., Pn-i соответственно (^* — номер события из полной
группы, наступающего в случайном эксперименте). Тогда задача
моделирования случайного события сводится к задаче моделиро-
моделирования случайной величины ^*.
85
3.3.3. Моделирование однородной цепи Маркова
Пусть ?o>?l>-"»?n — однородная цепь Маркова, т.е. после-
последовательность дискретных случайных величин со значениями из
множества {cq, Cj, ..., Сдг^} (cq < C\ < ... < Сдг-i) и распределением
вероятностей, определяемым:
— вектором вероятностей начального состояния п = (лг),
1 = 0, 1, ..., N - 1
ni=P{C0=ci}>0, 2>,- =1. C.25)
;=о
— матрицей вероятностей одношаговых переходов Р = (рф,
Pij = Р{^*+1 = Cj\Ct =ct}Z0, t = O.n-1, ^I1^ = 1 ¦ C-26)
Определим аналогично п.3.3.1 вспомогательные вектор и матрицу
Ч - Dj). <7; = Lnk;
Q = (Qij), 4ij - I
k=o
Поскольку ^o ^n— дискретные СВ, то для моделирова-
моделирования каждой из них будем использовать вышеописанный алго-
алгоритм, используя при этом соответствующий вектор вероятностей.
Пусть а0, аг, ..., ап — реализации БСВ, имитирующие случай-
случайную выборку из R[0, 1). Моделирование последовательности
ъ0> ъ1»• - - > ^п представим в виде двух этапов: этапа 1 моделирова-
моделирования ^о и этапа 2 моделирования ?1,?2>--->?п •
Этап 1. Принимается решение, что реализацией ?,q являет-
является х0 = С;, т.е. цепь Маркова в начальный момент t = 0 находится
в состоянии номер v0 = i, если
gt_! < а0 < qt (g_! = 0), i e {0, 1, ..., TV - 1}.
Этап 2. Для моделирования Е.\ используется \<0-я вектор-
строка (<7уО(о> •••>(?v0,iV l) матрицы Q, где \0 — значение, полу-
полученное на этапе 1. Принимается решение, что реализацией ^ яв-
является Хх = сх, если (vi -- 0
86
?vo,i-i ^ al < <7vo,i (?vo,-i = °)> t = 0,1,..., iV - 1.
Аналогично, используя строку (д\.А>0> •••> <7vA,JV-i) матрицы Q,
получаем реализацию СВ ^ (fe = 1, 2, ..., л).
3.3.4. Моделирование процесса случайного блуждания
Пусть ?,t — случайный процесс с дискретным временем
t = т\, т = 0, 1, ... и дискретным фазовым пространством состоя-
состояний X:
It е X = {х : х = 18, I = 0, +1, ±2, ...},
где Л>0и5>0 — шаги дискретизации времени и фазового про-
пространства соответственно.
Пусть в момент времени t > 0 процесс находится в состоя-
состоянии х ? X, т.е. \t = х, а в следующий момент времени ? + А со-
состояние процесса определяется соотношениями
[х + А с вероятностью р+,
^(+д = • л: - А с вероятностью р_, C.27)
х с вероятностью 1- р+ — P--
Определенный таким образом случайный процесс известен
как процесс случайного блуждания на прямой.
Так как согласно C.27), справедливо представление
4(+Л = х + Tit> C.28)
где r\t e{-5, 0, 5} — дискретная случайная величина с распределе-
распределением вероятностей
Р{щ = ±5} = р±, Р{п, = 0} = 1 - р+ - р_,
то моделирование процесса b,t сводится к моделированию в каж-
каждый момент времени t + А реализации СВ r\t и использованию со-
соотношения C.28).
3.4. Метод обратной функции
В приложениях при построении имитационных моделей СС
часто возникают задачи моделирования на ЭВМ непрерывной слу-
случайной величины t," с заданной плотностью распределения веро-
вероятностей fo(x), х е R1.
Примеры. Моделирование случайных интервалов времени
между моментами поступления заданий в вычислительную систе-
систему; моделирование случайного времени выполнения заданий и
т.п.
87
В некоторых случаях для решения данных задач удается
применить так называемый метод обратной функции. Приведем
математическое обоснование метода и сформулируем моделирую-
моделирующий алгоритм.
Определим функцию распределения ?"
= \foiy)dy,
C.29)
00
которую будем предполагать строго монотонно возрастающей. Че-
Через х - Fq (у) обозначим обратную функцию; она находится при
решении уравнения
Fo (x) = у. C.30)
Теорема 3.4. Если а-БСВ, определенная на (Q, ^, Р), то СВ
\ = FoV) C.31)
имеет заданную плотность распределения /о()-
Доказательство. Поскольку при строго монотонном преоб-
преобразовании Fo() знак неравенства сохраняется, то из C.30), C.31)
получим
ВД = Р{^ <х}= PfFoV) < х} = Р{а < F0(x)} = Fa(F0(*)).
Из C.3) следует, что F^(x) = Fq(x). Последнее с учетом соот-
соответствия C.29) влечет f^(x) = fo(x). Ш
Моделирующий алгоритм включает следующие этапы:
1) нахождение функции распределения F0(x) по заданной
плотности распределения fo(x) согласно C.29);
2) нахождение обратной функции Fq путем решения отно-
относительно х уравнения C.30);
3) моделирование реализации БСВ а и вычисление реализа-
реализации СВ ? по формуле C.31).
Коэффициент использования БСВ равен единице: к = 1. Не-
Недостатком метода являются аналитические трудности на первых
двух этапах. В чистом виде метод обратной функции редко ис-
используется на практике, так как для многих распределений
(например, нормального) даже Fo (не говоря уже о Fq 1 ((/)) не вы-
выражается через элементарные функции, а табулирование Fq (у)
существенно усложняет моделирование. На практике этот метод
дополняют аппроксимацией Fo(y) пли сочетают с другими мето-
методами.
88
Пример 1. fo(x) — плотность стандартного нормального
распределения С\[@, 1). Функция распределения (функция Лапла-
Лапласа) описывается интегралом вероятностей
1-{2/2
АП — с
dt,
который аналитически вычислить не удается. Поэтому F0(x) (и
Fg (у) тем более) не выражаются через элементарные функции.
Метод обратной функции непосредственно применить нельзя.
Пример 2. fo(x) — плотность экспоненциального
(показательного) распределения (Е(Х))
fo(x) = \e~x*, х>0.
По формулам C.29), C.30) получаем
F0(x) = 1 - е~Хх, х > 0,
x=F0(y) = -(lA)ln(l -у).
Для моделирования ?," с плотностью распределения fo(x) ис-
используем формулу
е, = -х-ЧпЦ - а),
где а — БСВ. Очевидно, что а и 1 — а одинаково распределены,
поэтому эквивалентным моделирующим алгоритмом является
следующий:
с = -ц1пос, ц = Х-1 = Е{?*}.
Пример 3. fo(x) — плотность равномерного распределения
Ща, Ь],
f (r\ - \ I
То(х) - 1 Ь - а
[
' еСЛИ Х
О, если х ? [о, Ь].
О, если х < а,
-, если х е[а,Ь],
Согласно C.29), C.30)
F0(x) =
¦> - а
1, если х > Ь.
х = (Ь-а)у + а, у е [0, 1).
Моделирование ?* осуществляется по формуле
^ = (Ь - а)а + а,
где а — БСВ.
Укажем теперь способ применения метода обратной функ-
функции для моделирования случайного N-вектора ?* =
заданной плотностью распределения
,-) eR с
89
По свойству согласованности многомерной плотности распределе-
распределения (k = N - 1, N - 2, ..., 1)
C-32)
Для случайных величин{^}:k = 2,N вычислим:
— условные плотности распределения случайной величины
_l =xfe_1,...,^ = хг — фикси-
фикси:k = 2,N при условии, что
рованные:
U\
-; C.33)
— соответствующие условные функции распределения
xh
?tl\ll, i*(xk\xk-l>--->xl)= J Л*:,*
S/ ISlsl Sfe I^Al
которые будем предполагать монотонно возрастающими по х^;
— обратные функции распределения
xk = F"*1 * ?*(j/fcl**-if-.*i)- C.34)
Кроме того, найдем обратную функцию распределения ком-
компоненты ?i :
= j ff*(z)dz.
C.35)
Теорема 3.5. Если aj
БСВ, то случайный вектор
г— независимые в совокупности
е R-^ с компонентами:
C.36)
имеет плотность распределения f t (x) ¦
Доказательство. Проводится аналогично доказательству
теоремы 3.4 последовательно (с использованием C.32)-C.36), на-
начиная с 4i). ¦
Если ?,!,...,E,N независимы в совокупности, то моделирова-
моделирование каждой компоненты может осуществляться независимо от
90
других, т.к. в этом случае ЛГ-мерная функция распределения рав-
равна произведению одномерных:
Заметим, что компоненты вектора ?* е R-^ можно занумеро-
занумеровать N1 способами. Следовательно, существует 2V! представлений
условных плотностей, определяемых C.33). Простота реализации
алгоритма часто зависит от того, насколько удобно выбрано такое
представление.
Моделирующий алгоритм определяется формулами C.36).
Коэффициент использования БСВ равен к = 1/N.
Моделирование случайных ЛГ-векторов описанным методом
имеет существенный недостаток: вычисления C.32)-C.36) часто
оказываются громоздкими. Особенно это относится к случаям,
когда плотности C.32), C.33) нельзя выразить аналитически. По-
Поэтому изложенный метод обычно используется лишь при малых
размерностях N.
3.5. Метод исключения
В тех случаях, когда плотность распределения fo(O) модели-
моделируемой случайной величины ?* имеет сложный аналитический
вид и метод обратной функции неприменим, иногда может быть
использован метод исключения (метод режекции, метод
Дж. Неймана). Знакомство с данным методом начнем с описания
моделирующего алгоритма, а затем приведем его математическое
обоснование.
Обозначим Fo = {(х, у) : 0 ? у й fo(x), * е R1} — область, ог-
ограниченная кривой у = fo(x) и осью абсцисс (рис.3.5). Определим
мажорирующую функцию у = g(x):
g(x) > fo(x) > 0
и область G = {(х, у) : 0 <
у S g(x), х € R1} э Fo.
Заметим, что мажори-
мажорирующая функция g(x)
\ fi(x> должна иметь значитель-
\* , . но более простой анали-
JoKx) тический вид, чем /о(*),
при этом область G охва-
охватывает (мажорирует) об-
область Fo и имеет более
р„с#3.5 простой вид, позволяю-
91
щий легко моделировать случайный вектор (?', л')» равномерно
распределенный в области G (например, при помощи описанного в
раздел 3.4 метода обратной функции).
Моделирующий алгоритм включает следующие этапы:
1) подбор мажорирующей функции g(x);
2) моделирование случайного вектора (?', п')> равномерно
распределенного в области G;
3) если (х, у) — реализация вектора (?', ц') и у < fo(x) (т.е.
точка с координатами (д;, у) попадает в область Fo, то х принима-
принимается в качестве реализации случайной величины ?,*, если же
У > fo(x) (точка (х, у) лежит за пределами Fo), то реализация
(х, у) исключается и этап 2) повторяется снова.
Повторяя алгоритм га-кратно, получаем п реализаций 4*>
моделирующих результаты наблюдения над 4* в п экспериментах.
Метод исключения основан на трех следующих теоремах.
Теорема 3.6. Если (?, tj) — двумерный случайный вектор,
равномерно распределенный в области Fo = {(х, у) : 0 <, у < fo(x),
х € R1} (заштрихована на рис.3.5)
p^(x,y) = IFQ(x,y), C.37)
то компонента % этого вектора имеет плотность распределения
Доказательство. Из C.37) найдем функцию распределения
случайной величины ?
X 00 X /Ь(*') *
х) = \ dx' \ p^(x',y)dy = I dx' \dy= \ fo(x')dx.
—CO —QO
Тогда fo(x) = ?l(x) = fo(x) M
Теорема 3.7. Если (^'1,Л1)» (?2>Лг)> ••• — независимые в со-
совокупности случайные векторы, равномерно распределенные в G,
то случайный вектор (?, л)
% = ?*» Л = Ц'к> * = пшФ^^дг.Ллг) eF0}, C.38)
распределен равномерно в Fo.
Доказательство. Имеем для любого k S 1
где mes(G) — площадь фигуры G. Поэтому из C.38), C.39) следу-
следует, что условная плотность
РЫк (x,y\k) = c = const, (х, у) е Fo. C.40)
92
Пользуясь условием нормировки для этой плотности и учитывая,
что mes^o) = 1 по построению, получаем из C.40) с = 1 и
p^\k(x,y\k) = lFo(x,y). C.41)
Поскольку C.41) не зависит от к, то найденная плотность и явля-
является р^ц(х, у). Ш
Векторы (?,i,r)i),---i(?,'k-i>r]'k-l) не попавшие в Fo, называ-
называются исключенными, а процедура нахождения (^,г)^) — исклю-
исключением. Отсюда происходит название метода.
Теорема 3.8. Пусть случайная величина ?' имеет плотность
g(x)/mes(G), а случайная величина л' при условии ?,' имеет плот-
плотность распределения
рцЧ.(у\х) = l[0>g(x)](y)/g(x) ¦ C-42)
Тогда случайный вектор (?', т]') распределен равномерно в G.
Доказательство. По формуле умножения плотностей
Р$'|П'(*,г/) = Р^(х)рц.^,(у\х) = lG(x,y)/mes(G) M
Вычислим средний коэффициент использования БСВ в си-
ситуации, когда для получения реализации (х, у) случайного векто-
вектора (?,', г\') используется фиксированное число I БСВ (обычно I - 2).
Имеем
к = E{l/(Zr)},
где г — число использованных в C.38) векторов (^ЬЛг)» г = k.
Очевидно, k — 1 имеет геометрическое распределение с парамет-
параметром/? = Р{(^\ Л') е -^о}- Поэтому
1-
ln(mes(G))
j=0 l(j + 1) mes(G)V mes(G)J l(mes(G) - 1) I
Согласно C.43), для увеличения к необходимо уменьшать
mes(G) > 1. Это достигается выбором мажорирующей функции
g(x). Ранее отмечалось, что мажорирующая функция g(x) должна
быть одновременно и "простой", чтобы моделирование (?,', г\')
осуществлялось элементарными методами. Представляет интерес
способ оптимизации метода исключения, описанный в [8].
Отметим характерный недостаток метода исключения. Мо-
Моделирующий алгоритм описывается формулой Е, = ?@4, 0*2, •••),
где ocj, аг, ••• — независимые БСВ; Ч'(-) — функция счетного
множества аргументов. Последний факт предъявляет жесткие
требования к псевдослучайным числам.
Если fo(x) задана на бесконечном интервале или неограни-
чена, принципиально возможно построить мажорирующую функ-
функцию непосредственно. Однако более удобно подобрать взаимноод-
93
нозначное преобразование r\ = f i(^) так, чтобы случайная величи-
величина Г) имела ограниченную плотность на конечном интервале; ц
моделируют методом исключения, тогда ? = Tf * (л)-
Описанный метод очевидным образом обобщается на случай
моделирования случайного л-вектора с плотностью fo(x), x e RN.
Пример. Методом исключения построить алгоритм модели-
моделирования СВ с полиномиальной плотностью распределения вероят-
вероятностей
N
f(x) = 2>„ ¦ *п, 0 < * < 1, if(x)dx = 1.
га=0
Представим полиномиальную плотность f(x) на интервале
@, 1) следующим образом
где
Очевидно, что
га=0
ап, ап>0,
0, ап<0,
п=0
N
п=0
л=0
0, ап>0,
-ап, ап<0.
f(x)<g(x)= 1а«хл,
Моделируем СВ ф с плотностью, пропорциональной g(x), и приме-
применяем алгоритм исключения.
3.6. Метод суперпозиции
Рассмотрим еще один метод моделирования на ЭВМ скаляр-
скалярной непрерывной СВ Е,* с плотностью распределения fo(x),
х е R1 — метод суперпозиции. Этот метод может быть применен,
когда использование метода обратной функции и метода исклю-
исключения, ввиду сложности fo(x), трудно осуществимо.
Поясним идею метода. Согласно теореме 3.6 из раздела 3.5,
моделирование СВ ?* с плотностью распределения fo(x) можно
свести к моделированию случайного вектора (^, г\), равномерно
распределенного в области Fo (образованной кривой у = fo(x) и
осью абсцисс), так как компонента S, этого вектора имеет плот-
плотность распределения fo(x). В тех случаях, когда fo(x) имеет доста-
достаточно сложный вид, моделирование равномерного распределения
94
в области Fo трудно-
трудноосуществимо. Поэтому,
согласно методу супер-
суперпозиции, область Fo
разбивается на фикси-
фиксированное число про-
простых областей, модели-
моделирование равномерного
распределения в кото-
которых не представляет
труда (рис.3.6). При
х этом вероятности попа-
Рис.3.6 дания в области равны
их площадям. Используя данные вероятности, "разыгрывают"
номер области, в которой и осуществляется моделирование реали-
реализации СВ ?*.
Метод суперпозиции основан на формуле полной вероятно-
вероятности для плотностей. Пусть ^* и v — случайные величины, задан-
заданные на одном и том же вероятностном пространстве; FvB) —
функция распределения v; р *, (x\z) — условная плотность рас-
распределения Е,* при условии v = г.
Тогда безусловная плотность распределения Е,*
fo(x) =
C.44)
В частности, если v — дискретная случайная величина со
множеством значений {ci, ..., с#} и вероятностями
P{v = Ci}=Pi (i =hN, N < oo), p^ v(x\ct) = ft(x),
то C.44) принимает вид
N
. C.45)
! = 1
Моделирующий алгоритм включает следующие этапы:
1) определение вспомогательной случайной величины v,
удовлетворяющей C.44) или C.45);
2) моделирование v; пусть z — реализация v;
3) моделирование реализации СВ с плотностью fz(x)
(получение х-реализации Е,*).
Для уменьшения среднего времени т, затрачиваемого ЭВМ
на получение одной реализации д:, случайную величину v следует
определять так, чтобы vaf при фиксированном v достаточно бы-
быстро моделировались. Наибольший практический эффект дает
95
непрерывно-дискретный вариант C.45) (в этом случае v — дис-
дискретная случайная величина, алгоритм моделирования которой
рассматривался в раздел 3.3).
Графически это означает (рис.3.6), что область Fq = {(х, у) :
О < у < fo(x), b < х < с) разбивается на N непересекающихся час-
частей {gj} с площадями {/?;}. Основной принцип разбиения C.45) за-
заключается в том, что части gj, имеющие наибольшую площадь
(наибольшую вероятность />;), должны соответствовать наиболее
просто и быстро моделируемым плотностям fi(x). Например, на
рис.3.6 выбрано N = 6, причем плотности {^(х), j = l, 5}— либо
треугольные, либо ступенчатые. Те и другие легко моделируются
методами из раздела 3.4. Остаточную плотность
( 5 ) / 5
Ш) = Ш - XPifi(x) /р6, Рб = 1 - ZPi
можно моделировать методом исключения (из раздела 3.5). Инте-
Интересен способ оптимизации рассмотренного метода [9], позволяю-
позволяющий оптимальным образом осуществить разбиение C.45).
Пример. Методом исключения построить алгоритм модели-
моделирования GB 4 с плотностью
N 1
Я*) = IX • хп, 0 < х < 1, ап > 0, jf(x)dx = 1 •
л=0 О
Преобразуем f{x) следующим образом:
где
п=0
I ¦ хп
п=0
= I
Непосредственной проверкой убеждаемся, что
1
J<pn(x)dx = l, Ф„М>0.
о
Отсюда получаем алгоритм моделирования:
1) моделируем дискретную СВ Е, с распределением
Р? п}Рп;
2) если Е, = т, то моделируем непрерывную СВ <р с плотно-
плотностью фт(дг) = (т + 1)хт, 0 < х < 1, например, методом обратной
функции.
96
3.7. Моделирование случайных процессов
В задачах имитационного и статистического моделирования
динамических сложных систем часто возникает необходимость
имитации на ЭВМ случайного процесса %* = ^ = ?*(co,f) eR1,
со е Q, t e[0, T], определенного на вероятностном пространстве
(Q, У, Р) и временном промежутке [О, Т]. Пусть А > 0 — задан-
заданный шаг дискретизации времени; Т = MA; t = тА (т = 0, 1, ...,
М) — дискретное время; щ — дискретный "белый шум", т.е. по-
последовательность независимых в совокупности гауссовских слу-
случайных величин, распределенных по стандартному нормальному
закону Л?{0, 1}. При этом последовательность ^о>^д>^2ё>--->^мд
принято называть временным рядом.
Простейшей моделью случайного процесса );*, часто встре-
встречающейся на практике, является гауссовский временной ряд с
трендом
где f(t) — детерминированная действительная функция времени,
называемая трендом; а > 0 — среднеквадратическое отклонение
случайной ошибки. Временной ряд C.46) является нестационар-
нестационарным, если f(t) ? const. Имитация временного ряда ?,* легко осу-
осуществляется по формуле C.46); при этом последовательность не-
независимых случайных величин имитируется методами из
разделов 3.2-3.6.
Обобщением модели C.46) временного ряда E,t является мо-
модель:
?=№+?, C-47)
где C,t — гауссовский стационарный временной ряд с нулевым
математическим ожиданием Е{^( } = 0, с ковариационной функци-
функцией
R^* (т) = ** С О
и спектральной плотностью
T, X
97
Рассмотрим задачу имитации на ЭВМ гауссовского стацио-
стационарного временного ряда Q , спектральная плотность которого
является дробно-рациональной функцией (отношением двух мно-
многочленов)
X), X eR1. C.48)
При этом ковариационная функция имеет вид:
R
, т
где Pi&(t), Ргй(т) — многочлены относительно т, степень которых
на единицу меньше кратности k-то корня БгО). Для временного
ряда Q , получающегося дискретизацией (с пгагом дискретиза-
дискретизации А) случайного процесса Q , имеем дискретные аналоги кова-
ковариационной функции и спектральной плотности
" 'Ч m eZ,
__
S * (X) =
Rc* (m)zm, -n<X<n, 2 = e~iX,
C.49)
где a^ = сс^А, Pft = Р^А, X = ХА — так называемая "безразмерная
частота", / — мнимая единица. Отметим, что Sr*() и S,.*() свя-
заны простым соотношением
- - 1 ? f(X-2nm)"
В нашем случае условие C.48) приводит к тому, что Sr*()
становится дробно-рациональной функцией относительно z = e~i'~
[10]:
- /Гч А(г) АB1;
C.50)
А(г) =
*,B(Z)= Z&/2!>o =1-
А=0 i=0
В то же время, из теории временных рядов [11] известно, что
временной ряд С(, определяемый линейным стохастическим раз-
разностным уравнением
9 Р
СтД = ЪакЦ(т~к)\ - Х>?(т-;)-\' т = 0,1,2,..., М
k=0 y=0
98
с начальными условиями ^_д = <^„2д = ••• = С-рд = 0, и называемый
временным рядом типа авторегрессии и скользящего среднего по-
порядка р, q (АРСС(р, q)), является гауссовским с нулевым матема-
математическим ожиданием и требуемой спектральной плотностью
C.50).
Таким образом, для построения алгоритма моделирования
временного ряда Q необходимо выполнить следующие преобразо-
преобразования. Во-первых, необходимо вычислить заданную спектральную
плотность S *(\) с помощью C.49) или C.50). Во-вторых, полу-
полученную спектральную плотность S * (X) тождественными преобра-
преобразованиями надо привести к виду C.50). В результате находим р,
q, {a/J, {й(}. Например, если R * (т) = а е~с'т , то
S,(X) = a'
= а2
,-1
A - рг)A - рг)
)
BB)
где g = 0, р = 1,
моделирования С%
/ 9
= д/1 - р , и} =-р . Таким образом, алгоритм
* С
тД ЧтЛ %т-1)Л> т = 0,1,2,..., М .
В заключение отметим, что, используя теорему Вейерштрас-
са об аппроксимации тригонометрическими функциями, можно с
наперед заданной точностью приблизить произвольную спек-
спектральную плотность Sf* (X) дробно-рациональной функцией и,
следовательно, построить модель Q с помощью временных рядов
типа АРСС (р, q).
Укажем, что методы и алгоритмы имитации на ЭВМ других
типов случайных процессов, а также случайных полей представ-
представлены в [23].
99
Упражнения к главе 3
1. Используя метод суперпозиции, построить алгоритмы мо-
моделирования СВ с плотностью распределения вероятностей:
а) р(х) = 3/8 ¦ A + х2); -1 < х < 1 ;
а(а + Ъ) ах
Ь) р(х) =
2а + Ь
c(l + e~DX), x>0, a, b > 0;
с) р(х) = г3бо-
1 + Зе
2. Используя метод обратной функции, получить формулы
для моделирования СВ с плотностью распределения вероятностей:
а) р(х) = sin(x), 0 < х < п/2;
Их + 1)
Ъ) р(х) = -^тг— ' 0 < х < 1;
4B7'4 - 1)
с) р(х) =
ехр(-ах), 0 < х < а, а > 0.
1 - ехр(-сга)
3. С помощью метода обратной функции и метода Неймана
написать формулы моделирования СВ с плотностью распределе-
распределения вероятностей:
р(х) = {п + 1)хп, 0 < х < 1, п > 1.
4. Записать методом исключения алгоритмы моделирования
СВ с плотностью распределения:
a) р(х) - с ¦ C - -hx), 0 < х < 1, с = const;
b) р(х) = с ¦ х5/3A - хK'2, 0 < х < 1, с = const;
c) р(х) = с ¦ х5'3е~х, х > 0, с = const.
5. Написать алгоритмы моделирования СВ с плотностями
распределения вероятностей (с = const):
а)р(х) = с е"^»2, х>1;
Ъ) р(х) = с ¦ х1Ое~ах, х > 0, ст > 0;
d) ?>(х) = сAп(х)L, 0 < х < 1;
e) р(х) = X (п + 1)р(хA - ^))л, 0<х<1, 0 < jo < 1;
100
6. Написать алгоритмы моделирования двумерных случай-
случайных векторов с плотностями распределения вероятностей
(с = const):
а) р(х, у) = схе~хУ, 0 < х < 2, у > 0;
b) р(х, у) = cle-M
c) р(х, у) = ^2
+_гЩ, -1 <х, у< 1;
+ у2, 0 < х, у < 1.
7. Написать алгоритмы моделирования для нормально рас-
распределенных случайных векторов с параметрами:
a) mi = 1, т2 = 2, т3 = 3,
0 0^
Z = 0 3 1
1 4,
Ь) тг = 1, 77i2= 2, т3 =
=
3,
^1
1
0
i 0
77Z4
1
2
0
0
= 4,
0
0
3
2
0
0
2
4
101
ГЛАВА 4
МЕТОД МОНТЕ-КАРЛО И ЕГО ПРИМЕНЕНИЯ
При аналитическом исследовании сложных систем широко
используются математические модели различных типов, описан-
описанные в главе 1. На практике часто даже в тех случаях, когда уда-
удается построить аналитическую модель исследуемой системы, ис-
исследование этой модели традиционными аналитическими
методами оказывается невозможным в силу ее сложности
(нелинейные уравнения, большое число уравнений, переменных,
параметров, малая априорная информация и т.п.). Поэтому в по-
подобных случаях с математической моделью сложной системы экс-
экспериментируют на ЭВМ. Эксперимент на ЭВМ с математической
моделью сложной системы обычно называют вычислительным
экспериментом. В главе 2 мы уже познакомились с одним из ви-
видов вычислительного эксперимента — имитационным экспери-
экспериментом. В этой главе мы рассмотрим вычислительные экспери-
эксперименты, основанные на методе Монте-Карло.
4.1. Общая схема метода Монте-Карло
Метод Монте-Карло — это численный метод исследования
математических моделей сложных систем, основанный на моде-
моделировании случайных элементов и последующем статистическом
анализе результатов моделирования.
Метод Монте-Карло занимает важное место среди числен-
численных методов решения разнообразных математических задач. Соз-
Создателями метода на рубеже 40-50-х годов XX века стали амери-
американские математики Дж.Нейман и С.Улам. Своим названием
метод обязан городу Монте-Карло — известному центру игры в
рулетку, которую можно рассматривать как один из простейших
датчиков случайных чисел.
Отметим некоторые особенности метода Монте-Карло :
— поскольку метод Монте-Карло является численным, то
при сравнении его по эффективности с другими методами следует
рассматривать только численные (приближенные), но не аналити-
аналитические (точные) методы решения задач;
— метод требует обычно меньших вычислительных затрат,
чем традиционные численные методы;
— позволяет исследовать разнообразные математические
модели, не обязательно вероятностные;
— иногда является единственно возможным численным ме-
методом исследования моделей сложных систем.
102
Появление метода и его интенсивное развитие связано с по-
появлением и развитием ЭВМ.
Идея, лежащая в основе метода Монте-Карло, состоит в сле-
следующем.
Пусть необходимо вычислить скалярную величину а, задан-
заданную некоторым математическим выражением, сложным для ана-
аналитического исследования. Метод Монте-Карло реализуется с
помощью следующих шагов:
1) подбирают случайную величину ? такую, что выполняют-
выполняются условия:
Е& = a, D{Q < оо;
2) моделируют п независимых реализаций случайной вели-
величины ?,:
?l> •••> ^эп'у
3) по случайной выборке {^} (г = 1,п) строят выборочную
оценку а:
Принципиальную основу использования метода Монте-
Карло для вычисления математического ожидания случайной ве-
величины составляет известный усиленный закон больших чисел
[30].
Теорема 4.1. Для того чтобы среднее арифметическое неза-
независимых реализаций случайной величины Е, сходилось с вероят-
вероятностью 1 к ее математическому ожиданию, необходимо и доста-
достаточно, чтобы это математическое ожидание существовало.
Оценим погрешность метода. Из курса теории вероятностей
известно, что последовательность независимых одинаково распре-
распределенных случайных величин с конечными дисперсиями подчи-
подчиняется центральной предельной теореме [30]; последнее означает,
что для любых Xi < Х2-
- Х2 1 о
lim ]
П—>°0
1
z7L&i-a)<x2 =
dt
Выберем х2 = -Xj = x > 0, тогда из соотношения D.1) полу-
получим
hi n
lim P j- "
П—»аэ \ П ; —
< X.
Щ
= 2Ф(х) -1,
103
где Ф(х) — функция распределения стандартного нормального за-
закона:
1 Х -V
Ф(х) = т= \е 2 dtm D.2)
— СО
Следовательно, при достаточно больших значениях п
fe - а| < *^Ш * 2Ф(*) - 1, D.3)
1
где ^„ = - I \i .
Формула D.3) содержит целое семейство оценок, зависящих
от параметра х.
Пусть хр — решение уравнения
2Ф(х) - 1 = C, D.4)
тогда из D.3) вытекает, что вероятность неравенства
\\п ~ а\
D-5)
приблизительно равна р. Например, при р = 0,997 хр = 3. Значе-
Значение хр = 3 соответствует так называемому "правилу трех сигма"
[30].
Как правило, значение дисперсии D{^} неизвестно. В этом
случае предлагается использовать ее выборочную оценку [31]
2
¦ D.6)
Заметим, что при небольших п более предпочтительна сле-
следующая несмещенная оценка дисперсии [31]
В заключение, рассмотрим так называемую вероятную
ошибку метода Монте-Карло [15]
гп = 0,6745-Що/п . D.8)
Численный множитель 0,6745, фигурирующий в D.8) — это
решение уравнения D.4) хр при р = 0,5.
Название "вероятная ошибка" вызвано тем, что
~ а
х т: х р
-а\>гп
D.7)
\ А /
г*
104
т.е. одинаково вероятны ошибки, большие, чем гл и ошибки,
меньшие гп. Величина г„ часто используется на практике для ха-
характеристики порядка ошибки. Таким образом, используя г„, мы
оцениваем порядок ошибки О(п^/2), а используя формулу D.5) —
верхнюю границу ошибки с доверительной вероятностью р. Для
иллюстрации метода рассмотрим простой пример.
Пример. Требуется вычислить площадь а = mes(A) плоской
фигуры (области) А (рис.4.1). Метод Монте-Карло при решении
данной задачи реализуется с помощью следующих шагов.
1. Область А погружается в об-
область G с известной площадью
g = mes(G) < со.
2. Строится случайная величи-
величина Бернулли 4> математическое ожи-
ожидание которой равно а:
\g, Л е А,
[0, п € А,
где 1д(г|) — индикаторная функция
области А, г\ — случайный двумерный вектор, равномерно рас-
распределенный в области G. Обозначим р = Р{т\ е А} — вероятность
события {г) е А}. Тогда:
Е{^} = gp + 0A - р) = gp = a,
D(^} = §2РA - Р) = а(§ - а) <со.
3. Методами из главы 3 моделируется п независимых
реализаций r|i, ..., г|„, строится случайная выборка ?i, ..., ?,„
(?i = g!A(r\j)) и вычисляется оценка величины а:
п
где п' — число реализаций из {r\t} (i = l,n), попавших в область А,
а п'/п — относительная частота попаданий, т.е. эффективная
оценка вероятности р.
Для вычисления одной и той же величины а возможны раз-
различные варианты построения СВ ?, удовлетворяющие условию
Рис.4.1
При этом предпочтение отдается варианту, наиболее полно
удовлетворяющему следующим условиям:
1) дисперсия D{^} минимальна на множестве возможных СВ
%\
2) моделирование ^ осуществляется с помощью простого ал-
алгоритма (см. главу 3).
105
4.2. Вычисление определенного интеграла
методом Монте-Карло
Рассмотрим задачу приближенного вычисления определен-
определенного интеграла
1
а= \g(x)dx,
D.11)
где g(x) < со — некоторая, определенная на интервале [х0, Х\]
функция. Выберем произвольную СВ г| с плотностью распределе-
распределения Рц(х), определенной на интервале [xq, x{]
х\
рц(х) > 0, х е [х0, xj], \ рц(х)с1х = 1. D.12)
х0
Наряду со СВ п рассмотрим СВ ? вида
S = eOiVGMn)). D.13)
причем функции #(*), р(х) должны быть такими, что
X]g2(x)
Тогда
dx < со.
в(х)
=a-
D.14)
Dл5)
При этом
dx-a2<cc
Таким образом, согласно D.13) мы построили СВ ?, удовле-
удовлетворяющую условию D.10). Поэтому в качестве приближенного
значения величины а можно использовать статистическую оценку
а, построенную по выборке из п независимых СВ %, т.е. по ^1;
D.17)
Как уже отмечалось в разделе 4.1, статистика а при п —> х
имеет асИлМптотически нормальное распределение, и вероятность
8. Зак. 5452
106
уклонения а от а, согласно центральной предельной теореме,
удовлетворяет соотношению
1 "
<3.
~ П QQ7
Из последнего соотношения следует, что уклонение а от а тем
меньше, чем меньше дисперсия Щ%), определяемая D.16). Вели-
Величина D{?} зависит от выбора СВ л. До сих пор мы считали, что
ц — произвольная СВ с плотностью распределения, удовлетво-
удовлетворяющей D.12), D.14). Какой же должна быть плотность распре-
распределения Рц(х), чтобы D{^} была минимальной? На этот вопрос дает
ответ следующая теорема.
Теорема 4.2. Пусть
а+= \\g(x)\dx.
хо
Тогда дисперсия случайной величины ?, которая определя-
определяется формулой D.16), удовлетворяет соотношению
Щ?)>а2-а2, D.18)
где а определяется формулой D.11), и достигает минимума при
рц(х) = \g(x)\/a+. D.19)
Доказательство. Воспользуемся известным из математиче-
математического анализа неравенством Коши-Буняковского [30]
\2
(х\ \ х\ х\
\\U{x)V(x)\i.x\ < \ U2{x)dx\ V2(x)dx.
Vx0 ) х0 х0
Щх) = -
>
D.20)
Положим
Тогда на основании неравенства D.20) имеем
\2
\х0 J хо"
Поэтому согласно D.16)
Х1 -2, ч
Х1
хо
х0
-а- =а% -а" . D.21)
107
Осталось показать, что нижняя граница, т.е. равенство в
D.21) достигается тогда и только тогда, когда имеет место D.19).
Пусть рц(х) = \g(x)\/a+, тогда
\2
Чх)
\\g(x)\d.
х = at
при этом
= a2. - a2
Заметим, что выбрать наилучшую плотность Рц(х), заданную
формулой D.19), на практике часто невозможно, поскольку для
xi
этого надо знать значение интеграла а+ = 11 g(x)\ dx ¦ Вычисление
хо
последнего — задача такая же трудная, как и исходная задача
вычисления интеграла D.11). Поэтому на практике ограничива-
ограничиваются выбором плотности рц(х), пропорциональной \g(x)\.
В приложениях однократные интегралы вида D.11) обычно
вычисляются с помощью квадратурных формул, т.е. метод Монте-
Карло используется редко. Однако при переходе к многократным
интегралам положение меняется — квадратурные формулы стано-
становятся очень сложными, а метод Монте-Карло почти не усложня-
усложняется.
Пример. Вычислим интеграл
? 9
х +У
а =
2я
+ sin (xy)dxdy .
D.22)
-00 —ОО
Если бы в подынтегральном выражении отсутствовал множитель
/ 2
л/1 + sin (xy) , то можно было бы осуществить следующее преоб-
преобразование: а =— f e~x '2dx \e~y '2diii T-e- представить интеграл
*П -оо -оо
а в виде произведения известных в теории вероятности интегра-
интегралов Пуассона, каждый из которых равен -J2n , таким образом, а
легко вычислялось бы и было бы равно 1. Однако присутствие
множителя делает интеграл "неберущимся" в аналитическом ви-
виде. Применим метод Монте-Карло. Выберем случайный вектор
г) = (л,1, т\2) с плотностью распределения Рг\{х, у), пропорциональ-
пропорциональной подынтегральной функции в D.22)
Х2+У2
г» (у и\ — Р 2 (Л OQ\
2п
108
(т.е. мы пренебрегаем множителем с = т/l + sin2(xy) < /2 ). Легко
видеть, что для Рц(х, у) выполняется условие D.12), поскольку
D.22) можно рассматривать как совместную плотность распреде-
распределения двух независимых стандартных гауссовских случайных ве-
величин r|i и г|2- Тогда
-}
а= | j ^l + sin2(xy)py}(x,y)dxdy = е\^ +sin2
— 00 -00
Таким образом, в качестве Е, естественно использовать СВ
Пусть в результате моделирования независимых компонент
случайного вектора r\ = (nj, Л2) получена случайная выборка (xlt
yi), ..., (хп, уп). Для моделирования (г|1; г|з) может быть использо-
использован один из описанных в главе 3 методов. Согласно методу Монте-
Карло в качестве приближенного значения а следует использовать
статистику
D.24)
4.3. Решение системы алгебраических уравнений
методом Монте-Карло
Моделирование цепей Маркова оказывается естественным
образом связанным с решением большого числа задач, и, в пер-
первую очередь, с решением систем линейных алгебраических урав-
уравнений.
Рассмотрим простейшую вычислительную схему для реше-
решения линейных алгебраических уравнений, которая была впервые
предложена Дж.Нейманом и С.Уламом [12].
Пусть система линейных алгебраических уравнений задана
в виде
x=Ax + f, D.25)
где х = (xi, ..., хп)т — вектор-столбец неизвестных, / = (/j,
..., fn)T — вектор правых частей и А = (a,7), i, j = l,n — матрица
системы.
Предположим, что наибольшее по модулю характеристиче-
характеристическое число матрицы А меньше единицы, так что сходится метод
последовательных приближений
( V+f, к = 1, 2, ... D.26)
109
Достаточным условием для того, чтобы все характеристиче-
характеристические числа матрицы А лежали внутри единичного круга на
комплексной плоскости, то есть чтобы \Х^\< 1, i = 1,п , может слу-
жить неравенство ]г а* < i или неравенство тах ? |а-|<1-
Если положить, что х^ = f , то
(k) =
1+...+A + In)f, /e = 1,2,...,
х = lim x(fc) = lim(/ra + A+...+Ak)f = (/„ - A)/ ~ '
точное решение системы D.25).
Рассмотрим задачу о вычислении скалярного произведения
(h, х ), где h — заданный вектор.
Мы будем связывать с системой D.25) и вектором h некото-
некоторую фиксированную цепь Маркова из множества цепей, опреде-
определяемых парой {л, Р}:
п
л = (ль ..., л„)г, щ > 0, Ул,-=1>
Р = (Pa), I Pij = 1, Pij 2= 0 (i,j = 1,п),
для которых выполнены условия:
л,- > 0, если ht ^ 0,
р^ > 0, если ац *¦ 0; i,j = I,n; k = 1,2,...
Положим
го) _\1ч/щ, Щ >0, (Л
\<HjlPtj, Pij > 0,
D.28)
D.29)
D.30)
D.31)
*' 1 0, л,=0, "V [ 0, Pij=0,
Зададимся некоторым целым N и будем рассматривать тра-
траектории цепи Маркова длины N > 0. Объект, переходы которого
описываются цепью Маркова, условимся называть частицей и
считать, что эта частица изменяет свои состояния (движется в
соответствии с траекторией цепи). Движущейся частице припи-
припишем "вес" Qk, который изменяется при движении ее по траекто-
траектории ?о —> гх —> ... —> in следующим образом. В начальный момент,
когда она находится в состоянии in, частица имеет вес Qn = В^,
при переходе из состояния io в состояние ^ ее. вес становится рав-
равным о, = c-f0)o\A). и т.д., т.е.
m = Qm.-\Si... , ; • D.dJ)
110
Введем случайную величину l,N, определенную на траекто-
траекториях марковской цепи длины N
т=0
Используя формулу умножения вероятностей [30], найдем
Тогда математическое ожидание СВ E,N равно
п п N
... 2^ Zj *Kmli Pi P' ¦•••&¦
'0=1 lN=1m=0
п п ^ @) A)
— L ... 2, Р;_ Р,„ ,¦ ... р,- , ,¦ , 2- ?Г,- gj / ...g.
D.33)
D.34)
D.35)
Подставив выражения для gt ,...,i
формуле D.31), получим
N п п
= 1 I ...
, определяемые по
I Z ....S hioaio,h...aimi,Jm. D.36)
=0 Iq=1 гт=1
Используя определение произведения матриц, получим
= f%4Xi"^2
т.е.
D.37)
Из D.27) и D.37) следует, что при N -» » E{^} стремится к
(Л, х).
Итак, доказана следующая теорема.
Теорема 4.3. Если все характеристические числа матрицы А
по абсолютной величине меньше единицы, то математическое
00
ожидание случайной величины ?,h = Z Qmfim равно
m
^} = (А, х). D.38)
Для получения приближенного значения х, — j-ik компонентны
вектора х (решения системы D.25)) выбираем в качестве h еди-
единичный вектор et = @,0,...,0,1,0,...ОO", в котором лишь на j-м мес-
месте стоит единица. Тогда скалярное произведение D.38) равно хг
111
Используя результаты главы 3, моделируем / реализаций цепи
Маркова:
4Л) -> i{k) ->...-> if] ->..., k = lJ,j<N. D.39)
Вычисляем вдоль цепей D.39) веса Q^ согласно формуле
1т
D.32), тогда
с, ЬУт '1т
' т-0
Приближенное значение для Xj имеет вид
У ?(fe)
х ~ -
k=\
D.40)
D.41)
4.4. Решение дифференциальных уравнений
Лапласа и Пуассона
В ограниченной связной области G двумерной плоскости с
простой границей Г рассмотрим дифференциальное уравнение с
частными производными
^- + ~ = f(x,y), D.42)
ох ду
где U — неизвестная функция. Уравнение D.42) при f(x, у) = 0
называется уравнением Лапласа, а при f(x, у) ? 0 — уравнением
Пуассона.
Предположим, что на границе Г задана некоторая функция
g(x, у):
', У)\т = g(x, у). D.43)
Задачу об отыскании решения
уравнения D.42), удовлетворяюще-
удовлетворяющего граничному условию D.43), на-
называют задачей Дирихле.
Для приближенного решения
этой задачи выбирают на плоскости
достаточно мелкую квадратную
сетку с шагом h (рис.4.2). Коорди-
Координаты узлов этой сетки пусть будут
xj = jh, yt = lh, j, I = 1, n , а значе-
значения U(Xj, yt) и f(Xj, yt) для кратко-
У
о
с
1
-—1
—*,
/
Рис.4.2
сти обозначим Uih fjb
112
Узел (у, I) называют внутренним, если он и все четыре со-
соседних с ним узла (у—1, I), 0+1, I), (у, Z+1), (у, 1—1) принадлежат
GUT , в противном случае узел (у, /), принадлежащий G{JI' , на-
называют граничным.
Во внутреннем узле (xjt у\) уравнение D.42) заменяется раз-
разностным уравнением
~2u
i,i
h2
которое можно переписать в виде
u jJ %) D.44)
В граничных узлах (xit y\) полагают
U,,\=g,,\. D.45)
Решение алгебраической системы D.44), D.45) при h -* 0
приближается к точному решению задачи Дирихле для уравнения
D.42) [13].
Если перенумеровать все узлы, принадлежащие GIJT (в
произвольном порядке), и переписать в том же порядке уравнения
D.44), D.45), то получим систему линейных алгебраических
уравнений вида D.25)
л _
Ua = Z aajuj + fa> ос = 1, /тг, (т — количество узлов),
или в матричной форме
и = Аи + f , D.46)
где матрица А имеет следующую структуру: внутреннему узлу с
номером а отвечает строка аа1, аы2, ••-, аат, в которой четыре эле-
элемента равны 1/4, а остальные — нули; граничному узлу с номе-
номером а отвечает нулевая строка; все диагональные элементы мат-
матрицы ааа = 0. Оказывается, что все характеристические числа
такой матрицы по абсолютной величине меньше единицы [13].
Свободные члены системы D.46) равны
f _) h fa, если узел с номером а - внутренний, .. .„,
'а ~ 1 4 D.41)
[ ga, если узел с номером а - граничный.
Воспользуемся методом из раздела 4.3 и найдем прибли-
приближенное значение функции и(х, у) в одном (заранее заданном) узле
г. Выберем матрицу вероятностей одношаговых переходов
jaap, если узел с номером a - внутренний,
|5ар, если узел с номером а - граничный,
D.48)
113
где аар — элемент матрицы А, 5ар — символ Кронекера : 5аа = 1,
5ар = 0 при а ф [3.
Процесс построения цепи по такому правилу состоит из сле-
следующих этапов :
1) начинаем с узла iq = г;
2) если узел i^ внутренний, то с одинаковой вероятностью
1/4 выбираем в качестве i^+j номер одного из соседних с ним уз-
узлов;
3) если узел i^ граничный, то цепь останавливается
h i = h+2 - ¦¦¦ ¦
Расчет весов Qt вдоль такой цепи очень прост: пока цепь
не попала на границу Qi() = Q^ =• • • = Qik = 1 > далее
Поэтому случайная величина Ъ, оказывается равной
^ F.o+Fh+...+F.k, D.49)
где ik — номер первого выхода на границу. В формуле D.48) все
Fi ,Ff ,...,Fi вычисляются по формуле
последнее значение
равно
Пример. Пусть и(х, у) — решение уравнения Лапласа
п еу
—— н s~ ~ О в единичном квадрате G = {(х, у) : 0 < х < 1,
дх ду
О < у < 1}, удовлетворяющее граничным условиям U{x, 0) = 0;
?7@, у) = 0; Щх, 1) = х, [7A, У) = У. Вычислить значение ?7A/2,
1/2).
Выберем в квадрате G сетку с шагом h = 1/4 и перенумеруем
узлы так, как это указано на рис.4.3.
Для уравнения Лапласа формула D.49) еще больше упроща-
упрощается: ^ = gi , то есть Ъ, равно значению g в том узле, в котором
цепь попадает на границу.
Для моделирования цепей Маркова воспользуемся результа-
результатами главы 3. Проиллюстрируем применение таблицы случайных
цифр, приведенных в [15]. Если случайная цифра р окажется
0 или 4, то будем перемещаться в соседний узел справа; если
114
^21
16
11
6
1
22
17
12
7
2
23
18
13
8
3
24
19
14
9
4
25
20
15
10
5
Рис.4.3
Р равно 1 или 5, то будем переме-
перемещаться влево; если р равно 2 или
6, то перемещаемся вверх; если р
равно 3 или 7, то перемещаемся
вниз; значения р, равные 8 или 9,
пропускаем.
Приведем 16 реализаций це-
цепи Маркова (над стрелками запи-
записаны использованные случайные
цифры, соответствующие перехо-
переходам):
6
1
6 5 1
1) 13 -> 18->17-> 16;
5 0 7 5 6
2) 13-»12->13-»8-»7-»
5 5
3) 13-> 12^11;
6 б
4) 13н>18->23;
4 3 4
5) 13н>14->.9->10;
5 6 5
6) 13-»12->17-»16;
7) 13-> 11-» 11;
2 3 3 2 4 7 3
8) 13 -» 18 -> 13 -» 8 -> 13 -» 14 -> 9 -> 4;
7 5 7
9) 13-> 8-^7 -» 2;
0 2 6
10) 13-> 14 -» 19 ->24;
16 0 3 3 3
11) 13 -» 12 -» 17 -» 18 -> 13 -» 8 -» 3 ;
4 2 5 0 2
12) 13 -» 14 -» 19 -» 18 -» 19 -» 24;
2 2
13) 13 ->18 -» 23;
4 5 5 5
14) 13 -»14 -»13 ->12 -»11;
8 7
15) 13 ->8 -»3;
16) 13 -» 12 -»Ц.
Соответствующие этим цепям значения Е равны
0, 0, 0, 1/2, 1/4, 0, 0, 0, 0, 3/4, 0, 3/4, 1/2, 0, 0, 0.
115
Среднее арифметическое этих величин дает приближенное
значение решения в точке A/2, 1/2)
Из несмещенной оценки дисперсии D.7)
16
16
I /
следует, что вероятная ошибка rjg = 0,675 yD^/16 = 0,05 .
Точное решение рассмотренной задачи U = ху, поэтому
17A/2, 1/2) = 0,25, и фактическая ошибка расчета равна 0,08.
Пример 4.4. Рассмотрим следующую граничную задачу для
простейшего обыкновенного дифференциального уравнения 2-го
порядка
d2y/dxz = 0, у@) = 2, уA) = 3.
Аппроксимируем производную симметричным разностным
соотношением, тогда вместо исходной краевой задачи получим
следующую разностную схему
[у(х + h)- 2у(х) + у(х - А)]/А2 = 0, i/@) = 2, уA) = 3,
или у(х) = 0,5(у(х + h) + у(х - А)], у@) = 2, уA) = 3.
Найдем приближенное решение у(х) краевой задачи в точке
х = 0,6. Для этого, учитывая вид правой части полученной , а.шо-
стной схемы, моделируем п раз процесс случайного блуж пия
частицы, считая, что частица может находиться только в сле-
следующих точках: 0, h, 2h 1. При этом каждое случайчое блу
ждание начинается в точке х = 0,6 и заканчивается при попа^
нии частицы в одну из граничных точек х = 0 или х = 1, а с я
перемещения частицы в соседние точки слева и справа равноверо
ятны (т.е. осуществляются с вероятностью 0,5). После этого иско-
искомое приближенное значение (ДО,6) получается как среднее ариф-
арифметическое из найденных граничных значений.
Моделирование траектории блуждания частицы осуществля-
осуществляется методом, изложенным в пункте 3.3.4. Наиболее простой
практический способ моделирования осуществляется, например,
путем подбрасывания правильной монеты. При этом нужно усло-
условиться, что выпадение, положим, герба соответствует перемеще-
перемещению частицы направо, а выпадение цифры — налево. При h = 0,2
по результатам моделирования блужданий 20-ти частиц (п = 20)
был получен следующий результат
г/@,6) = 1/20 B + 3 + 3 + 3 + 2 + 3 + 2 + 2 + 2 + 3 +
+ 3 + 3 + 2 + 3 + 3 + 3 + 3 + 2 + 3) = 2,65.
Очевидно, что точное решение уравнения
d2y/dx2 = 0
имеет вид у = Схх + С2, а исходной краевой задачи — у = х + 2,
следовательно, г/@,6) = 0,6 + 2 = 2,6.
116
4.5. Решение интегральных уравнений методом
Монте-Карло
Рассмотрим интегральное уравнение Фредгольма 2-го рода
f(x) = JK(x',x)f(x')dx' + у(х), D.51)
X
или в операторной форме
/ = Kf + у,
где X — га-мерное евклидово пространство; /, vj/ e Lx; К : Ьг -> Llt
Lx — пространство интегрируемых функций. Нормы функции / и
оператора К определяются следующим образом
||/||=Л f(x)\ dx, 11 Jfl I = sup J{#(*', x)\dx'.
X x X
Метод Монте-Карло основан на представлении решения
уравнения D.51) рядом Неймана
1=
л=0
D.52)
где (Кпу)(х)= J... \4i(xo)K(xo,x1)x...xK(xn_1,x)dxo...dxn_l.
X X
Известно, что ряд D.52) сходится по норме к решению
уравнения D.51), если \\K\\ < 1 [15]. Заметим, что для сходимости
ряда Неймана и существования решения, достаточно и более сла-
слабое условие: ||^"°||<1.
Запишем уравнение D.51) в виде
fix) = (/, Ф*) + \|/(ж),
гДе Ц>х(у) = Щх, У), (f, Фж) — скалярное произведение:
(Лф*)= \Hy)K(y,x)dy= ?(ЛГл\|/,фх). D.53)
X л=0
Пусть л: — фиксировано, определим случайную величину ?,
математическое ожидание которой равно (/, ц>х). Для этого внача-
вначале рассмотрим цепь Маркова, заданную начальной плотностью
распределения вероятностей ро(х), плотностью вероятностей пере-
перехода р(х, у) и вероятностью обрыва Р(х); N — случайный номер
последнего состояния. Введем веса Qn по формулам:
()
Q° = РоШ ' Qn = Qn-
Рассмотрим случайную величину
N
5= 1впФ(*в
га=О
D-55)
117
При выполнении некоторых ограничений на функции Ро(х)>
Р(х), К(х, у) случайная величина \ является искомой. Смысл этих
ограничений состоит в том, что траектории цепи Маркова должны
иметь возможность начинаться в тех точках, где \\i(x) ф 0, а при
переходе х -> у попадать в точки, где К(х, у) Ф 0. Это значит, что
должны выполняться соотношения:
Ро(х) * 0 при ц/(х) ф О,
р(х, у)фО при К(х, у) Ф 0, D.56)
Р{х) ф 1 при К(х, у) = 0.
Определим также функцию Кр(х, у) = р(х, у)A - Р(у)). Кр —
оператор с ядром Кр(х, у), действующий из L\ в L\. Тогда верны
следующие теоремы.
Теорема 4.4. [15] Если существует щ такое, что
то цепь Маркова с вероятностью 1 обрывается после конечного
числа переходов, причем Е{ЛГ} < оо, где N — номер последнего со-
состояния, непосредственно предшествующий обрыву.
Теорема 4.5. [15] Если выполняются условия D.56) и
1 при некотором натуральном tlq, to
N
D.57)
U=o
Используя соотношение D.57), получаем следующую при-
приближенную формулу для решения интегрального уравнения D.51)
в точке х
j M( N
D.58)
4.6. Методы понижения дисперсии
Вероятная ошибка метода Монте-Карло пропорциональна
-Jd{^}//i • Скорость убывания этой ошибки с ростом п невелика.
Поэтому важно выбирать для расчета интегралов вычислительные
схемы или, другими словами, такие случайные величины Е,, для
которых дисперсия D{?} мала. Способы построения таких схем
называют методами понижения дисперсии. Метод выбора случай-
случайной величины Z, согласно теореме 4.2 получил название метода
существенной выборки. Рассмотрим другие наиболее часто встре-
встречающиеся на практике методы понижения дисперсии.
118
4.6.1. Выделение главной части
Рассмотрим интеграл
ь °°
/ = \f{x)p{x)dx, р(х) > О, \p{x)dx = 1.
а —°°
Пусть имеется функция h(x), близкая к f(x), такая, что зна-
значение интеграла
Ь
\h(x)p{x)dx = С
а
известно, т. е. может быть вычислено аналитически или численно
с большой точностью. Тогда математическое ожидание случайной
величины
z = с + т - h(%)
равно
Е{г) = С + I -С = 1,
следовательно, в качестве приближенного значения интеграла
можно взять значение
ni=l
где X; — i-я реализация случайной величины Е, с плотностью рас-
распределения вероятностей р(х), п — число реализаций. Оценим
дисперсию случайной величины z
Ь
Щг) = j(f(x) - h(x)Jp(x)dx -(I- СJ .
а
Ь
Если j(f(x) - h(x)Jp(x)dx < e , то D{z} < e.
Пример 4.5. Вычислить интеграл jexdx .
о
1 1
i" = \exdx = ex =е-1« 1,72 .
о !о
Простейший метод Монте-Карло приводит к оценке
пг=1
. где а, — г-я реализация БСВ.
е2х\
D{2} = \e2xdx - I2 = 0,5е2х\ -(е- IJ = 0,5е2 - 0,5 - (е - IJ « 0,24 .
о °
119
Применим метод выделения главной части
ех = 1 + х + ... .
Выберем h(x) ~ х, тогда
1
\xdx = 0,5 .
о
Очевидно,
1
/ = 0,5 + \{ех - x)dx .
о
Введем случайную величину
2я= 0,5+ -!>«< -а/).
ni=l
Найдем дисперсию СВ z*n
1 1 1
Щгп) = \(ех - xfdx -{I- 0,5J = \e2xdx - 2jexxdx ~
0 0 0
= 0,5(е2 - 1) - 5/3 - (е- 3/2J * 0,0436
Таким образом, D{^*} < D{zn}.
- 0,5J =
4.6.2. Интегрирование по части области
Рассмотрим многомерный интеграл \f(x)p(x)dx, G e Rm ,
G
| p(x)dx = 1 • Предположим, что можно аналитически вычислить
G
данный интеграл по некоторой части В области G
jf(x)p(x)dx = A, \p{x)dx = C, 0<С<1.
в в
Представим искомый интеграл в виде суммы
/ = \f(x)p(x)dx = )f(x)p(x)dx + A.
G D=G/B
В области D определим плотность Pi(x) = р(х)/A - С). Рассмотрим
случайную величину
где ? — СВ с плотностью Р\(х).
Тогда математическое ожидание
ЕМ = /
120
и для вычисления интеграла можно использовать следующее при-
приближенное значение
* 1 - С л *
wn = А + X f(xt) •
где XJ.....X* — реализации СВ, распределенной в области
D с плотностью Р\(х) =р(х)/A - С). Можно показать, что
D{u>*} < D{wn}, где Wfl = — Y,f(xi), xiti = l,n — реализации СВ с
плотностью р(х).
4.6.3. Симметризация подынтегральной функции
1
Рассмотрим интеграл /= \f(x)dx. Простейший метод Мон-
0
те-Карло приводит к оценке
Рассмотрим симметричную функцию
/1<*)=0,5(/(*) + /<l-
Очевидно,
1
I = \h(x)dx.
о
Введем
Тогда D{u*} < D{vn}.
г=1
1
Пример 4.6. Вычислить интеграл I = jexdx. Точное значе-
0
ние этого интеграла, очевидно, равно е — 1 ** 1,72. Простейший
метод Монте-Карло приводит к рассмотрению СВ х = еа, где И —
БСВ. Приближенное значение интеграла равно
1 П
— j-я реализация БСВ. Оценим дисперсию
D{zn} = Е{22} - (Щгп}J = \e2xdx - I2 = 0,5(е2 - 1) - I2 - 0,24 .
о
121
Для симметризованной функции получим следующее значение
интеграла
Оценим дисперсию
2 1 1
D{2*} = E{z*2} - (e{z*}) = 0,5\e2xdx + 0,5Jexe1-xdx - I2 =
о о
= 0,25(e2 - 1) + 0,5e - I2 « 0,0039 .
Таким образом, D{zn} < D{zn}.
Упражнения к главе 4
1. Записать формулы для вычисления интеграла с помощью
метода выделения главной части. В качестве главной части вы-
выбрать функцию h(x). Оценить дисперсию оценки и сравнить с
дисперсией оценки простейшего метода Монте-Карло:
л/2
a) I = I cos xdx, h(x) = 1 - х2/2 ;
о
1
b) I = j exdx, h(x) = x ;
о
л/4
c) / = | sin xdx, h(x) = x .
0
2. Записать формулы для вычисления интеграла методом
Монте-Карло с указанием плотности распределения вероятностей:
xdx ;
e) I =
tg(*)
b) I = \e x cos2 xdx;
0
00
d) I = {sin(x)/x dx;
— OO
_ ,. ? cos2 x ,
Л / = I 2 dX ;
dx.
122
3. Методом Монте-Карло найти решение системы линейных
алгебраических уравнений:
\х = ОДх + 0,5у + 0,5;
[у = 0,2 + 0,4у + 0,5.
4. Методом Монте-Карло найти решение интегрального
уравнения в точке х = 1
= 0,5
__1_
Ы2п
5. Методом Монте-Карло найти решение следующей гранич-
граничной задачи:
д2и д2и 2
и(х, 0) = 0, и(х,1) = х, и@,у) = 0, иA,у) = у,
0 < х < 1, 0 < у < 1.
6. Методом Монте-Карло найти решение следующего обык-
обыкновенного дифференциального уравнения:
у" + ху' + у = sinx, г/@) = 1, у'@) = 1.
123
ГЛАВА 5
ПЛАНИРОВАНИЕ ИМИТАЦИОННЫХ
ЭКСПЕРИМЕНТОВ
Данная глава посвящена теории планирования имитацион-
имитационного эксперимента. Так как при имитации наибольший интерес
представляют зависимости средних значений (математических
ожиданий) некоторых характеристик СС от ряда факторов, то при
планировании имитационных экспериментов могут широко ис-
использоваться результаты теории планирования регрессионных
экспериментов [16, 17]. Применению этих классических результа-
результатов в имитационном моделировании посвящены разделы 5.1-5.4.
В сравнении с теорией планирования регрессионных экспе-
экспериментов существенно менее разработана теория планирования
имитационных экспериментов. В [16] справедливо отмечено, что
имитационный эксперимент имеет большие возможности для
планирования, чем натурный эксперимент, поскольку при имита-
имитационном эксперименте распределения случайных величин нахо-
находятся в распоряжении экспериментатора, а при натурном экспе-
эксперименте даются природой. Отсюда следует прежде всего, что
методы планирования эксперимента, разработанные для натурно-
натурного эксперимента, могут быть использованы и в имитационном
эксперименте.
Раздел 5.5 посвящен изложению некоторых методов, ж
пользуемых при планировании имитационных эксперименте ,.
Более детально методы планирования имитационных эксперимен-
экспериментов описаны в [16, 18, 25].
5.1. Регрессионные модели экспериментов
и их статистический анализ
Пусть в результате функционирования некоторой имитаци-
имитационной модели СС контролируемые переменные х
(характеризующие состояние системы) трансформируются по не-
некоторому алгоритму в выходную переменную у. Если точная ана-
аналитическая зависимость между переменными х, у исследователю
неизвестна, то по результатам проведенных экспериментов он пы-
пытается оценить эту зависимость. Разумный, целенаправленный
выбор значений контролируемой переменной х во многом опреде-
определяет точность оценивания искомой зависимости. Набор значений
124
контролируемой переменной х (их совокупность обозначим через
Е,) составляет план имитационного эксперимента.
Эксперимент, для которого множество Е возможных значе-
значений ? содержит по крайней мере два различных элемента, являет-
является активным, так как выбором элементов из Е может управлять
экспериментатор для достижения некоторой цели. Например, для
наилучшей, в некотором смысле, аппроксимации зависимости
между х и у. Если И не определено или содержит всего один эле-
элемент, то эксперимент является пассивным.
Приведем теперь более строгую, математическую постановку
задачи планирования эксперимента.
Предполагаются заданными два множества объектов:
{х} = Fi, {у} = F2, и оператор А : Fr -» F2. Значительный круг при-
прикладных задач имеет своей целью восстановление по эксперимен-
экспериментальным данным неизвестного оператора А.
Эксперимент сопоставляет объекту х значение у = Ах, ко-
которое отличается от Ах (в силу случайных экспериментальи ix
погрешностей). При восстановлении оператора А исследователь
выбирает априори множество А операторов А (моделей), опреде-
определенных на Fi, с множеством значений в F%. Предполагается, что в
А можно найти оператор Aq , достаточно близкий к А. Построе-
Построение оператора Aq — задача оптимального планирования экспе-
экспериментов.
Если искомый оператор А есть функция, определенная в об-
области из Rm и известная с точностью до конечного числа неиз-
неизвестных параметров, то приходим к классической задаче плани-
планирования регрессионного эксперимента.
Основные положения теории планирования эксперимента
хорошо изложены в [16, 17]. В монографии [18] приведено боль-
большое число практических рекомендаций по планированию имита-
имитационных экспериментов. Поскольку теория планирования регрес-
регрессионных экспериментов наиболее развита, основное внимание в
данной главе будет уделено планированию регрессионных экспе-
экспериментов.
Пусть в имитационной модели выходная переменная у не-
некоторым образом зависит от контролируемых переменных
Х\, ..., Xk- Например, у — характеристика получаемой продукции,
< Xj: i = 1, k > — количество поступающего сырья и характеристики
производственных режимов. В результате гг-кратного проведения
имитационного эксперимента получены вектор У =({/ь
который зависит от матрицы
125
-, Уп)Т,
р =
хп
E.1)
xnk)
где Хц — значение у'-й переменной в г-м эксперименте. В теории
планирования экспериментов вектор Y называется вектором ре-
результатов измерений, матрица F — матрицей плана эксперимента
или просто матрицей плана.
Экспериментатор априори предполагает, что зависимость
между у и вектором х = (х1( ..., xk)T имеет вид
y=f(x,Q), E.2)
где функция /(х,В) : RftxRm -> R1 известна с точностью до неиз-
неизвестного параметра 9 =(9j, ..., 6m)T. В силу случайных экспери-
экспериментальных погрешностей вектор у и матрица F связаны не де-
детерминированной зависимостью E.2), а стохастической
зависимостью
yi = /(х«, 6) + щ, i = l~n, E.3)
где \xt — случайная ошибка, полученная в результате проведения
j-ro эксперимента, х('> =(хц,...., xih)T. Относительно ошибок щ бу-
будем предполагать, что они имеют средние значения E{uJ = 0, и
О
некоррелированы: Е{цг(.^} = 0, i Ф у; D{^} =at .
Учитывая, что ошибки экспериментов имеют средние зна-
значения, равные нулю, соотношение E.3) можно записать в виде:
ЕЫ =л(*@>6) = f(x(i\Q), i = 1,л. Функция ц(х,в) = f(x,Q) в теории
планирования эксперимента называется поверхностью отклика
или функцией регрессии.
Задача регрессионного анализа состоит в оценивании 9 по
выборке Y. В теории планирования экспериментов наиболее ис-
исследован случай, когда функция f(x,Q) линейна по параметру 9
у =втПхЩ + ц4 = /г(х('))9 + »hi= l~n, E.4)
где f(x) =(/i(x), ..., fm(x))T— заданная (базисная) векторная не-
непрерывная функция. Относительно ошибок экспериментов {ц,} со-
сохраняются те же предположения, что и для модели E.3).
Частным случаем модели E.4) является случай, когда кон-
контролируемые переменные (факторы) линейно входят в правую
часть E.4) и результаты экспериментов равноточны
Vi = 9l*a + • • • + Qmxim + Mi > i = 1. n,
126
или в векторном виде
У = FQ + и, E.5)
где ц =(Ц1, ..., Цп)т — вектор ошибок экспериментов, для которого
Е{ц} = О, Е{ццг} = a2ln, F — матрица, определяемая E.1) с k = m.
Будем рассматривать линейные оценки для В
9 = Ту, E.6)
где Т — m х п-матрица.
Оценку 9 назовем наилучшей линейной несмещенной оцен-
оценкой (НЛН-оценкой), если она имеет наименьшие дисперсии
D J9; |, i = 1, m , в классе линейных несмещенных оценок E.6).
Теорема 5.1 (теорема Гаусса-Маркова). Для линейной моде-
модели E.4) НЛН-оценка
Q = M~lY, E.7)
где информационная матрица М равна
М=
1=1
и предполагается неособенной,
У = '
су "¦
и Ю; = а7 . Матрица вариаций оценки 9 равна
у(ё) = Е{(о-Е{е})(ё-Е{ё})г
E.8)
E.9)
E.10)
Оценка 9 является МНК-оценкой параметра 9.
Доказательство теоремы 5.1 содержится в [17].
Оценка E.7) получена в предположении, что дисперсии
( 2)
<Oj > ошибок экспериментов заданы. Результаты теоремы 5.1
можно обобщить на случай неизвестных дисперсий. Рассмотрим
случай равных дисперсий: at =a ,i = l,n, который принято на-
называть "случаем равноточных измерений".
Теорема 5.2. Для модели E.4) с равными дисперсиями
I 2 2 \
ошибок \af = а , i = 1,п\ при п > m НЛН-оценка
E.11)
где
127
1г))Г (хA)), \М\ * 0, У = I(/i/(x(!)).
!=1 1=1
Если а2 неизвестно, то несмещенной оценкой для дисперсии
а* является статистика
i=l
5.12
Доказательство. Из теоремы 5.1 следует, что НЛН-оценка
1=1
п
-1
Таким образом, в случае равноточных экспериментов, оцен-
оценка 9 не зависит от абсолютного значения а2. Доказательство не-
несмещенности оценки E.12) можно найти в [17].И
Используя теорему 5.2, можно получить НЛН-оценку для
классической линейной модели E.5)
\ FTY, E.13)
и несмещенную оценку для дисперсии аг
s2 = а2 = (У - FQ]T{y - FQ] ¦ {п - m). E.14)
Перейдем теперь к статистическому исследованию регресси-
регрессионных моделей.
{ I т \ Л
Для классической невырожденной I detlF F\Ф 0J линейной
модели наблюдений E.5), у которой ошибки наблюдений — гаус-
совские !-?{б} = 9\Ln\0, a InJ), проверим гипотезу Hq\ G; Ф а о ра-
равенстве заданному числу a i-ro коэффициента 9* A < i < m) при
альтернативной гипотезе Н^. 9; Ф а. Если а = 0, гипотеза Hq назы-
называется гипотезой значимости параметра 9;.
В модели наблюдений E.5) с -?{ц/ = ^К.п\®>а ^п)
НЛН-оценка 9 имеет нормальное распределение:
Если гипотеза Hq верна, то
128
E.15)
Рассмотрим сначала случай, когда дисперсия наблюдений а2
известна. В этом случае из E.15) следует, что при верной гипотезе
Я°
- а
E.16)
E.17)
Решающее правило для проверки гипотезы Но следующее:
{Hq, если |q < Д,
Нх, если Щ > Д,
где порог Д выбирается так, чтобы вероятность ошибки первого
рода равнялась заданному уровню значимости б е @,1):
Р||?,|> Д|ЯО| =б. E.18)
Из E.18) с учетом E.16) получаем, что порог
- квантиль уровня 1-6/2 стандартного нормаль-
нормального распределения 1Л(д@,1).
Если дисперсия наблюдений а2 неизвестна, то для нее мож-
можно указать несмещенную оценку E.14). Если гипотеза Hq верна,
то статистика
E.19)
имеет ^-распределение Стьюдента с п - т степенями свободы. Ре-
Решающее правило для проверки гипотезы Hq строится по той же
схеме, что и для известной дисперсии а2, путем замены в форму-
формулах E.17), E.18) % на tn _ т. Порог Д = Ff1 (l - е/2) — квантиль
уровня 1 — б/2 ^-распределения Стьюдента с п — т степенями сво-
свободы.
Пусть вид функции отклика
Л(х) = ет/(х)= ТА(х)ви E.20)
129
определенной в некоторой области X, экспериментатору неизвес-
неизвестен, т.е. неизвестны р функций {/;(*)} и параметры {9Л , а из-
известна лишь структура E.20) функции ц(х).
Из некоторых соображений экспериментатор полагает, что
функция отклика
, . Р0 п, , „
mqIXI — 2~, Ti 1-мО; ь \О.Л±)
1 = 1
где |/; (x):i = l,po\ — известные функции,
); :/ = 1, Pq > — неиз-
вестные параметры.
Предполагается, что в моделях E.20), E.21) ошибки на-
наблюдений некоррелированы, распределены нормально с нулевым
средним и одной и той же дисперсией а2, где ст2 — неизвестно.
Требуется по заданному уровню значимости б проверить ги-
гипотезу Но: г\(х) - По(х). против альтернативы Н\\ г\(х) Ф цо(х).
Проверка гипотезы Hq — проверка гипотезы адекватности регрес-
регрессионной модели E.21).
Для того чтобы сформулировать основной результат, введем
ряд обозначений.
Пусть задан план эксперимента ^(-/У): х*1', ..., х'"';
mi, •••> тп> гДе т1 — число наблюдений (экспериментов) в точке
п
xh ~Lmi = N . Повторные наблюдения в точке xW образуют
Тогда Y = (y1r,...,yj)'
7пгвектор Yl=\yn,...,ylm(
Л^-вектор наблюдений. Через X обозначим {п х />°)-матрицу
Х° =
/0Г(хB))
/0Т(хМ\
Введем (тг х тг)-матрицу V = diagJTn, J. Выборочные средние
значения наблюдений в точках х^ обозначим через
yt = 2. , i = 1, тг;
l Щ
s=l Щ
130
где У = (ух, ..., у„) — n-вектор средних наблюдаемых величин.
Поскольку наблюдения {yis} — повторные, то для модели E.2)
НЛН-оценка параметра 0° = 0° 6°0 следующая:
Введем в рассмотрение величины: q\=Y V~ Y -9 А' V Y,
q2 =YTY -YTV~1Y.
Независимо от того, истинна гипотеза Hq или нот, величина
и2 = #2/ст2 имеет /^-распределение с N - п степенями свободы.
Если гипотеза Но истинна, то величина «1=у1/а2 имеет х2"
распределение с п - ро степенями свободы. Случайные величины
их и и% независимы. Доказательство этих утверждений можно
найти, например, в [19].
Так как случайные величины и\ и 11% независимы и имеют
^-распределение, то, если гипотеза Hq истинна, тогда величина
р 92)
и2/(Л -п) q2[n-p0)
имеет F-распределение Фишера с п - р$ и N - п степенями свобо-
свободы.
Статистику E.22) можно использовать для проверки гипоте-
гипотезы #о: гипотеза Но отклоняется, если Fn__p()N__n > Д, где порог
A =F^1A — е) — квантиль уровня A - ?) ^-распределения Фишера
с п — ро и N - п степенями свободы.
Если гипотеза Hq принимается, то модель E.21) не проти-
противоречит результатам наблюдений. Из этого, однако, не следует,
что модель E.21) на самом деле адекватна, а тем более истинна.
При отклонении гипотезы Hq модель E.21) считается неадекват-
неадекватной. Если модель E.21) неадекватна, то о>ю. .заведомо не является
истинной.
5.2. Построение оптимальных лпанов экспериментов
В предыдущем разделе были рассмел ро^ы и:;о-:шшые экспе-
эксперименты, когда при фиксированных значениях контролируемых
переменных экспериментатор стремился получить НЛН-оценки
неизвестных параметров.
131
Однако на полученные таким образом оценки можно актив-
активно влиять путем целенаправленного выбора контролируемых пе-
переменных, которыми распоряжается экспериментатор, т.е. экспе-
эксперимент в данном случае становится активным. Некоторые задачи
планирования активных экспериментов рассмотрены в данном
разделе.
Как было показано в разделе 5.1, точность оценивания па-
параметров 9 зависит от информационной матрицы М, которая в
свою очередь определяется множеством точек < xw: i = 1, N \. На-
Набор этих точек иногда называют планом эксперимента. Для того
чтобы построить математическую теорию, приведенное определе-
определение плана эксперимента расширяют.
Дискретным (точным) планом эксперимента
%N=\ "¦" E.23)
[ Pi.—, Рп J
называют вероятностную меру, сосредоточенную в точках х''' с
весами pt, i = 1, п, где
п
IPi =1,
г = 1
ot =rt/N, i = 1,/г,
E.24)
число
в последовательности
Pi 2M
повторений точки
Поскольку точность оценки параметров 9 зависит от выбора
точек х('\ i = I, N, то возникает задача построения такого дис-
дискретного плана ^N, что получаемые НЛН-оценки параметров 9
были бы оптимальны в заданном смысле. Как увидим ниже, кри-
критерии оптимальности являются функциями планов ?дг. В боль-
большинстве случаев получить точное решение указанной задачи оп-
оптимального планирования не представляется возможным, так как
это связано с решением задач нелинейной дискретной оптимиза-
оптимизации. В этом случае поступают стандартным образом: задачу дис-
дискретной оптимизации погружают в задачу непрерывной оптими-
оптимизации. В нашем случае такое погружение можно осуществить,
если ослабить ограничения E.24).
Непрерывным планом называется план
Pi,
E.25)
132
где
> О,
ъ = 1, i = 1, /г.
В множестве непрерывных планов E.25) часто удается най-
найти оптимальный план ^*. Затем этот план по определенным пра-
*
вилам [17] округляют до дискретного плана t,N .
Как отмечалось в теореме 5.1, точность оценки неизвестно-
неизвестного параметра 8 определяется информационной матрицей М, ко-
которая зависит от плана <; (либо Е,^)
г=1
где of — дисперсия наблюдения в точке хЩ. В дальнейшем бу-
будем рассматривать планы Е,, для которых определитель |М(?)| Ф 0.
План
E.26)
называется Ф-оптимальным. Функционал Ф называется критери-
критерием оптимальности.
Известно довольно много различных частных случаев кри-
критерия Ф-оптимальности планов [16,17]. Ниже рассмотрим два
наиболее часто используемых из них.
План
arg max
М
называется D-оптималъным. При ?>-оптимальном планировании
экспериментов минимизируется объем области, ограниченной эл-
эллипсоидом рассеяния НЛН-оценок 9 неизвестных параметров.
План
Е, =argmintrM~ (^)
называется А-оптимальным. При А-оптимальном планировании
НЛН-оценка неизвестных параметров имеет минимальную сум-
суммарную дисперсию.
Благодаря указанным свойствам и простоте, критерии D- и
А-оптимальности являются одними из наиболее часто используе-
используемых.
Пусть контролируемые переменные х е X, где X — некото-
некоторое компактное подмножество евклидова пространства R*, назы-
называемое множеством планирования.
133
Имеет место следующий классический результат.
Теорема 5.3 (теорема Кифера-Вольфовица) [17]. Для моде-
модели наблюдений E.4) непрерывный план ?* D-оптимален тогда и
только тогда, когда
maxX(x)d(x,C) = max k(x)fT (x)M~1U*)f{x) = m, E.27)
где k(x) — величина, обратная дисперсии наблюдения в точке х.
Информационные матрицы всех ?>-оптимальных планов совпада-
совпадают между собой; для этих планов сЦх^,^*) = т.
Теорема 5.3, ввиду простоты критерия E.27), позволяет
строить .D-оптимальные планы для многих не слишком сложных
регрессионных моделей очевидным образом. Рассмотрим функ-
функцию отклика, являющуюся тригонометрической суммой поряд-
порядка k:
k
n(x,e) = 90 + I (б, cos(yx) + ®} sin(yx)), x e X = [0,2тг]. E.28)
Будем предполагать , что в области X измерения равноточны.
Опираясь на критерий E.27), можно показать, что для мо-
модели E.28) план
*¦ =
t = 2л(г -
n>2k
.D-оптимален.
Пусть теперь функция регрессии является квадратичной
формой относительно контролируемых переменных
х =(*!, ..., xk)T: r|(x,8) =6т/(х). Набор функций {fj(x)} определяет-
определяется следующим образом: f^x) =1, f1+j(x) = xj, h + k + j(x) = xjt
/i + 2k + j(x) = xpxr , p < r, r = 2, k, p = 1, r - 1, j: = 1, k. Область X
представляет собой ^-мерный единичный куб:
- 1 < X; < 1, i = 1, k; в области X измерения равноточны. Размер-
Размерность вектора неизвестных параметров 6 равна
т ={k + l)(k + 2)/2.
Из соображений симметрии естественно предположить, что
один из ?>-оптимальных планов принадлежит множеству планов,
имеющих вид: измерения с весами а производятся в каждой из
вершин ^-мерного куба, с весами Р в каждой из середин ребер
указанного куба и с весами у в каждом центре двумерных граней
куба.
134
Используя формулу E.27), для k < 5 можно найти опти-
оптимальные значения а*, Р*, у*, определяющие D-оптимальные пла-
планы. Эти значения приведены в табл. 5.1 [17].
Таблица 5.1
к
1
2
3
4
5
•
а
0,333
0,1458
0,071975
0,03705
0,01928
(Г
0,333
0,08015
0,01895
0,0038375
0,0003125
Y*
0,000
0,0962
0,0328
0,01185
0,004475
Рассмотрим теперь задачу построения непрерывных D-
оптимальных планов для полиномиальной регрессии на отрезке,
т.е. для схемы равноточных измерений E.4) с X =[-1,1] и базис-
базисными функциями fi(x) = х1 ~ *, г = 1, т.
Функции fi(x) = xl ~ 1, i = 1,т позволяют достаточно хорошо
описать на заданном отрезке любую гладкую функцию.
Основываясь на теореме 5.3, можно доказать следующую
теорему [17].
Теорема 5.4. Непрерывный D-оптимальный план для поли-
полиномиальной регрессии на отрезке [—1,1] единствен и сосредоточен
с равными весами 1/т в т точках, являющихся корнями поли-
полинома \1 - х2\ —Рт[х), где
[т/2] (9 9 \,
5=0 s\{m - s)\(m - 2s)l
есть тп-й полином Лежандра.
Для модели наблюдений E.5) с множеством планирования
X = [—1,1]т построим непрерывный ?>-оптимальный план.
Матрица плана E.1), у которой все элементы равны ±1 и
столбцы взаимно ортогональны, определяет ортогональный план
^* (?-я строка матрицы E.1) — координаты точки х№ плана ?*).
Покажем, используя теорему 5.3, что ортогональный план
Е,* — D-оптимальный план для модели наблюдений E.5). Дейст-
Действительно,
.. _\-1/
х„
хеХ
= max
хеХ
) =
и, согласно E.27), ^* — ?)-оптимальный план. Отметим, что план
?,* оказывается также и А-оптимальным.
135
Классический пример ортогонального плана ^* — это пол-
полный факторный план, сосредоточенный с равными весами 2~т во
всех 2Ш вершинах куба X. Однако при больших т полные фак-
факторные планы практически не используются, так как число точек
этих планов 2т по мере увеличения т растет экспоненциально.
Количество точек в ортогональном плане ?* можно существенно
уменьшить, если вместо полного факторного плана использовать
дробные факторные планы, описанные в разделе 5.3.
5.3. Факторные планы
Суть теории факторного планирования состоит в построении
экономичных, имеющих небольшое число точек планов для по-
построения оценок неизвестных параметров полиномиальных функ-
функций регрессии.
В данном разделе дается введение в факторное планирова-
планирование: описаны простейшие методы построения дробных факторных
планов, латинских квадратов и кубов.
Рассмотрим схему регрессионного эксперимента, в которой
результаты измерений зависят от контролируемых переменных
|х,:/ = 1, т). которые в факторном планировании принято назы-
называть факторами. Будем предполагать, что фактор Xi может при-
принимать конечное число st значений, которые называются уровня-
уровнями фактора. При этом уровни фактора могут описывать как
количественные переменные (например, число мест для ожидания
в системах массового обслуживания), так и качественные пере-
переменные (например, вариант экономической политики при моде-
моделировании сложной экономической системы).
В качестве функции регрессии в факторных моделях при
Si = 2 обычно рассматривается полином степени k < т , в котором
присутствуют только члены вида
х?х? ...х1™, I г; = k, E.29)
где rj е [ОД], / - 1, т. В общем случае такая функция регрессии
имеет вид
j li<...<ik
где некоторые из параметров {8;, 0у, ...} неизвестны, а некоторые
априори равны нулю. Параметр 0q называется общим средним,
136
|бг-:? = 1,т> — главными эффектами, {9;;-}— эффектами двух-
факторных взаимодействий, J9; ../ | — эффектами fe-факторных
взаимодействий.
Наиболее часто используются два частных случая функции
регрессии E.30): линейная
Л(*1 хт) = 90 + 9l*l + ••• + Qm^m. E-31)
и неполная квадратичная
X)(Xl, ..., Хт) = 9 + I6;X; + TQijXiXj. E.32)
i=l i<j
Факторный, план называется полным, если согласно этому
плану измерения проводятся по одному для каждой возможной
комбинации уровней факторов. Полный факторный план требует
проведения Sj х ... х sm измерений. Если st=s, i = l,m, то полный
факторный план обозначается как sm. Факторный план называет-
называется дробным, если он предназначен для проведения измерений,
число которых меньше, чем Sj x ... х sm.
Большое распространение на практике получили двухуров-
двухуровневые планы, т.е. планы, в которых факторы принимают значе-
значения только на двух уровнях (например, прибор обслуживания за-
занят либо свободен).
При рассмотрении двухуровневых планов уровни факторов
кодируются числами 1 и -1 в соответствии с формулой E.44) и
условно называются соответственно верхним и нижним уровнем.
Если используется двухуровневый план, то включать в E.30) сла-
слагаемые вида E.29) с каким-либо г-; > 2 бессмысленно, так как
хУ = 1 , если Г] четно, и х;г' = xt , если г; нечетно.
Рассмотрим способы построения дробных двухуровневых
планов. В разделе 5.2 уже отмечалось, что полный факторный
план 2т является непрерывным D- и А- оптимальным планом для
линейной модели E.5). Однако эти оптимальные планы при
больших значениях т практически не используются из-за чрез-
чрезмерно большого числа 2т точек, входящих в эти планы. Оказыва-
Оказывается, что для модели E.31) можно строить более экономичные (по
числу точек) планы ?*, если использовать описанные ниже дроб-
дробные факторные планы 2т ~ Р, где натуральное число р такое, что
2т ' Р > т + 1.
Для того чтобы более просто и понятно проиллюстрировать
процесс построения дробных факторных планов 2т ~р, сначала
137
рассмотрим линейную функцию регрессии, зависящую от трех
факторов:
i \
ц\х1,х2,х3) = 60 + 61Х] + 92х2 + 93х3. E.33)
Для трех факторов функция регрессии E.30) имеет вид
= 00
E.34)
Для .D-оптимального оценивания параметров функции рег-
регрессии E.33) можно построить план, сосредоточенный не в вось-
восьми, а в четырех точках. Для построения такого плана факторы хг
и х2 следует варьировать, как в плане 22, а уровни фактора х3 —
выбирать из условия х3 =
дующей матрицей
1
1
1
ч1
1
-1
1
-1
1
1
-1
-1
г
-1
-1
1,
- Получим план, определяемый сле-
слеE.35)
Первый столбец матрицы E.35) содержит значения фиктивной
переменной х0 = I, фигурирующей при коэффициенте 0О. Столбцы
матрицы E.35) взаимно ортогональны.
Рассмотрим теперь функцию регрессии E.34). Поскольку
число точек в плане, определяемом матрицей E.35), равно четы-
четырем, а число параметров функции регрессии E.34) — восьми, то
все эти параметры несмещенно оценить нельзя.
Для модели E.34) матрица плана, построенная по тому же
алгоритму, что и E.35), равна
1
Тр
1
1
1
U
1 1
-1 1
1 -1
-1 -1
-1
1
-1
-1
1
1
1
-1
1
-1
1 1
1 l)
шестой —
E.36)
где пятый столбец описывает изменение i, jX3,
седьмой — х2х3, восьмой — ххх2х3. В матрице плана E.36) нет
различия между х0 и xxx2x3; хг и х2х3; х2 и ххх3; х3 и хгх2, т.е.
хо=х1х2х3, хх=х2х3, х2=хгх3, х&=х1х2. E.37)
138
Поэтому можно найти лишь оценки четырех смешанных коэффи-
коэффициентов:
00+9123- 01+623- 92+е13. 03+012- <5-38)
Таким образом, общее среднее и главные эффекты смешиваются
соответственно с эффектами трехфакторных и двухфакторных
взаимодействий. Если постулируется линейная модель E.33), то
эффекты взаимодействий считаются незначимыми, а набор сме-
смешанных коэффициентов E.38) превращается в набор параметров
модели E.33).
План E.36) называется полурепликой или планом 23 ~ 1. Он
получается из полного факторного плана 23 путем учета ограни-
ограничения:
1 = х1х2х3. E.39)
Действительно, из E.39) следуют соотношения E.37), если учесть,
что х0 = 1,х? = 1, i = 1,3. Соотношение E.39) называется опреде-
определяющим для полуреплики E.36).
Полуреплика E.36) — не единственно возможная. Другую
полуреплику 23 ~ J можно получить, если уровни фактора х3 уста-
устанавливать исходя из равенства: х3 = ~х\хг-
При большом числе факторов т для оценивания параметров
линейной регрессии E.31) можно строить дробные реплики высо-
высокой степени дробности. Так, для т =6 можно построить дробную
реплику 26 ~ 3 из полного факторного плана 23 для первых трех
факторов, приравняв три оставшихся фактора к произведениям
первых трех, например,
х4=х1х2х3, х5=х1х2, хб=х1х3> E.40)
В общем случае дробная реплика 2m ~ Р строится из полного
факторного эксперимента для первых т - р факторов путем при-
приравнивания остальных р факторов к произведениям первых т - р
факторов.
Для анализа системы смешивания коэффициентов исполь-
используют понятия генерирующих и определяющих соотношений.
Генерирующими называются соотношения, с помощью кото-
которых построена дробная реплика. Так, для реплики 23 ~ 1, пред-
представленной E.36), генерирующее соотношение: x3 = .YjX2, для реп-
реплики 26 ~ 3 соотношения E.40) — генерирующие.
Определяющим соотношением н г: чается равенство, в ле-
левой части которого стоит единица, а и ;, - . .кое-липо про-
произведение факторов. Для дробной реплики 2"' ~р можно получить р
различных определяющих соотношений из генерирующих соот-
соотношений путем умножения обеих частей этих генерирующих со-
(у
отношений на их левые части и заменой xt на 1. Другие опреде-
139
ляющие соотношения получаются путем умножения ранее полу-
полученных и выделения среди них новых. Например, для реплики
E.36) соотношение E.39) — определяющее.
Получим определяющие соотношения для реплики 26~3, за-
задаваемой генерирующими соотношениями E.40). Умножая обе
части равенств в E.40) на их левые части, получим
1 =х1х2х3х4, 1 =х1х2х5, 1 =х1х3х6. E.41)
Попарное перемножение соотношений в E.41) дает новые
определяющие соотношения:
1 = х3х4х5, 1 = х2х4х6, 1 = х2х3х5х6. E.42)
Перемножение всех соотношений в E.41) дает
1 =Х!Х4х5х6. E.43)
Кроме E.41)-E.43), других определяющих соотношений для рас-
рассматриваемой реплики 26 ~ 3 нет.
Определяющие соотношения позволяют найти всю систему
совместных оценок. Для того чтобы определить, с какими взаи-
взаимодействиями смешано рассматриваемое взаимодействие, нужно
на него умножить обе части всех определяющих соотношений.
Например, для того чтобы определить, с какими взаимодей-
взаимодействиями смешан эффект 9j в дробной реплике 26 ~ а, определяе-
определяемой соотношениями E.40), умножим все определяющие соотно-
соотношения E.41)-E.43) на хг. Получим
Х1 = Х2Х3Х4 = Х2Х5 = Х3Хб = Х4Х5 = XxX2X4X6 = XiX2X3X5X6 = Х4Х5Хб.
Эти равенства означают, что МНК-оценка параметра 9j ли-
линейной функции регрессии E.31) является МНК-оценкой суммы
параметров 0! + 9234 + 025 + 936 +045 + 01246 +0i2356 + 0456. если
истинная модель имеет вид E.32) с т =6. Выбирать дробную реп-
реплику полного факторного плана необходимо так, чтобы общее
среднее 90 и главные эффекты 91; ..., 9т были смешаны с эффек-
эффектами взаимодействий самого высокого порядка, которые обычно
отсутствуют, или с эффектами взаимодействий, о которых априо-
априори известно, что они оказывают несущественное влияние на ре-
результаты наблюдений.
Для построения планов экспериментов, в которых факторы
могут принимать значения более чем на двух уровнях, можно ис-
использовать так называемые латинские квадраты и кубы.
Латинским квадратом порядка п называется расположение
символов в виде квадратной матрицы п х п, в которой каждый
символ один раз появляется в каждой строке и один раз — в ка-
каждом столбце. Например,
140
a b c d e
с d e a b
Ъ с d e a
d e a b с
е а Ъ с d
Новые латинские квадраты можно получить из заданного, пере-
переставляя между собой строки, столбцы и символы.
Каждому латинскому квадрату порядка п соответствует ла-
латинский план трехфакторного эксперимента, в котором все три
фактора имеют п уровней, а общее число измерений равно п2.
Такое соответствие можно получить, если номер строки отождест-
отождествить с уровнем первого фактора, номер столбца — с уровнем вто-
второго фактора, а символ — с уровнем третьего фактора.
При таком соответствии латинскому квадрату
1 -1
-1 1
соответствует полуреплика
-1 -1 1
-1 1 -1
1 -1 -1
1 1 1
полного факторного плана 23.
Аналогично определяются и используются латинские кубы.
5.4. Планирование экстремального эксперимента
Экстремальным экспериментом называют эксперимент,
направленный на отыскание экстремума функции регрессии. Не-
Необходимость в организации экстремального эксперимента может
возникнуть, например, при поиске технологических режимов,
при которых среднее количество продукта, произведенного за
смену, является максимальным.
Поскольку измерения функции отклика в каждой точке
факторного пространства, где ставится опыт, происходит с ошиб-
ошибкой, то не представляется возможным воспользоваться классиче-
классическими методами поиска экстремума функции регрессии, как
функции многих переменных. Однако модификация этих методов
составляет основу методов поиска экстремума функции отклика.
141
При планировании экстремального эксперимента наиболь-
наибольшее распространение получили алгоритмы поиска, использующие
градиентные методы. Кратко рассмотрим метод Бокса и Уильсона
[19], один из наиболее известных методов в классе градиентных
методов поиска экстремума функции отклика. Идея этого метода
состоит в использовании метода крутого восхождения в сочетании
с последовательно планируемым факторным экспериментом для
нахождения статистической оценки градиента.
Всюду в дальнейшем будем считать, что функция отклика
X] = f(xi, ..., хт) непрерывна и имеет непрерывные частные произ-
производные первого порядка на компактном множестве X с Rm. Pac-
- Т
смотрим произвольную точку х@* = (xj\ ..., х^ I eX. Используя
точку х<°> как "центр плана", построим полный или дробный
факторный план. Обозначим через х'6°^ значение, принимаемое
переменной х,- на s-м уровне, s = 1, 2. Верхний х'!> и нижний Хц
уровни выберем симметричными относительно центра плана так,
чтобы выполнилось условие х\^ = lxj*p + x$)/2. Введем в рас-
смотрение кодированные переменные
@)Wo@)
У. —
Л'1
где s
@)
- I г@) г@)
-|Х;2 - Хп
-xf')fsf, j = l,m, E.44)
— длина интервала варьирования. Из
E.44) следует, что гг = -1 при х{ - xj^ и zt = 1 при xt = х$. Вы-
Выразим функцию отклика n - f{xx, ..., xm) через кодированные пе-
переменные E.44):
ц =f1(z1, ..., zm). E.45)
Переход к кодированным переменным E.44) означает перенос на-
начала координат в точку х<°) и сжатие (растяжение) по координат-
координатным осям.
Предположим, что в окрестности точки z<°) = 0 функция
E.45) допускает разложение по формуле Тейлора вида:
г=(г1г...,гт) ,
i = 1 у = 1
E.46)
142
где в{°> =/1@), е<°> =
/dZf, eg4 = д2^(о)/'dztdz,. Легко заме-
заметить, что grad fx(Q) =|8j0), ..., 0(„°М . Поэтому задача оценивания
градиента сводится к нахождению МНК-оценок параметров
0<О), .... 0^. Пусть grad/x(O) = (ё^0), ..., 9^) - оценка градиен-
градиента функции f\ в точке z(°>= 0, полученная с помощью полного
факторного эксперимента 2т или дробной реплики. Для поиска
максимума функции отклика в направлении оценки градиента
сделаем некоторый шаг:
2@Д) = 2@) + ai grad/l@) = a\ grad/i(O),
где а0 > 0 — параметр шага. Точке г'0'1' в системе координат ко-
кодированных переменных соответствует точка х'0'1' = х^Ч-г*0'1*^'0)
натуральных переменных, где
системе
s = Is '
координат
Выполним в точке г*0-1' п наблюдений
„@,1)
отклика
уп ' и по этим наблюдениям найдем оценку функции
Л(°Д) = I у1°Л)/п.
E.47)
Предположим, что оценка E.47) значимо больше оценки
"@,0) Q@) п
л = Ьо . Сделаем еще шаг в направлении оценки градиента
л
grad/j(O). На Z-м шаге оценка функции отклика
;@,0 _
,@,1)
In,
,@,0
где {у}~'"> ~ наблюдения в точке z@'l) = al0 grad/j(O),
а0 > а0 >...> а0. Пусть 2<0>') — первая точка, для которой име-
имеет место неравенство ^(O.t-i) > f|^ ' ', причем
Тогда величину гр ' ~ ' можно принять за оценку максиму-
максимума функции отклика f\(zi, ..., zm) при движении в направлении
143
grad/j(O). Точку z(°>'~ *) обозначим через z^. В окрестности точ-
точки х*1) = z*1) ® s(°) построим факторный план с центром в точке
хA). Верхний х*?2 и нижний х\х' уровни выберем так, чтобы вы-
вы\ ' = 1ху
'
переменные
полнялось равенство х\ ' = 1хгу + х,'2 1/2, i = 1, т.
Вводя снова кодированные
zt = (xt - xVA/sV , i = \~m, где s^ = (x$ - хЦА/2 , запишем ис-
исходную функцию отклика в виде r\ =/2(zi> •••> zm)- Для удобства
записи обозначения новых кодированных переменных сохранены
прежними. В начале координат новых кодированных переменных
л
оцениваем градиент поверхности отклика: grad/2@). Двигаясь по
этому направлению, переходим в точку z<2> и т.д. В итоге, по по-
построению получаем, что f(x^) < f(x^) < f{x^) < ..., и если после-
последовательность \х' Н конечна, то ее последний элемент является
точкой максимума. Известно, что для строго унимодальных и не-
непрерывно дифференцируемых функций f(xx, ..., хт) метод наиско-
наискорейшего подъема, описанный выше, сходится к максимуму.
5.5. Организация и планирование имитационных
экспериментов
Обычно, целью имитационного моделирования является
оценка некоторых усредненных характеристик модели. В процессе
имитации фиксируют результаты наблюдений за интересующими
исследователя переменными. Наблюдаемые значения будем рас-
рассматривать как случайные величины, поскольку реальные СС,
как правило, подвержены влиянию случайных факторов.
Пусть в имитационном эксперименте исследователя интере-
интересует поведение некоторой величины Y. Как правило, У — случай-
случайная величина и в ходе имитационного эксперимента она может
принимать различные значения. В этом случае, перед экспери-
экспериментатором возникает задача оценивания среднего значения
(математического ожидания) \ху = E{Y} величины У. Для получе-
получения оценки цу проводят серию из iV наблюдений за случайной ве-
величиной У. Пусть в ходе этих наблюдений (измерений) случайная
величина У приняла значения Yj, i = 1, 2, ..., N. Примером Yt мо-
может служить время нахождения i-го посетителя в очереди, запас
144
некоторого товара на складе в момент поступления i-й заявки в
систему и т.д.
Статистической оценкой математического ожидания цу по
результатам N наблюдений, как известно [20], является выбороч-
выборочное среднее
_ N
У =
а мерой точности этой оценки служит DJYJ . Исходя из опреде-
определения дисперсии, можно получить следующую формулу:
N
N
СоуУ;,У;
E.48)
Если У; и Yj некоррелированы для i Ф у, a DjY;j = а2 для
всех г, то из E.48) вытекает, что
D{y} = a2/V. E.49)
Из E.49) получаем следующий важный вывод, что при выполне-
выполнении условий независимости, указанных выше, величина d{y} в
N раз меньше, чем а2. Отсюда следует, что для получения более
достоверных сведений об оцениваемой величине желательно по-
получить большее число N наблюдений за величиной У, при этом
надо стремиться так спланировать имитационный эксперимент,
чтобы величины Yh Yj были бы независимыми для i Ф у . Однако,
как правило, величины Y; и Yj коррелированы. В этом случае,
исходя из формулы E.48), стремятся так организовать или спла-
спланировать имитационный эксперимент, чтобы сумма ковариаций,
фигурирующая в формуле E.48), была бы отрицательной, что
приводит к уменьшению дисперсии выборочного среднего, т.е.
увеличивает меру точности оценки усредненной характеристики
Е{У} по результатам имитационных экспериментов.
Таковы, в общих чертах, идеи методов понижения диспер-
дисперсии, краткое изложение которых приводится ниже.
5.5.1. Дополняющая выборка
Уравнение E.48) содержит величины Co\{Yi,Yj), i Ф у". Если
сумму ковариаций в формуле E.48) удастся сделать отрицатель-
отрицательной, то D{y} уменьшится. Так как Yt является функцией псевдо-
псевдослучайных чисел аь а2, ..., щ (имитирующих БСВ), то
145
вполне возможно, что при Yt = f(a.\, a.2, • ¦•, «/,) и
Yj' = /A - ai,l - а2, ..., 1 - а^) можно получить отрицательное
значение Cov{Yj, У/ }. Этот подход основан на том, что для произ-
произвольной случайной величины а ковариация Cov{a,l — a} =
= -D{a} < 0. Договоримся впредь обозначать множество псевдо-
псевдослучайных величин {а1( ссг, -.., о-м) основной, а множество {1 - а1;
1 — а2, •••, 1 ~ ос^} — дополняющей выборкой. Очевидно, что в об-
общем случае (т.е. для произвольной функции /) нельзя гарантиро-
гарантировать того, что Cov{Yj, У/ } будет отрицательной. Однако на прак-
практике в экспериментах с дополняющей выборкой обычно
наблюдается понижение дисперсии. Генерация дополняющего по-
потока псевдослучайных чисел 1 - а1; 1 - а2, ••-, 1 - v-k легко осу-
осуществляется при использовании мультипликативного конгруэнт-
конгруэнтного датчика псевдослучайных чисел, задаваемого формулой
C.15). Так, если в качестве стартового значения датчика исполь-
используется |ос0 =М-а0, то 1ссо1 = М - ctj и, следовательно,
*'i = (aiJ Iм = 1 - ai ¦
Рассмотрим часто используемый в имитационном моделиро-
моделировании прием, позволяющий уменьшить дисперсию выборочного
среднего. Для этого проводят серию парных наблюдений. В каж-
каждой паре наблюдений используют как основной поток псевдослу-
псевдослучайных чисел, так и дополняющий поток. Например, пусть в по-
последовательности прибытий заявок в систему s-й интервал
времени между прибытиями вычисляется по числу as в первом
члене пары и по числу 1 — as во втором члене пары наблюдений.
При таком способе вычислений значение дисперсии выборочного
среднего для 2N наблюдений уменьшается в связи с объединением
значений парных наблюдений. Если У/ является дополняющим
значением У;, то
d{y} = d{ i (у, + у/)/2аД = dj?ut/jvJ, ut = (y, + у/)/г.
В объединении подобного рода величина ковариаций не увеличи-
увеличивается.
Другим способом, не противоречащим идее дополняющей
выборки, является переключение в парных прогонах имитацион-
имитационной модели потоков псевдослучайных чисел, применяемых для
моделирования интервалов времени между прибытиями и про-
продолжительность ю обслуживания заявок в системе. Дополняющий
146
характер этого метода объясняется тем, что длительные интерва-
интервалы между прибытиями снижают потенциальную загрузку, в то
время как длительное обслуживание ее увеличивает.
В заключение отметим два важных момента. Во-первых, хо-
хотя коэффициент корреляции между дополняющими случайными
величинами а и 1 - а равен -1, коэффициент корреляции между
наблюдениями, основанными на этих величинах, обычно, не ра-
равен -1. В [25] отмечается, что коэффициент корреляции между
дополняющими выборками из экспоненциального распределения
равен -0,645. Подобное уменьшение абсолютной величины отри-
отрицательного коэффициента корреляции можно наблюдать и для
других распределений.
Во-вторых, если в модели имеют место отношения между
случайными величинами второго (или более высокого четного)
порядка, введение отрицательной корреляции может не только
уменьшить, но, наоборот, увеличить дисперсию выборочного
среднего.
5.5.2. Общие потоки псевдослучайных чисел
Обычной практикой в имитационном моделировании явля-
является использование ранее полученных данных в качестве источ-
источника исходных данных при проведении последующих прогонов
ИМ. Имитационное моделирование с использованием ранее полу-
полученных исходных данных часто называют моделированием,
управляемым по предыстории. При запуске различных имитаци-
имитационных прогонов с одного и того же стартового значения, т.е. ис-
используя один и тот же поток псевдослучайных чисел, можно
также добиться понижения дисперсии DJy} . Применение общих
потоков псевдослучайных чисел часто используется при сравне-
сравнении различных альтернатив. Под различными альтернативами
можно, например, подразумевать запуски ИМ при различных на-
наборах параметров ИМ. В этом случае исследователя обычно инте-
интересует дисперсия разности между выборочными средними:
{J jJ JJ fj
D{yA) _ у
B)J = Djy(D
DJy
B)
,У
B)
*1'
где У*1' — выборочное среднее для альтернативы i =1, 2. При
использовании общих потоков псевдослучайных чисел
должна быть положительной, что приведет к по-
поCov У( \У(
нижению дисперсии.
Необходимо проявлять особую осторожность в тех случаях,
когда общие потоки псевдослучайных чисел используются одно-
одновременно с методом дополняющей выборки, поскольку в ряде по-
подобных ситуаций наблюдалось, как отмечено в [25], увеличение
дисперсии.
147
5.5.3. Использование априорной информации
Применение указанного подхода для уменьшения дисперсии
выборочного среднего проиллюстрируем на следующем примере.
Хорошо известно [25], что для широкого класса моделей
тассового обслуживания выполняется формула Литтла: L = XW,
где W — ожидаемое время нахождения заявки в системе, X — ин-
интенсивность поступления заявок в систему, L — ожидаемое число
заявок в системе.
Пусть, например, в течение прогона среднее число заявок в
очереди N будет равно произведению наблюдаемой интенсивно-
интенсивности поступления заявок X на среднее время ожидания в очереди
всех заявок Т , т.е. N = XT. Исходя из этой информации и пред-
предполагая, что значение X известно заранее, имеем I>|iV | = X DJTJ.
Средством понижения дисперсии в данном случае является ис-
использование теоретической интенсивности поступления заявок X
при оценивании DJ./VJ.
Использование априорной информации с целью понижения
дисперсии весьма привлекательно, поскольку позволяет совместно
применять аналитические и экспериментальные процедуры.
5.5.4. Использование вспомогательной случайной величины
Сущность метода вспомогательной случайной величины о
стоит в выявлении случайной величины X, имеющей положи-
положительную ковариацию с исследуемой случайной величиной У. Если
такая вспомогательная случайная величина существует и мы VMe-
ем вычислять ее (теоретическое) математическое ожидание, то
можно добиться понижения дисперсии выборочного среднего У .
Для того чтобы проиллюстрировать это утверждение, введем но-
новую случайную величину Z , объединяющую выборочные средние
величины У и X : Z = У + Е{х} - X . Если оценка X для Е{Х}
является несмещенной, то ясно, что EJZ) = Е{У} . Для дисперсии
DJZJ выполняется соотношение: d{z} = DJXJ + Djyj-
-2Cov(y,XJ. Из этого уравнения следует, что DjZj < DJYJ ,
<2Cov{y(X(.
если
148
Отметим, что обычно в качестве вспомогательной случайной
величины X рассматривают входную переменную системы, при
этом предполагают, что выходная переменная Y положительно
коррелированна с входной переменной X.
5.5.5. Другие методы понижения дисперсии
В данном пункте приводится краткое описание процедур
стратифицированной выборки и значимой выборки [18].
Процедура стратифицированной выборки.
Процедура стратифицированной выборки включает в себя
выделение величины х, с помощью которой могут быть заданы
классы стратификации Gk. Под стратификацией будем понимать
процесс разбиения данных Yh i = 1, 2, ..., N, на непересекающие-
непересекающиеся подмножества (страты) Gk, к =1, 2, ..., т, где т —- некоторое
заданное натуральное число. Случайные наблюдения Yt стратифи-
стратифицируются путем проверки принадлежности xh соответствующих i-
му наблюдению, страте Gk. Если xt e Gk, то Yt попадает в k-ю
страту. При этом предполагается, что вероятность pk =P{x e Gil
известна. Выборочное среднее на основе стратификации вычисля-
вычисляется следующим образом:
где Yk — выборочное среднее для k-й страты. Можно показать
[18], что Yst является несмещенной оценкой ц,, и
т.е. достигается понижение дисперсии с помощью стратификации.
При этом, чем больше абсолютная разность между средними страт
\xk и \iy , тем большее понижение дисперсии.
Процедура значимой выборки.
Процедура значимой выборки состоит в переопределении
исследуемой переменной ? с помощью новой функции плотности
вероятностей, задающей большие веса тем значениям ?, которые
дают наибольший вклад в ожидаемое значение. Поясним сказан-
сказанное на следующем примере. Предположим, необходимо оценить
Щё(?)}> гДе ? — случайная величина с плотностью распределения
вероятностей р{х). Имеем
00
= \g(x)p(x)dx.
— со
Используя новую плотность распределения вероятностей h(x), по-
получим
149
Е
- J
В значимой выборке этот результат используется следующим об-
образом: в соответствии с плотностью h(x) отбираются значения xt и
на основе этих значений строится оценка для
Отметим, что процедура значимой выборки была использо-
использована в главе 4 при вычислении определенного интеграла методом
Монте-Карло.
5.5.6. Задание начальных условий и правила остановки
имитационных-экспериментов
Стратегии запуска. Задание начальных условий запуска
имитационной модели обуславливает тот факт, что результаты
продолжительного прогона могут значительно отличаться от ре-
результатов, полученных вскоре после его начала. Особенно важно
учитывать это обстоятельство в случае, когда оценивается только
стационарный режим функционирования СС, поскольку данные,
полученные в начале, могут значительно исказить оценки ста-
стационарных характеристик.
Стратегии запуска имитационного эксперимента использу-
используются при задании начальных условий имитационной модели в
процедуре определения точки отсечения d, в которой начинается
сбор выборочных данных для вычисления оценок. В общем случае
при задании начальных условий необходимо стремиться к такому
запуску имитационного эксперимента, при котором требуется от-
отсечение минимального объема данных, т.е. используется малое
значение d. При задании точки отсечения нужно руководство-
руководствоваться двумя соображениями. С одной стороны, стирание значе-
значений, полученных в начале прогона, уменьшает смещение резуль-
результирующих оценок. С другой стороны, стирание этих значений
может увеличить оценку DJY| , поскольку она будет вычисляться
по меньшему количеству наблюдений.
Из сказанного следует, что при определении стратегии за-
запуска имитационного эксперимента необходим компромисс между
уменьшением смещения и понижением дисперсии. В [25] приво-
приводится обсуждение некоторых процедур запуска имитационных
моделей.
150
Правила остановки. Определение продолжительности ими-
имитационного эксперимента, выраженное числом наблюдений, явля-
является довольно сложной задачей. Рассмотрим простейший подход к
указанной проблеме.
Если можно допустить, что У не смещено, a DjYj = Vy/N ,
то число наблюдений N, необходимое для получения доверитель-
доверительного интервала, покрывающего математическое ожидание \ху, мо-
может быть вычислено по стандартной статистической формуле
-g<Vy <Y +
где 2g — заданная длина доверительного интервала. Если поло-
положить Z = л/ЛмУ - \iy\ ау , то получим
Л > 1 - е. E.50)
Используя центральную предельную теорему, из E.50}) получаем:
N* = \oy<&-l{l-zl2)lg^, E.51)
где Ф(х) — функция распределения стандартного нормального за-
закона. Формула E.51) требует задания ау. Обычно задается g, вы-
выраженное через ау, т.е. g = VGy. В этом случае ./V* можно вычис-
вычислять без задания оу. Значения N* для различных комбинаций v и
е содержатся в табл. 5.2.
Из этой таблицы видно, что для получения доверительного
интервала 1У - ОДи^.У + 0,1оу|, в который с вероятностью 0,95
попадает математическое ожидание цу, необходимо иметь не ме-
менее 384 наблюдений.
Таблица 5.2
V
0,01
0,10
0,20
0,50
Е
0,02
545093
541
135
22
0,05
38416
384
96
15
0,10
27060
271
68
11
Аналогичные рассуждения можно провести и для определе-
определения заданного доверительного интервала для дисперсии или для
значения вероятности.
151
Упражнения к главе 5
1. В эксперименте контролируемая переменная х определяет
выходную переменную у. Проведены шесть равноточных экспе-
экспериментов, в результате которых получены следующие пары (х, у):
(-1, -1,49), (-0,6, 1,48), (-0,2, 0,54), @,2, 0,17), @,6, 1,71),
A, 3,86). Аппроксимируйте полученные данные линейной регрес-
регрессионной зависимостью и оцените дисперсию ст2.
2. В условиях примера 1, используя предположение о гаус-
совости случайных ошибок наблюдений, проверьте гипотезу
Но: 9j = 0 при заданном уровне значимости е =0,05, о2 = 1 (а2
неизвестно).
3. При каждом из значений контролируемой переменной
хг =-1, х2 =0, х3 = 1 проведено по три равноточных эксперимен-
эксперимента. Значения выходной переменной следующие: г/п=-0,54,
у12 = -0,86, г/13 = 1,45, г/21 = 0,68, г/22 = 0,93, у23 = 1,30, г/31 = 2,71,
г/зг =4,30, г/зз = 3,24. При уровне значимости s =0,05 проверьте
гипотезу адекватности полученных данных модели E.21) с базис-
базисной функцией fo(x) = A, х).
4. Для регрессии n(x) = Qi + 92sinx + 93cosx на отрезке [0,
2л) постройте D-оптимальный план для проведения N = 5 измере-
измерений. Проверьте, является ли построенный план непрерывным А-
оптимальным.
5. Постройте D- и А-оптимальные планы для функции рег-
регрессии г|(*) = 01 + 92sinx на отрезке [0, 2л).
6. Постройте .D-оптимальные планы для полиномиальной
регрессии третьей степени на отрезке [-1, 0].
7. Исследуйте, какую из плотностей распределений
Нг(х) = е~х /2/Bл) , h2(x) =e~x, h3(x) = 1/5 следует использовать
в процедуре значимой выборки для получения более точной оцен-
оценки интеграла Jexpf- х2/2 - х\sinxdx , вычисляемого по методу
Монте-Карло.
8. Вычислите по методу Монте-Карло интеграл из примера
7, используя два подхода: общие потоки псевдослучайных чисел и
метод дополняющей выборки. По результатам оценки дисперсии
выборочного среднего для N = 100, оцените, какой из предлагае-
предлагаемых подходов является более предпочтительным.
152
9. Пусть функция отклика л(*) =Л*ь х2) — функция коди-
кодированных переменных хь х2. В четырех точках: *<*) =(-1, -1),
*<2>=A, -1), хC) =(-1, 1), xd) =(i, 1) получены, соответственно,'
следующие результаты: У1 =124, у2 =116, у3 =102, у4 =98. Ис-
Используя результаты наблюдений и аппроксимацию функции от-
отклика вида л =е0 + 0!*! + е2х2 + 612xi*2 в области xt e [-1, 1],
1 = 1, 2, найдите оценку градиента функции отклика в центре
плана, т.е. в точке @,0).
153
ГЛАВА 6
СТАТИСТИЧЕСКИЙ АНАЛИЗ РЕЗУЛЬТАТОВ
МОДЕЛИРОВАНИЯ
Наряду с планированием и проведением экспериментов
важным этапом в исследовании сложных систем с учетом случай-
случайных факторов при помощи имитационного и статистического
моделирования на ЭВМ является этап статистического анализа
результатов экспериментов, которые согласно разделу 1.1 пред-
ставимы в следующем виде: входные воздействия ua(rt eR ,
t е Т, воздействия внешней среды va(t) eR , t e T, фазовая
траектория xa(t) e R , t е 1', выходная траектория ya(t) eR ,
t e T', показатели эффективности wa(t) eR , t e T моделируе-
моделируемой сложной системы, где а е {1, 2, ..., п) — номер "прогона"
имитационной модели, а п — число "прогонов" или число имита-
имитационных экспериментов. Имитационная модель описывает дина-
динамическое поведение исследуемой стохастической системы во вре-
времени и позволяет получить результаты, подобные тем, которые
регистрируются в ходе натурных экспериментов с реальной сис-
системой.
Поэтому для статистического анализа результатов имитаци-
имитационных и натурных экспериментов применимы одни и те же
методы. Основное отличие состоит в том, что имитационное моде-
моделирование предоставляет значительно большие возможности в
организации планирования и проведения активных эксперимен-
экспериментов, что позволяет получать именно те данные о системе и именно
в том объеме, которые необходимы для решения задач исследова-
исследования. В главе 6 описываются типовые задачи статистического ана-
анализа результатов моделирования и методы их решения.
В общем случае вероятностной моделью результатов моде-
моделирования является система векторных случайных процессов (или
временных рядов, если временная область Т дискретна)
{ua(t), va(t), xa(t), ya(t), wa(t), t e T : a = 1, n) . Часто этап обра-
обработки результатов моделирования включает предварительные
функциональные преобразования этих многомерных данных, на-
например
При этом {w1, w2, ..., wn} образует некоторую случайную выборку.
Таким образом, возникают задачи статистического анализа
154
данных различных типов: в разделах 6.1, 6.2 рассматриваются
задачи статистического анализа одномерных выборок, в разделах
6.3, 6.4 — многомерных выборок, а в разделе 6.5 — временных
рядов.
6.1. Вероятностно-статистическое описание
результатов моделирования
6.1.1. Оценивание вероятностных распределений
и их числовых характеристик
Пусть ^ е R1 есть случайная величина с функцией распре-
распределения F(x) = Р {? < х), являющаяся математической моделью
единичного наблюдения одной из компонент или одного из пока-
показателей, используемых в ходе имитационного моделирования.
Наибольшее распространение на практике имеют два клас-
класса функций распределения F(-): 1) абсолютно-непрерывные v
2) дискретные (класс сингулярных распределений, а также сме-
смесей дискретных и непрерывных распределений здесь не рассмат-
рассматривается). В первом случае существует плотность распределения
вероятностей СВ ?,:
dF(x) ,
dx
F.1)
Во втором случае СВ \ принимает значения из дискретного
множества А = {аа, а2, ¦¦¦, ak), ах < а2 < ... < ak, k < ж и имеет
дискретное распределение вероятностей
k
pj=V{% = aj) (j = l,k), Zpj=l- F.2)
/=l
Вероятностная модель наблюдения \, как известно, полностью
описывается функциональными характеристиками: функцией
распределения F(), плотностью распределения F.1) или дискрет-
дискретным распределением вероятностей F.2).
В тех случаях, когда получить полное вероятностное описа-
описание не представляется возможным или нецелесообразно, на прак-
практике используются числовые характеристики. Любая числовая
характеристика X е R является некоторым функционалом от F(-):
X = X (F()). Множество числовых характеристик состоит из двух
следующих подмножеств.
I. Числовые характеристики положения (сдвига):
— математическое ожидание (среднее) ц = Е {%};
155
— медиана М: F(M) = 1/2;
— мода т = arg max f(x);
X
— наибольшее а+ и наименьшее а_ значения,
Р{а- <^< а+) = 1, Р{а„ + е < ? < а+ - е} < 1, е > 0.
И. Числовые характеристики рассеяния (масштаба):
— дисперсия D = D{^} = Е{(^ - цJ};
— среднеквадратическое (стандартное) отклонение
о = Л/Щ > 0 ;
— коэффициент вариации (если \х Ф 0) к = а/|а| > 0;
— размах а = а+ - а_;
— интерквартильный размах у = у+ — у_, -F(y-) = 1/4, F(y+) =
= 3/4;
— коэффициент асимметрии Pi = E{(J; - цK}/а3;
— коэффициент эксцесса (островерп1инности)
р2 = Е{(^ - цL}/а4 - 3.
Например, если ^ имеет гауссовский закон распределения
вероятностей L{Q = 9\[_i(a, В), то \х = М = т = а, а.. = -ос, а+ =
= +00, D = В, а = 4в , к = ЛГв/\а\, а = +сс, у± = а ± F~lC'4dJB,
р^ = Р2 = 0 , где Ф^1^) — квантиль уровня р стандартного нор-
нормального закона.
В процессе моделирования функциональные и числовые хр
рактеристики вероятностного распределения: часто неизвестны л
возникает задача их статистического оценивания по случайной
выборке Z = B1? 22, ..., zn) e R'1 объема п из распределения F(-),
полученной в результате п "независимых прогонов" имитацион-
имитационной модели. Вначале рассмотрим задачу оценивания F(), /(•), {р-}
по Z. Выборочная (эмпирическая) функция распределения
F.3)
как известно, является строго состоятельной, несмещенной оцен-
оценкой с наименьшей вариацией
Е{ф(х) ~ F(x)J} = F(x)(l - F(x))/n, х е R .
В случае дискретной вероятностной модели F.2) относи-
относительная частота
1 "
Pj =~^Ъгиа} U = l,k)
156
является несмещенной, строго состоятельной, эффективной и
асимптотически нормально распределенной оценкой элементарной
вероятности р;; при этом вариация E{(jd, - PjJ} = Pj(l~ Pj)/n .
В случае абсолютно-непрерывной вероятностной модели
F.1) для оценивания плотности /(") обычно применяется гисто-
гистограмма.
Для ее построения разобьем промежуток [а_, а+) концентра-
концентрации плотности /(") на L ячеек точками деления Ь$ < Ь^ < ... < bjj.
L
-l> bt) •
Обозначим
= 1,1)
F.4)
число выборочных значений из Z, попавших в 1-ю ячейку гисто-
гистограммы. Гистограммой является статистика
Эта оценка является смещенной и несостоятельной в общем слу-
случае, поэтому обычно используется лишь для визуализации ре-
результатов моделирования Z. В качестве состоятельной оценки
плотности /(") целесообразно использовать непараметрические
оценки, в частности оценки Розенблатта-Парзена и оценки типа k
ближайших соседей [22, 23].
Для оценивания числовых характеристик I, II по выборке Z
широко используется подстановочный принцип:
где F (•) — выборочная функция распределения F.3).
Статистические оценки числовых характеристик положе-
положения имеют вид:
» = х=-1,г1; M:F(M) = ~;
ni=l l F.5)
т = arg max f{x); d+ = max zt, d_ = min zt.
x I i
Отметим, что выборочное среднее И = х является строго со-
состоятельной, несмещенной оценкой с вариацией Е{(?-Ц) } =
157
= G2/n. Статистические оценки числовых характеристик рассея-
рассеяния II принимают вид:
1
к = ст/|ц|; а = а+ - а_;
у = у+ - у_, F(U) = 3/4, Щу-) = 1/4;
F.6)
з
а4
Отметим еще, что с помощью точечных оценок F.5), F.6)
могут быть построены интервальные оценки. Например, если
Ц» D), то для |i, D справедливы интервальные оценки:
t~l ,A-8/2)-
ц _ -iLil^-^-LJ. a < ц < ц + -1^
л/га -..//г
(л - 1) Д/G-i! A - е/2) < D < (п - 1) Д/С! (е/2),
где s — доверительный уровень (уровень значимости), tni\(p) —
квантиль уровня р для ^-распределения Стьюдента с п - 1 степе-
степенями свободы, Gu-i(p)— квантиль уровня р для ^-распределения
с п — 1 степенями свободы; ^-l(')> ^n-l(') протабулированы в
[21].
6.1.2. Проверка адекватности моделей
При имитации различных случайных факторов, присутст-
присутствующих в исследуемой сложной системе, а также при вероятност-
вероятностно-статистическом описании результатов моделирования неиз-
неизбежно возникает следующая типовая задача проверки
адекватности моделей данных.
Пусть результаты моделирования (данные) Z = (zj, ..., г„)
представляют собой случайную выборку объема п из некоторого
распределения вероятностей с неизвестной функцией распределе-
распределения. Пусть далее F0(x) — некоторая фиксированная предполагае-
предполагаемая (гипотетическая) функция распределения, например, зада-
задаваемая требованиями имитационной модели. Определены простая
гипотеза Hq : F(x) = Fq(x), x e R и сложная альтернатива общего
вида Н\ = Hq . Задача проверки адекватности модели -Fq(-)
158
заключается в построении критерия для проверки Hq, Hi по вы-
выборке Z с наперед заданным уровнем значимости г е @,1). Гипо-
Гипотеза Hq означает, что результаты моделирования Z согласуются с
распределением Fq(), и поэтому она называется гипотезой согла-
согласия; критерий (решающее правило, тест) для проверки Hq, Hi на-
называется критерием согласия. Дадим краткое описание двух ос-
основных критериев согласия, использующих специальные свойства
выборочной функции распределения: х2-критерий Пирсона и кри-
критерий Колмогорова.
^-критерий согласия Пирсона. Пусть как и при построении
гистограммы, согласно F.4) вычислены частоты {vj попадания
выборочных значений Z в ячейки гистограммы, а также соответ-
соответствующие гипотетические вероятности попадания в ячейки, если
верна Но:
Статистикой х2 Для рассматриваемой задачи проверки адекватно-
адекватности модели называется статистика
2 _ у {vllnZ_PlL_ _ у (УА^/ЧЮ— > о (Q 7\
1=1 Pi /=i npi
Статистика F.7) характеризует взвешенную сумму квадратов ук-
уклонений относительных частот \'i/n от гипотетических значений
pf (I = 1, L). Чем больше х2, тем "сильнее" выборка Z не согласу-
согласуется с Но.
Х2-критерий согласия Пирсона основан на F.7) и имеет вид:
Но, если х" < Сх-аA - е),
i(l-e).
принимается гипотеза
или в эквивалентной форме:
, если Х2 >
F.8)
принимается гипотеза
Н0, если 1 -
> г,
F.9)
где Gi}_i(p)— квантиль уровня р, a Gl-\() — функция ^-распре-
^-распределения с L - 1 степенями свободы. (Статистика Р = 1 - Gi_j(x2).
которая сравнивается в F.9) с уровнем значимости е, называется
Р-значением.) Главное свойство критерия F.8) выражается сле-
следующей теоремой, известной из общего курса теории вероятно-
вероятностей и математической статистики [20].
159
Теорема 6.1. Если 0 < pf < 1 (I = 1, L), то при п -> х асим-
асимптотический размер (вероятность ошибки I рода) критерия F.7),
F.8) совпадает с наперед заданным уровнем значимости е.
Таким образом, при увеличении числа прогонов п гаранти-
гарантируется заданный уровень надежности решений. Чтобы повысить
скорость сходимости вероятности ошибки первого рода Pi —> ?,
рекомендуется воспользоваться произволом в выборе числа L яче-
ячеек и границ ячеек {fy} таким образом, чтобы npf > 5 (Z = 1,L).
Отметим, что х2-кРитеРии согласия Пирсона справедлив и
для проверки адекватности многомерных данных с 6 R/v, N > 1. В
этом случае только ячейки гистограммы станут TV-мерными об-
областями, а вид критерия F.7), F.8) сохраняется.
Отметим еще, что критерий Пирсона допускает обобщение и
на случай сложной гипотезы согласия с семейством функций рас-
распределения
#0 : F() e?o= iFo(x>в), х е R1:G е 0 с R},
когда гипотетическое распределение Fo(-) определено с точностью
до т.-мерного параметра 6. В этом случае гипотетические вероят-
вероятности F.6) зависят от 9: pt = Pi(B), I = 1,L, и статистика F.7) так-
также зависит от 0: х2 = х2F)- Критерий Пирсона принимает обоб-
обобщенный вид (если L > т + 1):
принимается гипотеза
Но, если inf xz(9) < GliUm(l - s),
Hi, если inf x'
GeC-)
¦.-1
> GLVm(l - 6).
F.10)
Критерий согласия Колмогорова. Пусть согласно F.3) по ре-
результатам моделирования Z вычислена выборочная функция рас-
распределения jF(-) , а гипотетическая функция распределения
— непрерывна. Статистика
[ОД] F.11)
Dn =
xeR
. Отметим
называется расстоянием Колмогорова между F(-) и
характерное свойство статистики F.11).
Теорема 6,2. Если верна Hq и и. = Fq(x) — непрерывная
функция, то распределение вероятностей статистики Вп не зави-
с'ит от конкретного вида Fq() :
?н {Dn} = L{D*n}, D*= sup | Ч'п(и) -и\, F.12)
0<u<l
160
где
71 i=l
F.13)
выборочная функция распределения, вычисленная по случайной
выборке U = (и.\, и2, .-., ип) объема п из стандартного равномерно-
равномерного распределения Я[0,1].
Доказательство. Определим обратную функцию х = Fq (и)
и осуществим это обратное функциональное преобразование в
F.11):
0--
Здесь
В силу свойства индикаторной функции !(¦):
Случайные величины {ut = F0(Zi)} при истинности Но образуют
случайную выборку объема п из Я[0, 1]. Поэтому
где ^„(О определяется F.13). Итак, верно F.12).Н
Ценность доказанного свойства состоит в том, что ?,ц {Dn}
не зависит от Fq(), является некоторым стандартным вероятност-
вероятностным распределением, которое можно протабулировать для каждо-
каждого значения п. Более того, это распределение при п —> оо описыва-
описывается распределением Колмогорова:
+оо 2 2
PHMnDn <у}^ К(у) = 1 - 2 S (-iy-V2' У , у > 0 . F.14)
;=1
Оказывается, сходимость F.14) — достаточно быстрая, и функ-
функцию распределения Колмогорова К() из F.14) рекомендуется
использовать начиная с п > 20. Поэтому критерий согласия Кол-
Колмогорова, основанный на свойствах статистики Dn, имеет вид:
\Н0, если 4nDn < К~1{1 - г),
[Нъ если -JnDn > К~гA - е),
или в эквивалентной форме (с использованием Р-значения анало-
аналогично F.9)):
\Н0, если 1 - K(sJnDn) > е, с
принимается гипотеза ¦{ г~_ F.16)
принимается гипотеза
F-15)
[Нх, если 1 - K(-JnDn) < б,
161
где К-1A —г) — квантиль уровня 1 — ? распределения Колмогоро-
Колмогорова, протабулированный в [21]. Асимптотический (при п -> со) раз-
размер этого критерия, как и критерия Пирсона, равен е.
Таблица 6.1
ГРАФИК ГИСТОГРАММЫ И ПЛОТНОСТИ ВЕРОЯТНОСТЕЙ
Файл t61 содержит выборку значений БСВ
Число реализаций: 30
КРИТЕРИЙ ХИ-КВАДРАТ ПИРСОНА
число интервалов : 6
число степеней свободы : 5
значение статистики критерия : 2.0000000000Е+00
Р-значение: 0.8491
9.7790673386Е-01
2.2496252701Е-01
4.2176304743Е-01
4.9450150316Е-01
1.6185159258Е-01
9.8184253297Е-01
8.9873391185Е-01
2.8989085181Е-01
5.1265897090Е-01
9.5123930214Е-01
5.6356333568Е-01
9.2816810185Е-01
7.9107102254Е-01
1.1264502145Е-01
6.1449353908Е-01
8.2632539764Е--01
6.3282992506Е-01
3.2055192895Е-01
1.2476668428Е-01
2.7635493464Е-01
5.4867787991Е-01
3.0445217752Е-01
4.2624984633Е-01
4.4524893214Е-01
9.2435708507Е-01
6.6883797112Е-01
1.9131062282Е-01
3.7499955154Е-01
2.0609680659Е-01
8.9320148308Е-01
и
I
>>
и
... ?¦
шш
3.5000
0.3333 0.6667 1.0000
Значение аргумента
Пример. Пусть исследуется адекватность имитации БСВ с
распределением Щ0, 1] по выборке Z объема п = 30, полученной с
помощью конгруэнтного датчика псевдослучайных чисел из раз-
раздела 3.2. В таблице 6.1 представлены результаты проверки адек-
адекватности модели Д[0, 1] к данным Z, полученные с помощью
ППП СТАТМОД (описанного в главе 7). Как видно, Р-значения
162
критерия Пирсона и критерия Колмогорова превосходят уровень
значимости е = 0,05, и, следовательно, на этом уровне значимости
гипотеза Hq принимается.
6.2. Выявление эффектов воздействия
Одной из типовых и часто встречающихся задач обработки
результатов имитационного и статистического моделирования яв-
является задача выявления (обнаружения) эффектов воздействия
некоторых факторов (внешних воздействий, управлений, пара-
параметров исследуемой сложной системы) на состояние системы или
показатели эффективности ее функционирования. Такая задача
также неизбежно возникает при сравнении показателей эффек-
эффективности двух проектов разрабатываемой сложной системы и при
оптимизации проектов методом имитационного моделирования. В
зависимости от того, используется или не используется парамет-
параметрическая вероятностная модель результатов моделирования, раз-
различают параметрические и непараметрические методы выявления
эффектов воздействия.
6.2.1. Непараметрические методы
Пусть результаты моделирования, используемые для выяв-
выявления эффектов воздействия, представляют собой две независи-
независимые случайные выборки X = (xj, ..., хп) и У = {у\, ..., ут), полу-
полученные при условии, что значения исследуемых факторов во
второй серии та прогонов имитационной модели отличаются от
значений факторов, действующих при выполнении первой серии
п прогонов. Обозначим F^(x) неизвестную функцию распределения
вероятностей, из которого получена случайная выборка X, а
Fz(x) — неизвестную функцию распределения вероятностей, из
которого получена случайная выборка У. Определена гипотеза
однородности (отсутствия эффектов воздействия исследуемых
факторов) Но : Fi(x) = F2(x) и альтернатива наличия эффектов
воздействия исследуемых факторов на результаты моделирования
Нг = Hq . Рассмотрим пять основных непараметрических методов
проверки гипотез Hq, Hi по результатам моделирования X, У с
заданным уровнем значимости г е @, 1).
163
Критерий однородности Смирнова использует расстояние
Колмогорова Dnm между выборочными функциями распределе-
распределения:
1 "
ния:
Ых) = -п
Dnm = sup | Щх) - F2(x)\ e [0,1].
X
Критерий применим, если Fx(-), F2() — непрерывны, и имеет вид,
аналогичный F.16):
]Н0, если 1 - K(~jnm/(n + m)Dnm) > г,
принимается гипотеза
[Нъ если 1 - K(^nm/(n + m)Dnm) < s.
^-критерий однородности предполагает, что для каждой из
выборок X, Y аналогично разделу 6.1 построены гистограммы,
причем ячейки гистограмм — одни и те же для обеих выборок.
Обозначим jvfj, |v,yj (/ = 1,1,) — выборочные частоты
Ixy =
F.4) для выборок X и У соответственно; v, = v^ + vj ;
'/ v \2 / v \
(vf - rav;/Gi + та)) (v/ - тау^^п + та)]
"У; ^ Я1У;
Критерий аналогичен F.9):
принимается гипотеза \Н°' 6СЛИ Х " GL-1(-Xxy) > ?,
,2\
\
[Щ, если 1 -
< z.
Критерий пустых блоков предполагает разбиение числовой
прямой на iV + 1 непересекающихся так называемых выборочных
блоков выборки X:
R= llr*, Г; =(*(/-!), *(,)],
порождаемых вариационным рядом выборки X:
-со = Х@) < ХA) <...< Х(п) < Х(п + 1) = +оо .
Перебором выборочных значений из У построим статистику
s0 = so(X, У) — число выборочных блоков среди Г1( ..., Г„+1, не
164
содержащих ни одного элемента из У; 0 < s0 < п + 1. Критерий,
выраженный в терминах Р-значений, имеет вид:
принимается гипотеза
Hq, если
nm \n + m
в противном случае.
- so(X,У)]] > е,
Критерий серий Вальда-Вольфовитца целесообразно приме-
применять для выявления сдвига распределений при воздействии ис-
исследуемых факторов. В этом случае альтернатива Hi имеет вид:
Hi : Fi(x) > F2(x), x 6 R, F.17)
т.е. случайный эффект воздействия на результаты моделирования
"стохастически отрицателен" (распределение выборки У "сдвину-
"сдвинуто влево" относительно распределения X). Критерий Вальда-
Вольфовитца предполагает упорядочение в порядке возрастания
составной выборки (X, У) объема п + т, построение вариационно-
вариационного ряда этой составной выборки Z^ < Z@) <...< Z^n+m~> и специ-
специальной числовой последовательности J = {Jy, J2, ..., Jn+m),
Jb e {1,2}. Элемент Jft=l, если Z^ есть элемент 1-й выборки X; в
противном случае J/, = 2 (k = 1,п + т). Серией называется участок
последовательности J, состоящий из подряд идущих одинаковых
цифр и ограниченный с обеих сторон (или с одной стороны, если
рассматриваются начало и конец последовательности) цифрами
другого вида. Вычислим число серий W(n,m) в последовательно-
последовательности J. Критерий серий имеет вид:
принимается гипотеза
, ,{п + тK'2 Г„„ . 2пт
Но, если d —_— — | W(n, m) -
2пт
в противном случае.
п + т>!
Ранговый критерий Манна-Уитни, как и предыдущий кри-
критерий, использует составную выборку (X, У) и ее вариационный
ряд Z(i) <ZB) <...<2(n+m). Определим статистики: Rt — ранг
(т.е. номер занимаемого места) элемента выборки xt в выше-
вышеуказанном вариационном ряду; Тп
п m
= R, + Ro +
Unm = Z
— общее число тех случаев (xh у-), когда
элемент выборки X меньше элемента выборки У. Справедливо
тождество:
165
В случае альтернативы вида F.17) критерий Манна-Уитни имеет
форму:
принимается гипотеза
Но, если'
12
Jnmj > e>
i, в противном случае.
6.2.2. Применение дисперсионного анализа
Пусть моделирование сложной системы проводилось при
различных значениях фактора / (характеризующего внешние воз-
воздействия, управления или параметры системы). В единичном
имитационном эксперименте наблюдаемая случайная величина х
неким неизвестным образом может зависеть от фактора /. Прове-
Проведено g > 2 серий (групп) имитационных экспериментов: результат
г'-й серии — случайная выборка Xi = (хц, xi2, ..., xin.) объема п^
(i = l,g). Результат у'-го имитационного эксперимента в i-й группе
представим в виде:
*ij = Ц( + Sy (/ = Г, /ij, i = 1, ?), F.18)
где ju^ — неизвестное среднее значение наблюдений в t-й группе;
E,ij — случайная гауссовская ошибка наблюдения с распределени-
распределением iYJ(O, а2), причем {^у } независимы в совокупности. Модель
g
данных F.18) допускает эквивалентное представление (я = %Щ )'¦
Хц = [1 + ОС; + Z,ij,
где
8
= 71
1=1 1=1
взвешенное среднее для всех g групп, щ/п — доля i-й группы в
общей совокупности экспериментов,
Щ = Hi - И —
так называемый г-й главный эффект воздействия. Заметим, что по
построению справедливо тождество:
g
1(п;/я)аг = 0 .
г=1
Актуальны следующие задачи статистического анализа ре-
результатов моделирования Xi,X2, •••> Xg:
166
— проверить гипотезу однородности Hq : \х± = ... = |i^
(cxj = ...=ag = 0), означающую отсутствие эффектов воздействия
фактора / на х;
— построить статистические оценки для ц, {ос;}, а2;
— построить доверительные интервалы для {\it} и
Эти задачи применительно к модели данных F.18) относят-
относятся к проблематике однофакторного дисперсионного анализа. Из-
Изложим кратко методы решения поставленных задач.
Определим основные статистики:
1 "!
X; = — X Xjj = Ц( — выборочное среднее i-и группы;
_ 1 8
х - — Z Z Хц = \х — общее выборочное среднее;
а; = х - X; — оценка г-го главного эффекта;
, 8 Щ _„ .„
°вн.гр.
сия;
= о — внутригрупповая диспер-
sM.rp. = (Я - 1) 1 'Zni(xi - хJ — межгрупповая дисперсия;
г'=1
F = (п - ?)/(? - 1) х (Sm rp./sBH Гр ) — так называемая F-статистика.
Для проверки гипотез Hq, Н\ = Но с уровнем значимости г ис-
используется критерий:
\Нп, если 1 - Fta_-\\ (n-a\(F) > Е,
l* ;д ffJ
принимается гипотеза
[^ в противном случае,
где F(g-i)t(n-g)(Z) — функция ^-распределения Фишера с (g - 1),
(n — g) степенями свободы.
Границы доверительного интервала (с доверительной веро-
вероятностью 1-е) для |д; определяются выражением:
Границы доверительного интервала для Aik = \it - ц*. при сравне-
сравнении двух средних ц, и j.ife равны
xt-xk± t~ig(l - zl2)(s2m.rpJ{n;x + щ1)I'2, (i*k = l,g)-
Отметим, что разработаны методы двухфакторного и много-
многофакторного дисперсионного анализа [30], позволяющие исследо-
исследовать воздействие одновременно нескольких факторов на средние
значения результатов моделирования.
167
6.3. Статистическое исследование зависимостей
Важнейшей задачей статистической обработки результатов
компьютерного моделирования является задача статистического
исследования зависимостей различных переменных (показателей
эффективности, внешних воздействий, управлений, параметров
сложной системы), включающая обнаружение значимой зависи-
зависимости величин, оценку "степени" зависимости и нахождение мо-
модели зависимости.
В пп. 6.3.1, 6.3.2 эти задачи решаются применительно к
количественным переменным, а в п. 6.3.3 — к классификацион-
классификационным переменным.
6.3.1. Корреляционный анализ зависимостей
Пусть с, = (E,i) 6 R^ есть случайный Л^вектор, являющийся
математической моделью единичного наблюдения N переменных
(компонент), используемых в ходе имитационного моделирования.
Обозначим: ajk = Cov{^,^}, ац = D{^y}, Ъ = (а;-А)— невырожден-
невырожденная ковариационная (N х Л^-матрица случайного вектора ^
(j,k = l,N), Z = {zj, Z2, ..., гп}е RN— случайная выборка объема п
наблюдений над %, полученная в результате п независимых
"прогонов". Мерой линейной зависимости /-й и k-й компонент
(У Ф k = 1,N), как известно, является коэффициент корреляции
Pjk =
чем больше
F.19)
|, тем "сильнее" линейная зависимость компонент
Если вектор Е, разбит на два подвектора:
то мерой условной линейной зависимости ^ и ^k (j±k-\,N\)
при условии, что подвектор ?,B) (т.е. набор компонент
^jVj+i» —. 4iv) фиксирован, служит частный коэффициент корре-
корреляции
PjlfN-L+1 .V -
e[-l,+l], F.20)
l N
168
где (Ni x Ni) — условная ковариационная матрица ^ц.2 =
= (<3jk*N1+l jv) подвектора ?A) при фиксированном Е,^) (в случае
ЛГ-мерного гауссовского распределения Е) вычисляется по формуле
^11»2 = ^11 ~ ^12^22^12 > F.21)
где Sy = Cov{^(i),^(;-)}— (i, у)-й блок матрицы S.
Мерой линейной зависимости компоненты ^i от множества
N - 1 остальных компонент Е,2, ^3> •¦-. ?,N является множествен-
множественный коэффициент корреляции
Pl.2 Л
= J1"
€[0,1].
F.22)
Статистические оценки коэффициентов корреляции р^,
Р;й«ЛЛ+1 JV»Pl«2,...,JV по выборке Z называются выборочными
коэффициентами корреляции и получаются подстановкой в F.19)-
F.22) вместо Е выборочной ковариационной матрицы
? ) = n~lA, A = (ajk) = I (zj - *)(zt - г)г ,
? =
-1
где z — п Yuzi —• вектор выборочного среднего. Например, выбе-
выбеги
рочный коэффициент корреляции у-ой и fe-ой компонент вычисля-
вычисляется по формуле
F.23)
Выборочные коэффициенты корреляции обладают свойствами
асимптотической несмещенности и состоятельности при п -> со.
Рассмотрим теперь задачу обнаружения линейной зависимо-
зависимости (корреляции) между компонентами Е,. Определим пары гипо-
гипотез (у * k):
H0U,k):pjk = 0, ад, ft) = H0(j,k);
\1 + l,...,NJPjk.Nl+1 N = 0;
Hq : Pj.2 n = 0, Hi = Ho.
По определению H0(j, k) есть гипотеза о некоррелированности
компонент Ejj, \ь\ Hq(j, k \ N\ + 1 N) гипотеза об условной не-
некоррелированности E,j, \ь при фиксированном Ъ^\ Hq — гипотеза о
некоррелированности ?i со множеством компонент {?2. •¦•. ^ы)-
принимается
F.25)
169
Для проверки гипотез о попарной независимости компонент
удобно использовать z-статистику Фишера:
z = l/21n((l + rjk)/(l - rjk)). F.24)
Если Е, имеет N-мервое гауссовское распределение, то критерий
|яо(у, k), если |(л - I)ll2z\< Ф^A - е/2),
[Hid, k), в противном случае
гарантирует достижение заданного уровня значимости е е @, 1)
при возрастании объема выборки п —» оо. Тест для проверки гипо-
гипотез Hq (j,k\Ni+l,...,N), Hi (у, k | Ni + 1,..., N) об условной неза-
независимости получается заменой в F.24) статистики гд, на
rjk»Nl+\ N и заменой в F.25) п на п — N2-
Критерий для проверки гипотез о независимости Е,\ и
{^2. ¦••. ?jn) использует выборочный множественный коэффициент
корреляции:
( 2
n-N ru2....N _ 1
принимается
Н,
о>
если
-1 l
rU2,...N
[Hi, в противном случае.
где FN-i<n-N (р) — квантиль уровня р распределения Фишера с
(N - 1, п - N) степенями свободы.
6.3.2. Регрессионный анализ зависимостей
Как и в разделе 5.1, будем рассматривать имитационный
эксперимент, в котором наблюдаются k > 1 независимых перемен-
переменных (регрессоров) х = (xj) e R* и зависимая переменная у е R1. В
сложных системах обычно у зависит не только от х, но и от неко-
некоторых случайных "ошибок" Е,. Функцией регрессии у на х называ-
называется функция
2 = ri(x; 8) = Е{у | х), х е Rk, z e R1, F.26)
характеризующая зависимость математического ожидания
(среднего значения) у от регрессоров х; здесь 8 = (8;) е Rm — век-
вектор параметров регрессионной зависимости. Задача регрессионно-
регрессионного анализа заключается в оценивании функции регрессии г\(-) и
проверке гипотез об истинном значении 6° параметров этой зави-
зависимости по результатам л-кратного повторения имитационного
эксперимента: Y = (j/j, ..., уп)Т и (п х й)-матрице плана экспери-
эксперимента F = (х^), определенной E.1).
170
Наиболее исследованной является множественная линейная
регрессия (к > 1), когда
т
Л(х;9)= Х6;/;(х), F.27)
где {//(•)} — заданный набор линейно независимых функций.
Этот случай подробно рассмотрен в разделе 5.1 с примене-
применением метода наименьших квадратов. Частным случаем F.27) яв-
является случай E.5), когда к-т, fj(x) = Xj (j =\,k).
В ситуации, когда функция регрессии F.27) нелинейна по
параметрам 9, возникают вычислительные трудности при макси-
максимизации функции правдоподобия (минимизации суммы квадратов
невязок). В главе 7 описан ППП СТАН, позволяющий решать за-
задачи нелинейного регрессионного анализа результатов моделиро-
моделирования в заданном классе нелинейностей.
6.3.3. Анализ таблиц сопряженности признаков
При обработке результатов моделирования сложной системы
могут возникать задачи статистического исследования двух или
нескольких факторов (переменных) классификационного типа
[31], например: сорт выпущенного изделия, уровень образования
производственного персонала, тип решаемой на вычислительном
центре задачи.
Пусть исследуется зависимость двух факторов А, В; для
фактора А существует I > 2 возможных категорий (классов) А\,
А2, ••-, Aj, а для фактора В существует J > 2 категорий В\, В%, •-.,
Bj. Результаты п независимых имитационных экспериментов со
сложной системой представляются в виде таблицы сопряженности
с двумя входами (см. табл.6.2).
Таблица 6.2
В
А
А,
А2
А,
Всего
Bi
/и
/21
fn
/01
B2
BJ
/l2 ¦•• f\J
I22 ¦¦¦ f*j
In ¦¦¦ fu
/02 •• • foj
Всего
/ю
/20
fro
/00 = n
Здесь fij число имитационных экспериментов, по результа-
результатам которых фактор А соответствовал категории At (А = At) и од-
одновременно фактор В = Bj (i =1,1, j = 1, J);
171
fur —
число имитационных экспериментов, для которых фактор
А=Ас,
foj = hj + •¦¦ +//;-
число имитационных экспериментов, для которых В = Bj. Оче-
Очевидно тождество:
/ J
Zfio = I foj = /00 = " '
В силу стохастичности моделируемой СС частоты собы-
событий {fij} — случайные величины. Обозначим рц = Р{А = Ah
В = Bj} — вероятность события, состоящего в завершении имита-
имитационного эксперимента исходом А = At, В = Bj. Аналогично обо-
обозначим
Рю = РИ- = Ai) =pn+ ... + ри,
Poj = P{B = Bj} = Pxj + ... +Plj.
Определим гипотезу о независимости факторов А, В Но :
Pij = PiOpOj (i =1,I> j = 1,J) и альтернативу общего вида Н^ = Hq .
Отметим, что несмещенными, строго состоятельными и эффек-
эффективными оценками {ptj} являются относительные частоты:
Pij = fij/n> PiO = fio/n> Poj = foj/n ¦
Критерий проверки Hq, H\, асимптотический размер которого
при п -» оо совпадает с заданным уровнем значимости е е @, 1),
основан на х2-статистике (см. п. 6.1.2)
/ J
X2 = Щ I Zifij - fiofoj/nf/ifiofoj) 2: О
;=iy=i
и имеет вид:
\Н0, если х2 < GGli)(l7_i)(l - s),
принимается
[Hi, в противном случае,
где G^(p)— квантиль уровня р ^-распределения с к степенями
свободы.
Приведем теперь аналоги коэффициентов корреляции из
п.6.3.1 для измерения "степени" связи факторов А, В'.
— мера Гудмана-Краскела
( I J ) /
*¦ = I fim + I fmj - km ~ fmO / Bn - fmO ~ km) '
174
аналогично п.6.4.1 {п > N). О неизвестном значении вектора ма-
математического ожидания (i e RN определены гипотезы
Но : ц = Мо, Hj : м Ф ц0,
где Цо е RN — фиксированное "гипотетическое" значение для ц.
Критерий отношения правдоподобия заданного уровня значимо-
значимости е для проверки Н$ основан на Т2-статистике Хотеллинга
T2 = n(z- цо)г5(z ~ Mo) S 0 F.30)
и имеет вид:
)Я0, если 1- FN_„_
N
> е,
принимается^"' ~ "'u~J\N(n-l)Tz) ' "' F.31)
[ Д^, в противном случае,
Здесь S = (п ~ N)~lA, F^/n_N() — функция стандартного распреде-
распределения Фишера с (N, n - N) степенями свободы [21].
2. Проверка гипотез о средних значениях двух выборок.
Пусть проведены две серии по п имитационных эксперимен-
экспериментов, результаты которых представлены в RN (n > N) в виде
двух независимых случайных выборок ZA), Z<2'; Z(Z) = {z[l\
z2 ,...,2^}cR — случайная выборка объема п из N-шер-
ного гауссовского распределения iV"vr(u;, 1г); z^=(zj^)sRN
(/' = 1, N) — вектор-столбец г-го наблюдения из Z-й выборки
(i = 1,п, I = 1, 2). Параметры ц1; Ц2> "i> ^2 неизвестны. Определена
гипотеза о совпадении средних значений
_ Но •" Mi = М2
и альтернатива Hi = Hq . Преобразованием данных
zt = z^ _ 2p {i = !,п)
задача проверки этих гипотез Но, Н± сводится к вышерассмот-
ренной задаче. Критерий принимает при этом вид F.30), F.31),
только ^-статистика F.30) вычисляется по формулам:
Г2 =
?
п i=l
Skl = (n - I)
> 0,
, (A.Z = 1,2).
F.32)
175
6.4.3. Сравнение ковариационных матриц
Пусть, как и при сравнении средних значений, зарегистри-
зарегистрированы две независимых гауссовских случайных выборки
?(!), Z'2). Определена гипотеза о равенстве ковариационных мат-
матриц
и альтернатива Hi = Hq . Определим аналогично F.33) статисти-
статистики:
г=1
выборочная ковариационная матрица для k-й выборки (k = 1,2);
А= |(Ai+
так называемая "общая" выборочная ковариационная матрица.
Критерий проверки гипотез Hq, Hi основан на статистике
и имеет вид:
принимается
W = 2{п - 1Iп(| А|Д/| Ail| А2\)
Но, если 1 -
> б,
F.33)
j,b противном случае.
Асимптотический (п -> оо) размер критерия F.33) совпадает с за-
заданным уровнем значимости е.
6.4.4. Проверка однородности многомерных выборок
При исследовании влияния разнообразных факторов на ре-
результаты моделирования часто возникает задача проверки одно-
однородности двух jV-мерных гауссовских выборок Z*1', Z'2\ описан-
описанных в п. 6.4.3. Гипотеза однородности означает совпадение
векторов математических ожиданий и ковариационных матриц:
Но '¦ Ml = М2> ^1 = Е2,
альтернатива имеет общий вид Hi = Hq . Обозначим
"общее" выборочное среднее;
/г=1г=1
172
где
fim = max ftj, fmj = max/y, (i = 0,7; у = 0, J);
— жера Крамера
— лгера Чупрова
Т = JyfjnJlT
Стремление X, V, Т к нулю означает "ослабление" зависимости
факторов А, В.
В заключение отметим, что в случае k > 2 факторов класси-
классификационного типа аналогичным образом строятся /г-мерные таб-
таблицы сопряженности и производится статистический анализ этих
таблиц.
6.4. Применение методов многомерного
статистического анализа
В этом параграфе рассматриваются задачи статистического
анализа многомерных результатов моделирования, когда резуль-
результат единичного имитационного эксперимента описывается гаус-
совским случайным Л^-вектором (N > 1) ^ = (^;) е R^ с Л^-мерной
нормальной плотностью распределения вероятностей
р,(х) = nN(x\n,Z) = Bтт)-^/2|Zr1/2 ехрИ* - nfZ (x - ц)/2), F.28)
где х = (Xj) б R^ — TV-вектор-столбец, \\ = (цу) = Е{?,} — вектор-
столбец математического ожидания с,, Z = (сту/г) — симметрическая
положительно определенная (N x Л^)-ковариационная матрица,
т — знак транспонирования. Гауссовская модель данных F.28)
широко используется в приложениях не только из-за извест-
известных "эффектов нормализации сумм большого числа независимых
случайных воздействий", но также из-за двух дополнительных
причин: 1) в рамках модели F.28) получено обилие математиче-
математических результатов и алгоритмов статистического анализа, полез-
полезность которых подтверждена практикой; 2) модификацией алго-
алгоритмов, оптимальных для гауссовской модели, часто удается
получить квазиоптимальные алгоритмы для распределений, от-
отличных от F.28).
173
6.4.1. Проверка адекватности заданной гауссовской модели
Пусть в результате п независимых имитационных экспери-
экспериментов зарегистрирована случайная выборка Z = {г1; ..., zn} с RA*
объема п из некоторого гауссовского распределения ^А?#(ц, ^) с
плотностью F.28), причем параметры этого распределения \х, Z —
неизвестны. Выдвигается гипотеза Hq о том, что результаты мо-
моделирования адекватно описываются случайной выборкой Z из
заданного распределения fYJv(|i()> ^о) с некоторыми заданными
(ожидаемыми, "гипотетическими" значениями) \xq, Zo! альтерна-
альтернатива — общего вида: 77] = Hq .
Для проверки Hq, Hi по выборке Z целесообразно использо-
использовать критерий отношения правдоподобия:
[Я0,если1-С/(^)>8,
\, в противном случае,
где Gf() — функция х2-Распределения с / = р(р + 3)/2 степенями
свободы, а критериальная статистика
V = trCL^A) + n«z - iiof^iz - Но) - ln| Z^Al+Nin - 1)),
принимается
F.29)
n
z = n~* T^Zj — вектор выборочного среднего,
А =
z)
- z)(zt -гI — выборочная ковариационная матрица
(с точностью до множителя).
Асимптотический размер теста F.29) при возрастании числа ими-
имитационных прогонов п —> оо совпадает с наперед заданным уров-
уровнем значимости е.
6.4.2. Сравнение средних значений
При обработке результатов моделирования часто возникают
задачи сравнения математического ожидания (среднего значения)
с наперед заданным "гипотетическим" значением, либо сравнения
средних значений по двум и более сериям имитационных экспе-
экспериментов.
1. Проверка гипотез о векторе средних значений.
Пусть результаты п имитационных экспериментов пред-
представляют собой TV-мерную гауссовскую случайную выборку Z
174
аналогично п.6.4.1 (п > N). О неизвестном значении вектора ма-
математического ожидания ц е RN определены гипотезы
Яо : ц = цо, #i : ц * и0,
где Цо е RN — фиксированное "гипотетическое" значение для ц.
Критерий отношения правдоподобия заданного уровня значимо-
значимости е для проверки Hq основан на Т2-статистике Хотеллинга
T2 = n(z- |Lio)TS-1( г - цо) ^ 0 F.30)
и имеет вид:
N -п
I Но, если 1 - FNn_N ^-—^j | > б,
F.31)
принимается ] "' "'" '\N(n -
[ Ну, в противном случае,
Здесь S = (п - N)'1A, F^in^^(-) — функция стандартного распреде-
распределения Фишера с (N, п - N) степенями свободы [21].
2. Проверка гипотез о средних значениях двух выборок.
Пусть проведены две серии по п имитационных эксперимен-
экспериментов, результаты которых представлены в R№ (п > N) в виде
двух независимых случайных выборок Z'1', Z*2'; Z'' ={z^',
4 ,...,4 )CR — случайная выборка объема п из Лг-мер-
ного гауссовского распределения
\ = (ги
= (ги ) 6
>N
(у = 1, N) — вектор-столбец i-го наблюдения из 1-й выборки
(i = 1,п, I = 1,2). Параметры uj, (.12, Si, ^2 неизвестны. Определена
гипотеза о совпадении средних значений
Но : f-ii = Ц2
и альтернатива Ну = Но. Преобразованием данных
задача проверки этих гипотез i/0. ^1 сводится к вышерассмот-
ренной задаче. Критерий принимает при этом вид F.30), F.31),
только Т2-статистика F.30) вычисляется по формулам:
Т2 = n(zW - z^f(Sn - ^&1^» <2>
> 0,
(k)
п г=
F.32)
г=1
175
6.4.3. Сравнение ковариационных матриц
Пусть, как и при сравнении средних значений, зарегистри-
зарегистрированы две независимых гауссовских случайных выборки
Z^1', ZBK Определена гипотеза о равенстве ковариационных мат-
матриц
Но : Si = S2
и альтернатива Ну = Hq . Определим аналогично F.33) статисти-
статистики:
Ak= |(Z<*> -*<*>)<*<*> -2<*>)Г-
г = 1
выборочная ковариационная матрица для /г-й выборки (k = 1,2);
А= ~(At + А2)~
так называемая "общая" выборочная ковариационная матрица.
Критерий проверки гипотез Hq, Ну основан на статистике
W = 2(п - 1)\п(\ А[/J\ Ау\\ А2\)
и имеет вид:
\Н0, если 1 - GN(N..-[)/2(W) > в,
[ Ну,в противном случае.
Асимптотический (п —> ос) размер критерия F.33) совпадает с за-
заданным уровнем значимости е.
принимается
F.33)
6.4.4. Проверка однородности многомерных выборок
При исследовании влияния разнообразных факторов на ре-
результаты моделирования часто возникает задача проверки одно-
однородности двух :У-мерных гауссовских выборок ZA*, ZB\ описан-
описанных в п.6.4.3. Гипотеза однородности означает совпадение
векторов математических ожиданий и ковариационных матриц:
Но '¦ Hi = М2. si = ?2,
альтернатива имеет общий вид Ну = Hq . Обозначим
"общее" выборочное среднее;
176
выборочная ковариационная матрица (с точностью до множите-
множителя), вычисленная в предположении истинности Hq;
(
U = 2{п - 1) In
1 1
- В\ - -
12 ?
А2\
принимается
Критерий, асимптотический размер которого (при п —> да) равен s,
основан на статистике U:
[Яо, если 1 - Gp,p+3)/2(U) > ?,
[Hi, в противном случае,
где Gf() — функция ^-распределения с / степенями свободы.
В заключение отметим, что критерии в пп. 6.4.2-6.4.4 до-
допускают обобщения на случай нескольких (q > 2) серий имитаци-
имитационных экспериментов, а также на случай, когда серии состоят из
различного числа имитационных экспериментов.
6.5. Статистический анализ динамических
закономерностей
Одной из важнейших задач имитационного и статистическо-
статистического моделирования является исследование динамики СС. В связи с
этим при обработке результатов моделирования возникают задачи
анализа упорядоченных по времени t е {1, 2, ..., Т) данных, ма-
математической моделью которых являются временные ряды или,
иначе говоря, случайные процессы с дискретным временем.
6.5.1. Анализ стационарных временных рядов
Пусть в ходе имитационного эксперимента зарегистрирован
временной ряд X = (хь х2, ...,хт) длительностью Т, где xt e R1 —
значение наблюдаемой характеристики СС в момент времени t
(t = l,T). Математической моделью {xt} является стационарный
случайный процесс с дискретным временем, имеющий математи-
математическое ожидание, не зависящее от времени ( е Z:
ц = Е{л:,} = const, ц е R1;
ковариационную функцию, зависящую лишь от временного сдви-
сдвига h e Z:
а(Л) = Cov{x,, xt+h) = E{(xt - \i)(xt+h - ц)}, o(-h) = a(h)
и спектральную плотность, являющуюся косинус-преобразовани-
косинус-преобразованием Фурье от ковариационной функции:
1 +00
— I
2 л: л=_
? [-7
F.34)
177
Рассмотрим задачи первичного статистического анализа
стационарных временных рядов, предполагающие оценивание ве-
вероятностных характеристик ц, о(), /(•) и проверку адекватности
этих характеристик по результатам моделирования X.
Статистической оценкой для ц является выборочное среднее
временного ряда X
yL=x=T-1YJxt. F.35)
t=\
Если выполняется условие
Ici(A)|<»,
F.36)
то оценка F.35) является несмещенной и состоятельной в средне-
квадратическом при увеличении длительности наблюдения Т -> со:
Статистической оценкой для сг() является выборочная кова-
ковариационная функция
1 T~h
a(h)= ^{xt-x)(xt+h-x), ст(-А) = а(А), Л е{0,1,...,Г-1}. F.37)
I — II t_Y
Если ряд F.36) суммируем с квадратом, то оценка F.37) также
является при Т —> со асимптотически несмещенной и состоятель-
состоятельной в среднеквадратическом: D{a(h)} = О((Т - h) ). Используя
факт асимптотической нормальности статистики F.37), удается
построить для каждого h = o(T) доверительный интервал для ко-
ковариационной функции: с заданной доверительной вероятностью
1-е
а_(Л) < ст(Л) < ст+(Л), а+(Л) = ст(Л) ± Ф'тA - e/2)s , F.38)
где
rT-h/
2а(у + Л)ст(у - Л)) -
T-h
Z 1 - ¦—-
T-h
- CT(O)a(A)| .
Если "гипотетическая" (ожидаемая) ковариационная функция
ao() попадает в "доверительную трубку" F.38), то на уровне зна-
значимости е результаты моделирования адекватны предполагаемой
модели.
Статистические оценки спектральной плотности используют
оценку ковариационной функции F.37) и соотношение F.34).
178
В качестве асимптотически несмещенной и
(Т —> +ао) оценки /"(•) приведем оценку Парзена:
состоятельной
где Kf e Z+ — последовательность положительных целых чисел,
такая что при Т —> ж имеют место соотношения: Kj —> +*,
Kf/T —> 0. Например, Кт = [л'Т], где [z] — целая часть числа г.
Другие типы оценок представлены в [11, 23].
6.5.2. Статистический анализ временных рядов с трендом
Принято говорить, что временной ряд X = (Х\, ..., Xj) ре-
результатов моделирования соответствует модели с трендом, если
xt =g(t) + ut, t = l,T, F.39)
где {ut} — последовательность некоррелированных случайных ве-
величин с математическим ожиданием E{ut) = 0 и дисперсией
D{u,} = a2, g(t) — детерминированная функция — тренд времен-
временного ряда. Статистический анализ временных рядов с трендол
имеет целью оценивание g(), и2 и проверку адекватности модели
F.39) по результатам моделирования X.
Конкретизируем модель тренда g(). Пусть {фх^О. •••>
Фтт(О) — некоторая ортогональная система функций (t = 1,Т) ,
удовлетворяющих условиям
т
Пусть истинный тренд g() представим в виде разложения по
= 1,Г), тп<Т.
F.40)
k=l
Представляя F.39), F.40) как модель регрессии х на t, по-
получаем оценки m + 1 параметров тренда {80, 9i, ...,6m} методом
наименьших квадратов:
( т у1 т
е*= 1Ф*>@ 2>
4=1 J t=l
= 0,m; фот(О = 1 ¦
Для исследования адекватности модели F.39) определим
гипотезу НОк : 6fc = 0 и альтернативу Hlk : Qk Ф 0.
179
Определим статистику (k = 0,тп):
( т
tk = Qk\(T - ft - I) Z(xt - xtf
где
xt=
принимается гипотеза
"прогноз" для xt с помощью оценки тренда. Тогда, если {щ} име-
имеют гауссовское распределение, то критерий уровня значимости s
для проверки гипотез Hq^, Н^ по X имеет вид:
\H0k, если|^|< Ak(?),
ifc, в противном случае,
где Ак(г) — квантиль уровня 1 - е/2 ^-распределения Стьюдента с
Т - k - 1 степенями свободы.
В заключение отметим, что на практике при анализе ре-
результатов моделирования в качестве базисных функций тренда в
F.40) обычно используются полиномы или тригонометрические
функции.
Упражнения к главе 6
1. Оценить функциональные и числовые характеристики • е-
роятностных моделей результатов моделирования случайных ие-
личин со следующими законами распределения:
а) биномиальный закон
Pj = Р{^ = j} = CJNQ'A - Q)N~i, j = 0, N; 9 = 0,2; N = 5;
б) закон Пуассона
Pj = P{^ = j} = \ie-y/jl, j = 0, 1,2, ...; X = 10;
в) экспоненциальный закон
f(x) = Хе~к\ х > 0; X = 3;
г) нормальный закон iA?E, 9);
д) смесь двух нормальных законов
fix) = -A
2. Исследовать адекватность имитации вероятностных за-
законов а) - д) по п = 50 имитационных экспериментов; е = 0,05.
3. Смоделировать 3 случайных выборки объема п = 50 из
экспоненциального закона с параметрами X = 3; 3; 6 соответствен-
180
но. Параметрическими и непараметрическими методами проана-
проанализировать эффект воздействия некоторого фактора на параметр
X; г = 0,05.
4. В результате п = 10 имитационных экспериментов при
моделировании химического реактора получены следующие дан-
данные (табл. 6.3).
Таблица 6.3
i
4
4
1
432
431
2
470
450
3
442
431
4
439
453
5
502
483
6
445
449
7
455
441
8
464
476
9
458
460
10
511
483
Здесь i — номер эксперимента, х\, х\ — соответственно за-
задаваемая оператором и фактическая температура в реакторе для
t-ro эксперимента. Методами корреляционного и регрессионного
анализа результатов моделирования исследовать зависимость х1;
х2.
5. С помощью имитационной модели макроэкономики стра-
страны получен следующий временной ряд (табл.6.4, t — год, xt —
национальный доход года t). Провести первичный статистический
анализ результатов моделирования, а также исследовать адекват-
адекватность линейного тренда; е = 0,1.
Таблица 6.4
t
xt
1994
10,3
1995
10,2
1996
10,4
1997
10,9
1998
11,7
1999
12,5
2000
13,2
2001
13,9
2002
14,5
2003
15,1
181
ГЛАВА 7
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИМИТАЦИОННОГО
И СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ
В данной главе рассматриваются вопросы выбора и приме-
применения языковых и программных средств для разработки имита-
имитационных и статистических моделей, а также для статистической
обработки результатов имитационных экспериментов.
Сравниваются подходы, основанные на использовании для
создания ИМ универсальных языков программирования и спе-
специализированных программных средств. Дается классификация
известных специализированных систем имитационного моделиро-
моделирования по типу модели, способу имитации, предметной области и
условиям применения (раздел 7.1).
Приводится достаточно подробное описание широко исполь-
используемой на практике системы имитационного моделирования GPSS
(раздел 7.2). На примере наиболее известной ее версии для ПЭВМ
(GPSS/PC) описываются возможности языка GPSS при создании
ИМ и организации процесса моделирования на ПЭВМ
(раздел 7.3).
Описываются возможности ППП статистического моделиро-
моделирования случайных величин, векторов и процессов СТАТМОД
(раздел 7.4), а также ППП СТАН, предназначенного для стати-
статистического анализа результатов имитационных экспериментов
(раздел 7.5).
Приводится описание системы компьютерных учеоников
TEACHSTAT по статистическому моделированию и анализу дан-
данных (раздел 7.6).
7.1. Классификация специализированных систем
имитационного и статистического моделирования
Одним из основных условий успешного применения на
практике методов имитационного моделирования является нали-
наличие эффективного проблемно-ориентированного программного
обеспечения. Несмотря на то, что при разработке имитационной
модели может использоваться любой из универсальных языков
программирования (например, Фортран, ПЛ, Паскаль, Алгол,
Бейсик, Ада, Си и др), на практике часто предпочтение отдается
специализированным языковым и программным средствам, то
есть системам имитационного моделирования (СИМ). Подходы,
основанные на использовании универсальных языков и СИМ,
имеют как свои достоинства, так и недостатки.
182
Использование универсальных языков позволяет достичь
гибкости при разработке, отладке и тестировании модели, а также
их высокого быстродействия и, в то же время, приводит к боль-
большим затратам времени и средств на разработку и отладку моде-
моделей. Этим объясняется использование данного подхода при созда-
создании уникальных моделей, а также моделей, функционирующих в
реальном времени.
СИМ обладают рядом преимуществ, в их числе: простота
изучения; удобство программирования; концептуальная вырази-
выразительность; надежность компилятора; автоматизация сбора, обра-
обработки и представления результатов моделирования; возможность
подключения модулей, написанных на универсальных языках
программирования. Однако СИМ не всегда обеспечивает необхо-
необходимую гибкость и быстродействие ИМ. Этим объясняется пред-
предпочтительное использование СИМ для разработки типовых моде-
моделей определенного класса СС, предназначенных для применения
на этапах анализа и проектирования СС.
Многообразие СИМ (сейчас их известно более 500) вызвано
применением имитационного моделирования в различных пред-
предметных областях, ориентацией на определенный тип моделей, ис-
использованием различных способов имитации и типов ЭВМ.
В табл. 7.1 в качестве иллюстративного примера приведена клас-
классификация некоторых известных СИМ по типу модели и способу
имитации (более полные и подробные классификации можно най-
найти в [3, 5, 24]).
Таблица 7.1
Тип модели
дискретный
агрегативный
непрерывный
непрерывно- дис-
дискретный
сетевой
Способ имитации
событийный
просмотр активностей
процессный
транзактный
агрегатный
аппроксимация
дифференциальных
уравнений
комбинированный
(возможны различные
комбинации выше пе-
перечисленных способов
имитации)
имитации сетевых мо-
моделей
Примеры СИМ
SIMSCRIPT
SMPL, FORSIM
SIMULA
GPSS
АИС, САП АС
DYNAMO
MIMIC
SLAM, НЕДИС
SIMNET, NETWORK
С появлением персональных ЭВМ интенсивно развиваются
специализированные системы моделирования для этих типов
компьютеров. Часто они представляют собой развитие известных
систем моделирования для универсальных ЭВМ, например:
183
GPSS/PC, SIMSCRIPT И. 5, SIMULAP, MiniDYNAMO, Micro-
DYNAMO/DOS, SLAM II/PC. В [27] приведен каталог наиболее
известных зарубежных систем имитационного моделирования,
включающий 200 наименований. Некоторые из этих систем во-
вошли в табл. 7.2. В таблице указаны, в основном, системы, пред-
предназначенные для использования на IBM-совместимых универсаль-
универсальных (MF) и персональных (PC) ЭВМ. В таблице дополнительно
указывается требуемый транслятор (с базового языка программи-
программирования), операционная система, а также некоторые особенности
или возможности систем (в графе "Примечания"). По своему на-
назначению системы разбиты на разделы. Первые четыре раздела
включают СИМ общего назначения, ориентированные на опреде-
определенный тип модели. В последующих разделах системы объедине-
объединены по типу предметной области либо условиям применения.
Таблица 7.2
Название
1 1
GPSS/PC
GPSS/H
SIMSCRIPT П.5
SIMULA
SIMULAP
MIC-SIM
OPTIC
PC-SOL 4.0
DYNAMO III/ F+/ 370
Micro-DYNAMO/DOS
Mini-DYNAMO
Pro-DYNAMO+
CSSL-IV
ISIM
OPT ISIM
SYSL/M
ACSL
Тип ЭВМ,
транслятор
2
Примечания
3
Дискретные модели
PC
PC
PC, MF
PC, MF
PC, MS DOS
и Windows
PC, PS/2
PC
PC;
Паскаль 4.0
Интерактивная графика и ани-
и ¦ fi Т Т ТХ €7
м«цин
Версия системы GPSS для ПЭВМ
Параметрическое моделирование
Графика и анимация
Непрерывные модели
MF; Фортран
PC
16-разрядные
PC
PC
PC, MF;
Фортран-7 7
PC
PC
PC; Фортран
PC; Фортран
Нелинейные модели
Дополнительные возможности
оптимизации моделируемых сис-
систем
Дополнительные возможности
оптимизации
184
Продолжение табл. 7.2
SIMNET
Network И.5
BEST-NETWORK
Сетевые модели
PC;
Фортран-7 7
PC, MF, VAX
MF; Фортран
SLAM II
SLAM II/PC
micro PASSIM
PASION
SIMAN+Cinema
Непрерывно-дискретные модели
MF; Фортран
PC
PC; Паскаль
PC; Паскаль
PC;
Фортран-77
Комбинированные модели дис-
дискретного, непрерывного и сетево-
сетевого типа
Расширенные возможности ста-
статистического анализа; ориента-
ориентация на производственные систе-
системы; интерактивная графика и
анимация
ENPORT-
TSIM
LSMP
DSL/VS
Динамические системы (ДС)
MF; Фортран
VAX
PC
MF; Фортран,
Фортран-77,
ПЛ/1
Нелинейные ДС
Нелинейные ДС
Линейные ДС
НЕТ Real Time
DATE- INTER-ACTIVE
Системы реального времени
PC
VAX
Ориентация на моделирование
автоматизированных производств
Непрерывные модели; интерак-
тивная графика
GEMS-II
MAST
SIMPLE
SPAR
XCELL+
SIMIS III
Process
Simulator
Системы, ориентированные
на производственные процессы и контроль качества
Quality
PC;
Фортран-77
PC;
Фортран-77
PC
PC
PC
PC, MF
PC
Сетевые модели
Анализ производственных про-
процессов
Оценка возможности роста про-
производства
Быстрое построение прототипов
производственных систем средст-
средствами интерактивной графики
Моделирование производствен-
производственных и материальных потоков
Моделирование систем управле-
ния качеством продукции
LIBRA
MULTI.SIM
Системы моделирования экономических процессов
PC
DEC-20;
Simula
Построение моделей равновесия
экономических систем
Многоуровневые модели рынка
185
Продолжение табл.7.2
1
2
Моделирование вычислительных
CIRCUITS
НТТ System
PROMISE
WORSTATION
ПТК АИЭ
Macintosh
DEC/380
PC
PC
PC
3
и коммутационных систем (КС)
Моделирование мощных вычис-
вычислительных систем; интерактив-
интерактивная графика
Система-тренажер операторов
Моделирование коммутационных
параллельных процессов
Моделирование КС
Моделирование вычислительных
систем
Моделирование робототехнических систем
ROSCAD
ROSI
Silicon, Sun
VAX
Графическое моделирование в
реальном времени
Системы статистического моделирования и обработки данных
СТАТМОД
СТАН
PC
PC
Статистическое моделирование
случайных величин, векторов,
процессов
Статистический анализ результа-
результатов экспериментов
7.2. Имитационное моделирование с помощью GPSS
7.2.1. Общая характеристика языка имитационного
моделирования GPSS
Познакомимся с принципами построения ИМ СС с помощью
системы имитационного моделирования GPSS (General Purpose
Simulation System). Система GPSS разработана в научно-
исследовательском центре фирмы IBM и входит в число наиболее
распространенных и используемых на практике систем имитаци-
имитационного моделирования. Описание языка GPSS и сравнительный
анализ различных версий этого языка для универсальных ЭВМ
приведены в [4].
Ниже в качестве базовой версии языка используется язык
GPSSV (General Purpose Simulation System Virtual), который об-
обладает некоторыми дополнительными возможностями, а также
имеет версии как для универсальных, так и для персональных
ЭВМ [24].
Сам язык программирования как средство описания модели
мало отличается для СИМ, ориентированных на различные типы
186
ЭВМ. Поэтому ниже приводится описание языка без какой-либо
существенной привязки к типу ЭВМ.
Описание наиболее актуальной в настоящее время версии
для персональных ЭВМ приводится в следующем параграфе.
Объекты языка GPSS. В основу языка GPSS положен
транзактный способ имитации.
В разделе 2.4 отмечалось, что данный способ является раз-
развитием процессного способа имитации применительно к модели-
моделированию СС, представляемых в виде систем массового обслужива-
обслуживания (СМО). Таким образом, предполагается, что в качестве
объектов моделирования (сложных систем) могут выступать раз-
различные системы и процессы, представимые в виде СМО: вычис-
вычислительные системы и сети, технологические и производственные
процессы; гибкие автоматизированные производства и робототех-
нические комплексы; системы обработки и передачи информации,
предприятия сферы обслуживания; транспортные и коммутаци-
коммутационные системы и т.д. Для указанного класса СС выделяется ко-
конечное множество абстрактных элементов, служащих для описа-
описания реальных элементов СС S (например: источников заявок на
обслуживание накопителей, каналов обслуживания и т.п.), и ко-
конечное множество стандартных операций, описывающих связи
между элементами. Выделенным множествам элементов и опера-
операций ставится в соответствие множество объектов языка GPSS.
Модель СС S на GPSS строится путем объединения объектов в
некоторую фиксированную логическую структуру. Объекты GPSS
подразделяются на 7 категорий и 14 типов (табл. 7.3).
Таблица 7.3
№
кат.
1.
2.
3.
4.
5.
6.
7.
Категории
объектов
Динамическая
Операционная
Аппаратная
Вычислительная
Статистическая
Запоминающая
Группирующая
№
типа
1.
2
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Типы объектов
Транзакты
Блоки
Устройства
Памяти
Логические ключи
Арифметические
переменные
Булевские переменные
Функции
Очереди
Таблицы
Ячейки
Матрицы ячеек
Списки пользователя
Группы
Мнемонические
обозначения
—
—
F
S
L
V
BV
FN
Q
Т
X
м
с
G
187
Каждому объекту соответствуют арифметические или логи-
логические атрибуты, описывающие состояние объекта в текущий
момент модельного времени. Большинство из атрибутов не дос-
доступны для программиста. Атрибуты, к которым в ИМ можно об-
обращаться, называются стандартными числовыми атрибутами
(СЧА). Основными объектами GPSS являются транзакты и бло-
блоки.
Транзакты (сообщения) описывают единицы исследуемых
потоков (заявки на обслуживание), например: задания пользова-
пользователей в вычислительной системе; детали, подлежащие обработке в
ГПС; автомобили в очереди у бензоколонки; корабли, разгру-
разгружающиеся в порту и т.п.
Блоки задают логику функционирования ИМ системы S и
определяют пути движения транзактов между объектами аппа-
аппаратной категории. Практически все изменения состояний ИМ
(события) системы S происходят в результате входа транзактов в
блоки и выполнения блоками своих функций.
Основные функции блоков следующие:
— создание (генерация) и уничтожение транзактов;
— изменение числовых атрибутов объектов;
— задержка транзакта на определенный интервал времени;
— изменение маршрута движения транзакта и др.
Проиллюстрируем эти функции на простом примере.
Пример. Блок, "создающий" транзакты в модели, обеспе-
обеспечивает поступление заявок в СМО через определенные интервалы
времени. Занятие или освобождение заявкой канала обслужива-
обслуживания (или места в накопителе) приводит к изменению состояния
канала (накопителя). В модели это осуществляется с помощью
изменения СЧА объекта GPSS, описывающего состояние канала
обслуживания (накопителя). В случае занятости одного из кана-
каналов СМО заявка может быть направлена на другой канал. Для
этого в модели используется блок изменения маршрута движения
транзакта. Блок, осуществляющий задержку транзакта, имитиру-
имитирует процесс обслуживания заявки в течение определенного време-
времени. Выход обслуженной (или потерянной по каким-либо причи-
причинам) заявки из СМО в модели имитируется с помощью блока
уничтожения транзактов.
Объекты аппаратной категории служат для описания еди-
единиц оборудования СС. Воздействуя на эти объекты, транзакты
могут изменять их состояния и влиять на движение других тран-
транзактов. „
Устройства описывают оборудование, которое в любой
момент времени может быть занято только одним транзактом
(одноканальные СМО): обрабатывающий центр, терминал, цен-
центральный процессор, АЦПУ, кассир и т.д., а также оборудование,
188
на котором обслуживание одной заявки может быть прервано
поступлением другой заявки (например, с более высоким приори-
приоритетом).
Памяти (многоканальные устройства) описывают оборудо-
оборудование, которое может использоваться несколькими транзактами
одновременно (многоканальные СМО): оперативную память ЭВМ,
бункер-накопитель в ГПС, стоянки автомобилей и т.д.).
Логические ключи используются для блокировки или изме-
изменения движения транзактов в зависимости от ранее наступивших
в ИМ событий.
Объекты вычислительной категории описывают связи ме-
между элементами СС, задаваемые с помощью аналитических или
логических соотношений. Они могут служить для задания веро-
вероятностных законов распределения случайных величин в ИМ; для
численного или логического описания условий, определяющих
движение транзактов.
Статистические объекты обеспечивают вычисление и
представление в стандартном виде для показателей эффективно-
эффективности функционирования СС: средних значений, стандартных от-
отклонений, эмпирических функций распределения и т.п.
Запоминающие объекты, служат для задания условий моде-
моделирования, хранения, накопления и обработки информации, по-
получение которой не предусмотрено стандартными средствами
GPSS.
Объекты группирующей категории содержат информацию о
транзактах, находящихся в модели. Продвигаясь по модели,
транзакты, имитирующие заявки на обслуживание, могут приво-
приводить к наступлению таких событий, как: поступление заявки в
СМО; занятие (освобождение) места в накопителе; занятие
(освобождение) канала обслуживания; прерывание обслуживания
заявки с более низким приоритетом; совпадение значений опреде-
определенных числовых атрибутов двух и более транзактов, называемых
синхронизируемыми и т.п. При этом соответствующие транзакты
помещаются в один из пяти списков: список текущих (время на-
наступления меньше либо равно текущему модельному времени)
или будущих (время наступления больше текущего модельного
времени) событий; список прерываний (транзакты, обслуживание
которых прервано); список синхронизируемых транзактов
(находящихся в состоянии сравнения); список пользователя
(транзакты, удаленные программистом из списка текущих собы-
событий).
В программе на GPSS для описания объектов используются
операторы и карты описания. Термин "карта описания" тради-
традиционно используется в GPSS для обозначения невыполняемого
оператора. На этапе разработки логической структуры модели
189
можно использовать графические обозначения объектов, при этом
модель в целом представляется в виде блок-диаграммы. Подробно
этот способ описан в [4] и в настоящем пособии из-за ограничен-
ограниченности объема не излагается.
Основой GPSS являются написанные на языке ассемблера
программы, описывающие функционирование объектов GPSS, и
управляющая программа ("симулятор"), которая:
— обеспечивает продвижение транзактов по заданным про-
программистом маршрутам и помещение транзактов в списки;
— имитирует в соответствии с заданными законами распре-
распределения моменты наступления событий в модели и осуществляет
обработку событий в хронологической последовательности;
— организует изменение модельного времени;
— осуществляет сбор, обработку и выдачу результатов ими-
имитационных экспериментов в определенном стандартном виде.
При разработке ИМ СС с помощью универсального языка
программирования (см. раздел 2.5) все эти автоматизированные в
GPSS действия должны быть реализованы в модели самим про-
программистом, что существенно усложняет ИМ и увеличивает время
ее разработки.
Особенности языка. Компилятор GPSS относится к компи-
компиляторам интерпретационного типа. Моделирующая программа на
языке GPSS в операторной записи преобразуется компилятором
сначала в ассемблерный, а затем в загрузочный код. При этом
операторы и карты описания объектов GPSS заменяются соответ-
соответствующими ассемблер-программами.
Язык GPSS имеет ограниченные вычислительные возможно-
возможности: отсутствуют стандартные функции типа sin, In, exp и т.п.;
дробные части результатов арифметических операций отбрасыва-
отбрасываются; значения временных характеристик (например, среднего
времени поступления и обслуживания транзактов) задаются в це-
целых числах. С этой целью используется соответствующая единица
модельного времени. Выбор единицы модельного времени опреде-
определяется также физическим содержанием моделируемой системы и
целью исследования. Например, если моделируется процесс
функционирования ЭВМ в течение суток и в качестве единицы
модельного времени принимается минута, то время между посту-
поступлениями заданий и время выполнения заданий в ЭВМ должны
представляться целым числом минут. В противном случае выби-
выбирается более мелкая единица времени, например, секунда.
Правила записи операторов и карт описания. Приведем
пример операторной записи на языке GPSS модели вычислитель-
вычислительной системы (ВС), содержательное описание которой приведено в
190
разделе 2.5. Напомним, что данная ВС описывается одноканаль-
ной СМО с ограниченной очередью. Полагается, что задание
пользователя занимает один из 10 блоков оперативной памяти
ВС. Модельное время (измеренное в минутах) между последова-
последовательными поступлениями заданий, а также время выполнения
заданий распределено равномерно на интервалах [2, 6], [1, 7] со-
соответственно. Моделируется прохождение в модели 100 заданий.
Пример.
* МОДЕЛЬ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ
SIMULATE УПРАВЛЯЮЩАЯ КАРТА
QTII QTABLE ТИ,0,20,15 КАРТА ОПИСАНИЯ ТАБЛИЦЫ
РАМ STORAGE 10 КАРТА ОПИСАНИЯ ПАМЯТИ
* ОПЕРАТОРЫ ОПИСАНИЯ ОБЪЕКТОВ (БЛОКОВ)
GENERATE 4,2 МОДЕЛИРОВАНИЕ ПОТОКА ЗАДАНИИ
QUEUE TII ФИКСАЦИЯ МОМЕНТА ПОСТАНОВКИ В
ОЧЕРЕДЬ
ENTER РАМ ЗАНЯТИЕ БЛОКА ПАМЯТИ ЗАДАНИЕМ
DEPART TII ФИКСАЦИЯ МОМЕНТА ВЫХОДА ИЗ
ОЧЕРЕДИ
SEIZE CPU1 ЗАНЯТИЕ ПРОЦЕССОРА
ADVANCE 4,3 ЗАДЕРЖКА ЗАДАНИЯ НА ВРЕМЯ
ОБСЛУЖИВАНИЯ
RELEASE CPU1 ОСВОБОЖДЕНИЕ ПРОЦЕССОРА
LEAVE РАМ ОСВОБОЖДЕНИЕ БЛОКА ПАМЯТИ
TERMINATE 1 УДАЛЕНИЕ ЗАДАНИЯ ИЗ СИСТЕМЫ
* УПРАВЛЯЮЩИЕ КАРТЫ
START 100
END
Запись операторов и карт, как видно из примера, имеет
единую форму и состоит из: поля метки для записи символиче-
символического адреса (имени) блока, объекта (в картах описания поле мет-
метки используется для задания имен или номеров описываемых
объектов); поля операции для записи типа блока, объекта, управ-
управляющей карты; поля операндов, включающего от 0 до 9 операн-
операндов, разделенных запятыми и служащими для задания информа-
информации, необходимой для выполнения операций.
При изучении операторов и карт описания в дальнейшем
операнды удобно обозначать в порядке записи буквами
А, В, С Я, /.
При записи операторов и карт можно использовать фикси-
фиксированный формат и свободный формат. Поле записи состоит из
71 колонки. При фиксированном формате все поля начинаются
в определенных колонках: поле метки-колонки 2-6, поле опера-
операции — 8-18, поле операндов — 19-71. Символ "*" в первой ко-
колонке обозначает строку-комментарий. Комментарии могут поме-
помещаться также в записи операторов и карт после первого пробела в
поле операндов.
191
Более удобной является запись в свободном формате, для
которого должны выполняться правила: 1) поле метки начинает-
начинается с первой колонки; если в первой колонке стоит символ "'•¦'", то
вся строка воспринимается как комментарий, если колонка пуста,
то это воспринимается как отсутствие метки;
2) поля в записи отделяются друг от друга не менее чем од-
одним пробелом; если в операторе (карте) нет метки, то поле опера-
операции может начинаться со второй колонки; первый пробел в поле
операндов — начало комментария;
3) если в операторе (карте) нет ни одного операнда, то ком-
комментарии должны начинаться либо с колонки 21, либо с символа
"@"; пропущенные операнды в середине записи замещаются запя-
запятыми.
4) некоторые типы блоков могут иметь расширенное поле
операции.
Стандартные числовые атрибуты. Различают системные
числовые атрибуты и стандартные числовые атрибуты объектов
(СЧА). Системные числовые атрибуты (см. табл.П. 1) характери-
характеризуют процесс моделирования в целом. СЧА объектов характери-
характеризуют состояние объектов в текущий момент модельного времени.
Каждый объект имеет свой набор СЧА. Все числовые атрибуты
имеют символические имена. Имя СЧА включает мнемоническое
обозначение, задающее тип атрибута (для СЧА объектов эти обо-
обозначения, совпадают с мнемоническими обозначениями объектов,
см. табл. 7.3), и порядковый номер объекта в модели либо симво-
символическое имя объекта. Объекты всех типов, встречающиеся в мо-
модели, в том числе и объекты с символическими именами, кроме
того, нумеруются управляющей программой автономно для каж-
каждого типа в порядке встречаемости в модели.
Основными СЧА транзакта являются параметры и при-
приоритет транзакта. Каждый транзакт может иметь от 0 до 1020
параметров одного из четырех форматов (см. табл.П.2). В зависи-
зависимости от формата параметры могут иметь следующие имена: PFi,
PHi, PBi, PLi (где i — номер параметра, использование символи-
символического имени для параметра недопустимо). Выбор количества и
назначения параметров определяются пользователем. Например,
при моделировании сети передачи данных программист может
резервировать первый параметр для задания длины сообщения,
второй — для номера источника (терминала), выдавшего это со-
сообщение, и т.д. В модели могут присутствовать транзакты,
имеющие различный приоритет (от 0 до 127). Если два транзакта
соперничают в занятии одного устройства, то управляющая про-
программа отдает предпочтение транзакту с более высоким приорите-
приоритетом. Транзакты с одинаковым приоритетом обрабатываются в
192
порядке поступления. СЧА транзакта, характеризующий его при-
приоритет, обозначается PR.
У каждого блока имеется два СЧА: Wi — номер транзакта,
находящегося в блоке с номером i в текущий момент модельного
времени; Ni — общее количество транзактов, поступивших в i-й
блок в течение одного прогона ИМ.
Системные и стандартные числовые атрибуты описаны в
таблицах П.1 и П.2 соответственно.
Упражнение. Используя таблицу П.2, написать примеры
СЧА для различных объектов GPSS.
Символические имена и адресация. Символические имена
объектов СЧА, а также метки блоков, включают от трех до пяти
символов. Первые три символа обязательно должны быть буква-
буквами, два последних могут быть как буквами, так и цифрами. Сим-
Символическое имя СЧА отделяется от его мнемонического обозначе-
обозначения символом "$".
В примере программы из п. 7.2.1 использовались символи-
символические имена QTII и РАМ (имя объекта типа "таблица" и
"память" соответственно), CPU1 (имя объекта типа "устройство").
Другие примеры: ХН5, XF$TERM — значения соответственно
ячейки памяти 5 форматом "полуслово" и ячейки памяти форма-
форматом "слово" с именем TERM; Ql, Q$STEK — текущая длина со-
соответственно очереди 1 и очереди STEK; F$STAN — текущее со-
состояние устройства STAN; VI, BV$KOD — значения
соответственно арифметической переменной с номером 1 и булев-
булевской переменной с именем KOD.
7.2.2. Организация потоков заявок на обслуживание
Создание, задержка и уничтожение транзактов. К дан-
данной группе относятся операторы GENERATE, ADVANCE и
TERMINATE. Оператор GENERATE служит для создания
(генерации) транзактов в ИМ с заданными законами распределе-
распределения интервалов поступления и имеет вид:
GENERATE A,B,C,D,E,F,G,H,I.
Операнды А, В I указывают следующие характеристи-
характеристики входного потока (если какие-либо операнды отсутствуют, то
им по умолчанию присваиваются стандартные значения):
А — среднее время поступления транзактов (по умолча-
умолчанию — 0);
В — модификатор среднего времени @);
С — время задержки первого транзакта @);
D — количество создаваемых блоком транзактов (оо);
193
Е — приоритет транзактов @);
F, ..., I — количество и формат параметров транзактов A2
параметров форматом "полуслово").
Если в поле F записан ", то у транзактов нет параметров.
Примеры:
а) GENERATE 10,2,1000,,4
б) GENERATE 100,FN$EXPON,,100,,5PB
а) время поступления транзактов распределено равномерно
на интервале [8, 12] (или 10 ± 2); первый транзакт будет создан в
момент времени, равный 1000 единиц; всем транзактам присваи-
присваивается приоритет 4, и все они имеют 12 параметров форматом
"полуслово";
б) время поступления транзактов распределено экспоненци-
экспоненциально со средним значением 100; генерируется только 100 тран-
транзактов с нулевым приоритетом; каждый транзакт имеет по 5 па-
параметров форматом "байт".
Для задержки транзактов на заданное время используется
оператор ADVANCE:
ADVANCE А, В
Операнды А и В аналогичны соответствующим операндам в
операторе GENERATE.
Примеры:
ADVANCE 100,FN$EXPON
ADVANCE 10,2
Оператор TERMINATE уничтожает транзакты (удаляет из
ИМ) и имеет вид:
TERMINATE A
Операнд А (по умолчанию — 0) указывает число, на которое
уменьшается содержимое счетчика числа завершений, значение
которого задается в управляющей карте START в поле операндов
А (см. далее).
Примеры:
а) TERMINATE
б) TERMINATE I
а) транзакт уничтожается, счетчик числа завершений не
изменяется;
б) в отличие от а) счетчик числа завершений уменьшается
на 1.
194
Изменение значений параметров и приоритета тран-
зактов. При создании транзактов в блоке GENERATE, как отме-
отмечалось выше, может быть задано количество и формат парамет-
параметров, а также приоритет транзактов. В момент выхода транзактов
из данного блока все их параметры имеют нулевые значения. В
дальнейшем при продвижении транзактов по ИМ их параметры и
приоритет могут изменяться с помощью операторов ASSIGN и
PRIORITY. Блок ASSIGN является основным средством для зада-
задания значений параметров транзактов:
ASSIGN A,B,C,D
А — номер изменяемого параметра с указанием режима из-
изменения: накопление (+), вычитание ( -), замещение
(отсутствуют какие-либо символы);
В — целое число, изменяющее (в соответствии с заданным
режимом) значение параметра;
С — номер функции-модификатора значения, указанного в
поле В (если поле С не задано, модификация не производится);
D — формат изменяемого параметра: PF, PH, PB, PL (по
умолчанию — РН).
Если параметр, записанный в поле А, является параметром
с "плавающей точкой" (типа PL), то в поле В можно записывать и
целые, и дробные значения.
Примеры:
а)
б)
в)
г)
Д)
ASSIGN
ASSIGN
ASSIGN
ASSIGN
ASSIGN
3+,
3—,
1-7
4,2
5,2
5,
5,
,3
,1
.5
,PB
,PB
,PF
„PL
а)-б) — изменение значения на 5 единиц параметра 3 фор-
форматом "байт" в режиме накопления и вычитания соответственно;
в) — задание значений 3 параметрам 1-7 форматом
"полуслово";
г) — использование функции-модификатора FN1;
д) — задание дробного значения параметру форматом
"плавающая точка".
Для изменения приоритета транзакта используется оператор
PRIORITY A
Здесь А — значение присваиваемого транзакту приоритета
(от 0 до 127 включительно).
Пример.
PRIORITY 3 ПРИСВОИТЬ ТРАНЗАКТУ ПРИОРИТЕТ 3
195
7.2.3. Описание и использование устройств, памятей и ключей
Рассмотрим следующие операторы, служащие для описания
и использования: устройств — SEIZE, RELEASE, PREEMPT,
RETURN; памятей — ENTER, LEAVE; логических ключей —
LOGIC.
Объект GPSS типа "устройство" является аналогом канала
обслуживания в СМО. Занятие канала (устройства) заявкой на
обслуживание (транзактом) осуществляется с помощью оператора
SEIZE, освобождение по окончании обслуживания — с помощью
оператора RELEASE:
SEIZE А
RELEASE A
где А — номер (имя) занимаемого (освобождаемого) транзактом
устройства. Устройство занимается и освобождается в момент
входа транзакта в соответствующий блок. Освобождение устрой-
устройства осуществляется только тем транзактом, который данное уст-
устройство занимало. Транзакты, заставшие устройство занятым,
ждут его освобождения и обслуживаются в порядке поступления
(если имеют одинаковый приоритет).
Пример.
SEIZE ACPU
ADVANCE 5.2
RELEASE ACPU
ЗАНЯТИЕ УСТРОЙСТВА
ЗАДЕРЖКА ОТ 3 ДО 7 ЕДИНИЦ ВРЕМЕНИ
ОСВОБОЖДЕНИЕ УСТРОЙСТВА
Блок PREEMPT приостанавливает обслуживание транзакта,
ранее занявшего устройство, и дает возможность захватить уст-
устройство прерывающему транзакту. Блок описывается оператором:
PREEMPT A,B,C,D,E
Здесь А — номер (имя) устройства, работа которого преры-
прерывается входящим в блок транзактом;
В — режим прерывания (PR — прерывание по приоритету);
С — адрес для прерванного транзакта (может отсутствовать);
D — параметр прерванного транзакта, в который заносится
остаток времени обслуживания;
Е — если в поле Е стоит "RE", то транзакт, обслуживание
которого было прервано, не претендует на повторный захват дан-
данного устройства для обслуживания.
Прерванный транзакт (если отсутствует адрес в поле С)
ожидает окончания прерывания устройства и возвращения на
устройство для обслуживания. Если таковых таранзактов не-
несколько, то они возвращаются на устройство в порядке прерыва-
прерываний (либо приоритетов).
196
Транзакт, вошедший в блок RETURN, снимает прерывание
на устройстве, вызванное вхождением данного транзакта в блок
PREEMPT:
RETURN A
Здесь А — номер (имя) устройства. Заметим, что блоки
PREEMPT и RETURN часто применяются, например, для модели-
моделирования циклического обращения к памяти ЭВМ при вводе-
выводе.
Памяти описывают оборудование, обслуживающее одновре-
одновременно несколько заявок, т.е. многоканальные СМО. Для задания
объема памяти используется карта описания STORAGE, имеющая
два варианта записи.
Вариант 1.
n STORAGE A
Здесь п — номер (имя) памяти; А — объем памяти.
Примеры:
1 STORAGE 100 ПАМЯТЬ 1 ОБЪЕМА 100 ЕД.
РАМ STORAGE 10 ПАМЯТЬ РАМ ОБЪЕМА 10 ЕД.
Вариант 2 используется для одновременного описания не-
нескольких памятей, например:
STORAGE S5-S10.90 ПАМЯТИ 5-10 ОБЪЕМОМ ПО 90 ЕД.
STORAGE S$SKLDl,10/S$SKLD2,20
Последняя карта описывает две памяти с символическими
именами SKLD1 A0 ЕД.) и SKLD2 B0 ЕД.).
Карты описания обычно помещаются в начале программы
перед первым оператором GENERATE.
Изменение состояния памяти в ИМ осуществляется с помо-
помощью операторов занятия и освобождения памяти ENTER и
LEAVE (поле операндов для них идентично):
ENTER
LEAVE
А, В
А, В
А — номер (имя) памяти;
В — число единиц памяти, занимаемых (освобождаемых)
транзактом при входе в блоки (по умолчанию — 1).
При использовании данных операторов следует помнить, что
если в памяти нет достаточного количества свободных единиц, то
транзакт не может войти в блок и задерживается до освобождения
достаточного числа единиц памяти. Не обязательно освобождается
такое же число единиц памяти, какое было занято. Память может
освобождаться и транзактом, ее ранее не занимавшим (в отличие
от устройств). Однако в сумме число освобождаемых единиц не
197
должно превосходить число занимаемых транзактами единиц па-
памяти.
Пример.
Моделирование прерываний по вводу-выводу на ЭВМ.
CORE STORAGE 40 ОПИСАНИЕ ПАМЯТИ ОБЪЕМОМ В 40 ЕДИНИЦ
ENTER CORE.2 ЗАНЯТИЕ ДВУХ ЕДИНИЦ ПАМЯТИ
PREEMPT CPU ПРЕРЫВАНИЕ ПРОЦЕССОРА
ADVANCE 10 ПРОЦЕСС ЗАПИСИ ДАННЫХ
RETURN CPU КОНЕЦ ПРЕРЫВАНИЯ
LEAVE CORE,2 ОСВОБОЖДЕНИЕ ПАМЯТИ
Блок LOGIC используется для изменения состояния логиче-
логических ключей, имеет расширенное поле операции за счет допол-
дополнительного символа, указывающего тип изменения: "S" — уста-
установка ключа, "R" — сброс ключа, "I" — инвертирование ключа
(замена состояния на противоположное).
Пример.
УСТАНОВИТЬ КЛЮЧ LOG4
СБРОСИТЬ КЛЮЧ SWCH
ИНТЕРВИРОВАТЬ КЛЮЧ KL1
Состояния ключей могут быть запрошены в любом месте
модели, например, с помощью оператора GATE (см. раздел 7.2.4).
7.2.4 Изменение маршрутов движения транзактов
Основными операторами группы являются: GATE,
TRANSFER, TEST, LOOP. Транзакты, входящие в соответствую-
соответствующие блоки, далее продвигаются не к следующему блоку, а к бло-
блокам, адрес которых определяется либо указывается в операторах.
Операторы GATE и TEST имеют расширенное поле операции.
Блок GATE разрешает движение транзактам (в основном
либо альтернативном направлениях) при определенном состоянии
оборудования: устройств, памятей, ключей. Для описания состоя-
состояний используются мнемонические обозначения, логических ука-
указателей, приведенные в табл.П.4.
Существуют 2 режима работы блока GATE: режим отказа
(условного входа) и режим перехода (безусловного входа). Опера-
Оператор, описывающий блок GATE, имеет вид:
LOGIC S
LOGIC R
LOGIC I
LOG4
SWCH
KLl
GATE XXX
А,В
Здесь XXX — мнемоническое обозначение из таблицы П.4;
А — номер устройства, памяти, ключа;
В — в режиме перехода — альтернативный адрес.
При работе в режиме отказа блок GATE блокирует (не про-
пропускает) транзакт, если соответствующий объект не находится в
198
требуемом состоянии. В подобной ситуации в режиме перехода
транзакт направляется по альтерантивному адресу.
Пример.
GATE SF 16 ТРАНЗАКТ БЛОКИРУЕТСЯ ДО ЗАПОЛНЕНИЯ ПА
МЯТИ 16
GATE LS 1 ТРАНЗАКТ БЛОКИРУЕТСЯ ДО УСТАНОВКИ КЛЮ
ЧА 1
GATE FNU 7 ТРАНЗАКТ БЛОКИРУЕТСЯ ПОКА УСТРОЙСТВО 7
ЗАНЯТО
GATE FNI 21.ALTR ЕСЛИ УСТРОЙСТВО 21 ПРЕРВАНО, ПЕРЕЙТИ К
ALTR
Оператор TRANSFER имеет вид:
TRANSFER A,B,C
Существуют 4 следующие основные формы оператора.
1. Безусловный переход:
TRANSFER ,B
здесь В — имя (адрес) блока, к которому направляется транзакт
(операнд А отсутствует).
2. Условный переход с одним альтернативным адресом
(режим "BOTH"):
TRANSFER BOTH,B,C
где BOTH — тип режима;
В — имя (адрес) блока, к которому направляется транзакт
(основной адрес);.
С — альтернативный адрес (при невозможности войти в блок
с адресом В).
3. Условный переход с многими альтернативами (режим
"ALL"):
TRANSFER ALL,B,C,D
где ALL — тип режима;
В — первый адрес;
С — последний адрес;
D — константа М, используемая для вычисления возмож-
возможных адресов движения транзактов: адрес в поле В, затем — В+М,
В+2М, ..., адрес в поле С.
4. Статистический переход (переход с заданной вероятно-
вероятностью):
TRANSFER A,B,C
здесь А — вероятность перехода транзакта по адресу С;
В — альтернативный адрес.
199
В GPSS удобно использовать так называемую относительную
адресацию, т.е. обращение к какому-либо блоку, не имеющему
метки, осуществляется с помощью его относительного адреса. Для
примера рассмотрим три варианта записи блока безусловного пе-
перехода.
Примеры.
1. TRANSFER ,CPU2
TRANSFER ,*+3
TRANSFER ,CPUl+2
Первый оператор (прямая адресация) направляет транзакт к
блоку с именем CPU2. Два остальных оператора — примеры отно-
относительной адресации. Второй оператор посылает транзакт к треть-
третьему по счету блоку после рассматриваемого блока. Блок, к кото-
которому направляется транзакт последним оператором, является
вторым по счету от блока СРШ.
2. a) TRANSFER
б) TRANSFER
BOTH,KASS1,KASS2
BOTH,,TWO
В случае а) транзакт первоначально направляется к блоку с
отметкой KASS1. При невозможности войтив этот блок транзакт
направляется к блоку с меткой KASS2. В случае б) транзакт дела-
делает попытку войти в следующий блок, если ему это не удается, он
направляется к блоку с именем TWO.
TRANSFER
GATE LS
ADVANCE
TRANSFER
GATE LR
ADVANCE
TRANSFER
GATELS
ADVANCE
ALL,FIRST,LAST,3
AAA
5
.LAST+2
BBB
2
, LAST+2
CCC
3,1
3.
FIRST
LAST
Транзакт последовательно пытается войти в следующие бло-
блоки: FIRST, FIRST+3, FIRST+6 (LAST).
Упражнение. Проанализировать работу участка программы,
приведенного в примере 3.
Следует обдуманно использовать оператор TRANSFER, по-
поскольку в случае, когда транзакт не может продвинуться ни по
одному из адресов, моделирующая программа направляет тран-
закты по каждому из адресов при каждом изменении модельного
времени, что может привести к большим затратам времени моде-
моделирования.
4. TRANSFER .370.THIS.THAT
200
С вероятностью 0,37 транзакт перейдет к блоку THAT C7%
транзактов), а с вероятностью 0,63 — к блоку THIS F3% тран-
зактов).
Оператор TEST определяет направление движения транзакта
в зависимости от выполнения условия, заданного алгебраическим
соотношением. Оператор имеет расширенное поле операции,
включающее общепринятые обозначения логических операций: L,
LE, Е, NE, G, GE
TEST XX
А,В,С
здесь XX — знак логической операции (L, G, E, LE, GE, NE);
А и В — сравниваемые СЧА;
С — альтернативный адрес.
Если соотношение в операторе TEST выполняется, то тран-
транзакт переходит к следующему блоку, в противном случае возмож-
возможны два варианта: операнд С опущен — транзакт задерживается в
блоке TEST до выполнения условия; операнд С задан — транзакт
направляется по адресу С (первый вариант менее предпочтитель-
предпочтительный, так как может приводить к большим затратам машинного
времени, требуемого на проверку блокирующего условия).
Пример.
а)
б)
в)
TEST
TEST
TEST
LE
NE
GE
Q1.10
S1.PF2
PF1.PF2
,CPU
Действие операторов:
а) транзакт задерживается, если длина очереди 1 больше 10;
б) транзакт задерживается, если текущее содержимое памя-
памяти 1 равно значению 2-го параметра транзакта форматом "слово";
в) транзакт переходит к следующему блоку, если PF1 > PF2,
либо, в противном случае, направляется к блоку CPU.
Оператор LOOP служит для организации циклов в ИМ:
LOOP
А,В
А — номер параметра транзакта, используемого в качестве
счетчика цикла с указанием формата: "слово" (PF), "полуслово"
(РН), "байт"(РВ). В — имя блока, являющегося начальным в по-
повторяющейся группе блоков.
При каждом вхождении транзакта в блок LOOP значение
счетчика уменьшается на 1. Если оно становится равным нулю,
транзакт переходит к следующему блоку. Допускается изменение
внутри цикла параметра-счетчика.
Пример.
ASSIGN 5,4.,PH
WAIT ADVANCE 15,3
LOOP PH5.WAIT
201
Для транзакта, вошедшего в блок ASSIGN, значение 5-го
параметра форматом "полуслово" положено равным 4, внутри
цикла этот параметр не меняется, следовательно, этот транзакт
еще 3 раза возвратится к началу цикла — блоку WAIT.
7.2.5. Организация вычислений и накопления результатов
моделирования
Переменные и функции. Связи между элементами модули-
модулируемой системы, выражаемые математическими соотношениями,
на языке GPSS описываются с помощью переменных
(арифметических и булевских) и функций (непрерывных и дис-
дискретных).*
Арифметическая переменная (АП) — это арифметическое
выражение, включающее в себя различные СЧА (в том числе и
другие переменные) и знаки операций: "+", " —", "*", "/", "@"
(деление по модулю), а также скобки "()". Операции в АП выпол-
выполняются в традиционной последовательности. Результат деления
на 0 есть 0. АП бывают с фиксированной точкой (результат каж-
каждой операции, входящей в переменную, берется с точностью до
целых (дробная часть отбрасывается) и плавающей точкой
(дробная часть отбрасывается только у конечного результата).
Карта описания АП помещается в начале программы и име-
имеет вид:
VARIABLE A
FVARIABLE А
ФИКСИРОВАННАЯ ТОЧКА
ПЛАВАЮЩАЯ ТОЧКА
Здесь п — номер переменной; А — арифметическое выраже-
выражение.
АП с фиксированной и плавающей точкой имеют общую
(сквозную) нумерацию и одинаковое мнемоническое обозначение
Vn.
Пример.
1 FVARIABLE 10A1/3) РЕЗУЛЬТАТ РАВЕН 36
2 VARIABLE 10A1/3) РЕЗУЛЬТАТ РАВЕН 30
10 VARIABLE Q9+3-PHl*V5
В последнем примере переменная V10 (см. табл.П.2) вычис-
вычисляется добавлением к длине очереди 9 (Q9) константы 3 и вычи-
вычитанием значения параметра 1 (РН1) транзакта, умноженного на
вычисленное значение переменной 5(V5).
1 Существует 5 типов функций. В настоящем пособии рассматри-
паются 2 основных типа.
202
Булевские переменные используются для проверки логиче-
логических условий. Если заданные логические условия удовлетворяют-
удовлетворяются, значение булевской переменной равно 1, в противном слу-
случае — 0. В булевских переменных употребляются три типа
операций: логические, условные и булевские.
Для обозначения логических операций используются мне-
мнемонические обозначения (где j — номер объекта):
FNIj — устройство не прервано;
FIj — устройство прервано;
FUj — устройство занято;
FNUj — устройство не занято;
Fj — устройство занято либо прервано;
SFj — память заполнена;
SNFj — память не заполнена;
SEj — память пуста;
SNEj — память не пуста;
LSj (LRj) — логический ключ установлен (сброшен).
Условные операции имеют традиционные обозначения: G, L,
Е, NE, LE, GE. При использовании в булевской переменной дан-
данные символы заключаются в апострофы, например, 'L'. К булев-
булевским операциям относятся операции логического сложения и ум-
умножения "+"(ИЛИ), "*"(И). Приведем примеры карт описания
булевских переменных.
Примеры:
3 BVARIABLE SF2 ВУЗ РАВНА 1, ЕСЛИ ПАМЯТЬ 2 ЗАПОЛНЕНА
10 BVARIABLE V4'L-3 BV10 РАВНА 1. ЕСЛИ V4<3
6 BVARIABLE (V1'G'3)*(FNU1 + LR7)
В последнем примере BV6 равна 1, если VI > 3 при условии,
что устройство 1 свободно или логический переключатель LR7
включен.
Язык GPSS не располагает средствами для проведения
сложных аналитических расчетов: (отсутствуют стандартные
функции типа sin exp, In и т.п.); результаты операций, как пра-
правило берутся с точностью до целых. Поэтому для того, чтобы
иметь результаты аналитических вычислений в процессе модели-
моделирования, необходимо протабулировать требуемую аналитическую
функцию. Результаты табулирования могут быть введены в мо-
модель картой FUNCTION.
Карта описания функции имеет вид:
FUNCTION
А,В
здесь п. — номер (имя) функции; А — аргумент функции, обычно
СЧА; в поле В указывается тип функции (Cm — непрерывная,
Dm — дискретная, где m — число точек табуляции).
203
Каждая карта FUNCTION сопровождается картами, содер-
содержащими последовательности пар значений (Xh Yt) (где Xh Yt —
значения аргумента и функции соответственно для i-й точки та-
табуляции). При написании этих карт необходимо соблюдать пра-
правила:
1) запись начинается с 1-й колонки, но не продолжается да-
далее 71-й;
2) координаты точки Xt и У/ разделяют запятой, а пары ко-
координат наклонной чертой "/";
3) координаты одной точки должны быть заданы на одной
карте;
4) значения Xt располагаются в порядке возрастания;
5) значения Xh Yt могут быть нецелыми числами:
Xh Yl е [-КГ75, 1075].
Пример.
Пусть функция у = f(?,) (где ?, — случайная величина, рав-
равномерно распределенная на [0, 1]), задана в m = 5 точках в виде
табл. 7.4.
Таблица 7.4
xt
Yt
0
0
0,5
26,0
0,83
40,8
0,89
6,08
1,0
5,0
Опишем данную табличную функцию с помощью функции-
объекта GPSS:
a)l FUNCTION RN1.D5 ДИСКРЕТНАЯ ФУНКЦИЯ
0,0/0.5,26.0/0.83,40.8/0.89,6.08/0.999,5.0 КАРТА ЗНАЧЕНИЙ ФУНКЦИИ
6I FUNCTION RN1,C5 НЕПРЕРЫВНАЯ ФУНКЦИЯ
0,0/0.5,26.0/0.83,40.8/0.89,6.08/0.999,5.0 КАРТА ЗНАЧЕНИЙ ФУНКЦИИ
Здесь RN1 — системный числовой атрибут, при обращении
к которому вычисляется реализация случайной величины, равно-
равномерно распределенной на [0, 0,999999], т.е. имеет смысл датчика
базовой случайной величины (БСВ). Всего имеется 8 датчиков
БСВ: RN1, RN2, ..., RN8, генерирующих идентичные случайные
последовательности.
Исследуем значения функции FN1 в случаях а) и б). Пусть
X — реализация БСВ, полученная с помощью датчика RN1, ис-
используемого в карте описания функции FN1, а У — соответст-
соответствующее значение функции FN1.
а) дискретный случай:
0, если X = 0
36,0, если Х@, 0,5],
40,8, если Х@,5, 0,83],
6,08, если Х@,83, 0,89],
5,0, если Х@,89, 1];
204
б) в непрерывном случае каждому значению X соответствует
свое значение Y, полученное с помощью линейной интерполяции.
Моделирование случайных величин. Карты FUNCTION
могут использоваться для моделирования реализаций случайных
величин с произвольным (непрерывным или дискретным) законом
распределения. Описанный выше пример, в случае а) можно рас-
рассматривать как пример моделирования дискретной случайной ве-
величины, принимающей значения {26,0, 40,8, 6,08, 5,0} с вероят-
вероятностями {0,5, 0,33, 0,06, 0,11} соответственно (см. раздел 3.3).
Поясним принцип моделирования непрерывных случайных вели-
величин на примере экспоненциального распределения. Пусть: X —-
случайная величина с функцией распределения
F(x) = 1 - е"Хх, х > 0,
где X — параметр. Тогда в соответствии с методом обратной
функции
X = 1Д 1пA/A - ?)) = и№ ),
где (д — математическое ожидание случайной величины X, с, —
реализация БСВ.
Запишем оператор, создающий транзакты через случайные
интервалы времени, распределенные по экспоненциальному зако-
закону (ц = 100). Функцию /(¦) предварительно протабулируем для
т = 24 точек и опишем с помошью карт задания значений функ-
функции EXPON (табл. П.5). Создание транзактов осуществляется опе-
оператором:
GENERATE 100,FN$EXPON
Длина интервала времени поступления транзакта определя-
определяется умножением математического ожидания 100 на значение
функции FN$EXPON, вычисленное для некоторой реализации
БСВ RN1. Заметим, что если функция (например, FN$EXPON)
используется как модификатор в операторах GENERATE или
ADVANCE, то ее значения не округляются до целых, округляется
лишь конечный результат. В таблице П.6 приведены карта опи-
описания и карты задания значений функции FN$SNORM, исполь-
используемой для моделирования случайной величины, распределенной
по стандартному нормальному закону. Для моделирования интер-
интервалов поступления транзактов, распределенных по нормальному
закону с математическим ожиданием 10 и стандартным отклоне-
отклонением 3 служит фрагмент программы, приведенный в примере.
Пример.
SNORM FUNCTION RN1,C25
GNORM FVARIABLE 3*FN$SNORM+10
GENERATE VSGNORM
205
Сохранение и накопление значений в процессе моделиро-
моделирования. В процессе моделирования можно сохранять и накапли-
накапливать необходимые значения. Для этого используются ячейки па-
памяти SAVE VALUE.
Оператор, описывающий ячейки, имеет вид:
SAVEVALUE А,В,С
здесь А — номер (имя) ячейки или ячеек с указанием режима и
изменения содержимого ячейки (" + " — накопление, "—" — вычи-
вычитание, отсутствие этих символов — замещение);
В — число либо СЧА, используемые для изменения содер-
содержимого ячейки;
С — тип формата (X, XF или пробел — "слово"; Н, ХН —
"полуслово '; ХВ — "байт"; XL — "плавающая точка").
Упражнение. Проанализировать самостоятельно следующие
примеры:
SAVEVALUE
SAVEVALUE
SAVEVALUE
SAVEVALUE
SAVEVALUE
1 -,10
PROCE,PH2,XH
TIME,C1,XF
GROSS+,V$RSLT
NCM1-NOM5-,V10,H
7.2.6. Дополнительные возможности GPSS
Создание копий транзактов и синхронизация их движе-
движения. Часто возникают задачи моделирования параллельно проте-
каемых процессов, синхронизируемых в определенные моменты
времени.
Примером может служить производственный процесс, целью
которого является изготовление изделия, состоящего из несколь-
нескольких деталей. Прежде чем поступить к месту сборки изделия, де-
детали проходят обработку в соответствии с технологическими
маршрутами. Каждая деталь движется по своему маршруту неза-
независимо от других, но процесс сборки может начаться, когда все
комплектующие поступят на место сборки (т.е. будет осуществле-
осуществлена синхронизация движения деталей).
Для моделирования таких ситуаций в GPSS используются
семейства транзактов — множества транзактов, являющихся
копиями одного и того же исходного транзакта либо его копий.
Транзакты, принадлежащие одному семейству, могут быть син-
синхронизированы. Для создания копий, идентичных исходному
транзакту, используется оператор SPLIT, упрощенная форма ко-
которого имеет вид:
SPLIT A,B
206
здесь А — количество создаваемых копий;
В — адрес, по которому направляются копии.
Исходный транзакт поступает к следующему за блоком
SPLIT блоку.
Для объединения определенного числа транзактов одного
семейства используется оператор:
ASSEMBLE A
где А — число п объединяемых транзактов.
Первый из транзактов, принадлежащих некоторому семей-
семейству, вошедший в блок ASSEMBLE, задерживается до прихода в
блок п - 1 транзакта из данного семейства. После чего первый
транзакт переходит к следующему блоку, а оставшиеся п - 1
транзактов уничтожаются.
В одном блоке ASSEMBLE могут накапливаться транзакты
из разных семейств. Транзакты одного семейства могут накапли-
накапливаться одновременно в различных блоках ASSEMBLE.
Для синхронизации движения двух транзактов из одного
семейства используются два сопряженных блока MATCH, напри-
например:
ААА MATCH BBB
ВВВ MATCH ААА
В рассматриваемом примере транзакт, вошедший в блок с
меткой ААА, будет ожидать в этом блоке прихода члена того же
семейства в блок с меткой ВВВ.
Упражнение.
Проанализировать программу, моделирующую процесс изго-
изготовления изделия из двух деталей. Детали поступают с интерва-
интервалом C00 ± 50) единиц времени. Обработкой деталей занимаются
двое рабочих (один рабочий обрабатывает одну деталь). Процесс
обработки каждой из деталей включает по две операции. Для
первой детали время выполнения операций равно G0 ± 20),
B0 ± 10), для второй — F0 ± 30), C0 ± 20). После выполнения
первой операции рабочие производят сверку, время выполнения
которой пренебрежительно мало (полагается равным нулю). По
окончании обработки деталей третий рабочий производит сборку
готового изделия из двух деталей со временем E0 ± 20).
* ПОСТУПЛЕНИЕ ДЕТАЛЕЙ НА ОБРАБОТКУ
GENERATE 300,50
SPLIT l.MANB
* ОБРАБОТКА ПЕРВЫМ РАБОЧИМ ПЕРВОЙ ДЕТАЛИ
MAN A SEIZE 1
ADVANCE 70,20 ОПЕРАЦИЯ 1
МЕТ1 MATCH MET2 СВЕРКА
207
ADVANCE 20,10 ОПЕРАЦИЯ 2
RELEASE I
TRANSFER ,MANC
* ОБРАБОТКА ВТОРЫМ РАБОЧИМ ВТОРОЙ ДЕТАЛИ
MANB SEIZE 2
ADVANCE 60,30 ОПЕРАЦИЯ 1
МЕТ2 MATCH MET1 СВЕРКА
ADVANCE 30,20 ОПЕРАЦИЯ 2
RELEASE 2
¦ СБОРКА ИЗДЕЛИЯ ТРЕТЬИМ РАБОЧИМ
MANC ASSEMBLE 2
SEIZE 3
ADVANCE 50,20 СБОРКА
RELEASE 3
* ВЫХОД ГОТОВОГО ИЗДЕЛИЯ
TERMINATE
Выбор объектов, удовлетворяющих заданному условию.
Для определения количества объектов (из заданного множества
объектов), удовлетворяющих заданному условию, используется
блок COUNT. Номер первого из таких объектов может быть най-
найден с помощью блока SELECT.
Блок COUNT относится к блокам с расширенным полем
операции и имеет вид:
COUNT XXX A,B,C,D,E
Здесь в полях операндов задается следующая информация:
А — номер параметра с указанием формата (PF, РН, РВ),
используемого для организации счетчика числа объектов;
В, С — соответственно нижняя и верхняя границы диапазо-
диапазона изменения номеров объектов, для которых проверяется задан-
заданное условие;
D — СЧА, значение которого сравнивается со значением
СЧА объекта, указанного в поле Е;
Е — СЧА анализируемых объектов из табл.П.2.
Расширение поля операций может быть двух типов:
1) XXX — мнемонические обозначения логических услов-
условных операторов, приведенных для различных типов объектов
в П.4. В этом случае поля D, Е могут быть пустыми.
Пример.
COUNT SF
5РН,10,20
В результате работы данного оператора количество запол-
заполненных памятей из множества памятей с номерами от 10 до 20
будет занесено в пятый параметр формата "байт" транзакта.
2) XXX — указатель отношения L, LE, E, NE, G, GE. При
этом поля D и Е всегда должны быть заданы.
Пример.
COUNT LE 1PB,1,5,X1O,FC
208
На множестве устройств с номерами 1-5 подсчитывается ко-
количество устройств, у которых счетчик числа входов (FC) меньше
либо равен текущему значению ячейки 10 формата "слово". По-
Полученное число записывается в параметр 1 формата "байт", во-
вошедшего в блок транзакта.
Блок SELECT имеет вид:
SELECT XXX A,B,C,D,E,F
Назначение полей A,B,C,D,E аналогично блоку COUNT. По-
Поле F используется для записи альтернативного адреса, если задан-
заданному условию не удовлетворяет ни один из объектов указанного
множества.
Для записи расширенного поля операции наряду с вариан-
вариантами 1, 2 может использоваться следующий вариант:
3) XXX — ключевые слова MIN или МАХ, соответствующие
режимам поиска объекта с минимальным и максимальным значе-
значением указанного СЧА.
Работа со списками пользователя. В каждый момент мо-
модельного времени транзакты, находящиеся в имитационной моде-
модели, заносятся управляющей программой (симулятором) в один из
четырех основных типов списков:
— список текущих событий (например, транзакты, задер-
задержанные в блоках TRANSFER, TEST, GATE, а также при невоз-
невозможности войти в блоки SEIZE, ENTER);
— список будущих событий (транзакты, находящиеся в
блоках ADVANCE, GENERATE);
— список прерываний (транзакты, обслуживание которых
прервано в результате прохождения блоков SEIZE и PREEMPT);
— список синхронизации (транзакты, находящиеся в бло-
блоках MATCH, ASSEMBLE).
Данные списки являются недоступными для пользователя в
процессе функционирования имитационной модели. Содержимое
списков может быть распечатано по завершении моделирования
по особому запросу (через оператор START) или в случае обнару-
обнаружения ошибки выполнения программы.
В GPSS имеется еще один тип списков, доступных пользова-
пользователю в процессе имитационного моделирования и называемых,
вследствие этого, списками пользователя. Использование списков
пользователя обычно преследует две цели:
1) сокращение затрат машинного времени при обработке
очередей;
2) организация специальных дисциплин обслуживания
(например: первым пришел — последним обслужился; по убыва-
убыванию значений параметра транзакта).
209
Сокращение затрат машинного времени достигается за счет
временного удаления транзактов, находящихся в очереди, из спи-
списков текущих событий и помещения их в списки пользователя.
При этом транзакты оказываются во временно неактивном со-
состоянии. При изменении модельного времени управляющая про-
программа обращается только к первому транзакту в списке и про-
продвигает его при необходимости по указанному адресу. Если же
транзакты находятся в списке текущих событий, то тратится до-
дополнительное машинное время на анализ возможности продвиже-
продвижения для всех транзактов в данном списке.
Для помещения транзактов в список пользователя использу-
используется блок LINK, имеющий вид:
LINK
А,В.С
где поля операндов имеют следующее назначение:
А — номер (имя) списка пользователя;
В — режим упорядочивания списка пользователя
(дисциплина обслуживания), возможны следующие записи:
— FIFO — вошедший транзакт помещается в конец списка
("первым пришел — первым обслужился");
— LIFO — вошедший транзакт помещается в начало списка
("последним пришел — первым обслужился");
— номер параметра — транзакты располагаются в списке по
возрастанию значений указанного параметра (транзакт с мини-
минимальным значением параметра — первый в списке, а с макси-
максимальным — последний);
С — альтернативный адрес.
Применение поля С предусматривает использование индика-
индикатора списка пользователя ind, принимающего значения: 0 — если
транзакт входит без задержки в блок, адрес которого указан в по-
поле С, и на вход в данный блок не претендуют ранее поступившие
транзакты; 1 — в противном случае. Заметим, что начальное зна-
значение индикатора равно нулю.
Для удаления транзактов из списка пользователя предна-
предназначен блок UNLINK. Упрощенный вариант этого блока может
быть представлен в виде:
UNLINK
А,В,С
А — номер (имя) списка пользователя;
В — номер (метка) блока, к которому переходят удаляемые
транзакты;
С — число удаляемых транзактов (константа, СЧА или
ключевое слово ALL, означающее удаление всех транзактов).
Работу блоков LINK и UNLINK поясним на примере.
210
Пример.
GENERATE
QUEUE
LINK
CAN SEIZE
DEPART
ADVANCE
RELEASE
UNLINK
TERMINATE
1000,FN1
QUE1
CHAIN,FIFO,CAN
FAC1
QUE1
700,FN1
FAC1
CHAIN.CAN.l
Целью использования блоков LINK, UNLINK в приведенном
примере является уменьшение затрат машинного времени. Опи-
Опишем работу данных блоков. Так как блок LINK имеет альтерна-
альтернативный адрес, то при вхождении в него транзакта проверяется
состояние индикатора списка CHAIN. Если ind = 0 (например, для
первого транзакта), то транзакт направляется по альтернативному
адресу (к устройству FAC1) и полагается: ind = 1. Если ind = 1, то
транзакт, входящий в блок LINK, заносится в конец списка поль-
пользователя CHAIN, поскольку указан режим FIFO. Если при входе
транзакта в блок UNLINK список пользователя не пуст, то один
(первый) транзакт из списка CHAIN удаляется и направляется к
блоку с меткой CAN. Индикатор списка остается равным 1, так
как устройство FAC1 вновь занято. Если же в момент входа тран-
транзакта в блок UNLINK список CHAIN пуст, то полагается ind = 0.
Экономия машинного времени достигается за счет того, что
управляющая программа не просматривает все транзакты, ожи-
ожидающие обслуживания на устройстве FAC1, а без дополнительных
проверок направляет на обслуживание первый транзакт в списке
CHAIN.
Сбор статистики. Ряд числовых атрибутов, характери-
характеризующих функционирование моделируемой системы, а также от-
отдельных ее элементов, можно интерпретировать как показатели
эффективности (ПЭ). Вычисление ПЭ является важной составной
частью имитационных экспериментов. В
GPSS имеются удобные средства для сбора необходимой ста-
статистики по ПЭ. Некоторые виды статистики накапливаются про-
программой автоматически. Другие виды статистических данных мо-
могут быть получены с помощью статистических блоков.
Для сбора и обработки статистики по очередям используют-
используются блоки QUEUE, DEPART. Блок QUEUE может быть установлен
в любом месте модели, в котором предполагается возникновение
очереди. Соответствующий оператор имеет вид:
QUEUE A,B
211
где А — номер (имя) очереди, в которую заносится транзакт при
невозможности войти в следующий за блоком QUEUE блок; В —
число занимаемых транзактом мест в очереди.
Блок DEPART производит обратное действие: освобождает
требуемое число мест в очереди при вхождении в него транзакта.
Оператор блока:
DEPART
А, В
А,В — определяются аналогично блоку QUEUE, с той лишь
разницей, что в В указывается число освобождаемых мест в оче-
очереди. Статистическая информация об очередях собирается автома-
автоматически и выводится в стандартном виде.
Средства GPSS позволяют получать эмпирические таблицы
абсолютных и относительных частот попадания исследуемой слу-
случайной характеристики в заданные интервалы значений, которые
могут использоваться для анализа распределений вероятностей
данной характеристики. Карта описания таблицы имеет вид:
TABLE
A,B,C,D
где п — номер (имя) таблицы; А — табулируемый СЧА (аргумент
таблицы); В — верхняя граница первого интервала; С — ширина
интервала; D — число интервалов. Желательно так подбирать
ширину и количество интервалов, чтобы в полученные интервалы
попадало 100% значений аргумента таблицы. Помимо таблицы
частот одновременно вычисляются оценки среднего и стандартно-
стандартного отклонения аргумента таблицы. Карты описания таблиц поме-
помещаются в начале программы. Занесение информации в таблиц-
происходит в момент вхождения транзакта в блок TABULATE:
TABULATE
А,В
здесь А — номер (имя) таблицы;
В — число добавляемых в
ниц (по умолчанию — 1).
Примеры:
соответствующий интервал еди-
а) 1
б) CORE
TABLE
TABLE
Vl,-100,10,100
S$CORE,0,50,10
а) таблица 1 предназначена для получения частот значений
(частотного распределения) переменной VI; таблица содержит 100
интервалов длиной 10 единиц каждый и два крайних интервала
(-оо, -100) и (900, +оо).
б) таблица CORE предназначена для получения частотного
распределения текущего содержимого памяти CORE; таблица со-
содержит 10 интервалов по 50 единиц каждый, а также интервалы
(-оо, 0), E00, +»).
212
Соответствующие операторы занесения в таблицы могут
иметь вид:
а) TABULATE 1 ДОБАВЛЯЕТСЯ 1
б) TABULATE CORE, 2 ДОБАВЛЯЕТСЯ 2
Для табулирования распределения времени пребывания
транзактов в очереди можно обойтись без оператора TABULATE,
его функции будут выполняться оператором DEPART, если таб-
таблица будет описана с помощью карты QTABLE. В отличие от кар-
карты TABLE поле А карты QTABLE содержит номер (имя) наблю-
наблюдаемой очереди.
Пример.
QTIME QTABLE TIME,0,20,75 ОПИСАНИЕ ТАБЛИЦЫ
QUEUE TIME ЗАНЯТИЕ ОЧЕРЕДИ ТРАНЗАКТОМ
DEPART TIME ОСВОБОЖДЕНИЕ ОЧЕРЕДИ ТРАНЗАКТОМ
При входе транзакта в блок DEPART время пребывания в
очереди автоматически заносится в таблицу QTIME.
7.2.7. Выполнение заданий на ЭВМ
Управляющие карты. Для организации имитационных
экспериментов программист должен задать управляющей про-
программе (симулятору) дополнительную информацию (например,
указать продолжительность счета, сообщить об окончании ввода
входных данных и т.д.). Эта информация задается с помощью
управляющих карт. Дадим краткое описание основных карт.
Карта SIMULATE — первая карта в программе, указываю-
указывающая на необходимость выполнения (счета) программы. Карта име-
имеет вид:
SIMULATE A
где А — число минут машинного времени, по истечении которого
моделирование будет завершено и на печать будет выведена нако-
накопленная к этому времени статистическая информация. Если поле
А пусто, то работа программы завершается либо по истечении за-
заданного модельного времени моделирования, либо по окончании
обслуживания заданного числа транзактов.
Карта START, помещаемая в конце входных данных, ука-
указывает, что входные данные получены и можно начинать счет.
Наиболее простая форма записи:
START A
213
здесь А — число транзактов, которые должны пройти через сис-
систему до выдачи окончательной статистики, так называемый счет-
счетчик завершения (СЗ). Счет заканчивается, когда СЗ меньше либо
равен нулю. Значение СЗ уменьшается на величину, указанную в
поле А блока TERMINATE.
Примеры:
а) организация завершения моделирования по прохождению
в модели заданного числа транзактов:
СОЗДАНИЕ ТРАНЗАКТОВ
GENERATE
20,5
TERMINATE I
START 1000
УНИЧТОЖЕНИЕ ТРАНЗАКТА С ВЫЧИТАНИЕМ 1 ИЗ СЗ
ЧИСЛО ЗАВЕРШЕНИИ (СЗ) РАВНО 1000
Моделирование заканчивается после прохождения в модели
1000 транзактов.
б) организация завершения моделирования по времени
(Т = 3600):
GENERATE ,,3600
TERMINATE I
START 1
Заметим, что все остальные блоки TERMINATE, имеющиеся
в программах, фрагменты которых приведены в примерах а), б),
должны иметь нулевое поле А.
Карты RESET, CLEAR указывают на проведение нескольких
прогонов ИМ в течение одного выполнения программы. По окон-
окончании каждого прогона: по карте RESET распечатывается и сти-
стирается вся накопленная статистика, обнуляется значение относи-
относительного модельного времени С1 (модельного времени для
отдельного прогона); по карте CLEAR дополнительно удаляются
из модели все имеющиеся транзакты и обнуляется значение абсо-
абсолютного модельного времени АС1. Карта END — последняя кар
та, указывающая на конец входных данных.
Пример построения имитационной модели. В качестве
примера рассмотрим типовое задание лабораторного практикума
по имитационному моделированию СС.
Задание. Моделирование вычислительной системы коллек-
коллективного пользования (ВСКП).
Содержательное описание системы (исходные данные).
1. Вычислительная система имеет две разнотипные ЭВМ
(ЭВМ-1 и ЭВМ-2), которые обслуживают сеть активных термина-
терминалов.
214
2. Задачи пользователя образуют пуассоновский поток с ин-
интенсивностью X =0,2 зад/сек, а время выполнения заданий в ЭВМ
имеет экспоненциальное распределение с математическим ожида-
ожиданием Ц! = 8 сек. (ЭВМ-1) и ц2 = 12 сек. (ЭВМ-2).
3. Задачи пользователей выполняются в мультипрограмм-
мультипрограммном режиме, причем область памяти каждой ЭВМ разделена на
т = 10 блоков (одно задание занимает один блок памяти).
4. Если поступившее задание застает ЭВМ-1 занятой, то оно
направляется в ЭВМ-2.
5. После выполнения в ЭВМ 25% всех заданий обслужива-
обслуживаются в АЦПУ, причем распечатка одного листинга занимает
12 ± 8 сек.
Цель задания. Разработать GPSS-модель для анализа про-
процесса функционирования ВС ВЦКП в течение одного часа. Иссле-
Исследовать время ожидания вывода на печать выполненных заданий в
выходной очереди.
Осуществить три независимых прогона ИМ в течение одного
часа модельного времени каждый (время моделирования для од-
одного прогона равно ЗбООсек). После каждого прогона выдавать на
печать статистическую информацию в стандартном виде.
Рис.7.1
Структурная схема модели. Введем обозначения: И — ис-
источник заявок на обслуживание; Kl, K2, и КЗ — каналы обслу-
обслуживания, представляющие процессоры ЭВМ-1, ЭВМ-2 и АЦПУ
соответственно; HI и Н2 — накопители, представляющие области
памяти ЭВМ-1 и ЭВМ-2. Структурная схема модели изображена
на рис.7.1.
Программа модели.
215
* МОДЕЛЬ ВСКП
SIMULATE
* ОПИСАНИЕ ФУНКЦИЙ
EXPON FUNCTION RN1,C24
0,0/. 1,. 104/. 2,. 222/. 3,. 355/. 4, .509/. 5, .69/. 6,. 915/. 7,1.2/. 75,1.38
.8 Д.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.82/.95,2.9/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9997,8
* ОПИСАНИЕ ПАМЯТЕЙ
STORAGE S1-S2J0
* ОПИСАНИЕ ТАБЛИЦ
QTIME QTABLE ACPU,0,60,20
* МОДЕЛИРОВАНИЕ ПРОЦЕССА ВЫПОЛНЕНИЯ ЗАДАНИЙ
GENERATE 5,FN$EXPON,,,1PB ВХОДНОЙ ПОТОК
GATE SNF 1.COMP2 ВЫБОР ЭВМ
* ВЫПОЛНЕНИЕ ЗАДАНИЯ НА ЭВМ-1
ENTER 1
ASSIGN 1,1,, РВ
SEIZE COMP1
ADVANCE 8,FN$EXPON
RELEASE COMP1
* НАПРАВЛЕНИЕ ЗАДАНИЙ НА АЦПУ
TRANSFER .250,NACPU,ACPU
* ВЫПОЛНЕНИЕ ЗАДАНИЯ НА ЭВМ-2
СОМР2 ENTER
ASSIGN
SEIZE
ADVANCE
RELEASE
ЗАНЯТИЕ БЛОКА ПАМЯТИ ЭВМ-1
ЗАПОМИНАЕТСЯ НОМЕР ЭВМ
ЗАНЯТИЕ ПРОЦЕССОРА
ВЫПОЛНЕНИЕ ЗАДАНИЯ
ОСВОБОЖДЕНИЕ ПРОЦЕССОРА
2
1.2..РГ
СОМР2
12,FN$EXPON
СОМР2
НАПРАВЛЕНИЕ ЗАДАНИЙ НА АЦПУ
TRANSFER .750,,NACPU
РАБОТА НА АЦПУ
ACPU
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
ACPU
ACPU
ACPU
12,8
ACPU
* ОСВОБОЖДЕНИЕ ПАМЯТИ СООТВЕТСТВУЮЩЕЙ ЭВМ
NACPU LEAVE PB1
TERMINATE ВЫХОД ЗАДАНИЯ ИЗ СИСТЕМЫ
* ЗАДАНИЕ ВРЕМЕНИ МОДЕЛИРОВАНИЯ
GENERATE
TERMINATE
START
CLEAR
START
CLEAR
START
END
3600,,3600
1
1
1
1
ПРОГОН 1
ПРОГОН 2
ПРОГОН 3
Упражнение. Проанализировать самостоятельно работу ка-
каждого оператора и программы в целом.
216
7.3. Система имитационного моделирования GPSS/PC
В настоящее время существуют различные версии языка
GPSS, предназначенные для использования на персональных ЭВМ
[27]. Ниже описывается система имитационного моделирования
GPSS/PC (версия 2.0) [37, 38, 39], обеспечивающая широкие воз-
возможности интерактивного управления процессом моделирования
и анализа результатов. Рассматриваемая система моделирования
ориентирована на IBM-совместимые персональные ЭВМ и работает
под управлением MS DOS при наличии минимального объема опе-
оперативной памяти в 320 К.
Предполагается, что читатель знаком с основами моделиро-
моделирования на GPSS в объеме раздела 7.2 и поэтому основное внимание
уделяется особенностям моделирования на GPSS/PC, а также та-
таким вопросам, как ввод и корректировка исходных текстов, инте-
интерактивное управление процессом моделирования, анализ резуль-
результатов. Основные операторы языка GPSS, стандартные числовые
атрибуты и другая информация, касающаяся общих сведений о
языке GPSS приведены в приложении. В то же время из-за огра-
ограниченности объема пособия опущено описание таких средств, как
оператор HELP — связь с программными модулями на языке
FORTRAN, средства анимации, опущены также некоторые опера-
операторы GPSS/PC, используемые, как правило, при разработке
сложных моделей.
7.3.1. Особенности организации и возможности GPSS/PC
Система имитационного моделирования сложных систем
(СС) GPSS/PC является развитием системы GPSS. Система
GPSS/PC начала разрабатываться в 1981 году как интерактивное
средство имитационного моделирования СС на персональных ЭВМ
с активным использованием интерактивной графики и анимации.
Рассматриваемая версия GPSS/PC обладает более эффектив-
эффективной, с точки зрения управления процессом моделирования, орга-
организацией по сравнению с версиями для универсальных ЭВМ, а
также широко использует возможности персонального компьюте-
компьютера для обеспечения удобного интерфейса между пользователем и
системой.
Перечислим основные особенности организации и возмож-
возможности интерфейса GPSS/PC.
Особенности организации. В GPSS/PC все фазы обработки
имитационной модели: трансляция (compilation); редактирование
(edit); компановка, то есть построение загрузочного модуля из
В
217
объектных (link); выполнение (run) и диагностика ошибок (debug)
объединены в одну фазу, называемую сеансом (session). Это озна-
означает, что как только программа вводится в систему (как файл ли-
либо с помощью редактора системы), она проходит все перечислен-
перечисленные фазы обработки. Управляющая программа GPSS/PC по мере
ввода и анализа операторов программы строит соответствующую
структуру данных в рабочей области оперативной памяти. Если в
последствии возникает необходимость в корректировке програм-
программы, то новые операторы, вводимые с клавиатуры или из других
программных файлов, автоматически анализируются и присоеди-
присоединяются к уже существующей и обрабатываемой в данный момент
структуре данных. Это исключает необходимость выполнения за-
заново всех фаз сеанса каждый раз, когда производится корректи-
корректировка модели или условий моделирования.
Кроме того, в GPSS/PC имеются возможности быстрой мо-
модификации обрабатываемой структуры данных в ходе одного се-
сеанса. Так, возможна вставка, удаление и модификация операто-
операторов, а также изменение значений поименованных констант (см.
оператор EQU, п. 7.3.3.) непосредственно в процессе моделирова-
моделирования. После временной остановки, необходимой для модификации
модели, процесс моделирования может быть продолжен с ранее
достигнутого системой состояния без перезапуска модели. Резуль-
Результаты моделирования при этом могут быть просмотрены немедлен-
немедленно. Все это позволяет пользователю решать различные задачи ис-
исследования моделируемой системы в ходе одного сеанса работы с
GPSS/PC.
Следует отметить также особенности "арифметики"
GPSS/PC. Все числа хранятся в форме, позволяющей снять огра-
ограничения на длину и точность представления чисел (с увеличением
длины числа увеличивается размер отводимой для его записи па-
памяти). Однако есть ограничения на длину и точность представле-
представления чисел, вводимых в систему и рассчитываемых системой. Об-
Общая длина чисел ограничивается 307 десятичными знаками,
точность их представления — до 15 десятичных знаков после за-
запятой. Подобная форма записи чисел позволяет освободить поль-
пользователя от необходимости указания формата, а также исключает
возможность переполнения или исчезновения порядка в ходе
арифметических вычислений. По этой причине СЧА и операторы
GPSS/PC не содержат указаний форматов типа "слово",
"полуслово", "байт", "плавающая точка", как это было в GPSS.
Возможности интерфейса GPSS/PC. В GPSS/PC имеется
ряд возможностей, избавляющих пользователя от многих рутин-
рутинных технических действий, а также создающих удобства в про-
процессе моделирования. Перечислим некоторые из них.
218
1. Предотвращение ввода с клавиатуры записей, содержа-
содержащих синтаксические ошибки (ввод ошибочной записи блокирует-
блокируется, сопровождается диагностическим сообщением и звуковым
сигналом).
2. Распознавание команд и операторов (после ввода части
команды, обеспечивающей ее однозначную идентификацию, на-
нажатие клавиши "пробел" обеспечивает ввод всей команды).
3. Автоматическая разметка полей в строке описания опера-
операторов (при записи оператора с помощью редактора GPSS/PC по-
последний устанавливает курсор в начало каждого из полей вводи-
вводимой строки и выдает подсказку об их назначении).
4. Возможность использования для нумерации строк деся-
десятичных дробей (облегчает вставку строк).
5. Встроенный редактор строк (позволяет модифицировать
модель в процессе моделирования).
6. Использование изменяемых функциональных клавиш
(обеспечивает быстрый ввод команд и операторов с помощью на-
назначенных пользователем клавиш).
7. Управление процессом моделирования с помощью команд
START — STEP — STOP.
8. Контроль за процессом моделирования с помощью графи-
графических окон и микроокон.
9. Встроенная функция HELP, содержащая описание ко-
команд и операторов GPSS/PC (вызов осуществляется вводом симво-
символа "?" в ответ на запрос системы вводить информацию).
Прежде чем переходить к более подробному описанию воз-
возможностей системы GPSS/PC, приведем краткое описание основ-
основных понятий языка GPSS/PC. Их трактовка практически не от-
отличается от принятой в GPSS, поэтому особое внимание будем
уделять имеющимся различиям.
Объекты GPSS/PC и их числовые атрибуты. Как из-
известно (раздел 7.2), основными элементами языка GPSS (а следо-
следовательно и языка GPSS/PC) являются объекты языка, служащие
для описания элементов моделируемой СС и связей между ними.
Ориентация GPSS на моделирование СМО определяет выбор типов
объектов. Аналогично GPSS (или GPSSV) объекты GPSS/PC раз-
разделяются на 7 категорий и 14 типов: динамическая категория
(транзакты), операционная (блоки), аппаратная (устройства, па-
памяти, логические ключи), вычислительная (арифметические и
булевские переменные, функции), статистическая (очереди,
таблицы), запоминающая (ячейки, матрицы ячеек), группирую-
группирующая (списки пользователя, группы).
Модель СС на языке GPSS/PC строится путем объединения
соответствующих объектов в некоторую фиксированную логиче-
219
скую структуру. Основой GPSS/PC являются программные моду-
модули, описывающие функционирование объектов языка, и управ-
управляющая программа (называемая обычно "интерпретатор" или
"симулятор"), выполняющая многочисленные функции, связан-
связанные с обеспечением процесса моделирования (см. п. 7.2.1.).
Процесс моделирования в целом и каждый из используемых
в модели объектов описываются наборами характеристик, назы-
называемых числовыми атрибутами. Большая часть числовых атри-
атрибутов не доступна для пользователя и используется интерпрета-
интерпретатором GPSS/PC для организации процесса моделирования.
Однако к некоторым атрибутам может обращаться и пользова-
пользователь, используя либо изменяя их значения согласно логике моде-
модели. Подобные числовые атрибуты делятся на системные и стан-
стандартные числовые атрибуты объектов.
Системные числовые атрибуты характеризуют процесс мо-
моделирования в целом. Пользователь может использовать систем-
системные атрибуты, не изменяя их значений.
Стандартные числовые атрибуты объектов (СЧА) харак-
характеризуют состояния объектов в текущий момент модельного вре-
времени и могут изменяться с помощью блоков. Для каждого типа
объектов имеются свои наборы СЧА. Для обращения к СЧА ис-
используются имена.
Имя СЧА состоит из двух частей: символического обозначе-
обозначения, идентифицирующего тип объекта и тип информации об объ-
объекте A-2 буквы), а также порядкового номера или символическо-
символического имени объекта. При этом могут использоваться следующие
формы записи:
C4Aj — СЧА объекта с номером j;
СЧА$ <имя> — СЧА объекта с символическим именем
<имя>;
C4A*j — СЧА объекта с номером, равным значению j-ro па-
параметра обрабатываемого транзакта;
C4A$*j — СЧА объекта с символическим именем, храня-
хранящимся в j-м параметре обрабатываемого транзакта.
Перечень основных числовых атрибутов приведен а табли-
таблицах П.1, П.2 Приложения.
Системные и стандартные числовые атрибуты могут исполь-
использоваться в качестве операндов практически в любом типе блоков,
входить в большинство операторов описания объектов, в то же
время они обеспечивают пользователю доступ к характеристикам
состояния системы в процессе моделирования и тем самым играют
важную роль не только при построении модели, но и в управле-
управлении процессом моделирования.
220
Модельное время. Модельное время в GPSS/PC организо-
организовано по "принципу Ах" (см. раздел 2.2), то есть изменение мо-
модельного времени связано с наступлением "особых" событий, та-
таких как поступление транзактов в систему, окончание
обслуживания транзактов и т.п. Модельное время представляется
целыми числами. Выбор единицы модельного времени определя-
определяется физическим содержанием моделируемой системы и целью
исследования. Отметим, что единицей модельного времени необя-
необязательно должна быть общепринятая единица времени, например,
секунда или час. Главное требование к выбору единицы модель-
модельного времени — это обеспечение требуемой точности моделирова-
моделирования. Выбранная единица, будь то миллисекунда или одна десятая
часа, должна неизменно использоваться во всей модели.
Различают абсолютное и относительное модельное время.
Их значения активно используются в имитационных эксперимен-
экспериментах. Имитационные эксперименты, как правило, сопровождаются
многократными прогонами имитационной модели. Если модель
системы в результате очередного прогона не вошла в стационар-
стационарное состояние, то собранная статистика, как правило, не отража' "
существующих закономерностей в исследуемой системе. В этом
случае с помощью оператора RESET осуществляется "обнуление"
(сброс) накопленной статистики, а достигнутое системой состоя-
состояние является начальным для нового прогона. Значение относи-
относительного модельного времени при этом равно значению текущего
модельного времени С1 (см. табл.П. 1), прошедшего после послед-
последнего сброса накопленной статистики (либо от начала моделирова-
моделирования, если сброса статистики не было). Значение абсолютного мо-
модельного времени АС1 равно значению общего времени
моделирования. Его можно использовать для оценки времени пе-
перехода модели в стационарное состояние.
7.3.2. Операторы GPSS/PC
Различают операторы языка и системные команды
GPSS/PC. Существует три типа операторов: операторы блоков;
операторы описания объектов (операторы описания данных);
управляющие операторы (операторы управления). Операторы
служат для представления модели в виде программы для ЭВМ.
Возможности GPSS/PC как диалоговой системы имитационного
моделирования реализуются с помощью команд (см. п.7.3.3).
Операторы GPSS/PC практически идентичны по форме на-
написания и назначению соответствующим операторам GPSS. По-
Поэтому ограничимся здесь краткой характеристикой операторов,
особо комментируя лишь их отличительные особенности.
221
Операторы блоков. Как отмечалось, блоки и транзакты
являются двумя главными категориями объектов GPSS/PC. Прак-
Практически все изменения состояний модели происходят в результате
входа транзактов в блоки и последующего выполнения интерпре-
интерпретатором подпрограмм, связанных с соответствующими типами
блоков.
В исходном тексте модели блоки описываются с помощью
операторов описания блоков (операторов блоков). При обработке
исходного текста модели интерпретатор GPSS/PC присваивает
блокам последовательные идентифицирующие номера. При необ-
необходимости непосредственного обращения к какому-либо блоку
модели целесообразно использовать идентификатор блока в виде
метки (требования к меткам такие же, как и к именам, см. раз-
раздел 7.3).
Поскольку в GPSS/PC отсутствует спецификация данных по
типу формата, то в ряде операторов (GENERATE, LINK, LOOP,
ASSIGN, SAVEVALUE, COUNT, SELECT) опущены операнды, свя-
связанные с указанием типа формата.
Перечень основных операторов блоков GPSS/PC в алфавит-
алфавитном порядке приведен в табл.П.3. Соответствующие СЧА указаны
в табл.П.2.
Все блоки GPSS/PC могут быть описаны повторно при по-
помощи нового оператора описания блока. Блоки MATCH и
ASSEMBLE могут быть повторно описаны, если в момент чтения
нового оператора описания блока счетчик Wj числа сообщений,
находящихся в повторно описываемом блоке, равен нулю. Блок
ADVANCE может быть повторно описан, если на входе в блок нет
задержанных сообщений. Блок GENERATE при повторном описа-
описании может быть заменен только блоком GENERATE. Транзакт,
ожидавший в блоке GENERATE входа в систему, при этом игно-
игнорируется.
Операторы описания объектов. Для описания таких ти-
типов объектов GPSS/PC как памяти, таблицы, функции и пере-
переменные используются операторы описания объектов. Они практи-
практически аналогичны соответствующим картам описания в GPSS,
поэтому отметим лишь некоторые особенности их использования
в GPSS/PC.
Оператор описания памяти имеет лишь один формат записи:
<имя> STORAGE A
где: <имя> — имя памяти, А — объем памяти.
Ранее определенная память никогда не может быть удалена
из модели, даже если соответствующий ей оператор STORAGE
удален из обрабатываемой программы. Однако память можно пе-
переопределить, используя оператор STORAGE с тем же именем.
222
Оператор описания таблицы имеет вид:
<имя> TABLE А, В, С, D
где: <имя> — имя таблицы, А — СЧА (аргумент таблицы), В —
верхняя граница первого интервала, С — ширина интервала, D —
число интервалов (не превосходит 8191). Таблица может быть пе-
переопределена другим оператором TABLE с той же меткой.
В GPSS/PC поддерживаются те же пять типов функции
(непрерывная, дискретная и табличная числовая, дискретная и
табличная атрибутивная), что и в GPSS [4]. В разделе 7.2 подроб-
подробно описаны основные числовые функции: непрерывная и дис-
дискретная. Операторы описания этих функций в обеих версиях
имеют вид:
<имя>
FUNCTION A,B
где <имя> — имя функции, А — аргумент функции, В — указа-
указатель типа функции и числа точек табуляции (Cm или Dm для не-
непрерывной или дискретной функции, протабулированной в
m точках, m < 50). За оператором описания функции следуют
операторы описания значений аргумента и функции, отделяемые
друг от друга символом "/"•
В GPSS/PC имеется три типа переменных: арифметические
переменные, арифметические переменные с "плавающей точкой",
булевские переменные, операторы описания которых имеют соот-
соответственно вид:
<ИМЯ>
<имя>
<имя>
VARIABLE A
FVARIABLE А
BVARIABLE А
где <имя> — имя (номер) переменной, А — арифметическое или
логическое (для булевской переменной) выражение.
Выражениями, используемыми в арифметических и булев-
булевских переменных GPSS/PC, являются комбинации математиче-
математических операторов, стандартных функций, СЧА и констант, состав-
составленные по правилам элементарной алгебры или математической
логики. Выражения вычисляются слева направо с учетом иерар-
иерархии операций. Результат каждой операции, входящей в арифме-
арифметическую переменную, вычисляется в формате с плавающей точ-
точкой с двойной точностью, а затем усекается (дробная часть
отбрасывается) и используется как целое число. При использова-
использовании арифметической переменной с "плавающей точкой" усекается
только конечный результат. В табл. 7.5 приводятся операторы и
стандартные функции, используемые в выражениях, в порядке,
соответствующем порядку их выполнения при вычислении выра-
выражения.
223
В выражениях допускается использование скобок для груп-
группировки и обозначения операции умножения, однако следует
помнить, что лишние скобки влекут к затратам машинного вре-
времени и увеличению памяти. В арифметических переменных с
"плавающей точкой" можно использовать дробные числа, однако
недопустимо применение деления по модулю. Арифметические
переменные разных типов должны иметь автономную нумерацию.
Булевские переменные могут содержать в качестве логических
операторов следующие СЧА: Fj, FVj, FIj, SFj, SEj, SVj, LSj
(см. табл.П.4). Если булевская переменная задается одним СЧА,
то ее значение равно 1, если значение СЧА не равно 0, либо равно
0, если значение СЧА нулевое.
Таблица 7.5
Математические операторы и библиотечные функции
Обозначение
Содержание
Стандартные функции
—
'NOT'
ABS(-)
ATN(-)
COS()
INT(-)
EXP()
LOGO
SINO
SQR()
TAN()
Знак минус
Логическое отрицание
Абсолютное значение
Арктангенс в радианах
Косинус в радианах
Целая часть
Экспонента
Натуральный логарифм
Синус в радианах
Квадратный корень
Тангенс в радианах
Логические операции
'AND'
OR1
Логическое умножение
Логическое сложение
Обозначение
Содержание
Операторы отношения
'G'
'L'
'Е'
'NE'
'LE'
'GE'
"больше"
меньше
равно
не равно
"меньше или
равно"
"больше или
равно"
Арифметические операции
#
/
\
@
+
—
Возведение в
степень
Умножение
Деление
Деление
нацело
Деление по
модулю
Сложение
Вычитание
Упражнение 1. Объяснить назначение операторов.
а)
Ь)
MEN
RTIME
INQUE
STORAGE
TABLE
QTABLE
QUEUE
ENTER
DEPART
TABULATE
10
Ml,100,100,9
ONE,0,60,20
ONE
TERL
ONE
RTIME
224
с)
d)
е)
f)
g)
FUN1
FUN2
ABC
RSLT
FLOAT1
TEST
FUNCTION
FUNCTION
FUNCTION
VARIABLE
FVARIABLE
BVARIABLE
P3.C20
FN1.D10
Q$ALINE,C16
Q$WAIT-P7(SQR(Pl)+3)
1.531(P1+P2)-X$RES
(VSSTEK'G'gj'AND'CFl'C
'0R'LS7)
Управляющие операторы. Для задания условий моделиро-
моделирования, таких как продолжительность моделирования, число про-
прогонов имитационной модели, порядок и условия сбора статистики
в GPSS/PC используются управляющие операторы. К числу ос-
основных управляющих операторов относятся описанные в п. 7.2.7
операторы: SIMULATE, START, RESET, CLEAR, END. Использо-
Использование и назначение этих операторов в GPSS/PC аналогично, за
исключением оператора END, который служит для завершения
сеанса работы с системой GPSS/PC и выхода в DOS. Управляю-
Управляющие операторы вводятся в командной строке окна данных (см.
п.7.3.4).
Кодирование операторов. Строка описания оператора
GPSS/PC состоит из последовательности полей:
Номер
строки
>
Поле
метки
L
Поле
операции
V
Поле
операндов
А, В, С, D, E, F, G, Н
Поле
комментариев
Поле "номер строки" (необязательное), занимает позиции
1-7 строки. Содержимым поля может быть любое десятичное чис-
число из семи символов, в том числе и дробное. В последнем случае
десятичная точка рассматривается как один из семи символов.
Содержимое поля метки зависит от типа оператора. В опе-
операторах описания объектов содержимым поля является имя объ-
объекта, в операторах блоков — метка, в управляющих операторах
поле метки пусто.
Поле операции содержит символическое обозначение (код)
оператора.
Содержимое поля операндов для разных операторов отлича-
отличается количеством (от 0 до 8) и назначением операндов. Если при
записи оператора пропускаются необязательные операнды, то их
отсутствие отмечается символом ",".
Поле комментариев (необязательное) содержит информа-
информацию, поясняющую назначение оператора, и отделяется от поля
символом ";". В данной версии допускается запись комментариев
с помощью прописных и строчных букв латинского алфавита.
225
Признаком строки-комментария служат символы ";" или "*" в
первой позиции.
В качестве разделителей полей можно использовать символ
"," или пробел. Строка описания оператора может содержать до
79 символов.
При использовании для создания программ моделей встро-
встроенного редактора GPSS/PC последний, управляя перемещением
курсора по полям вводимой строки, выдает в начале каждого по-
поля символ-подсказку, поясняющую назначение поля. Кроме ука-
указанных символов, в качестве подсказок используются следующие:
X — поле описания объекта в операторах описания объектов; Z —
поле описания функций в операторах описания функций; О —
поле описания логических указателей (табл.П.4) и операторов от-
отношений в параметрах с расширенным полем операции
(табл.П.3).
Имена и адресация. В GPSS/PC для ссылок на блоки, объ-
объекты, СЧА, параметры или числовые константы допускается ис-
использование символических имен. Имя представляет собой алфа-
алфавитно-цифровую последовательность длиной до 20 символов,
начинающуюся с буквы. Допустимо использование букв латин-
латинского алфавита, а также символа подчеркивания "_" (обычно в
качестве разделителя слов в составных именах). Именами не мо-
могут быть коды операторов, ключевые слова или коды СЧА. При
трансляции именам присваиваются уникальные номера, начиная
со стартового номера 10 000. Для каждого типа объектов исполь-
используется автономная нумерация.
Для принудительного присвоения именам нужных номеров
или числовых значений необходимо перед использованием имен с
помощью оператора EQU присвоить именам соответствующие но-
номера или числовые значения.
Примеры:
10 DURATION EQU 100
20 MAX EQU 1000
30 CASSAONE EQU 1
40 QUEUE_FIRST_LINE EQU 21
Имена объектов, параметров, числовых констант, а также
метки блоков могут выступать как операнды. При ссылках на
СЧА объектов или параметры транзактов с помощью имен по-
последние отделяются от соответствующих кодовых обозначений
символом "$": СЧА$<имя объекта>, Р$<имя параметра>.
В GPSS/PC возможны два способа адресации: прямой и кос-
косвенный. При прямой адресации номер объекта адресата указыва-
указывается с помощью числовой константы или СЧА и не зависит от ка-
каких-либо свойств обрабатываемого в данный момент транзакта.
226
Примеры:
a) SEIZE 10 занять устройство 10
b) LEAVE X4 освободить память с номером, содержащимся в ячейке 4
В примере а) номер объекта задан как константа, в примере
Ь) — как СЧА.
Использование прямой адресации часто не рационально и
приводит к увеличению объема модели. Кроме того, номер выби-
выбираемого объекта часто зависит от свойства обрабатываемого в
данный момент транзакта, количественно выраженного с помо-
помощью значения некоторого параметра транзакта.
Способ адресации, при котором номер объекта-адресата за-
задается косвенно (то есть равен значению некоторого параметра
транзакта), называется косвенной адресацией. Косвенная адреса-
адресация обозначается введением символа "*" между кодом СЧА и но-
номером (именем) соответствующего параметра.
Упражнение 2. Проанализировать действие операторов.
a) SEIZE *ll
b) SAVEVALUE 1,Х*2
c) ENTER P*7.*8
d) URAND FUNCTION RN*5,C2
0,10/1,20
е) COD
ADVANCE FN$URAND
EQU 2
ASSIGN COD.l
QUEUE
*COD
7.3.3. Управление процессом моделирования
В предыдущей главе описаны элементы языка GPSS/PC
(операторы, системные и стандартные числовые атрибуты), яв-
являющиеся основными средствами представления моделей в виде
программ для ЭВМ. Как известно, целью имитационного модели-
моделирования является решение различных задач исследования моде-
моделируемых систем (глава 1). Эффективность решения задач иссле-
исследования зависит от организации и проведения имитационных
экспериментов. Последнее во многом определяется наличием у
используемой системы имитационного моделирования эффектив-
эффективных средств для решения таких задач управления процессом мо-
моделирования, как модификация и отладка программ, управление
процессом моделирования в ходе имитационных экспериментов,
сбор и обработка результатов имитационного моделирования и
т.п.
227
В системе GPSS/PC такими средствами являются команды.
В отличие от операторов, команды не являются частью языка
GPSS/PC, поэтому для различных версий GPSS на ПЭВМ они мо-
могут существенно отличаться. Основное назначение команд — это
организация интерактивного взаимодействия с моделью на всех
этапах моделирования.
Приведем описание основных команд GPSS/PC, сгруппиро-
сгруппировав их в соответствии с этапами обработки модели.
Начало работы, ввод и редактирование исходного тек-
текста. Для начала работы с системой GPSS/PC требуется сделать
текущим каталог, в котором размещена система, и выполнить
программу GPSSPC.EXE. После исчезновения титульного листа
системы необходимо осуществить ввод исходного текста модели в
рабочий буфер системы GPSS/PC (область памяти для временного
хранения программы в течение сеанса работы). Возможны два
способа ввода: посредством чтения текстового файла MS DOS, со-
содержащего исходный текст, и с помощью встроенного редактора
GPSS/PC.
Первый способ реализуется с помощью команды
@<HMH.gpS>,
где <HMH.gps> — имя и тип текстового файла, содержащего текст
программы.
Следует помнить, что при чтении новой программы в ранее
заполненный буфер операторы новой программы пополняют ранее
существовавший текст программы в соответствии с их номерами.
При этом старые операторы, имеющие одинаковые с новыми опе-
операторами номера, заменяются новыми. Считываемый текст ото-
отображается в окне данных (Data Window). Строки, содержащие
ошибки, не включаются в текст программы. Обнаружение ошиб-
ошибки сопровождается диагностическим сообщением и звуковым сиг-
сигналом. Процессом считывания можно управлять с помощью кла-
клавиш: [ESC] — прерывание считывания, любая клавиша —
временная остановка, вторичное нажатие — продолжение считы-
считывания.
Помимо поля для отображения текста программ, окно дан-
данных (п. 7.3.4) содержит командную строку, предназначенную для
ввода команд встроенного редактора системы, а также строку со-
состояния, отображающую имя обрабатываемого файла.
Для получения подсказок о допустимом содержании каждо-
каждого поля командной строки необходимо (в ответ на приглашение
системы к заполнению очередного поля строки) ввести сим-
символ "?".
При вводе символа "?" в начале строки выдается информа-
информация об операторах GPSS/PC.
228
В случае создания новой программы с помощью редактора
системы пользователь последовательно набирает строки програм-
программы в командной строке окна данных и вводит их клавишей
[Enter]. Редактор, добавляя новые строки в буфер, ориентируется
на их номера. Ввод ошибочных строк блокируется.
Для редактирования существующего текста программы ис-
используются команды:
EDIT A
— корректировка строки с номером в поле А (положитель-
(положительное десятичное число);
DELETE
А,[В]
— удаление строк, номера первой и последней из удаляемых
строк указываются в полях А и В соответственно (если В опуще-
опущено, то удаляется одна строка, символ [•] означает, что соответст-
соответствующий операнд может быть опущен).
Возможны два режима выполнения команды EDIT (выбор
режима осуществляется клавишей [INS]):
TYPE-OVER MODE — изменение строки без вставки новых
символов;
INSERT MODE — допускается вставка новых символов в
строку.
Кроме того, используются клавиши: [DEL] — удаление сим-
символа, [END] — перемещение курсора к концу строки, [НОМЕ] —
выход из EDIT без изменения строки, [<-], [->], [Ctrl]+[<-],
[Ctrl]+[->] — традиционные клавиши перемещения курсора на
один символ или одно слово.
После корректировки программы (удаления или вставки
строк) можно перенумеровать все строки программы в рабочем
буфере GPSS/PC. Для этой цели служит команда
RENUMBER [A],[B]
Здесь А и В — соответственно номер первой строки и шаг нуме-
нумерации (положительные десятичные числа, содержащие не более 6
знаков), по умолчанию равны 10.
Для просмотра в окне данных части или всей программы,
содержащейся в рабочем буфере, предназначена команда
DISPLAY [A],[B]
Здесь А и В — соответственно номера первой и последней строки
отображаемой части программы. Возможны различные режимы
отображения: А и В опущены — отображается вся программа; за-
задано только В — отображается часть программы с первой строки
до строки с номером в поле В; задано только А — отображается
только одна строка с номером в поле А.
229
Откорректированная в рабочем буфере системы программа
может быть сохранена на диске в текущем каталоге с помощью
команды
SAVE A,[B],[C]
Здесь А — имя файла, в который записывается программа моде-
модели; В и С — соответственно номера первой и последней строк со-
сохраняемого участка программы. По умолчанию, если поля В, С не
заданы, в файл записывается вся программа. Поля В, С обычно
используются, когда при отсутствии достаточного места на диске
программа сохраняется в нескольких файлах по частям. В даль-
дальнейшем каждая часть программы может быть восстановлена по
отдельности с помощью команды @<имя.тип>.
Организация временных прерываний процесса моделиро-
моделирования. Средства интерактивной графики GPSS/PC позволяют
пользователю наблюдать за ходом процесса моделирования, а сле-
следовательно, оперативно осуществлять модификацию модели или
условий моделирования как на стадии отладки модели, так и во
время решения задач исследования моделируемой системы. Для
проведения модификаций процесс моделирования временно пре-
прерывается с помощью специальных команд.
Для безусловного прерывания процесса моделирования ис-
используется клавиша [ESC]. Для прерывания моделирования по
заданному условию используются команды:
STEP A
— прерывание после прохождения активным транзактом
заданного в поле А числа блоков модели;
STOP [A],[B],[C]
— установка (ON) или снятие (OFF) условий прерывания
при вхождении транзакта с заданным в поле А номером в блок
модели с номером, указанным в поле В; в поле С указывается тип
состояния команды (ON или OFF), по умолчанию — ON.
Команда STOP в состоянии ON устанавливает условие пре-
прерывания, но не запускает модель. Для возобновления процесса
моделирования при ненулевом счетчике числа завершений может
использоваться команда STEP (при наличии активного транзакта
в модели), оператор START, а также команда
CONTINUE
Моделирование прерывается, когда встречается условие, ус-
установленное командами STEP или STOP. Для снятия условия
прерывания по команде STOP необходимо ввести эту же команду
230
в состоянии OFF. Если отсутствуют поля А и (или) В, то любой
транзакт и (или) любой блок удовлетворяют условию прерывания.
Остановка процесса моделирования с целью временного вы-
выхода в операционную систему DOS осуществляется командой
DOS
Возврат в соответствующую точку прерванного процесса
проходит по команде EXIT. В течении прерывания вся информа-
информация о модели на момент остановки хранится в файле выгрузки с
именем SWAPGPSS. Содержимое последнего уничтожается после
возврата в GPSS/PC.
7.3.4. Анализ процесса моделирования средствами
интерактивной графики
Виртуальные окна и микроокна. Как отмечалось, взаимо-
взаимодействие пользователя с системой осуществляется в режиме ак-
активного диалога. Основными средствами анализа процесса моде-
моделирования в ходе имитационных экспериментов являются
"виртуальные окна" и "микроокна".
Под виртуальным окном понимается отображение инфор-
информации о состоянии отдельных объектов на экране дисплея. Ин-
Информация может отображаться как статически, так и динамиче-
динамически, при изменении состояния объекта в процессе его
использования при моделировании.
Пользователь может активно вмешиваться в процесс ото-
отображения в виртуальном окне, задавая различные команды из
набора команд GPSS/PC и (или) используя специальные поля ко-
команд, имеющиеся в ряде виртуальных окон.
Микроокна — это небольшие графические окна в правой
части виртуального окна, в которых отображается текущее значе-
значение системных или стандартных числовых атрибутов и соответст-
соответствующий заголовок.
В пределах виртуального окна может быть открыто до че-
четырех микроокон, имеющих фиксированную позицию и размеры.
В процессе моделирования содержимое микроокон меняется ди-
динамически при изменении значений связанных с микроокнами
переменных.
Система предоставляет в распоряжение пользователя семь
виртуальных окон2:
— окно данных (псевдографическое) (DATA WINDOW);
2 Последние два окна предназначены соответственно для отобра-
отображения матриц ячеек и анимации. Эти средства в настоящем учебнике не
описываются.
231
— окно блоков (BLOCKS WINDOW);
— окно устройств (FACILITIES WINDOW);
— окно многоканальных устройств, памятей (STORAGE
WINDOW);
— окно таблиц (TABLES WINDOW);
— окно матриц (MATRICES WINDOW);
— окно позиций (POSITIONS WINDOW).
Команда открытия виртуального окна имеет вид:
WINDOW А,[В]
Здесь операнд А определяет тип окна, а операнд В содержит имя
или номер первого из отображаемых объектов.
Для открытия или переопределения микроокна использует-
используется команда
MICROWINDOW A,[B],[C] [; COMMENT]
где А — номер микроокна (от 1 до 4); В — аргумент микроокна
(или номер параметра); С — состояние микроокна (ON — откры-
открыто, OFF — закрыто), по умолчанию — ON; COMMENT — коммен-
комментарий (заголовок) к окну (до 8 символов).
Помимо команд для открытия окон могут использоваться
так называемые "короткие ходы", осуществляемые одновремен-
одновременным нажатием клавиши [Alt] и клавиш, соответствующих перво-
первому символу в имени окна (D, В, F, S, Т, М, Р).
При наличии информации, которая не уместилась в одном графи-
графическом окне, возможно "листание" в окне этой информации с
помощью клавиш [PgDn], [PgUp], [END]. Клавиша [Home]
прерывает процесс моделирования (аналогично [Esc]) либо
(при прерванном, завершенном или неначатом процессе модели-
моделирования) очищает экран и возвращает курсор окна в начальную
позицию командной строки. Поясним понятия "поле команд ок-
окна" и "курсор окна".
Пользователь, находясь в одном из окон, взаимодействует с
системой путем набора команд GPSS/PC в командной строке и
ввода их клавишей [ENTER] либо путем выбора одной из команд
в поле команд окна и ввода выбранной команды путем нажатия
клавиши [Ins]. Для выбора команд из поля команд окна исполь-
используется курсор окна " 1Г". Курсором окна можно управлять, пере-
перемещая его в любую позицию окна с помощью "клавиш-стрелок".
Подробнее об использовании полей команд будет говориться при
описании конкретных окон.
Работая с окнами, пользователь может запросить строку
трассировки прохождения транзактами блоков модели. Данная
строка появляется в верхней части окна при нажатии клавиши
[Alt]+[L] (повторное нажатие клавиш отменяет трассировку) и
232
включает следующую информацию: текущее модельное время
(Time); номер активного транзакта (ХАСТ); номер пройденного
транзактом блока (leaves); номер блока, в который он входит
(enters), и тип последнего блока. Распечатку экрана с содержи-
содержимым виртуальных окон можно получить с помощью комбинации
клавиш [Shift]+[PrnScr] (или [Ctrl]+[PrnScr]).
Чтобы привлечь внимание пользователя GPSS/PC к качест-
качественному изменению состояния анализируемых в процессе модели-
моделирования объектов, в виртуальных окнах предусмотрено использо-
использование четырех цветов для окраски графических представлений
отображаемых характеристик в зависимости от принимаемых ими
значений.
Таблица 7.6
Вид
графического
представления
Графическое
изображение
блоков в окне
блоков
Вертикальные
столбики в ок-
окнах устройств и
памятей
Отображаемая
характеристика
Число
транзактов
в блоке
Коэффициент
использования
устройств
и памятей
Длина очереди
к устройству и
памяти (Q)
Цвет, используемый в графическом
представлении
зеленый
0
0 - 0,25
0 - 9
белый
1
0,25 -
0,5
10 -
19
коричневый
2 - 9
0,5 - 0,75
20 -99
красный
> 10
0,75 - 1
> 100
В табл. 7.6 описано распределение цветов в зависимости от
значений отображаемых характеристик для базовой конфигура-
конфигурации системы.
Окно данных. Окно данных имеет много функций. Такие
функции, как ввод и корректировка исходных текстов моделей,
рассматривались в п.7.3.3. Другая функция — это отображение
информации, связанной с командами SHOW и PLOT.
Первая команда имеет вид:
SHOW A
и предназначена для отображения в окне данных значений ариф-
арифметических или логических выражений, описываемых в поле А,
например, команда
SHOW LOG(Q$WAITING)
вычисляет натуральный логарифм от значения текущей длины
очереди WAITING и помещает вычисленное значение в левый
верхний угол окна данных.
233
Для отображения в окне данных диаграммы изменения зна-
значений выбранного СЧА в зависимости от времени моделирования
предназначена команда
PLOT А, В, С, D ; COMMENT
Здесь А — отображаемый СЧА; В — максимально возможное зна-
значение СЧА (Y); С, D — начальное и конечное время отображения
соответственно; COMMENT — заголовок диаграммы (до 34 симво-
символов).
Если используются две команды PLOT, первое отображение
в окне данных перемещается вверх. Содержимое окна может быть
стерто двухкратным нажатием клавиши [Esc].
Если значение СЧА меньше 0 либо больше Y, то оно полага-
полагается равным 0 либо Y соответственно. Если модельное время вы-
выходит за пределы, установленные в команде PLOT, то значения
СЧА игнорируются.
Для ввода команд в окне данных используется командная
строка. Ниже командной строки располагается строка состоя-
состояния — служебная строка, которая в зависимости от выполняемых
системой функций может содержать: имя считываемого файла
при вводе; информацию об используемых командах при коррек-
корректировке текста модели; сообщения о состоянии процесса модели-
моделирования.
Окно блоков. Окно блоков предназначено для графического
отображения блоков модели в виде блок-диаграммы [4].
Каждый блок модели представлен как ячейка информации,
содержащая: изображение блока3; первые три символа из назва-
названия блока; метку блока и один из двух возможных счетчиков
транзактов (текущего числа транзактов в блоке и общего числа
транзактов, прощедщих через блок за время моделирования). Пе-
Переход от одной формы представления счетчика к другой осущест-
осуществляется с помощью комбинации клавиш [Alt]+[N].
Цвет представления блоков при использовании цветного мо-
монитора зависит от числа транзактов, находящихся в блоке (для
монохромного монитора число транзактов в блоке влияет на ин-
интенсивность свечения). Когда транзакт входит в блок, изображе-
изображение блока мерцает с максимальной яркостью. При входе в блок
транзакта с индикатором трассировки изображение блока вспы-
вспыхивает красным цветом.
Поле команд окна содержит меню окна из семи ко-
команд, назначение которых описывалось в предыдущих разделах.
Заметим, что хотя эти же команды GPSS/PC могут быть введены
и в командной строке окна, использование меню окна блоков
Блоки представляются в виде принятых в GPSS изображений.
234
обеспечивает пользователю большие удобства. Опишем порядок
работы с меню.
Команды STOP, EDIT, INSERT, DELETE из меню команд
требуют выбора блока или блоков перед их использованием. Вы-
Выбранный блок используется для следующих целей: прерывания
процесса моделирования при вхождении любого транзакта в этот
блок (при использовании команды STOP); редактирования или
удаления выбранного блока (EDIT или DELETE соответственно);
вставки нового блока непосредственно после выбранного блока
(INSERT). Выбор нужной команды и блока осуществляется пере-
передвижением курсора окна с помощью клавиш-стрелок с последую-
последующим нажатием клавиши [Ins].
Порядок работы с командами следующий. Осуществляется
временная остановка процесса клавишей [Esc]. Курсор окна со-
совмещается с нужным блоком и нажимается клавиша [Ins]. После
выбора блока курсор окна совмещается с полем необходимой ко-
команды и вновь нажимается клавиша [Ins]. После ввода курсора в
поле команды CONTINUE и нажатия клавиши [Ins] процесс моде-
моделирования возобновляется. При использовании команд EDIT или
INSERT необходимо перед запуском процесса откорректировать
или записать оператор в предлагаемой системой строке. Снятие
всех условий прерывания, устанавливаемых блоком STOP, осуще-
осуществляется с помощью команды UNSTOP. Команда STEP работает
в режиме
STEP 1
Отказ от выполнения команд осуществляется с помощью
клавиш [Esc] или [Ноте].
Окно устройств. Окно устройств предназначено для гра-
графического отображения информации о состоянии объектов
GPSS/PC типа "устройство" в процессе моделирования.
В окне может быть представлено до четырех устройств (до
трех, если открыты микроокна).
Информация об устройстве включает следующие элементы:
метку (имя или номер) устройства; вертикальные столбики, ото-
отображающие динамику изменения загрузки (коэффициента ис-
использования) устройства и длины очереди к устройству с момента
последнего выполнения команды RESET (либо с начала моделиро-
моделирования); прямоугольник со статистикой об устройствах, включаю-
включающий следующие данные:
Ut — коэффициент использования устройства;
Q — количество задержанных, прерванных и ожидающих
транзактов;
235
Avail — индикатор доступности (заштрихован, если устрой-
устройство доступноL;
Busy — индикатор занятости (заштрихован, если устройство
занято);
Av.Time — среднее время пребывания транзакта в устройст-
устройстве;
Owner— номер транзакта, занимающего устройство.
Цвет вертикальных столбиков определяется величиной ото-
отображаемых характеристик (см. табл.7.6).
Меню окна устройств состоит из двух команд CONTINUE и
STEP. Назначение команд и порядок работы с ними описан в вы-
выше.
Окно памятей (многоканальных устройств). Окно памя-
памятей предназначено для графического отображения информации о
состоянии объектов GPSS/PC типа "память" в процессе моделиро-
моделирования.
В окне может быть представлено до четырех (при использо-
использовании микроокон — до трех) объектов.
Информация о памяти включает следующие элементы: мет-
метка (имя или номер) памяти в указанием объема памяти; двойной
вертикальный столбик, отображающий среднюю загрузку памяти
(коэффициент использования) памяти за период времени с момен-
момента последнего выполнения команды RESET либо с начала модели-
моделирования (левая часть столбика) и текущую загрузку памяти с ука-
указанием достигнутых в процессе моделирования максимального и
минимального уровней загрузки (правая часть стоблика); верти-
вертикальный столбик, отображающий длину очереди к памяти; пря-
прямоугольник со статистикой о памяти, включающий следующие
данные:
Ut — коэффициент использования памяти (среднее значение
за выше указанный период моделирования);
Q — количество задержанных или ожидающих транзактов;
Available — индикатор доступности (заштрихован, если па-
память доступнаM;
Part Used — коэффициент использования памяти в текущий
момент модельного времени;
Content — число занятых единиц памяти в текущий момент
модельного времени.
Меню окна памятей аналогично меню окна устройств.
4 Состояние индикатора изменяется операторами FAVAIL и
FUNAVAIL, которые в данном пособии не рассматриваются.
5 Состояние индикатора изменяется операторами SAVAIL и
SUNAVAIL, которые в данном пособии не рассматриваются.
236
Окно таблиц. Окно таблиц предназначено для визуализации
значений числовых характеристик и гистограммы распределения
частот для анализируемого СЧА объекта GPSS/PC (аргумента
таблицы), принимающего в процессе моделирования случайные
значения. Параметры таблиц задаются в операторах описания
таблиц TABLE и QTABLE.
В окне таблиц указывается: имя таблицы; выборочное сред-
среднее значение аргумента (MEAN); выборочное стандартное откло-
отклонение (S.D.); границы интервалов разбиения числовой оси; верх-
верхняя граница числа попаданий в интервалы; число попаданий
значений аргумента в заданные интервалы (в виде столбиков).
Меню окна таблиц аналогично меню окна устройств.
7.3.5.Описание результатов моделирования
Создание выходного файла. После завершения процесса мо-
моделирования автоматически создается системный файл с именем
REPORT.GPS, содержащий стандартную выходную информацию.
Просмотр данного файла может быть осуществлен после выхода в
DOS с помощью программы GPSSREPT.EXE. В ходе выполнения
заданий лабораторного практикума для представления результа-
результатов моделирования в виде текстового ASCII-файла с именем, на-
например, ASTUD.TXT целесообразно после выхода в DOS (с помо-
помощью команды END) выполнить команду
GPSSREPT REPORT.GPS ASTUD.TXT.
Здесь ASTUD.TXT — стандартное имя выходного файла с
результатами выполнения заданий лабораторного практикума.
Просмотр, редактирование или вывод на печать результатов, со-
содержащихся в файле ASTUD.TXT, может осуществляться с по-
помощью команд MSDOS или Norton Commander. Для длительного
хранения результатов целесообразно сохранить файл ASTUD.TXT
с индивидуальным именем в подкаталоге STUD, предназначенном
для хранения студенческих программ и результатов имитацион-
имитационного моделирования.
Описание элементов выходного файла. Отформатирован-
Отформатированный выходной файл статистики состоит из подразделов, содер-
содержащих стандартную статистику об объектах GPSS/PC, исполь-
используемых в данной модели (FACILITY, QUEUE, STORAGE и т.д.).
Начинается файл статистики с заголовка, который берется
из поля комментария, расположенного перед началом программы.
Заголовок появляется на каждой странице файла статистики. По-
После заголовка автоматически устанавливается подзаголовок, кото-
который содержит имя неотформатированного файла статистики,
237
номер версии GPSS/PC, серийный номер, дату и время моделиро-
моделирования. Например,
GPSS/PC Report file TEST (V2) 01-03-1997 12:00:00
Далее следует выходная информация, содержащая следую-
следующие основные сегменты вывода.
1. Строка, содержащая основную информацию о результатах
работы модели.
START TIMEEND TIME BLOCKS FACILITIES STORAGES FREE MEMORY
Элементы статистики, представленные в этой строке имеют
следующее содержание:
START TIME — абсолютное модельное время в момент на-
начала моделирования (эквивалентно абсолютному модельному вре-
времени, после последнего применения оператора RESET или
CLEAR);
END TIME — абсолютное время, в момент когда счетчик за-
завершений принял значение 0;
BLOCKS — количество блоков, использованных в текущей
модели, к моменту завершения моделирования;
FACILITIES — количество устройств, использованных в мо-
модели, к моменту завершения моделирования;
STORAGES — количество памятей, использованных в теку-
текущей модели к моменту завершения моделирования;
FREE MEMORY — количество байтов памяти доступной для
дальнейшего использования.
2. Информация об именах.
NAME VALUE TYPE
Поле NAME содержит имена, используемые в программе
модели.
Поле VALUE определяет числовое значение (номер), соот-
соответствующее имени. Система устанавливает начальный номер
равным 10000.
Поле TYPE равно 0, если значение имени устанавливает
пользователь, равно 2, если значение имени устанавливает систе-
система; 3, если имя является именем блока.
3. Информация о блоках текущей модели.
LINE LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
Поля в записи имеют следующее назначение:
LINE — номер строки в рабочей модели, связанный с бло-
блоком GPSS/PC;
238
LOC — имя или номер этого блока;
BLOCK TYPE — тип блока GPSS/PC;
ENTRY COUNT — количество транзактов, вошедших в дан-
данный блок, после последнего выполнения блоков RESET или
CLEAR, или с начала работы программы модели;
CURRENT COUNT — количество транзактов, ожидающих
специальных условий, зависящих от состояния данного блока.
Если в модели используются объекты типа "устройство",
"очередь", "память", то далее выводится информация об этих
объектах. Приведем примеры подобной информации.
4. Информация об устройствах.
FACIIJTY ENTRIES UTIL. AVE.TIME AVAILABLE OWNER REND INTER RETRY DELAY
Поля имеют следующее назначение:
FACILITY — номер или имя объекта типа "устройство";
ENTRIES — количество транзактов, занявших или пре-
прервавших после последнего выполнения операторов RESET, CLEAR
или с начала работы программы;
UTIL. — часть периода моделирования, в течение которого
устройство было занято;
AVE.TIME — среднее время занятости устройства одним
транзактом в течение периода моделирования после последнего
выполнения операторов RESET или CLEAR;
AVAILABLE — состояние готовности устройства в конце пе-
периода моделирования;
OWNER — номер последнего транзакта, занимавшего уст-
устройство @ означает, что устройство не занималось);
REND — количество транзактов, ожидающих устройство
(находящееся в режиме прерывания);
INTER — количество транзактов, обработка которых пре-
прервана на устройстве в данный момент модельного времени;
RETRY — количество транзактов, ожидающих специальных
условий, зависящих от состояния объекта типа "устройство";
DELAY — количество транзактов, ожидающих занятия уст-
устройства (включая транзакты, ожидающие выхода устройства на
режиме прерывания).
5. Информация об очередях.
QUEUE MAX CONT ENTRIES ENTRIES@) AVE.CONT. AVE.TIME AVE.(-O) RETRY
Поля имеют следующее назначение:
QUEUE — имя или номер объекта типа "очередь";
МАХ — максимальное содержимое объекта типа "очередь" в
течение периода моделирования, который начинается с начала
работы модели или с последнего оператора RESET или CLEAR;
239
CONT — текущее содержимое* объекта типа "очередь" в мо-
момент завершения моделирования;
ENTRIES — общее количество входов в очередь в течение
периода моделирования (счетчик входов);
ENTRIES(O) — общее количество входов в очередь с нуле-
нулевым временем ожидания (счетчик "нулевых" входов);
AVE.CONT — среднее значение содержимого очереди;
AVE.TIME — среднее время, проведенное транзактом в оче-
очереди с учетом всех входов в очередь;
AVE.(-O) — среднее время, проведенное транзактом в очере-
очереди без учета "нулевых" входов в очередь;
RETRY — количество транзактов, ожидающих специальных
условий, зависящих от состояния объекта типа "очередь";
6. Информация об объектах типа "память".
STORAGE CAP. REMAIN MIN MAX ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
Поля имеют следующее назначение:
STORAGE — имя или номер объекта типа "память";
САР. — объем памяти, заданного оператором STORAGE;
REMAIN — число единиц свободного объема памяти в кон-
конце периода моделирования;
MIN — минимальное количество используемых единиц па-
памяти за период моделирования;
МАХ — максимальное количество используемых единиц
памяти за период моделирования;
ENTRIES — количество входов в память за период модели-
моделирования;
AVL. — состояние готовности памяти в конце периода мо-
моделирования;
AVE.C — среднее число занятых единиц памяти за период
моделирования;
UTIL. — часть периода моделирования, в течение которого
память использовалась;
RETRY — количество транзактов, ожидающих специальных
условий, зависящих от состояния памяти;
DELAY — количество транзактов, ожидающих возможности
входа в блок ENTER.
7. Информация о таблицах (блоки TABLE или QTABLE).
TABLE MEAN STD.DEV. RETRY RANGE FREQUENCY CUM.%
Поля имеют следующее назначение:
TABLE — имя или номер объекта типа "таблица" или "Q-
таблица";
240
MEAN — выборочное ореднее значение табулируемого аргу-
аргумента. Значение преобразовывается в формат двойной точности
при выводе в файл статистики;
STD.DEV. — выборочное среднеквадратичное отклонение;
RETRY — количество транзактов, ожидающих выполнения
специальных условий, зависящих от состояния объекта типа
"таблица";
RANGE — верхние и нижние границы интервалов разбие-
разбиения числовой оси;
FREQUENCY — величина N, пропорциональная частоте (п)
попаданий значений аргумента таблицы в указанный интервал:
N = k х п, где k — значение поля В в соответствующих блоках
TABULATE или DEPART (если N = 0, то интервал пропускается);
CUM.% — процент попаданий значений аргумента таблицы
в интервал от — =о до х (где х — верхняя граница рассматриваемого
интервала).
8. Информация об используемых в модели списках
пользователя.
USER CHAIN CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME
Поля имеют следующее назначение:
USER CHAIN — номер (имя) объекта типа "список пользо-
пользователя";
CHAIN SIZE — количество транзактов в списке пользовате-
пользователя в конце периода моделирования;
RETRY — количество транзактов, ожидающих наступления
специальных условий, связанных с состоянием списка пользова-
пользователя типа "список пользователя";
AVE.CONT — среднее содержимое списка пользователя в
течение периода моделирования;
ENTRIES — общее количество транзактов, помещенных в
список пользователя в течение периода моделирования;
МАХ — максимальное количество транзактов в списке
пользователя за период моделирования;
AVE.TIME — среднее время пребывания транзакта в списке
пользователя.
9. Информация о ячейках памяти.
SAVEVALUE VALUE RETRY
Поля имеют следующее назначение:
SAVEVALUE — имя или номер ячейки;
VALUE — значение ячейки в конце моделирования;
RETRY — количество транзактов, ожидающих наступления
специальных условий, зависящих от состояния ячейки.
241
7.4. Программное обеспечение моделирования
случайных элементов
При имитационном моделировании сложных систем
(глава 3), при исследовании сложных систем методом Монте-
Карло (глава 4), а также при исследовании статистических мето-
методов и тестировании статистического программного обеспечения
возникает задача моделирования случайных элементов (случай-
(случайных событий, величин, векторов, процессов).
Поэтому программы моделирования случайных элементов
включены в такие широко известные за рубежом программные
средства, как библиотеки научных программ IMSL, NAG, пакеты
прикладных программ статистического анализа данных BMDP,
SYSTAT, SAS и другие.
Однако указанные программные средства содержат в основ-
основном программы моделирования случайных величин и векторов
для небольшого числа наиболее известных вероятностных распре-
распределений. В них, в частности, отсутствуют программы моделирова-
моделирования случайных процессов. Необходимо также отметить, что от-
отсутствие возможностей проверки точности моделирования
случайных элементов, визуализации результатов моделирования,
получения справочной информации о вероятностных моделях за-
затрудняет использование перечисленных программных средств для
моделирования случайных элементов.
В связи с этим на кафедре математического моделирования
и анализа данных Белорусского государственного университета
для моделирования случайных элементов разработан пакет при
к ладных программ СТАТМОД.
Ниже приводится краткое описание структуры и функцио-
функционального наполнения пакета прикладных программ СТАТМОД.
7.4.1. Общая характеристика пакета СТАТМОД
Пакет прикладных программ СТАТМОД предназначен для
решения на персональных ЭВМ, совместимых с IBM PC, следую-
следующих основных задач:
— моделирование случайных величин, векторов, процессов;
— проверка точности моделирования случайных элементов.
Пакет СТАТМОД представляет собой интегрированную сис-
систему, состоящую из управляющей программы и подсистем моде-
моделирования случайных величин, векторов, процессов.
Управляющая программа обеспечивает управление работой
подсистем пакета и передачу управления операционной системе.
Подсистема моделирования случайных величин позволяет
моделировать базовую случайную величину, а также дискретные
242
и непрерывные случайные величины для основных вероятностных
распределений.
Подсистема моделирования случайных векторов представля-
представляет пользователю возможность моделирования случайных векторов
с полиномиальным и гауссовским распределением.
Подсистема моделирования случайных процессов предна-
предназначена для моделирования гауссовских стационарных временных
рядов, временных рядов со стационарными приращениями, вре-
временных рядов с трендом и цепей Маркова.
Подсистемы моделирования случайных элементов включают
также процедуры для проверки точности моделирования и визуа-
визуализации результатов моделирования.
Управление работой пакета осуществляется с помощью ме-
меню и функциональных клавиш.
Входными данными для программ моделирования случай-
случайных элементов являются параметры вероятностных моделей, па-
параметры датчика БСВ, объем моделируемой выборки. В ППП
СТАТМОД реализованы функции ввода значений вектора и мат-
матрицы с клавиатуры и текстового файла.
Выходными данными являются матрица имитированных
данных, строками которой являются реализации случайных эле-
элементов, а также паспорт имитированных данных, содержащий
значения входных данных, и результаты проверки точности мо-
моделирования случайных элементов.
Выходные данные хранятся в текстовых файлах. В пакете
СТАТМОД реализованы функции просмотра и печати выходных
данных.
Для удобства работы пользователя в пакете имеется Help-
система, которая позволяет получать подсказку о назначении и
ограничениях для выполняемого шага и справочник по вероятно-
вероятностным моделям, с помощью которого можно получить сведения об
используемой вероятностной модели и ее свойствах.
7.4.2. Моделирование случайных величин
Подсистема моделирования случайных величин включает
программы моделирования базовой случайной величины, дис-
дискретных случайных величин и непрерывных случайных величин.
Для моделирования базовой случайной величины в пакет
включено два датчика БСВ, реализующие мультипликативный
конгруэнтный метод и метод Макларена-Марсальи со значением
модуля М = 231 (глава 3).
Пользователю представляется возможность выбора датчика
БСВ и задания его параметров.
По выборке Ап = {aj, ..., ап}, полученной с помощью датчи-
датчика БСВ, строятся график значений БСВ, диаграмма рассеяния,
243
гистограмма и график ковариационной функции, что позволяет
получить качественную оценку точности датчика БСВ. Более
обоснованные выводы о точности датчика БСВ можно сделать по
результатам проверки гипотезы Hq : выборочные значения а.\, ...,
ап являются реализациями независимых случайных величин а^,
..., а„, равномерно распределенных на [0, 1). Для проверки гипо-
гипотезы Но реализованы тесты согласия (^2-критерий Пирсона, кри-
критерий Колмогорова), тесты серий (медианный, "нисходящих" и
"восходящих" серий), тест "равномерность двумерного распреде-
распределения".
В программе моделирования дискретных случайных вели-
величин реализованы алгоритмы моделирования случайной величины
?,* для семи наиболее часто используемых на практике дискрет-
дискретных распределений.
1. Распределение Бернулли:
Р{^ = 1} = р, Р{5* = 0} = 1 -/?,/> е (О, 1).
2. Биномиальное распределение:
Р{^* = k}= C%pk(l - p)n"k, k = 0, n, p e @,1), n e N .
3. Геометрическое распределение:
P{^* = k}= p(l - P)k~\ k = 1, 2, ...; p e @, 1).
4. Отрицательное биномиальное распределение:
P{5* = k) =CrVi/>r(l - P)k, k = 1,2,...; p e@,l), r e N .
5. Гипергеометрическое распределение:
~ «/ -(-L- / W
k = 0,min{r,m}, n>\, 1 < m < n, 0 < r < n.
6. Распределение Пуассона:
P{^* = k) = Xke-''/k\, k = 1, 2, ...; к > 0.
7. Дискретное равномерное распределение:
Реализован также алгоритм моделирования дискретной слу-
случайной величины принимающей N < ж заданных значений Cq, Cj,
N-l
..., Сдг_! с вероятностями ро, Pi, ..., Pn~i ( LPi = 1. Pi > 0)- Этот
;=0
алгоритм можно использовать для моделирования полной группы
событий Fo, Fi, ..., FN-i, положив с, = i, pt = P{.F;}, i = 0,N -1.
Для моделирования дискретных случайных величин ис-
используются методы, изложенные в главе 3, а также специальные
методы [23].
244
Качественную оценку точности моделирования дискретных
случайных величин позволяет получить график эмпирических и
теоретических частот.
В программе моделирования непрерывных случайных вели-
величин реализованы алгоритмы моделирования случайной величины
?* с плотностью распределения вероятностей f^*(x) для 14 наибо-
наиболее часто используемых на практике непрерывных распределе-
распределений, а также смеси двух нормальных распределений.
1. Равномерное распределение на отрезке [а, Ь\.
aeR\b>a,
0, х е [а, Ь],
2. Нормальное (гауссовское) распределение:
/Е*(х) = п(х;ц,а2) = -т=
ехр --
I 9
, х eR1, u eR1, а > О
2V a
3. Экспоненциальное распределение:
, . . \Xe-Xx, x > 0, . .
t*(x) = \ X>0-
^ [ 0, x<0,
4. Распределение Лапласа:
/ * (x) = X/2 ¦ е-'^х-^, x e R1, X > 0, a e R1.
5. Логистическое распределение:
e-((x-a)/k)
" ' -^. x e R1, a e R1, b > 0, ft л'3&/л
6. Гамма-распределение:
v-le-x/b
bT(v) >X-°' 6>0, v>0,
0, x < 0,
F(v) — гамма-функция.
7. Распределение Вейбулла-Гнеденко:
I alХха~1в~Хха x>0 1
/,(x)= a|AX e >Д:-и> cceR1, Я>0-
5 [ 0, x<0,
8. Бета-распределение:
1
.ij, v > о, со > 0
Г(у)Г(«)
О,
245
9. Хи-квадрат распределение:
(т/2-1е-х/2
0,
10. Распределение Фишера:
х < О,
>X"°'
Г(А;/2)Г(/га/2)A + kx/m){k+m)/2
0, х < 0,
11. Распределение Стьюдента:
тпГ(т/2)A +
0,
12. Распределение Коши:
... 1
?,*>0,
х < О,
-, х eR1, a eR1
, m e N •
e N.
> 0.
пЪ\
1 +
- а
13. Логнормальное распределение:
1 f 1(Ы(х/т)JЛ
ехр -
,х>0,
т > 0, а > 0.
О, х < О,
14. Смесь двух нормальных распределений:
/*(х) = (l-
,a2), x eR1, s e @, 0,5).
В программе реализованы также алгоритмы моделирования
непрерывных случайных величин по заданной гистограмме и по
заданному полигону частот. Для моделирования непрерывных
случайных величин используются методы, описанные в [23], в
основе которых лежат методы обратной функции и исключения
(см. главу 3).
По выборке реализаций непрерывной случайной величины
строятся график значений случайной величины и гистограмма,
которые можно использовать для качественной оценки точности
моделирования непрерывных .случайных величин.
7.4.3. Моделирование случайных векторов
Подсистема моделирования случайных векторов включает
программы моделирования дискретного случайного вектора с по-
полиномиальным распределением и непрерывного случайного век-
вектора с гауссовской плотностью распределения вероятностей.
Для моделирования дискретного случайного Л^-вектора
е R
с полиномиальным распределением
0 -
246
-к
Р{с,1 =у1г...,{*ы =Ум) = п^Р\1х--
используется специальный алгоритм [23].
По выборке реализаций полиномиального случайного векто-
вектора строится график эмпирических и теоретических частот, иллю-
иллюстрирующий точность моделирующего алгоритма. Более обосно-
обоснованные выводы о точности моделирования случайного вектора с
полиномиальным распределением можно сделать по результатам
проверки гипотезы согласия с помощью %2-критерия Пирсона.
E,i I e R с плотно-
плотностью распределения
?*(*) =
где и — TV-вектор математического ожидания, Е ковариационная
матрица размера N х N, моделируется с помощью специального
алгоритма [23].
Для графического представления результатов моделирова-
моделирования гауссовского случайного вектора используются диаграммы
рассеяния. Точность моделирующего алгоритма проверяется с по-
помощью %2-критерия Пирсона.
7.4.4. Моделирование случайных процессов
Подсистема моделирования случайных процессов включает
программы моделирования гауссовских стационарных временных
рядов, временных рядов со стационарными приращениями, вре-
временных рядов с трендом и цепей Маркова.
Для моделирования гауссовских стационарных временных
рядов в ППП СТАТМОД включены две программы: программа
моделирования стационарных временных рядов для типовых кор-
корреляционных функций и программа моделирования стационар-
стационарных временных рядов на основе модели авторегрессии и скользя-
скользящего среднего.
В ППП СТАТМОД реализованы алгоритмы моделирования
гауссовских стационарных временных рядов для следующих часто
используемых на практике типовых корреляционных функций
[10]:
гг(т) = е-<0.Д
(co*/coo)sincoo|T|
г3(т) =
247
г4(т) = е
г5(т) = е-ш.Д1 + со
г6(т) = sin<B*T/(co*t);
9 9
- (a)*/coo)sincDoM);
где a)*, a>Q - параметры корреляционных функций.
г8(т)= 1/A+ ш?т2);
Jl-CO*T, М<]/|
Гд '{ о, H>V'
Для моделирования временных рядов с корреляционными
функциями Г1(т)-Г5(т), спектральные плотности которых являются
дробно-рациональными функциями, используется метод, описан-
описанный в главе 3. Для моделирования временных рядов с корреляци-
корреляционными функциями Гб(т)-Гд(т) используется метод скользящего
суммирования [10].
Для исключения переходного процесса при моделировании
гауссовского стационарного временного ряда на основе модели
АРСС(р, q):
Я Р
Cm = Zak4*m-k ~ !L
k=0 г=1
i-i' m = 0,1,...,
начальные значения C,_i,C,_2 С-р моделируются специальным
образом [10].
С помощью программ моделирования гауссовских стацио-
стационарных временных рядов строятся также график значений вре-
временного ряда и график эмпирической и теоретической ковариа-
ковариационных функций, что позволяет визуально оценить точность
моделирования временного ряда. Для количественной оценки
точности моделирования гауссовского стационарного временного
ряда используется метод [40], основанный на сравнении эмпири-
эмпирической и теоретической ковариационных функций.
Для моделирования временного ряда Е,*т, т = 0,М i = 1, М,
к = 1, 2; (A E,i = ?,•) с гауссовскими стационарными приращения-
приращениями A B,i = A E,t - A E,i_i, используется метод [10].
Программа моделирования временных рядов со стационар-
стационарными приращениями позволяет строить графики стационарных
приращений и временного ряда со стационарными приращения-
приращениями.
Моделирование временного ряда с трендом C.47) осуществ-
осуществляется следующим образом. Для каждого момента времени
tt - LA, (i = 0,M): 1) моделируется значение Q. гауссовского
248
стационарного временного ряда; 2) вычисляется значение тренда
/(ij); 3) вычисляется значение временного ряда с трендом t,t. .
В программе моделирования временных рядов с трендом
реализованы следующие часто используемые на практике типы
трендов:
т.
¦ ап + Y.OLit1 , /4(?) = atcostut,
feW = a0
¦ а0 + Zot;ep'f , /6(i) = coscoie"*.
Результаты моделирования представляются в виде графиков
тренда, случайной составляющей, временного ряда с трендом.
Для моделирования однородной цепи Маркова ^t,t e {0, 1,
..., п) с N состояниями {0, 1, ..., N — 1}, начальным распределени-
распределением вероятностей
л-1
i
г=1
и матрицей вероятностей одношаговых переходов
Р = (Ptj). Р{&1 = j\Ct = *} = ft/, Z A, = U = 0,N-i
7=0
используется метод, изложенный в главе 3.
Для визуализации результатов моделирования используется
график значений цепи Маркова. Точность моделирования цепи
Маркова проверяется с помощью метода [41].
7.5. Программное обеспечение задач обработки
результатов имитационных экспериментов
7.5.1. Классификация статистического программного
обеспечения
В главе б были описаны основные задачи обработки резуль-
результатов имитационных экспериментов. Для эффективного решения
этих задач требуется программное обеспечение, реализующее со-
соответствующие статистические методы. Специализированные сис-
системы имитационного моделирования (например, GPSS/PC,
SIMAN) содержат, как правило, ограниченный набор статистиче-
статистических процедур, позволяющих по случайным выборкам значений
249
исследуемых показателей эффективности моделируемой системы
S вычислять выборочные оценки числовых характеристик (выбо-
(выборочные среднее и стандартное отклонение) и оценки распределе-
распределений вероятностей, строить гистограммы распределений, осущест-
осуществлять дисперсионный анализ (оператор AN0VA в GPSS/PC).
Задачи статистической обработки результатов имитацион-
имитационных экспериментов могут обладать рядом особенностей, требую-
требующих использования более сложных статистических методов, не
входящих в стандартные наборы специализированных систем
имитационного моделирования. К числу таких особенностей мож-
можно отнести следующие:
1) зависимость анализируемых показателей эффективности
и, следовательно, необходимость их совместного анализа;
2) высокая априорная неопределенность относительно рас-
распределений вероятностей регистрируемых характеристик (в част-
частности, до того как система S спроектирована);
3) наличие показателей эффективности, которые следует
рассматривать как качественные признаки, измеренные в номи-
номинальной или порядковой шкалах;
4) зависимость между выборочными значениями показате-
показателей эффективности, измеренными в последовательные моменты
времени.
Перечисленные выше особенности приводят к необходимо-
необходимости использования методов многомерного статистического анали-
анализа, непараметрических и робастных статистических методов, ме-
методов статистического анализа нечисловых данных и анализа
временных рядов. При разработке имитационных моделей с по-
помощью универсальных языков программирования разработчик
должен сам обеспечить проведение необходимого статистического
анализа результатов имитационного моделирования, то есть раз-
разработать или иметь соответствующие статистические процедуры.
Для решения разнообразных задач статистической обработ-
обработки результатов имитационных экспериментов целесообразно ис-
использовать существующее программное обеспечение прикладного
статистического анализа — статистическое программное обеспе-
обеспечение (СПО).
По типу системной организации СПО можно условно разде-
разделить на четыре класса:
— статистические комплексы и библиотеки программ;
— статистические пакеты прикладных программ (ППП);
— интегрированные статистические программные системы и
статистические экспертные системы;
— жесткое статистическое программное обеспечение.
Комплекс программ — это набор тематически связанных
программ, реализующих статистическую обработку данных в
250
пределах некоторого раздела статистического анализа или систе-
системы проблемно связанных задач анализа данных.
Библиотекой программ называют значительные по объему
комплексы программ, в которых решены задачи стандартизации,
оформления и классификации компонент библиотеки.
Наиболее известными библиотеками программ, содержащи-
содержащими значительные статистические разделы, являются IMSL, NAG,
DATAPAC , ПНП-БИМ-М (Библиотека института математики АН
РБ), БЧА (Библиотека численного анализа НИВЦ МГУ) и др.
Отличительными чертами ППП является наличие:
— специализированного входного языка или системы
управления заданиями, позволяющих решать задачи управления
данными и формирования технологических цепочек статистиче-
статистического анализа данных из функциональных модулей ППП;
— библиотеки функциональных модулей ППП;
— управляющей программы, которая согласно входному за-
заданию генерирует конкретную технологическую цепочку обработ-
обработки данных.
По назначению ППП делятся на две категории: общего на-
назначения и специализированные ППП.
ППП общего назначения содержат широкий набор стати-
статистических процедур из различных разделов статистического ана-
анализа данных.
Специализированные ППП, в свою очередь, делятся на ме-
методо-ориентированные и предметно-ориентированные ППП.
Методо-ориентированные ППП ориентированы на решение
определенного класса задач в пределах некоторого раздела стати-
статистического анализа данных.
Предметно-ориентированные ППП ориентированы на ре-
решение определенного класса задач в некоторой конкретной пред-
предметной области.
Среди наиболее известных ППП общего назначения такие
пакеты как: BMDP, SPSS, SAS, SYSTAT, MINITAB,
STATGRAPHICS, STATISTICA, имеющие версии для различных
типов ЭВМ. Примерами специализированных методо-ориен-
тированных ППП, которые можно рассматривать как интегриро-
интегрированные программные системы, могут служить пакеты:
МЕЗОЗАВР (статистический анализ временных рядов), САНИ
(статистический анализ нечисловой информации), разработанные
в Центре "Стат-Диалог" при ЦЭМИ АН РФ. В Белгосунивер-
ситете разработаны такие пакеты общего назначения как
СТАН, РОСТАН (робастный статистический анализ данных),
МУЛЬТИСТАН (статистический анализ многомерных данных),
ДИНСТАТ (статистический анализ временных рядов), предметно-
ориентированный ППП САРКК (статистический анализ, регули-
регулирование и контроль качества).
251
Перспективным направлением развития СПО является раз-
разработка статистических экспертных систем (СЭС), характерной
чертой которых является наличие программных средств для веде-
ведения базы знаний, тематически ориентированной на опреде-
определенный класс задач. Использование знаний экспертов
(высококвалифицированных специалистов в области прикладной
статистики и конкретной предметной области) на различных эта-
этапах анализа данных обеспечивает пользователю существенную
помощь в выборе стратегий анализа данных сложной структуры,
объяснении принимаемых решений, интерпретации результатов
анализа, обучении. Подобно специализированным ППП по своему
назначению экспертные системы делятся на методо-
ориентированные (МОСЭС) и предметно-ориентированные
(ПОСЭС). Методологические вопросы разработки СЭС рассматри-
рассматриваются в [49]. Примером МОСЭС является экспертная система на
базе ППП МЕЗОЗАВР.
Жесткое СПО, как правило, ориентировано на определен-
определенный тип ЭВМ или специализированные вычислительные средства
типа спецпроцессоров или микропроцессорных систем. Специали-
Специализированные или обычные ЭВМ, оснащенные спецпроцессорами,
обладают, как правило, повышенным быстродействием при вы-
выполнении определенных типов операций (например, векторных и
матричных операций, быстрого преобразования Фурье, спек-
спектральных методов анализа временных рядов и др.).
В настоящее время известно более 350 статистических ППП.
Сравнительный анализ наиболее популярных пакетов приведен в
[50]. Со структурой и функциональным наполнением типового
пакета общего назначения познакомимся на примере ППП СТАН,
разработанного в научно-исследовательской лаборатории при ка-
кафедре математического моделирования и анализа данных Белго-
суниверситета.
7.5.2. Статистический ППП общего назначения СТАН
ППП СТАН предназначен для решения следующих задач
статистического анализа данных:
— предварительный анализ данных;
— анализ законов распределений вероятностей;
— статистическая проверка гипотез;
— дисперсионный анализ;
— корреляционный и регрессионный анализ;
— анализ таблиц сопряженностей;
— дискриминантный и кластерный анализ.
Пакет СТАН представляет собой меню-управляемую интег-
интегрированную программную систему, включающую управляющую
252
программу, подсистему управления данными, подсистему стати-
статистического анализа и обеспечивает информационный интерфейс с
другими ППП и СУБД в кодах ASCII и формате dBASE.
Управляющая программа обеспечивает функционирование
всех элементов пакета, управляет работой меню подсистем, обес-
обеспечивает передачу данных от подсистемы управления данными к
подсистеме статистического анализа. Подсистема управления дан-
данными реализует основные операции по подготовке данных для их
последующей обработки: экспорт-импорт, просмотр, корректиров-
корректировку и распечатку данных, функциональные преобразования пере-
переменных, отбор реализаций и переменных. Подсистема статистиче-
статистического анализа включает 8 разделов, содержащих функциональные
программные модули обработки данных.
Основным способом представления данных в пакете являет-
является матрица данных типа "объект-признак", столбцами которой
являются значения исследуемых признаков (переменных), отно-
относящихся к различным объектам (или моментам времени), а стро-
строками (реализациями) — значения всех признаков, относящихся к
одному объекту. Экранный редактор пакета позволяет работать с
матрицей данных, содержащей не более 2666 признаков. Макси-
Максимально допустимое количество реализаций определяется размера-
размерами свободной памяти на жестком диске.
В пакете имеется развитая система "подсказок", включаю-
включающих описание назначения метода, используемого в текущем раз-
разделе и рекомендации по его применению. Графические средства,
реализованные в пакете, позволяют осуществлять визуализацию
данных, графическое представление и анализ результатов иссле-
исследований.
Особенностью пакета является широкое использование на-
наряду с традиционными методами статистического анализа робаст-
ных статистических методов.
7.6.Система компьютерных учебников
по статистическому анализу данных
и моделированию
Круг пользователей статистических методов и статистиче-
статистического программного обеспечения постоянно расширяется и вклю-
включает в настоящее время не только научных работников, но и со-
сотрудников аналитических, маркетинговых, социологических и
253
других служб различных государственных и коммерческих орга-
организаций, занимающихся решением проблем, которые принято
обозначать понятием "статистический анализ данных". К числу
этих проблем относятся представление, систематизация, хранение
и статистическая обработка эмпирических данных с целью полу-
получения практически важных выводов относительно объектов ис-
исследования. Это делает статистическое образование необходимым
элементом университетского образования специалистов в самых
разных областях: экономике, финансах, бизнесе, социологии,
экологии, технике, медицине, производстве и др.
Во многих реальных задачах традиционный анализ простейших
числовых характеристик выборки (частот, процентов, средних
значений, дисперсий и т.п.) не позволяет получить практически
важные выводы. В то же время использование более сложных ве-
вероятностно-статистических моделей данных и методов их анализа
приводит к более содержательным и достоверным выводам, на-
например: методы регрессионного анализа или анализа временных
рядов используются для построения статистических моделей из-
изменения экономических показателей; методы статистической
классификации — при решении задачи оценки надежности заем-
заемщиков банков; статистические методы анализа "нечисловых"
данных — при обработке результатов выборочных обследований;
методы статистической проверки гипотез — в задачах управления
качеством продукции.
Необходимое условие достоверности выводов — корректный
анализ данных, который подразумевает: соблюдение определен-
определенных правил при формировании подлежащих обработке массивов
данных (выборок), подбор адекватных моделей данных и методов
анализа, корректную интерпретацию результатов анализа. При-
Применение компьютерных технологий облегчает решение многих
проблем при условии, что исследователь имеет подходящее стати-
статистическое программное обеспечение и достаточную квалификацию
для корректного его использования.
Нарушение этого условия порождает проблему некоррект-
некорректных, а в ряде случаев спекулятивных статистических исследова-
исследований. Этому способствуют использование нелицензионного, как
правило, зарубежного статистического программного обеспечения
в условиях частичного либо полного отсутствия документации, а
также недостаточно высокая статистическая подготовка пользова-
пользователей.
Проблемы в образовании специалистов, занимающихся ана-
анализом данных, обусловливаются рядом причин, в том числе: тра-
традиционно слабой подготовкой выпускников вузов в области
254
математической и прикладной статистики; недостатком современ-
современных учебников по статистическому анализу данных, ориентиро-
ориентированных на определенные области исследований: экономику, фи-
финансы, бизнес, социологию, управление качеством и др.;
отсутствием доступных учебных версий статистических пакетов
прикладных программ (ППП). Таким образом, одной из актуаль-
актуальных задач подготовки специалистов, деятельность которых связа-
связана с анализом данных, является повышение качества их стати-
статистического образования.
Высокое качество статистического образования предъявляет
следующие требования к процессу обучения специалистов:
1) необходимость совмещения фундаментальной теоретиче-
теоретической подготовки и подготовки для решения реальных приклад-
прикладных задач;
2) необходимость обучения методам построения и анализа
вероятностно-статистических моделей реальных явлений и про-
процессов;
3) необходимость изучения статистического программного
обеспечения и технологий компьютерного анализа данных и мо-
моделирования;
4) необходимость обучения методике проведения компью-
компьютерных экспериментов;
5) необходимость ознакомления с новыми методами матема-
математической статистики и с новыми информационными технология-
технологиями;
6) необходимость привлечения студентов к решению реаль-
реальных статистических задач и к научным исследованиям.
Белгосуниверситет является одним из известных в СНГ цен-
центров по разработке статистического программного обеспечения.
Работы по созданию статистических программных средств ведутся
более 20 лет. За последние годы создана серия ППП для IBM PC,
охватывающих различные разделы статистического анализа дан-
данных и моделирования. Наиболее известны среди них упоминав-
упоминавшиеся выше ППП РОСТАН, СТАН, МУЛЬТИСТАН, СТАТМОД,
ДИНСТАТ, соответствующие современному состоянию математи-
математической статистики [42].
С целью обеспечения процесса обучения методам статисти-
статистического анализа данных и моделирования в Белгосуниверситете
ведется разработка учебно-методического и программного обеспе-
обеспечения [23, 43-48]. В настоящее время создана система
TEACHSTAT компьютерных учебников по математической и при-
прикладной статистике. Система TEACHSTAT включает 4 ком-
компьютерных учебника, разработанных на базе учебных версий
PC: СТАТМОД-У,
255
СТАН-У,
известных ППП для IBM
МУЛЬТИСТАН-У, ДИНСТАТ-У.
ППП СТАТМОД-У предназначен для обучения студентов ме-
методам имитационного и статистического моделирования стохасти-
стохастических явлений и систем. Он позволяет несколькими методами
имитировать базовую случайную величину со стандартным равно-
равномерным распределением, а также дискретные и непрерывные слу-
случайные величины и случайные процессы, описанные в п. 7.4.2.
Предусмотрена проверка адекватности моделирования.
ППП СТАН-У предназначен для обучения студентов основ-
основным методам статистического анализа данных. Он содержит сле-
следующие разделы: предварительный анализ данных; законы рас-
распределения; проверка гипотез; дисперсионный анализ; анализ
таблиц сопряженности; корреляционный анализ; регрессионный
анализ; дискриминантный анализ.
ППП МУЛЬТИСТАН-У предназначен для обучения студен-
студентов методам многомерного статистического анализа данных. Он
содержит следующие разделы: предварительный анализ данных;
корреляционный анализ; проверка гипотез; дисперсионный ана-
анализ; регрессионный анализ; дискриминантный анализ; кластер-
кластерный анализ.
ППП ДИНСТАТ-У предназначен для обучения студентов ме-
методам статистического анализа временных рядов. Он содержит
следующие разделы: предварительный анализ данных; анализ
тренда; анализ сезонности; экспоненциальное сглаживание; кор-
корреляционный и взаимный корреляционный анализ; спектральный
анализ; параметрические модели.
Компьютерные учебники, предназначенные для обучения
статистическим методам анализа данных, имеют единую идеоло-
идеологию и принципы организации. Основные компоненты данных
учебников могут быть описаны общей схемой, приведенной на
рис.7.2.
Справочная
система
Теория
Экспертная
поддержка
Архив данных
Учебная
версия
ППП
Задания
Демонстрационные
примеры
Рис.7.2
256
Ядром учебников являются учебные версии соответствую-
соответствующих ППП. Все ППП имеют общую схему меню, единый раздел
"Управление данными" и одинаковую форму представления ре-
результатов анализа. Раздел "Управление данными" предоставляет
пользователю все возможности манипулирования данными:
ввод/вывод ASCII- и DBF-файлов, редактирование и преобразова-
преобразование данных, генерация данных в соответствии со стандартными
нормальным и равномерным законами распределения вероятно-
вероятностей. Основным разделом каждого ППП является раздел
"Статистический анализ", функциональное наполнение которого
определяется назначением ППП.
Учебные версии ППП обладают всеми возможностями рабо-
рабочих версий пакетов по управлению и анализу данных за исклю-
исключением некоторых ограничений на размерность данных пользова-
пользователя.
Другие компоненты компьютерных учебников, приведенные
на схеме, обеспечивают поддержку пользователя в процессе обу-
обучения статистическим методам, реализованным в ППП.
Компонента "Теория" содержит достаточно подробное и ма-
математически строгое описание используемых в ППП моделей, ме-
методов и алгоритмов, а также ссылки на доступные литературные
источники.
Компонента "Экспертная поддержка" представляет собой
программу-навигатор, которая на основании информации о дан-
данных, сообщаемой пользователем, вырабатывает рекомендации от-
относительно моделей и методов анализа данных, реализованных в
ППП.
Для практического освоения статистических методов, а
также особенностей их реализации в ППП большое значение име-
имеет компонента "Демонстрационные примеры". Она содержит
примеры решения типовых задач с помощью выбранных стати-
статистических методов, а также интерпретации результатов анализа.
В процессе изучения того или иного раздела статистическо-
статистического анализа преподаватель имеет возможность подбирать соответ-
соответствующие индивидуальные задания студентам из сборника зада-
заданий, оформленного в виде компоненты "Задания". Большая часть
заданий основывается на реальных статистических данных из
различных областей: экономики, бизнеса, медицины, производст-
производства и др.
Все используемые в заданиях данные содержатся в специ-
специальной директории DATA. Их описанию посвящена компонента
"Архив данных". Помимо характеристик размерности данных в
архиве содержатся указания на возможные разделы ППП, где эти
"Ящик с усами"
8.0Е+05
к 6.0Е+05
К
| 4.0Е+05
м 2.ОЕ+О5
0.0Е+00
F6 - печать F10 - выход
Рис.7.3
257
данные могут ис-
использоваться, а
также ссылки на
литературные ис-
источники.
Компонента
"Справочная сис-
система" содержит
справочную ин-
информацию, необхо-
необходимую пользовате-
пользователю для работы с
ППП.
Ко всем компонентам обеспечивается удобный доступ с по-
помощью меню и функциональных клавиш.
В компьютерном учебнике на базе ППП СТАТМОД-У отсут-
отсутствует компонента "Архив данных", а компонента "Экспертная
поддержка" содержит справочную информацию по используемым
в пакете законам вероятностных распределений.
Многие разделы ППП обеспечены графической поддержкой.
На рисунках в качестве примера приведены графики:
— "ящик с усами" (рис.7.3), используемый на этапе предва-
предварительного анализа данных с целью анализа симметричности рас-
распределения и обнаружения аномальных наблюдений (ППП СТАН-
У);
— "визуализация выборки" (рис.7.4) — используется с це-
целью обнаружения неоднородной структуры многомерных данных
(ППП МУЛЬТИСТАН-У);
Визуализация выборки
я
I
а
К
К
О
10
0
-10
-10
-50 0 50 100
Каноническая переменная 1
150
Enter - увеличение F5 - уменьшение F10 - выход Home End PgUp PgDn - перемещение
Рис.7.4
258
— "экспоненциальное сглаживание" (рис. 7.5) — использу-
используется с целью построения краткосрочных прогнозов на основе мо-
моделей временных рядов (ППП ДИНСТАТ-У).
Визуализация выборки
80
60
«
в 40
20
0
30
10 20
Время
Enter-увелич. Г5-уменып. Р6-печап> FlO-выход Home End PgUp/PgDn-перемещение
Рис.7.5
Опыт использования системы компьютерных учебников по
математической и прикладной статистике TEACHSTAT в БГУ по-
позволяет заключить, что эта система обеспечивает принципиально
новую технологию обучения статистическим методам анализа и
моделирования, позволяющую существенно повысить качество
статистического образования. Это достигается за счет того, что
при использовании компьютерных учебников возникает возмож-
возможность удобного и оперативного сочетания изучения теории с прак-
практическим решением типовых задач с помощью изученных мето-
методов. Статистический ППП перестает быть для студента "Складом
инструментов" с неизвестным назначением и условиями примене-
применения. Наличие сборника типовых заданий позволяет повысить ин-
интенсивность и результативность практических занятий. Все это
способствует более эффективному и быстрому усвоению теорети-
теоретического материала и приобретению навыков решения практически
важных задач с помощью стандартного программного обеспече-
обеспечения.
Упражнения к главе 7
1. Моделирование многопроцессорной вычислительной сис-
системы коллективного пользования.
Исходные данные.
1. Вычислительная система содержит три однотипных про-
процессора с общей оперативной памятью и блоки внешней памяти
на магнитных дисках.
259
2. Задачи пользователей образуют пуассоновский поток с
интенсивностью X зад/сек, а время решения задачи в каждом
процессоре имеет экспоненциальное распределение с математиче-
математическим ожиданием ц с.
3. Поступающие в систему задачи обслуживаются в порядке
очереди без приоритетов.
4. С вероятностью 0,6 задача решается и покидает систему.
В остальных случаях задача поступает на обслуживание в блоки
внешней памяти и возвращается в очередь на повторное решение
(время обслуживания распределено равномерно на интервале
[а ± 5] 6 с).
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования многопроцессорной вычислительной системы по
результатам имитации п задач.
Первоначальный перечень экспериментов: X = 0,5, д = 4,
а = 5, 5 = 3, п= 100.
2. Моделирование процесса стендовых испытаний.
Исходные данные.
1. Объектом моделирования является процесс контроля ка-
качества изделий на двух испытательных стендах.
2. Изделия могут быть типа 1 D0%) и типа 2 F0%). Изде-
Изделия типа 1 проходят испытания на стенде 1, а изделия типа 2 на
стенде 1 и 2. Изделия типа 2 поступают на стенд 1 в случае, если
занят стенд 2.
3. Изделия, поступающие на стендовые испытания, образу-
образуют пуассоновский поток с интенсивностью X изд/мин, а время их
обслуживания имеет экспоненциальное распределение.
4. Математическое ожидание времени обслуживания изде-
изделий типа 1 на стенде 1 — hi мин, изделий типа 2 на стенде 2 —
\i2 мин, а на стенде 1 — цз мин.
Цель. Разработать GPSS-модель для анализа процесса стен-
стендовых испытаний изделий в течение суток.
Первоначальный перечень экспериментов: X = 0,067,
щ = 15, ц2 = 25, цз = 20.
3. Моделирование процесса функционирования участка ме-
механообработки ГАП.
Исходные данные.
1. Участок механообработки включает входной конвейер,
транспортный робот, два однотипных независимо работающих
станка с ЧПУ и выходной конвейер.
6 Запись [а ± 8] здесь и далее означает интервал [а - 5, а + 8].
260
2. Время поступления деталей на обработку и время обра-
обработки детали на станке распределены равномерно на интервалах
[а ± 5] с, [Ъ ± е] с соответственно.
3. Робот переносит деталь с входного конвейера на свобод-
свободный станок и затем со станка на выходной конвейер, время каж-
каждого переноса распределено равномерно на интервале [с ± v] с.
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования участка в течение k смен (продолжительность од-
одной смены 8 часов).
Первоначальный перечень экспериментов: k - 1, а = 160,
5 = 90, Ъ = 280, е = 30, с = 10, v = 2.
4. Моделирование процесса дозаправки самолетов.
Исходные данные.
1. С целью увеличения дальности беспосадочного полета
производится дозаправка самолетов горючим в воздухе. В районе
дозаправки постоянно дежурит т самолетов-дозаправщиков.
2. Время дозаправки самолетов описывается случайной ве-
величиной, равномерно распределенной на интервале [т_, т+] минут.
Длины временных промежутков между прибытиями самолетов в
район дозаправки случайны, независимы и одинаково распреде-
распределены по равномерному закону на интервале [S_, S+] минут.
3. Если все дозаправщики заняты, то самолет, нуждающий-
нуждающийся в дозаправке, некоторое время может "ожидать" (совершая по-
полет по кругу в районе дозаправки). Время ожидания дозаправки
описывается случайной величиной, равномерно распределенной в
интервале [*_, t+] минут.
4. Если самолет так и не дожидается дозаправки в воздухе,
то он садится на запасной аэродром. Число самолетов, ожидаю-
ожидающих дозаправки в воздухе, ничем не ограничено.
Цель. Разработать GPSS-модель функционирования доза-
дозаправки в воздухе в течение Т часов. Оценить среднее число заня-
занятых дозаправщиков, вероятность занятости произвольно выбран-
выбранного дозаправщика, среднее время простоя дозаправщика.
Первоначальный перечень экспериментов: т = 4, т = 10,
т+ = 11, t_ = 5, t+ = 6, S+ = 20, S_ = 0, Г = 8.
5. Моделирование вычислительных процессов с динамиче-
динамическими приоритетами.
Исходные данные.
1. Объектом моделирования является процесс обслуживания
задач пользователей, которые поступают в вычислительную сис-
систему с интенсивностью X зад/с.
261
2. Реализуется дисциплина обслуживания с динамическими
приоритетами, т.е. более приоритетной считается задача с более
коротким ожидаемым временем выполнения.
3. Ожидаемое время выполнения задачи описывается рас-
распределением
Pi
2
0,2
5
0,3
8
0,2
10
0,15
15
0,1
20
0,05
где Xi — время в секундах, pt — соответствующая вероятность
(вариант 1) или распределено равномерно в интервале от т_ до т+
сек (вариант 2).
Фактическое время выполнения задачи имеет экспоненци-
экспоненциальное распределение с математическим ожиданием, которое оп-
определяется в п.З.
Цель. Разработать GPSS-модель для анализа вычислитель-
вычислительных процессов с динамическими приоритетами в течение одного
часа.
Первоначальный перечень экспериментов: т_ = 0, т+ = 20,
Х = 0,1.
6. Моделирование процесса обслуживания клиентов в бан-
банке.
Исходные данные.
1. В банке имеется N касс. Приход клиентов в банк описы-
описывается пуассоновским потоком с интенсивностью X.
2. Время обслуживания клиентов — экспоненциальное со
средним значением ц.
3. Если в момент входа клиента в банк хотя бы один кассир
свободен, клиент сразу же попадает к этому кассиру. В противном
случае клиент присоединяется к любой очереди, которая на те-
текущий момент является кратчайшей.
4. Обслуживание клиентов в очереди осуществляется по
принципу "первым пришел — первым обслужился". После об-
обслуживания клиент уходит из банка.
Цель. Разработать GPSS-модель для анализа работы банка в
течение 8 часов.
Первоначальный перечень экспериментов: X = 200 чел/час,
ц. = 45 чел/час.
262
7. Моделирование процесса обслуживания рыболовных
траулеров.
Исходные данные.
1. Группа из т рыболовных траулеров обслуживается одной
плавучей базой, на которой имеется один причал. База принимает
на переработку рыбу и обеспечивает траулер необходимыми мате-
материалами.
2. Длины временных промежутков между прибытиями ко-
кораблей на базу случайны, независимы и одинаково распределены
по равномерному закону на интервале [т_, т+] суток. Время об-
обслуживания траулера на базе — случайная величина, распреде-
распределенная равномерно на интервале [?_, t+] часов.
3. Если причал на базе занят, то траулер становится в оче-
очередь на обслуживание.
Длина очереди практически не ограничена.
Цель. Разработать GPSS-модель обслуживания траулеров в
течение Т суток. Оценить среднюю длину очереди, среднее время
простоя траулера, среднее время простоя базы, среднее время
ожидания в очереди.
Первоначальный перечень экспериментов: т = 10, т^ = 0,
т+ = 2, *_ = 4, t+ = 6, Т = 30.
8. Моделирование работы парикмахерской с двумя кресла-
креслами.
Исходные данные.
1. В парикмахерскую с двумя креслами приходят клиенты.
Время прихода клиентов имеет равномерное распределение Щ_1\,
2. Время, необходимое для обслуживания клиента каждым
парикмахером, имеет равномерное распределение, соответственно:
Щ.Ч, Ч] и R[x5, т6].
Цель. Разработать GPSS-модель и проимитировать работу
парикмахерской на отрезке времени [0, Т\.
Первоначальный перечень экспериментов: \\ = 5 мин,
х2 = 13 мин, тз = 12 мин, т4 = 20 мин, т5 = 12 мин, те = 20 мин,
Т = 8 часов.
9. Моделирование двух стратегий обслуживания на автоза-
автозаправочной станции.
Исходные данные.
1. Автозаправочная станция (АЗС) имеет две бензоколонки,
причем автомобили прибывают через каждые \ сек, а время за-
заправки их бензином составляет г\ с. Случайные величины \, г\
263
имеют равномерный закон распределения на интервалах [а ± е],
[b ± 5] соответственно.
2. Можно предложить две стратегии обслуживания прибы-
прибывающих автомобилей: 1) автомобили образуют две очереди и
обслуживаются соответствующими бензоколонками; 2) автомоби-
автомобили образуют одну очередь и обслуживаются освободившейся бен-
бензоколонкой.
Цель. Разработать GPSS-модель для анализа двух стратегий
обслуживания автомобилей. Выбрать лучшую стратегию по ре-
результатам имитации 100 обслуживании.
Первоначальный перечень экспериментов: а = 60, г = 30,
Ь = 120, 5 = 45.
10. Моделирование процесса функционирования механиче-
механического цеха.
Исходные данные.
1. Объектом моделирования является механический цех,
который оборудован тремя универсальными станками для обра-
обработки пяти типов деталей.
2. Поступающие в цех детали образуют пуассоновский поток
с X дет/мин, а тип деталей в этом потоке задается распределением
Тип деталей
Pi
1
0,1
2
0,2
3
0,3
4
0,35
5
0,05
3. Время обработки детали на станке имеет экспоненциаль-
экспоненциальное распределение с математическим ожиданием ц мин.
4. После окончания обработки детали покидают цех, причем
фиксируется общее число деталей каждого типа.
Цель. Построить GPSS-модель для анализа процесса функ-
функционирования механического цеха по результатам имитации од-
одной смены, т.е. 8 часов.
Первоначальный перечень экспериментов: X = 0,8, ц = 4.
11. Моделирование процесса функционирования промыш-
промышленного робота.
Исходные данные.
1. Поступающие к роботу изделия образуют пуассоновский
поток с X изд/сек, а время обработки изделия составляет t с.
2. Вероятность безотказной работы робота за время обработ-
обработки изделия равна 0,95. Если робот отказывает, то происходит его
восстановление по экспоненциальному закону с математическим
ожиданием ц с. После восстановления робота обработка изделия
продолжается, причем фиксируется общее число отказов робота.
264
Цель. Построить GPSS-модель для анализа процесса функ-
функционирований промышленного робота по результатам обработки п
изделий.
Первоначальный перечень экспериментов: X = 0,02, t =
= 45 сек, ц = 180, п = 100.
12. Моделирование процесса функционирования моечной
станции.
Исходные данные.
1. Моечная станция имеет N мест на стоянке для автомоби-
автомобилей. Если клиенты подъезжают и не застают свободного места для
ожидания, они уезжают.
2. Поток автомобилей является пуассоновским с интенсив-
интенсивностью X. Время мойки автомобиля распределено экспоненциаль-
экспоненциально с интенсивностью (д.
Цель. Разработать GPSS-модель и использовать ее для выбо-
выбора оптимального числа мест N на стоянке так, чтобы число уе-
уехавших машин было минимальным.
Первоначальный перечень экспериментов: X = 5 авт/мин,
ц = 4 авт/мин, 3 < N < 7.
13. Моделирование процесса обслуживания танкеров в пор-
порту.
Исходные данные.
1. Порт используют для заливки танкеров сырой нефтью.
Порт имеет возможность заливать одновременно до N танкеров,
которые прибывают в порт через интервалы времени, распреде-
распределенные по разномерному закону в интервале [аг, &j].
2. В порту имеется один буксир. Если буксир свободен, вре-
время подхода к стоянке или отхода от нее занимает Т часов. Если
буксир занят, танкеры ожидают его.
Цель. Построить GPSS-модель, имитирующую работу порта
в течение недели. Обеспечить в модели возможность определения
времени пребывания танкеров в порту.
Первоначальный перечень экспериментов: N = 3, а\ = 4 час,
Ъх = 18 час, Т = 1 час.
14. Моделирование станции технического контроля произ-
производственной линии.
Исходные данные.
1. Собранные телевизионные приемники проходят серию
испытаний на станциях технического контроля. На последней
станции проверяют регулировку установки кадров по вертикали.
Отбракованный телевизор отправляют в цех наладки.
265
2. Предположим, что телевизоры попадают на последнюю
станцию через интервалы времени, распределенные по равномер-
равномерному закону в интервале [а\, Ъ{\. На станции находятся два кон-
контролера. Каждому из них требуется на проверку телевизора вре-
время, равномерно распределенное в интервале [п2, Ъ%\.
3. Примерно 85% телевизоров проходят проверку успешно и
попадают в цех упаковки. Остальные 15% попадают в цех налад-
наладки, в котором находится один наладчик. Наладка занимает вре-
время, равномерно распределенное в интервале [аз, Ь%\.
Цель. Построить GPSS-модель для анализа работы указанно-
указанного подразделения производственной линии.
Первоначальный перечень экспериментов: аг = 3 мин,
Ь\ = 7 мин, п2 = 6 мин, &2 = 12 мин, аз = 20 мин, &з = 40 мин.
15. Моделирование работы небольшого продовольственного
магазина.
Исходные данные.
1. Небольшой продовольственный магазин состоит из трех
прилавков и одной кассы на выходе из магазина.
2. Покупатели приходят в магазин, входной поток является
пуассоновским с математическим ожиданием ц.
3. Войдя в магазин, каждый покупатель берет корзинку и
может обойти один или несколько прилавков, отбирая продукты.
Вероятность обхода конкретного прилавка приводится в таблице.
4. Время, требуемое для обхода прилавка, и число покупок,
выбранных у прилавка, распределены равномерно.
5. После того, как товар отобран, покупатель становится в
конец очереди к кассе, время обслуживания покупателя в кассе
пропорционально числу сделанных покупок, на одну покупку
уходит 3 с проверки. После оплаты продуктов покупатель остав-
оставляет корзинку и уходит.
Цель. Разработать GPSS-модель и проимитировать работу
небольшого продовольственного магазина в течение 8-часового
рабочего дня.
Первоначальный перечень экспериментов: ц = 75 с.
Колонки таблицы означают: 1 — номер прилавка, 2 — ве-
вероятность выполнения покупок, 3 — время обхода прилавка (в
секундах), 4 — число покупок, сделанных у прилавка (в штуках).
1
1
2
3
2
0,75
0,55
0,82
120
150
120
3
±
±
±
60
30
45
4
3±
4±
5 +
1
1
1
266
16. Моделирование работы автоматической телефонной
станции.
Исходные данные.
1. Рассматривается работа автоматической телефонной
станции (АТС), имеющей т параллельных каналов и рассчитан-
рассчитанной на одновременное обслуживание не более п абонентов.
2. Длины временных промежутков между поступлениями
вызовов на АТС случайны, независимы и равномерно распределе-
распределены на интервале [т_, т+] секунд. Время, на которое каждый або-
абонент занимает свободный канал, случайно и подчинено экспонен-
экспоненциальному закону с параметром А. минут.
3. Если абонент застает свободным хотя бы один из т кана-
каналов, то он соединяется с нужным ему номером. Если все m кана-
каналов заняты, то абонент получает отказ.
Цель. Разработать GPSS-модель функционирования АТС в
течение Т часов и оценить вероятность того, что абонент, вызывая
АТС, не застанет ее занятой, а также среднее число занятых ка-
каналов, вероятности занятости и среднего времени простоя каждо-
каждого канала.
Первоначальный перечень экспериментов: т = 20, п = 100,
т- = 0, т+ = 6, X = 2, Т = 12.
17. Моделирование работы участка авторемонтной станции
с приоритетным обслуживанием.
Исходные данные.
1. Участок ремонта кузовов автомобилей состоит из двух ра-
рабочих мест. После восстановления кузова автомобили поступают в
окрасочную камеру.
2. Длины временных промежутков между поступлениями
поврежденных автомобилей первой модели — случайные, равно-
равномерно распределенные величины на интервале [т_, т+] часов, вто-
второй модели — случайные, равномерно распределенные величины
на интервале [А._, Х+] часов. Время пребывания автомобиля первой
модели на кузовном ремонте — случайная равномерно распреде-
распределенная величина на интервале [|д_, ц+] часов, второй модели —
случайная величина с экспоненциальным законом распределения
со средним значением X часов. Время окраски любого автомобиля
— случайная величина, имеющая равномерное распределение на
интервале [s_, s+] минут.
3. Модели первого типа при обслуживании имеют более вы-
высокий приоритет.
4. В случае, если ремонтные места и покрасочная камера
заняты, автомобили дожидаются обслуживания в очередях, дли-
длины которых не ограничены.
267
Цель. Разработать GPSS-модель функционирования ремонт-
ремонтных работ в течение Т часов. Оценить отдельно для 1 и 2 моделей
среднее время, которое тратится на ремонт автомобиля (от момен-
момента поступления не ремонт до завершения окраски), среднее время
ожидания в очередях.
Первоначальный перечень экспериментов: т_ = 0, т+ = 6,
А._ = 0, Х+ = 2, ц_ = 1, ц+ = 3, X = 3, s_ = 10, s+ = 12, Т = 12.
18. Моделирование сети автоматизированных рабочих мест.
Исходные данные.
1. Сеть АРМ организована на базе трех персональных ЭВМ,
выполняющих функции интеллектуальных терминалов. АРМ
имеют доступ к центральной ЭВМ через коммуникационный про-
процессор.
2. На каждом терминале задача формируется в среднем че-
через t с (экспоненциальное распределение), причем на выполнение
в центральную ЭВМ идет 25% задач. Остальные задачи выполня-
выполняются в автономном режиме.
3. Время обслуживания задачи в коммуникационном про-
процессоре и центральной ЭВМ имеет экспоненциальное распределе-
распределение с математическими ожиданиями соответственно fij с и Ц2 с-
4. После выполнения в центральной ЭВМ задача возвраща-
возвращается через коммуникационный процессор на соответствующий
терминал, инициируя тем самым формирование новой задачи.
Цель. Разработать GPSS-модель для анализа процесса
функционирования сети АРМ в течение одного часа.
Первоначальный перечень экспериментов: t = 10, hj = 1,
Ц2 = 12-
19. Моделирование САПР.
Исходные данные.
1. Система автоматизации проектирования состоит из ЭВМ
и трех терминалов. Каждый проектировщик формирует задание
на расчет в интерактивном режиме.
2. Набор строки занимает время, равномерно распределен-
распределенное на интервале [аь Ьг]. Получение ответа на строку требует ^
секунд работы ЭВМ и t2 секунд работы терминала.
3. После набора N строк задание считается сформированным
и поступает на решение, при этом ЭВМ в течение времени, равно-
равномерно распределенного на интервале [п2, b^l, прекращает выра-
выработку ответов на вводимые строки.
4. Вывод результата требует т^ секунд работы терминала.
Анализ результата занимает у проектировщика Т2 секунд, после
чего цикл повторяется.
268
Цель. Построить GPSS-модель системы и смоделировать ее
работу в течение 6 часов. Определить вероятность простоя проек-
проектировщика из-за занятости ЭВМ и коэффициент загрузки ЭВМ.
Первоначальный перечень экспериментов: а\ = 5 с, Ь\ =
= 15 с, tx = 3 с, t2 = 5 с, N = 10, тх = 8 с, т2 = 30 с.
20. Моделирование процесса передачи речи информацион-
информационной цифровой системой.
Исходные данные.
1. Информационная система, состоящая из 2 транзитных
каналов с входным накопителем, осуществляет передачу речи в
цифровом виде.
2. Время передачи цифрового пакета по каждому каналу со-
составляет t мс, интервал поступления является случайным, равно-
равномерно распределенным на интервале [ц — А, (л + А] мс. Запись ти-
типа [ц ± 5] означает интервал [ц - А, ц + А].
3. Пакеты, длительность передачи которых превышает т мс,
подлежат уничтожению, так как сильно искажают качество речи,
однако более а уничтожение — недопустимо.
Цель. Смоделировать средствами GPSS работу описанной
системы. Оценить частоту уничтожения пакетов.
Первоначальный перечень экспериментов: t = 5, ц = 6, 8 = 3,
т = 10, а = 30.
21. Моделирование процесса функционирования участка
механообработки ГАП.
Исходные данные.
1. Участок механообработки включает входной конвейер,
транспотный робот, два однотипных независимо работающих
станка с ЧПУ и выходной конвейер.
2. Время поступления деталей на обработку и время обра-
обработки детали на станке распределены равномерно на интервалах
[а — 5, а + 5] с, [Ь — е, Ъ + г] с соответственно.
3. Робот переносит деталь с входного конвейера на свобод-
свободный станок и затем со станка на выходной конвейер, время каж-
каждого переноса распределено равномерно на интервале [с - у, с + у]
с.
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования участка в течение k смен (продолжительность од-
одной смены 8 часов).
Первоначальный перечень экспериментов: k = 1, а = 100,
8 = 90, Ь = 280, е = 30, с = 10, у = 2.
269
22. Моделирование производственного участка с двумя об-
обрабатывающими центрами.
Исходные данные.
1. Производственный участок имеет два обрабатывающих
центра (ОБРЦ-I и ОБРЦ-П), которые осуществляют механообра-
механообработку деталей трех типов.
2. Детали поступают на обработку через каждые t мин, об-
образуя пуассоновский поток. В этом потоке детали типов 1 и 2 по-
появляются с вероятностями 0,25, детали типа 3 — с вероятностью
0,5.
3. Время обработки деталей типов 1 и 2 — ti мин, деталей
типа 3 — 12 мин.
4. ОБРЦ-I осуществляет обработку деталей типов 1 и 2,
а ОБРЦ-П — деталей всех типов, причем детали типов 1 и 2 по-
поступают в ОБРЦ-П в случае, если ОБРЦ-I занят.
5. На участке фиксируется количество обработанных дета-
деталей каждого типа.
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования производственного участка в течение одной смены,
т.е. е часов.
Первоначальный перечень экспериментов: t = 6, хг = 10,
12= 8.
23. Моделирование автоматизированной технологической
линии.
Исходные данные.
1. Технологическая линия включает источник деталей, два
взаимосвязанных станка, накопитель, технологический модуль
для окончательной обработки деталей, рабочее место комплекта-
комплектации палет и транспортный робот для их транспортировки на
склад.
2. Время поступления деталей из источника распределено
равномерно на интервале [а ± 8] с, причем деталь поступает в ми-
минимальную из очередей к станкам.
3. Если деталь поступает на станок 1, то затем она поступа-
поступает на станок 2. Если деталь поступает на станок 2, то затем она
поступает на станок 1. Время работы деталей на станках 1, 2 рас-
распределено равномерно на интервалах [bx ± z{\ с, [fc2 ± ?2] c соответ-
соответственно.
4. После цикла механообработки деталь попадает в накопи-
накопитель (на 10 деталей). Из накопителя все детали одновременно пе-
передаются в технологический модуль для окончательной обработки
[&3 ± Ез] с- Затем осуществляется укладка деталей в налеты по
270
10 шт. Транспортный робот отбирает по 2 палеты и транспортиру-
ет их на склад. Время транспортировки распределено равномерно
на интервале [с ± v] с.
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования автоматизированной технологической линии в те-
течение часа.
Первоначальный перечень экспериментов: а = 10, 5 = 2,
fti = 10, El = 4, Ъ2 = 9, .-2 = 3, b3 = 6, е3 = 2, с = 16, v = 4.
24. Моделирование стратегий обслуживания в технологиче-
технологическом модуле.
Исходные данные.
1. Объект моделирования включает технологический мо-
модуль, транспортный робот и склад изделий.
2. Палеты с деталями поступают с технологического модуля
через каждые [а ± 5] мин. Транспортный робот отбирает одну па-
лету, транспортирует ее на склад и возвращается назад, затрачи-
затрачивая [Ь ± б] мин. В обоих случаях время распределено по равномер-
равномерному закону.
3. Реализовать две стратегии обслуживания — FIFO и LIFO.
Выяснить, какая из стратегий является более предпочтительной.
Цель. Разработать GPSS-модель для анализа роботизирован-
роботизированного участка ГАП в течение смены, т.е. 8-ми часов.
Первоначальный перечень экспериментов: а = 18, 8 = 5,
ft =16, е = 4.
25. Моделирование участка механообработки ГАП.
Исходные данные.
1. Участок механообработки включает рабочее место ком-
комплектации палет, два станка для обработки деталей и транспорт-
транспортный робот (робокар).
2. Имеется 2 типа деталей. Детали первого и второго типов
поступают на место комплектации палет соответственно через t\ с
и t2 с. Каждая палета вмещает т\ деталей типа 1 либо т2 деталей
типа 2.
3. Палеты с деталями типа 1,2 обрабатываются на станках
типа 1,2 соответственно.
Время обработки распределено равномерно для станка 1 на
интервале \а.\ ± 5{\ с, для станка 2 на интервале [а2 ± 52] с.
4. Робокар транспортирует по две палеты от места комплек-
комплектации до станков и обратно в течение времени, равномерно рас-
распределенного на интервале [Ь ± е].
5. На месте комплектации палеты освобождаются от обрабо-
обработанных деталей, загружаются снова и поступают на обработку.
271
Цель. Разработать GPSS-модель анализа процесса функцио-
функционирования участка в течение k часов.
Первоначальный перечень экспериментов: k = 1, ?j = 15,
t2 = 10, аг = 120, Si = 10, а2 = 40, 52 = 5, Ъ = 16, е = 4.
26. Моделирование процесса функционирования робототех-
нического комплекса (РТК).
Исходные данные.
1. РТК содержит 3 технологических модуля: ТМх, ТМ2,
ТМ3. Причем ТМХ и ТМ2 начинают работу одновременно, а ТМ3 —
после завершения первых двух операций.
2. Длительность технологических операций t± = t2 = 10 мин,
*з = 20 мин.
3. Вероятности безотказной работы оборудования при вы-
выполнении операций и математические ожидания процессов вос-
восстановления pi = 0,8, mi = 2 мин., р2 = 0,9, т2 = 5 мин., р3 = 0,95,
ТПз = Ю МИН.
Цель. Разработать GPSS-модель для анализа временных ха-
характеристик РТК по результатам 100 прогонов модели.
27. Моделирование работы столовой самообслуживания.
Исходные данные.
1. Рассматривается работа столовой самообслуживания. Обе-
Обеды выдают т поваров. Количество мест за столами всегда доста-
достаточно для размещения лиц, уже получивших обед.
2. Длины временных промежутков между прибытиями по-
посетителей в столовую случайны, независимы и одинаково распре-
распределены по равномерному закону на интервале [т_, т+] секунд.
Время обслуживания (выдачи обеда) на одного посетителя описы-
описывается равномерно распределенной величиной на интервале [*_, t+]
минут.
3. Условия работы столовой таковы, что в очереди могут од-
одновременно стоять не более г человек.
4. Посетитель стоит в очереди s минут, после чего он поки-
покидает столовую.
5. На обед посетитель затрачивает время, которое распреде-
распределено равномерно на интервале [s_, s+] минут.
Цель. Разработать GPSS-модель работы столовой в течение Т
часов. Оценить, сколько в среднем требуется посетителю времени
на посещение столовой, среднее время, которое посетитель прово-
проводит в очереди, количество посетителей, покинувших очередь.
Первоначальный перечень экспериментов: т = 3, т_ = 0,
т+ = 30, f_ = 1, t+ = 2, г = 40, s = 50, s_ = 15, s+ = 25, Т = 4.
272
28. Моделирование процесса обработки детали.
Исходные данные.
1. В обрабатывающий цех поступают детали, обработка ко-
которых осуществляется двумя станками.
2. Детали, поступающие на первичную обработку, образуют
пуассоновский поток со средним интервалом между поступлением
т мин.
3. Первый станок обрабатывает деталь в среднем ?j мин. и
имеет aj% брака, второй — соответственно t2 мин. и а2% брака.
Все бракованные детали возвращаются на повторную обработку на
первый станок. Интервалы времени обработки обоих станков
имеют экспоненциальное распределение.
Цель. Построить GPSS-модель процесса обработки для п де-
деталей. Определить среднюю загрузку первого станка на вторичной
обработке и вероятность появления отходов (деталей, попавших в
раздел бракованных после вторичной обработки).
Первоначальный перечень экспериментов: т = 50, ^ = 40,
t2 = 60, ax = 4%, a2 = 8%, п = 500.
29. Моделирование процесса функционирования роботизи-
роботизированного участка.
Исходные данные.
1. Роботизированный участок включает входной конвейер,
телекамеру, робот, сверлильный станок с ЧПУ, выходной конвей-
конвейер.
2. Детали на входном конвейере могут быть расположены
произвольно и должны идентифицироваться с помощью системы
технического зрения, использующей телекамеру.
3. Детали поступают на обработку. Время случайное, равно-
равномерно распределенное на интервале [a ± 5] сек, а время обработки
детали на станке имеет то же закон на интервале [b ± е] сек.
4. Робот переносит деталь с входного конвейера на станок за
[с ± у] с и со станка на выходной конвейер [d ± v] с. Всюду имеет
место равномерный закон распределения.
Цель. Разработать GPSS-модель для анализа процесса функ-
функционирования роботизированного участка в течение смены, т.е. 8-
ми часов.
Первоначальный перечень экспериментов: а = 320, 8 = 90,
Ъ = 240, е = 60, с = 40, у = 20, d = 20, v = 10.
273
30. Моделирование процесса статистического приемочного
контроля последовательных партий продукции.
Исходные данные.
1. Партии продукции поступают на контроль последова-
последовательно, образуя пуассоновский поток с интенсивностью X пар-
партий/мин.
2. Время контроля партии распределено равномерно и зави-
зависит от вида контроля:
Ослабленный контроль (ОК)
Нормальный контроль (НК)
Усиленный контроль (УК)
30-40 мин
50-60 мин
80-100 мин
3. Для первой партии всегда используется нормальный кон-
контроль. Для ?-й партии вид контроля зависит от качества (i - 1)-й
партии, характеризуемого входным уровнем дефектности Pj_j
(i = 2, 3, ...). При этом для г-й партии используется:
НК, если /?;_! е [р0 ± 5],
ОК, если Pi-i < ро — 5,
УК, если />;_i > ро + °i
где ро — приемочный уровень дефектности. В последнем случае
(i - 1)-я партия бракуется.
4. Величины {pj являются случайными равномерно распре-
распределенными на интервале [ро ± е].
Цель. Разработать GPSS-модель процесса приемочного кон-
контроля в течение 25 рабочих смен (8 часов каждая). Подсчитать
число бракованных партий при различных соотношениях 5 и е.
Первоначальный перечень экспериментов: X = 0,01;
Ро = 0,1; 5 = 0,02; s = 0,58, 8, 25.
31. Моделирование работы транспортного цеха.
Исходные данные.
1. Транспортный цех объединения, имеющий т грузовиков,
обслуживает три филиала А, В, С. В момент начала работы грузо-
грузовики находятся в филиале А. Грузовики перевозят изделия А в В
и из В в С.
2. Погрузка в А занимает в среднем t± мин, переезд из А в В
длится <2> разгрузка (погрузка) в В — ^з мин, переезд в С — ?4
мин, разгрузка в С — t5 мин, (всюду распределение экспоненци-
экспоненциальное). Если к моменту погрузки в А и В изделий нет, грузовики
уходят дальше по маршруту.
3. Изделия выпускаются партиями по 1000 шт. в А через
20 ± 3 мин, в В через 20 ± 5 мин. (равномерный закон распреде-
распределения). Грузоподъемность грузовика 1000 изделий.
274
Цель. Разработать GPSS-модель работы цеха в течение рабо-
рабочей недели. Определить частоту пустых перегонов.
Первоначальный перечень экспериментов: ^ = 20, t2 = 30,
t3 = 40, *4 = 30, t5 = 20.
рен.
32. Моделирование участка термической обработки шесте-
Исходные данные.
1. На участке термической обработки выполняется цемента-
цементация и закаливание шестерен.
2. Время поступления деталей на участок, длительность це-
цементации и закаливания распределены равномерно на интервалах
[а ± а], [Ъ ± Р], [с ± у] мин. соответственно.
3. В зависимости от величины суммарного времени обработ-
обработки t выполняются следующие действия: если t > 25 мин, то шес-
шестерни покидают участок (относятся к 1-му сорту); если 20 < t < 25
— передаются на повторную закалку; если t < 20, то шестерни
относятся ко второму сорту.
Цель. Разработать GPSS-модель процесса обработки на уча-
участке шестерен. Определить режим функционирования, обеспечи-
обеспечивающий выход 90% изделий 1-го сорта.
Первоначальный перечень экспериментов: а = 10, а = 5,
Ъ = 10, Р = 7, с = 10, у = 6, п = 400.
33. Моделирование процесса функционирования грузового
аэропорта.
Исходные данные.
1. Грузы прибывают для отправки в аэропорт в контейне-
контейнерах: случайные длительности промежутков между прибытиями
двух контейнеров распределены по равномерному закону Е\г\, x<^\.
В грузовом аэропорту нет фиксированного расписания, а каждый
самолет отправляется в момент его полной загрузки.
2. Для перевозки грузов из данного аэропорта в аэропорт
назначения используются два типа самолетов. Есть iVj самолетов
с грузоподъемностью т контейнеров и N2 самолетов повышенной
грузоподъемности 2т контейнеров. Время полета каждого само-
самолета туда и обратно является случайной величиной, имеющей
усеченное на [тз, Т4] гауссовское распределение iV(|U, a2).
3. Управляющий аэропортом старается как можно чаще ис-
использовать самолеты меньшей грузоподъемности. Самолеты, под-
поднимающие 2т контейнеров, используются лишь при отсутствии
других.
4. Время погрузки каждого контейнера в самолет случайно
и имеет равномерное распределение
275
Цель. Разработать GPSS-модель и осуществить имитацию
процесса функционирования грузового аэропорта на отрезке вре-
времени [0, Т] для оценки среднего времени "простоя" грузов, сред-
среднего времени "простоя" самолетов каждого типа.
Первоначальный перечень экспериментов: т^ = 0,5 мин, т2 =
= 1,5 мин, Ni - 3, Ni = 2, т = 80, т3 = 2 ч, т4 = 4 ч, ц = 3 ч,
О = 1 Ч, Т5 = 1 МИН, Тб = 2 МИН.
34. Моделирование статистически регулируемого техноло-
технологического процесса штамповки.
Исходные данные.
1. Время изготовления одного изделия на участке штампов-
штамповки распределено экспоненциально с интенсивностью X изд/с. На
наладку ТП в начале смены уходит t мин.
2. Через каждые т мин. после начала работы рабочий берет
на контроль выборки изделий, с помощью специальных шаблонов
подсчитывает число дефектных изделий v и наносит полученное
значение на контрольную карту.
3. С вероятностью р это число v больше допустимого значе-
значения (выходит за границу регулирования контрольной карты). При
этом ТП считается разлаженным, останавливается и подлежит
переналадке.
4. Возможны три причины разладки: дефект штампа, де-
дефект материала, разладка оснастки штампа, которые имеют место
с вероятностью р\, Р2, Рз соответственно. Время поиска причины
разладки распределено равномерно на интервале [а ± 5]. Время
переналадки (замена штампа, ленты, настройка оснастки) распре-
распределено нормально с параметрами (nj.cri), (|a2>ai)> (йз>аз) минут
соответственно.
5. По окончании переналадки ТП возобновляется.
Цель. Разработать GPSS-модель для анализа ТП штамповки
в течение смены (8 часов).
Первоначальный перечень экспериментов: X = 3, t = 15,
т = 5, р = 0,05, рх = 0,3, р3 = 0,4, а = 4, 5 = 1, цх = 3, ц2 = 4, ц3 = 5>
276
ПРИЛОЖЕНИЕ
Таблица П.1
Системные числовые атрибуты GPSS и GPSS/PC
Симв. обозн.
RNj
С1
АС1
TG1
XN1
(GPSS/PC)
Zl (GPSS/PC)
Ml (GPSS/PC)
Описание системных числовых атрибутов
2
Реализация БСВ для j-ro датчика A < j < 8);
О < RNj < 999 во всех случаях, кроме случаев исполь-
использования RNj в качестве аргумента функции и пере-
переменной, когда 0 < RNj < 0.999999
Текущее значение относительного модельного време-
времени (устанавливается в 0 операторами CLEAR и
RESET)
Текущее значение абсолютного времени
(устанавливается в 0 только оператором CLEAR)
Текущее значение счетчика числа завершений
Номер активного транзакта (обрабатываемого в дан-
данный момент)
Размер свободной оперативной памяти в байтах
Время пребывания в модели активного транзакта
В следующей таблице в колонке 2 приведены символические
обозначения СЧА. В таблице используется обращение к СЧА в
форме C4Aj (j — номер объекта), что не исключает возможности
использования других форм.
Таблица П. 2
Стандартные числовые атрибуты объектов
Тип объек-
объектов
1
Транзакты
(GPSS/PC)
Транзакты
(GPSS)
Блоки
2
Pj
Р*<имя>
MPj
MBj
Pj,
PFj
PHj
PBj
PLj
PR
Nj
Wj
Описание СЧА
3
Значение параметра j транзакта
Значение параметра с именем <имя>
Значение времени, равное АС1—Pj
Флаг синхронизации: 1, если транзакт в блоке
j из одного семейства с активным транзак-
том; 0 — в противном случае
Значение параметра j форматом: "слово"
(в интервале ±B31 - 1));
"полуслово" (±B15 - 1));
"байт" (±B7 - 1));
"плавающая точка" (±B24 - 1)).
Приоритет активного транзакта
Общее число транзактов, вошедших в блок
Текущее число транзактов в блоке
277
Продолжение таблицы П.2
1
Устройства
Логические
ключи
Памяти
Очереди
Переменные
2
Fj
FIj
FRj
FCj
FVj
FTj
LSJ
Sj
Rj
SRj
SMj
SCj
STj
SEj
SFj
SVj
Qj
QAj
QMj
QCj
QZj
QTj
QXj
Vj
BVj
FNj
3
Текущее состояние устройства @ — устройство
свободно, 1 — устройство занято или прервано)
Признак прерывания устройства A — состоя-
состояние прерывания, 0 — в противном случае)
Коэффициент использования устройства в до-
долях от 1000
Общее число входов в устройство
Признак доступности устройства A — уст-
устройство доступно, 0 — устройство не доступ-
доступно)
Среднее время использования устройства од-
одним транзактом
Состояние логического ключа A — установ-
установлен, 0 — не установлен)
Текущее содержание памяти
Число свободных единиц памяти
Коэффициент использования памяти j в долях
от 1000
Максимальное содержание памяти
Общее число входов в память
Среднее время пребывания транзактов в памя-
памяти
Признак пустоты памяти A — память пуста,
0 — память не пуста)
Признак заполненности памяти A — память
заполнена, 0 — память не заполнена)
Признак доступности памяти A — память
доступна, 0 — память не доступна)
Текущая длина очереди
Средняя длина очереди
Максимальная длина очереди
Общее число входов в очередь
Число нулевых входов (без ожидания) в оче-
очередь
Среднее время пребывания транзакта в очере-
очереди (включая нулевые входы)
Среднее время пребывания транзакта в очере-
очереди (без нулевых входов)
Значение арифметической переменной с фик-
фиксированной или плавающей точкой
Значения булевской переменной A — истина,
0 — ложь)
Значение функции (дробная часть отбрасыва-
отбрасывается за исключением использования в качест-
качестве функции-модификатора или аргумента дру-
другой функции)
278
Продолжение таблицы П.2
1
Таблицы
Ячейки
Матрицы
ячеек
Списки
пользователя
2
TBj
TDj
TCj
Xj
MXj(a,b)
CHj
CAj
CMj
CCj
CTj
3
Среднее значение аргумента
Общее число включений в таблицу (число зна-
значений аргумента таблицы)
Среднеквадратическое отклонение аргумента
таблицы
Содержимое ячейки
Содержимое элемента матрицы ячеек, распо-
расположенного в строке а и столбце b
Текущее число транзактов в списке
Среднее число транзактов в списке
Максимальное число транзактов в списке
Общее число транзактов в списке
Среднее время пребывания транзакта в списке
Таблица П.З
Операторы блоков GPSS/PC
Код и
назначение
1
ADVANCE
Задержка транзакта
ASSEMBLE
Объединение
транзактов
ASSIGN
Изменение
значений
параметров
COUNT XXX
Определение ко-
количества объектов
из заданного
множества,
удовлетворяющих
заданному
условию
DEPART
Уменьшение
очереди
Операнд
2
А
[В]
А
А
В
С
А
В
С
[D]
[Е]
А
[В]
Содержание операнда
3
Среднее время
Модификатор-интервал или модифика-
модификатор-функция: FNj, FN$<hmh>, FN*j
Число транзактов из одного семейства,
объединяемых в один транзакт
Номер или диапазон изменения номеров
параметров и указатель режима
(накопления — "+", вычитания — "-",
замещения — по умолчанию)
Значение, на которое изменяется пара-
параметр (параметры)
Номер модификатора-функции
Номер параметра-счетчика объектов
Нижняя граница диапазона номеров
объектов
Верхняя граница диапазона номеров
объектов
Значение, сравниваемое со значением
СЧА в поле Е
Код СЧА анализируемых объектов (без
номера и имени)
Номер (имя) очереди
Число единиц, на которое уменьшается
длина очереди (не превосходит текущей
длины очереди)
279
Продолжение таблицы П.З
1
ENTER
Занятие памяти
GATE XXX
Выбор направле-
направления в зависимо-
зависимости от состояния
объекта
GENERATE
Создание и запуск
транзактов в мо-
модель с заданным
законом времени
поступления
LEAVE
Освобождение
памяти
LINK
Перевод транзак-
транзакта из списка
текущих собы-
событий в список
пользователя
LOGIC X
Изменение со-
состояния ключа,
X 6 {S,R,I}
LOOP
Организация
циклов
MATCH
Синхронизация
транзактов
PRIORITY
Изменение при-
приоритета транзакта
PREEMPT
Прерывание об-
обслуживания уст-
устройством одного
обслуживания
транзакта с целью
захвата устройст-
устройства прерывающим
транзактом
2
А
[В]
А
[В]
[А]
[В]
[С]
[D]
ГЕ1
А
[В]
А
В
ГЕ1
А
А
ГВ1
А
А
А
[В]
[С]
[D]
[Е]
3
Номер (имя) памяти
Число занимаемых транзактом единиц
памяти
Номер (имя) устройства, памяти, ключа
Номер (метка) альтернативного блока в
случае невыполнения проверяемого ус-
условия
Среднее время поступления транзактов
Модификатор-интервал или
модификатор-функция (см. ADVANCE)
Время задержки первого транзакта
Количество создаваемых блоком тран-
транзактов
Приоритет транзактов
Номер (имя) памяти
Число освобождаемых транзактом еди-
единиц памяти
Номер (имя) списка пользователя
Режим упорядочивания списка: FIFO —
"первым пришел " — первым обслу-
жился", LIFO — "первым пришел —
последним обслужился", номер пара-
параметра
Номер (метка) альтернативного блока
Номер (имя) логического ключа, со-
состояние которого изменяется: S —
"включается", R — "выключается", I —
"инвертируется "
Номер (имя) параметра транзакта, ис-
используемого в качестве счетчика цикла
Номер (метка) первого блока в цикле
Номер (метка) сопряженного блока
MATCH. Метка исходного блока
MATCH указывается в поле А сопря-
сопряженного блока
Новое значение приоритета транзакта
Номер (имя) прерываемого устройства
Задание режима прерывания: по при-
приоритету — PR, обычный — операнд
опущен
Номер (метка) блока для прерванного
транзакта
Номер (имя) параметра прерванного
транзакта для записи остатка времени
RE — режим удаления прерванного
транзакта с направлением по адресу в
поле С
280
Продолжение таблицы П.З
1
QUEUE
Увеличение
очереди
RELEASE
Освобождение
устройства
RETURN
Снятие прерыва-
прерывания с устройства
SAVEVALUE
Изменение значе-
значений ячеек
SEIZE
Занятие устрой-
устройства
SELECT XXX
Выбор первого из
множества объек-
объектов, удовлетво-
удовлетворяющего задан-
ному^словию
SELECT MAX (MIN)
SPLIT
Создание копий
исходного
транзакта
TABULATE
Табуляция текуще-
текущего значения аргу-
аргумента таблицы
TEST YY
Выбор направле-
направления движения
транзакта в зави-
зависимости от значе-
значений СЧА
TRANSFER
Выбор направле-
направления движения
транзактов из
множества
возможных
направлений
2
А
[В]
А
А
А
В
А
А—Е
[F]
A-F
А
[В]
[С]
А
[В]
А,В
[С]
[А]
[В],[С]
[D]
3
Номер (имя) очереди
Число единиц, на которое увеличивает-
увеличивается длина очереди
Номер (имя)'освобождаемого устройства
транзактом, который его занимал
Номер (имя) устройства, на котором
снимается прерывание транзактом,
осуществимшим прерывание
Номер (имя) ячейки и указатель режи-
режима: накопления (+), вычитания (-), за-
замещения (по умолчанию)
Значение, на которое изменяется со-
содержимое ячейки
Номер (имя) занимаемого устройства
Аналогичны блоку COUNT
Номер (метка) альтернативного блока в
случае невыполнения проверяемого ус-
условия
Аналогичны предыдущему случаю
(поиск объектов с MAX (MIN) значени-
значением указанного СЧА)
Число создаваемых копий
Номер (метка) блока, к которому на-
направляются копии
Номер (имя) параметра для присвоения
копиям последовательных номеров
Номер (имя) таблицы
Число добавляемых в соответствующий
интервал таблицы единиц
Величины, сравниваемые с помощью
оператора отношения YY e {L, LE, G,
GE, Е, NE}
Номер (имя) альтернативного блока при
невыполнении проверяемого условия
Режим выбора направления: "," — ре-
режим безусловного перехода; "BOTH" —
выбор из двух направлений; "ALL" —
выбор из более чем двух направлений;
".К" — выбор с вероятностью К
Значения номеров (меток) блоков
Константа, используемая для вычисле-
вычисления возможных адресов в режиме
"ALL"
281
Продолжение таблицы П.З
1
TERMINATE
Удаление тран-
транзактов из модели
UNLINK
Удаление тран-
транзактов из списка
пользователя
2
[А]
А
В
[С]
3
Число единиц, на которое уменьшается
счетчик завершений (поле А оператора
START)
Номер (имя) списка пользователя
Номер (метка) блока следования уда-
удаляемых транзактов
Счетчик числа удаляемых транзактов
("ALL" — удаление всех транзактов)
Примечание к таблице П.З
Всюду в таблице, где особо не оговаривается, операнды мо-
могут иметь одну из следующих форм представления: положитель-
положительное целое число (К), <имя>, C4AJ, СЧА*<параметр>. В таблице
используются обозначения: [•] — признак того, что соответствую-
соответствующий операнд может быть опущен; XXX — логический указатель
(табл.П.4) или оператор отношения ('L', 'LE', 'E', 'NE', 'G', 'GE')
в операторах с расширенным полем операции.
Таблица П.4
Логические указатели
Тип объекта
1
Устройства
Памяти
Логические
переключатели
Логический
указатель
2
FU
FNU
FI
FNI
SF
SNF
SE
SNE
LR
LS
Значение
3
Устройство занято
Устройство не занято
Устройство обслуживает прерывание
Устройство не обслуживает прерывание
Память заполнена
Память не заполнена
Память пуста
Память не пуста
Логический переключатель сброшен
Логический переключатель установлен
Таблица П.5
Карты описания функции FN$EXPON, используемой
для моделирования экспоненциального распределения
EXPON FUNCTION RN1.C24
0,0/. 1,. 104/. 2,. 222/. 3,.355/.4,. 509/. 5,. 69/. 6, .915/. 7,1.2/. 75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.82/.95,2.9/.96,3.2
.97,3.5/.98.3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9997,8
282
Таблица П.6
Карты описания функции FN$SNORM, используемой
для моделирования стандартного нормального распределения
SNORM FUNCTION RN1, С25
0,-5/.00003,-4/.00135,-3/.00621,-2.5/.02275,-2/.06681,-1.5
=лР1'^/Л5866'1/-21186'-8/-27425.--6/-34458,-.4/.42074-
•S^^6'.2/.66642,.4/.72676,.6/.78814..8/.84134 1/.8W93 1 2
.93319,1.5/.97725,2/.99379,2.5/.99865,3/.99997 4/1 5
283
ЛИТЕРАТУРА
^ 1. Бусленко Н.П. Моделирование сложных систем. — М.: Наука,
1978.
2. Калашников В. В. Организация моделирования сложных
систем. — М.: Знание, 1982.
3. Советов Б.Я., Яковлев С.А. Моделирование систем: Учебник для
вузов. — М.: Высш. шк., 1985.
4. Шрайбер Т.Д. Моделирование на GPSS. — М.: Машиностроение,
1980.
5. Максимей И.В. Имитационное моделирование на ЭВМ. — М.:
Радио и связь, 1988.
6. Коуден Д. Статистические методы контроля качества. — М.:
Физматизд., 1961.
7. Кнут Д. Искусство программирования для ЭВМ, т. 2. — М.:
Мир, 1977.
8. Ермаков СМ., Михайлов Г.А. Курс статистического моделиро-
моделирования. — М.: Наука, 1976.
9. Полляк Ю.Г. Вероятностное моделирование на ЭВМ. — М.: Сов.
радио, 1971.
10. Быков В.В. Цифровое моделирование в статистической радио-
радиотехнике. — М.: Сов. радио, 1973.
11. Андерсон Т.В. Статистический анализ временных рядов. — М.:
Мир, 1978.
12. Ермаков СМ. Метод Монте-Карло и смежные вопросы. — М.:
Наука, 1975.
13. Михайлов Г.А. Некоторые вопросы методов Монте-Карло. —
Новосибирск: Наука. Сиб. отд-ние, 1974.
14. Соболь И.М. Метод Монте-Карло. — М.: Наука, 1985.
15. Соболь И.М. Численные методы Монте-Карло. — М.: Наука,
1973.
16. Ермаков СМ., Жиглявский А.А. Математическая теория оп-
оптимального эксперимента. — М.: Наука, 1987.
17. Федоров В.В. Теория оптимального эксперимента. — М.: Нау-
Наука, 1971.
18. Клейнен Дж. Статистические методы в имитационном модели-
моделировании. Вып. 1, 2. — М.: Статистика, 1978.
19. Асатурян В.И. Теория планирования эксперимента. — М.: Ра-
Радио и связь, 1983.
20. Ивченко Г.И., Медведев Ю.И. Математическая статистика. —
М.: Высш. шк., 1984.
21. Большее Л.Н., Смирнов Н.В. Таблицы математической стати-
статистики. — М.: Наука, 1983.
22. Айвазян С.А. и др. Прикладная статистика. Т. 1,2,3. — М.:
Финансы и статистика, 1983, 1985, 1987.
23. Харин Ю.С., Степанова М.Д. Практикум на ЭВМ по математи-
математической статистике. — Минск.: Университетское, 1987.
24. Киндлер Е. Языки моделирования. — М.: Энергоатомиздат,
1985.
Наука, 1969.
статистический
284
25. Прицкер А. Введение в имитационное моделирование и язык
СЛАМ-11. — М.: Мир, 1987.
26. Питерсон Д. Теория сетей Петри и моделирование систем. —
М.: Мир, 1984.
27. Catalog of simulation software. Microcomputer, minicomputer
and mainframe software. // Simulation, 1988. October.
28. Schriber T.J. An Introduction to Simulation. Using GPSS/H.
John Wiley \& Sons, 1991.
29. Гнеденко Б.В. Курс теории вероятностей. —М.:
30. Кендалл М.Дж., Стьюарт А. Многомерный
анализ и временные ряды. — М.: Наука, 1976.
31. Аптон Г. Анализ таблиц сопряженности. — М.: Наука, 1982.
32. Андерсон Т.В. Введение в многомерный статистический ана-
анализ. — М.: Наука, 1963.
33. Технология системного моделирования (Под общей редакцией
С.В.Емельянова, В.В.Калашникова, М.Франка, А.Явора). М.: Машино-
Машиностроение; Берлин: Техник, 1983.
34. Параллельная обработка информации. Распараллеливание ал-
алгоритмов обработки (т.1). (Под ред. А.Н.Свенсона). — Киев: Наукова
думка, 1985.
35. Котов В.Е. Сети Петри. — М.: Наука, 1984.
36. Никонов В.В., Подгурский Ю.Е. Сети Петри. Теория и приме-
применение. // Зарубежная радиоэлектроника, 1984, N4, с. 28-59.
37. Сох S.W. Cox A.J. GPSS/PC: A User Oriented Simulation
System.// Modeling and Simulation on Microcomputers (R.G.Lavery ed.)
The Society for Computers Simulation. San-Diego. California. 1985.
38. Schriber T.J. Introduction to GPSS/PC. // Proceding of IEEE.
San-Francisco. California. 1987.
39. Cox S.W. The interactive grafics and annimation of GPSS/PC. //
Proceding of IEEE. San Francisco. California. 1987.
40. Кашьяп Р.А., Рао А.Р. Построение динамичных стохастиче-
стохастических моделей по экспериментальным данным. — М.:Наука, 1983.
41. Кемени Дж., Снелл Дж. Конечные цепи Маркова. — М.:Наука,
1970.
42. Kharin Yu.S., Abramovitch M.S., Galinskij V.A., Pirshtuk I.K.,
Vasiljev A.A., Zhuk E.E. ROSTAN — RObust STatistical ANalysis. User's
Manual. — Minsk. BSU. 1994.
43. Харин Ю.С., Малюгин В.И. Методические материалы к учеб-
учебной версии ППП СТАН-У. — Минск: БГУ, 1995.
44. Харин Ю.С., Малюгин В.И. Методические матери лы к учеб-
учебной версии ППП МУЛЬТИСТАН-У. — Минск: БГУ, 1995.
45. Харин Ю.С, Малюгин В.И. Методические материалы к учеб-
учебной версии ППП СТАТМОД-У. — Минск: БГУ, 1995.
46. Харин Ю.С, Степанова М.Д. Проблемы обучения статистике в
университетах. "Обзор прикладной и промышленной математики", 1994,
т.1,ЛГ2, — 331-340 с.
47. Kharin Yu., Malugin V. Teaching statistics using software
system TEACHSTAT. — "International Conference on Computational
Statistics and Statistical Education", — Tartu, TSU, 1996. — p. 25-26.
285
48. Харин Ю. Проблемы университетской подготовки специали-
специалистов по прикладной статистике. "Международная конференция —: ста-
статистическое образование в современном мире", — Санкт-Петербург,
СПбУ, 1996. — 179-182 с.
49. Айвазян С.А. Полузаполненные оболочки статистических экс-
экспертных систем и проблема типологизации задач прикладной статисти-
статистики. // В сб. "Программно-алгоритмическое обеспечение прикладного
многомерного статистического анализа". — М. ЦЭМИ, 1991. — 16-33 с.
50. Айвазян С.А. Программное обеспечение ПЭВМ по статистиче-
статистическому анализу данных. // Заводская лаборатория. 1991, N1,— 54-58 с.
287
Глава 4. МЕТОД МОНТЕ-КАРЛО И ЕГО ПРИМЕНЕНИЯ 101
4.1.Общая схема метода Монте-Карло 101
4.2. Вычисление определенного интеграла методом Монте-Карло 105
4.3. Решение системы алгебраических уравнений
методом Монте-Карло 108
4.4. Решение дифференциальных уравнений Лапласа и Пуассона —111
4.5. Решение интегральных уравнений методом Монте-Карло 116
4.6. Методы понижения дисперсии 117
4.6.1. Выделение главной части 118
4.6.2. Интегрирование по части области 119
4.6.3. Симметризация подынтегральной функции 120
Упражнения к главе 4 121
Глава 5. ПЛАНИРОВАНИЕ ИМИТАЦИОННЫХ
ЭКСПЕРИМЕНТОВ 123
5.1. Регрессионные модели экспериментов и их статистический
анализ 123
5.2. Построение оптимальных планов экспериментов 130
5.3. Факторные планы 135
5.4. Планирование экстремального эксперимента 140
5.5. Организация и планирование имитационных экспериментов ..143
5.5.1. Дополняющая выборка 144
5.5.2. Общие потоки псевдослучайных чисел 146
5.5.3. Использование априорной информации 147
5.5.4. Использование вспомогательной случайной величины 147
5.5.5. Другие методы понижения дисперсии 148
5.5.6. Задание начальных условий и правила остановки
имитационных экспериментов 149
Упражнения к главе 5 151
Глава 6. СТАТИСТИЧЕСКИЙ АНАЛИЗ РЕЗУЛЬТАТОВ
МОДЕЛИРОВАНИЯ 153
6.1. Вероятностно-статистическое описание результатов
моделирования 154
6.1.1. Оценивание вероятностных распределений и их числовых
характеристик 154
6.1.2. Проверка адекватности моделей 157
6.2. Выявление эффектов воздействия 162
6.2.1. Непараметрические методы 162
6.2.2. Применение дисперсионного анализа 165
6.3. Статистическое исследование зависимостей 167
6.3.1. Корреляционный анализ зависимостей 167
6.3.2. Регрессионный анализ зависимостей 169
6.3.3. Анализ таблиц сопряженности признаков 170
6.4. Применение методов многомерного статистического анализа 172
6.4.1. Проверка адекватности заданной гауссовской модели 173
6.4.2. Сравнение средних значений 173
6.4.3. Сравнение ковариационных матриц 175
6.4.4. Проверка однородности многомерных выборок 175
6.5. Статистический анализ динамических закономерностей 176
6.5.1. Анализ стационарных временных рядов 176
6.5.2. Статистический анализ временных рядов 178
Упражнения к главе 6 179
1.1. Понятие сложной системы 9
1.2. Понятие математической модели 13
1.3. Детерминированные модели 17
1.3.1. Непрерывно-детерминированные модели 17
1.3.2. Дискретно-детерминированные модели 18
1.3.3. Сети Петри. Основные понятия 21
1.3.4. Моделирование сложных систем с помощью сетей Петри.. 26
1.4. Вероятностные модели 32
1.4.1. Дискретно-вероятностные модели 32
1.4.2. Непрерывно-вероятностные модели 34
1.5. Агрегатные модели (А-модели) 38
1.5.1. Математическое описание агрегата (А) 39
1.5.2. Математическое описание процесса функционирования
агрегата 40
Упражнения и задачи к главе 1 45
Глава 2. ПРИНЦИПЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
СЛОЖНЫХ СИСТЕМ 48
2.1. Имитационное моделирование и условия его применения 48
2.2. Понятие модельного времени 50
2.3. Способы имитации 55
2.4. Этапы имитационного моделирования 57
2.5. Примеры построения моделирующего алгоритма на основе
событийного способа имитации 61
Упражнения к главе 2 68
Глава 3. МЕТОДЫ ИМИТАЦИИ НА ЭВМ СЛУЧАЙНЫХ
ЭЛЕМЕНТОВ 72
3.1. Принципы моделирования случайных элементов 72
3.2. Методы имитации БСВ 77
3.2.1. Типы датчиков БСВ 77
3.2.2. Методы построения программных датчиков БСВ 79
3.3. Моделирование дискретных случайных величин 83
3.3.1. Алгоритм моделирования дискретной СВ 83
3.3.2. Моделирование полной группы случайных событий 84
3.3.3. Моделирование однородной цепи Маркова 85
3.3.4. Моделирование процесса случайного блуждания 86
3.4. Метод обратной функции 86
3.5. Метод исключения 90
3.6. Метод суперпозиции 93
3.7. Моделирование случайных процессов 96
Упражнения к главе 3 99
МАТЕМАТИЧЕСКИЕ МОДЕЛИ СЛОЖНЫХ СИСТЕМ И
ПР.ЙЙЦЙПЫ ИХ ПОСТРОЕНИЯ
ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
288
Глава 7. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИМИТАЦИОННОГО И
СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ 181
7.1. Классификация специализированных систем имитационного и
статистического моделирования 181
7.2. Имитационное моделирование с помощью GPSS 185
7.2.1. Общая характеристика языка имитационного моделирования
GPSS 185
7.2.2. Организация потоков заявок на обслуживание 192
7.2.3. Описание и использование устройств, памятей и ключей.195
7.2.4 Изменение маршрутов движения транзактов 197
7.2.5. Организация вычислений и накопления результатов
моделирования 201
7.2.6. Дополнительные возможности GPSS 205
7.2.7. Выполнение заданий на ЭВМ 212
7.3. Система имитационного моделирования GPSS/PC 216
7.3.1. Особенности организации и возможности GPSS/PC 216
7.3.2. Операторы GPSS/PC 220
7.3.3. Управление процессом моделирования 226
7.3.4. Анализ процесса моделирования средствами интерактивной
графики 230
7.3.5. Описание результатов моделирования 236
7.4. Программное обеспечение моделирования случайных
элементов 241
7.4.1. Общая характеристика пакета СТАТМОД 241
7.4.2. Моделирование случайных величин 242
7.4.3. Моделирование случайных векторов 245
7.4.4. Моделирование случайных процессов 246
7.5. Программное обеспечение задач обработки результатов
имитационных экспериментов 248
7.5.1. Классификация статистического программного
обеспечения 248
7.5.2. Статистический ППП общего назначения СТАН 251
7.6. Система компьютерных учебников по статистическому анализу
данных и моделированию 252
Упражнения к главе 7 258
ПРИЛОЖЕНИЕ 276
ЛИТЕРАТУРА 283