Согласно господствующей ныне научной парадигме, когда проблема уже сформулирована (или поставлена), исследователи приступают к осуществлению основных компонентов (блоков) процесса создания и использования имитационной модели исследуемого объекта. На рис. 2.1 приведена логическая схеме этого процесса, изображенная в виде дерева решений и действий.
Левая его ветвь соответствует, как об этом отмечалось выше, конструированию модели, а правая ветвь – применению модели для целей исследования и разработки. Совокупность действий, направленных на построение и использование модели можно условно разбить на следующие три этапа [2]:
а) построение концептуальной модели МК и ее формализация;
б) алгоритмизация модели и ее машинная реализация;
Рис. 2.1. Обобщенная логическая структура процесса имитационного моделирования.
в) получение и интерпретация результатов (машинного) моделирования.
Построение концептуальной модели является первым и, пожалуй, наиболее ответственным этапом всего процесса исследования и моделирования. Сущность имитационного моделирования состоит в построении адекватной модели системы, планировании и проведении на универсальных ЭВМ экспериментов с этой моделью, которая алгоритмически и программно воспроизводит процесс функционирования системы, взаимодействие его компонентов друг с другом и с элементами внешней среды с приемлемой точностью и достоверностью.
Поэтому на начальном этапе моделирования важно определить исследуемую систему, установить ее границы, характер взаимодействия с внешней средой, путем анализа (деления, декомпозиции) выявить и описать внутреннюю структуру, путем упрощения и абстрагирования установить существенные признаки (свойства) элементов и связи между ними. Выявление и описание наиболее существенных признаков, характеристик, отношений и сущностей и позволяет строить внутреннюю структуру системы, функционирование которой должно быть воспроизведено на ЭВМ.
Декомпозиция объекта с последующим построением концептуальной модели и ее блочное представление является важным результатом этого этапа исследования. Обычно при построении блочной структуры рекомендуется выделить три автономные группы блоков:
для имитации воздействий внешней среды на систему;
для моделирования процесса функционирования системы;
для машинной реализации блоков первых двух типов, а также для фиксации и обработки результатов моделирования (вспомогательные блоки).
Последующая формализация концептуальной модели осуществляется с помощью так называемых типовых математических схем, которые служат промежуточным звеном между содержательным и формальным описанием процесса функционирования системы с учетом воздействия внешней среды. Построение или выбор подходящей математической схемы предполагает представление системы и ее компонентом в виде автономных блоков с своими входами и выходами – в виде так называемой «системы вход - выход». В этом представлении важную роль играет установление входных (экзогенных) и выходных (эндогенных) переменных, параметров, связывающих эти переменные и параметры функциональные зависимости, а также ограничения и целевые функции, которые точно отображают цели и задачи системы и необходимые правила оценки их выполнения. В результате такой аналитической работы мы получим описание процесса функционирования системы в виде модели
y(t) = Fs(x, v, c, t), (2.1)
где y(t) = (y1 (t), … , ym (t))T – вектор выходных (зависимых) переменных, x(t) = (x1(t), … , xn(t))T – вектор внешних (независимых) контролируемых переменных, v(t) = (v1(t), … , vq(t))T – вектор внешних неконтролируемых переменных, c = (c1, … , ck)T – вектор параметров системы, t – время, Fs – представляющий процесс функционирования системы оператор, который описывает «технологию» преобразования входных переменных и параметров системы в ее выходные переменные. Такую модель принято называть динамической. Когда входные и выходные переменные не зависят от времени, мы имеем дело с статической моделью
y = Fs(x, v, c). (2.2)
Иногда, в особенности в моделях систем автоматического регулирования и управления, ряд свойств и характеристик системы рассматривается как вектор состояния z(t) = (z1(t), … , zl(t))T, который функционально зависит от вектора выхода y(t), например, в виде z(t) = А(y(t)), где А – некоторый оператор, преобразующий вектор y(t) в вектор z(t). В этом случае описание системы формально задается в виде тройки < x(t), y(t), z(t) >.
При построении (или выборе) подходящей математической схемы важно установить соответствующий подход (предположение, гипотезу) к сущности объекта, к процессу его функционирования во времени и взаимодействия с внешней средой. Различают [2]:
а) непрерывно-детерминистский подход;
б) дискретно- детерминистский подход;
в) дискретно-стохастический подход;
г) непрерывно-стохастический подход.
Непрерывно-детерминистский подход.В рамках этого подхода в качестве математической модели выбирается система дифференциальных уравнение в виде (так называемые D – схемы)
dy(t)/dt = f(x, y, t) (2.3)
где, как и в случае (2.1), y(t) = (y1 (t), … , ym (t))T – выходной вектор, x(t) = (x1(t), … , xn(t))T – входной вектор, f(x, y, t) – заданные (в общем случае – нелинейные) функции своих аргументов. С помощью таких схем изображают динамику изучаемых объектов, потому и они называются D – схемами (от английского слова dynamic). В качестве примера приведем D – схему одноканальной системы автоматического регулирования, которая имеет вид
F(yn, yn-1, … , y; xm , xm-1 , … , x) = 0, (2.4)
где ynи xm – производные от времени n –го и m -го порядков от скалярных функций y(t) x(t) соответственно. Хорошо известно, что дифференциальные уравнения, порядок которых больше единицы, можно путем переобозначения представить в виде системы уравнений первого порядка. Отметим также, что дифференциальные уравнения могут быть как обыкновенные, так и в частных производных в зависимости от того, являются ли переменные функциями одной или многих переменных: в случае нескольких переменных имеем уравнения в частных производных, а в случае одной переменной – обыкновенные дифференциальные уравнения.
Для оценки значений параметров, которые обычно входят в состав дифференциальных уравнений, применяются экспериментально-статистический методы и процедуры с последующей проверкой статистической значимости этих оценок.
Дискретно-детерминистский подход успешно иллюстрируется на примере так называемого абстрактного конечного автомата (F – схемы), которая имеет вид
F = <X, Z, Y, j, y, z0>, (2.5)
где X – конечное множество входных воздействий (входной алфавит), Z – конечное множество состояний, Y – конечное множество выходных воздействий (выходной алфавит), j - функция переходов из одного состояния в другое состояние, y - функция выходов, z0 - начальное состояние.
Дискретный автомат (F – схема) функционирует в дискретном автономной времени, моментами которого являются такты, т. е. последовательность интервалов времени, каждому из которых соответствуют фиксированные значения входных и выходных воздействий и состояния. Обозначит дискретные моменты времени t = 0, 1, 2, … В момент времени t автомат находится в состоянии z(t), принадлежащем множеству Z; этому множеству принадлежит и начальное состояние z0 = z(0). Будучи в состоянии z(t), автомат в состоянии «воспринять» входное воздействие x(t) Î Х и выдать на выходе воздействие y(t) Î Y, осуществив переход в новое состояние z(t + 1) Î Z, причем имеют место функциональные соотношения
z(t + 1) = j( x(t), z(t)), t = 0, 1, 2, …, (2.6)
y(t) = y(x(t), z(t)), t = 0, 1, 2, …. (2.7)
Автомат с описанием (2.6) и (2.7) называется F – автоматом первого рода (так называемый автомат Мили). F – автомат второго рода имеет описание
z(t + 1) = j( x(t), z(t)), t = 0, 1, 2, …, (2.8)
y(t) = y(x(t - 1), z(t)), t = 0, 1, 2, …, (2.9)
Автомат второго рода, функция выхода которого имеет вид
y(t) = y( z(t)), t = 0, 1, 2, …, (2.10)
называется автоматом Мура.
По характеру отсчета дискретного времени F – автоматы делятся на синхронные и асинхронные. В синхронных автоматах моменты времени, в которые автомат реагирует на входные воздействия, определяются принудительно с помощью синхронизирующих сигналов. Асинхронный автомат реагирует на входные воздействия непрерывно.
Конечные F – автоматы можно задать в виде матриц, в виде таблицы или в виде графа, которые, впрочем, являются взаимно преобразуемыми.
Дискретно-стохастический подход исходит из предположения о том, что процесс функционирования системы происходит, как в предыдущем случае, в дискретные моменты времени t = 0, 1, 2, …, однако процесс в целом носит вероятностный характер, например, переходы из состояния в состояния, а также реализация выхода могут иметь место с заданными вероятностями (так называемые Р – схемы). Типичным представителем этого класса математических схем является вероятностный автомат (или Р – автомат), для формального описания которого введем в рассмотрение множества G и F и определим их в виде G = {(xi, zj )}, F = {( zj, yk)}, xi Î X, yk Î Y, zj Î Z.
По существу функции j и y, которые присутствуют в описании детерминистского автомата F = <X, Z, Y, j, y, z0>, задают отображения
j: G ® Z; y: G ® Y. (2.11)
Потребуем теперь, чтобы каждый элемент множества G индуцировал на множестве F некоторый закон распределения с матрицей вероятностей В = , элементы bkjкоторой характеризуют вероятности перехода автомата в состояние zkи появления на выходе yjи на вход в этот момент поступило воздействие xi. Элементы bkjудовлетворяют условиям нормировки
(2.12)
С учетом этого вероятностный автомат определяется в виде P = <X, Z, Y, B>.
Другая возможная схема «рандомизации» автомата соответствует предположению, согласно которому либо переходы из состояния в состояние детерминированы, либо реализация выхода детерминирована. В первом случае говорят о Z – детерминированном автомате, а во втором случае Y – детерминированном автомате. Рассмотрим последний случай более подробно. Пусть Z = {z1, z2, … , zK} – множество состояний автомата, qк – вероятность того, что вначале автомат находился в состоянии zк, к = 1, … , К, P = , i, j = 1, 2, … , K, - матрица переходных вероятностей, .
Задание Y – детерминированного автомата эквивалентно заданию некоторой дискретной марковской цепи с конечным множеством состояний, поэтому считается, что аппарат марковских цепей является основным при использовании Р – схем для моделирования и проведения аналитических расчетов. Уравнение для финальных вероятностей, для которых начальное распределение вероятностей уже не оказывает никакого влияния, имеет вид
РТс = с, (2.13)
где с = (с1, … , сК)Т – вектор искомых финальных вероятностей. Рассмотрим следующий пример [2]. Пусть Z = {z1, …, z4} – множество состояний, Y = {0, 1, 1, 0} – множество выходных воздействий Y – детерминированного автомата, а матрица переходных вероятностей задана в виде
.
Тогда уравнение (2.13) будет эквивалентно системе
.
Решив эту систему при условии нормировки с1 + с2 + с3 + с4 = 1, для искомых финальных вероятностей получим с1 = с3 = с4 = 5/23, с2 = 8/23. Согласно этим данным, в установившемся состоянии единичный выход y2 = y3 = 1 будет иметь место с вероятностью с2 + с3 = 0,5652, а нулевой выход – с вероятностью с1 + с4 = 0,4348.
Непрерывно-стохастический подход исходит из следующих двух основополагающих предположений: а) функционирование системы происходит непрерывно во времени, б) система подвержена воздействию случайных факторов; это – одна из форм учета неопределенности, которое приходится учитывать при моделировании, как, впрочем, и в случае дискретно-стохастического подхода и его вероятностных математических схем. В теории управления стохастические системы обычно моделируются с помощью разнообразных стохастических интегро-дифференциальных уравнений и схем.
Наиболее характерным представителем математических схем данного подхода являются так называемые системы массового обслуживания (СМО), выступающие в качестве унифицированных математических схем (Q – схемы: от английского названия queueing systems – системы с очередями). Аналитические и имитационные модели этих – весьма важных с практической точки зрения – объектов будут подробно рассмотрены нами в последующих разделах. Здесь же мы вкратце остановимся на наиболее характерных особенностях функционирования и описания схем. В наиболее обобщенной форме они представляются в виде
Q = <W, U, H, Z, R, А>, (2.14)
где W – характеризует поток заявок, поступающих на вход системы в случайные моменты времени 0£ t1 £ t2 £ …£ tj £ tj+1 …; U – характеризует потоки обслуживания заявок параллельно и/или последовательно работающими каналами; H – множество параметров (количество фаз и каналов, емкости накопителей, интенсивность обслуживания и ряд др.); Z – вектор состояния обслуживающих проборов, накопителей); R – оператор сопряжения элементов структуры (например, их последовательно или параллельно); А – набор алгоритмов, регулирующих поведение заявок в системе, т. е. правила, по которым заявки перемещаются в системе и покидают ее либо после обслуживания, либо после отказа.
При наличии ряда упрощающих предположений относительно свойств входного потока W и потока обслуживания U, процесс функционирования системы можно описать аналитически, а в общем случае справиться с задачей можно лишь имитационными средствами. На работу с Q – схемами при машинной имитации ориентированы такие мощные языковые системы (языки имитационного моделирования), как GPSS, SIMULA, SIMSKRIPT.
Имитационная модель создается для конкретной системы и целей исследования, поэтому в этой организованной творческой технологии должны быть наиболее полно учтены существенные черты системы, путем упрощения и абстрагирования выбраны и должным образом модифицированы основные предположения, характеризующие систему, путем последовательного улучшения должен быть обеспечен приемлемый уровень полезности модели. Другими словами, модель должна быть связана с функционированием системы и ориентирована на решение конкретной проблемы реального мира. Учитывая это, можно сформулировать основные требования (критерия), которым должна удовлетворять модель. В целом эти требования сводятся к следующему:
а) модель должна быть полной с точки зрения возможностей решения с ее
помощью основных задач;
б) модель должна быть достаточно гибкой и адаптивной, чтобы легко можно
модифицировать ее, расширить или обновлять данные;
в) модель должна быть достаточно простой и понятной пользователю, а также
быть удобной в обращении и управлении;
г) модель должна быть целенаправленной, т. е. способствовать достижению
поставленных целей наиболее эффективно;
Ряд требований к модели носят чисто технический характер [2]: блочная структура модели - для обеспечения возможности замены, изменения структуры путем добавления новых или исключения старых элементов; приемлемые сроки создания и применения; возможность взаимодействия с базами данных и знаний, в случае если модель будет использован с другими интеллектуальными средствами.
Для того, чтобы эти требования выполнялись, еще на этапе построения концептуальной модели системы необходимо достичь приемлемой степени уверенности в том что:
а) она в целом соответствует основному замыслу моделирования;
б) исходная информация и принятые на ее основе предположения и допущения (гипотезы) верны и заслуживают доверия;
в) выбранные математические схемы корректны и адекватны природе моделируемых соотношений.
На этапе алгоритмизации модели и ее машинной реализации осуществляется переход от концептуальной модели системы к ее машинной модели путем разработки и реализации так называемого моделирующего алгоритма, позволяющего описать модель на языке, приемлемом для использования ЭВМ. Моделирующий алгоритм обычно представляется на следующих трех уровнях:
а) в виде обобщенной схемы:
б) в виде детальной схемы;
в) в виде логической схемы.
Обобщенная схема описывает лишь общий порядок действий относительно моделирования системы; детальная схема описывает как порядок, так и способ моделирования всех действий модели; логическая же схема воспроизводит логическую структуру процесса функционирования системы, другими словами, она изображает упорядоченную во времени последовательность логических операций, которые связаны с решением задачи моделирования.
Если моделирование осуществляется на основе детерминистской концепции, моделирующий алгоритм строится таким образом, чтобы информация о векторе состояния системы z(t) = ( z1(t), … , zl(t))Тформировался в промежутке работы системы t0 £ t £ t1путем его прямого измерения в дискретные моменты времени t0 + Dt, t0 + 2Dt, … , t0 + NDt = t1. Такой принцип моделирования получил название «принципа Dt». Если величина Dt выбрана достаточно малой с учетом особенностей функционирования системы и ее процессов, то такой принцип позволяет получить достаточной информации о моделируемой системе и является довольно универсальным подходом. Однако с точки зрения рациональной организации машинного времени этот принцип не всегда экономичен.
В ряде случаев нас интересует поведение системы не во всех моментах времени t, t0 £ t £ t1, а лишь в особых моментах, когда, например, на вход системы поступает очередная заявка или когда заявка поступает на обслуживание, покидает систему и т. д. В эти моменты времени система переходит в особые состояния, поэтому для таких случаев моделирующий алгоритм строится по «принципу dz», что позволяет существенно уменьшить затраты машинного времени по сравнению с принципом «Dt». Основной отличительной особенностью этого принципа является то, что необходимо следить за теми моментами времени, когда эти (особые) состояния должны наступать.
При программировании модели на ЭВМ важную роль играет выбор соответствующих программных систем: алгоритмических языков общего назначения (ALGOL, PL1, FORTRAN и т. д.) и языков имитационного моделирования (SIMULA, SIMSKRIPT, SLENG, BOSS, GPSS и др.). Эти средства позволяют строить машинную модель Мm, которая должна быть адекватна моделируемой системе.
Несмотря на то, что модель является лишь упрощенным представлением исследуемого реального объекта и процесса его функционирования во времени, она должна позволить получить достоверные сведения, отвечающие задачам исследования и моделирования. Предполагается, что между объектом и отображающей его моделью должно быть определенное сходство, определяющее степень изоморфизма между ними, другими словами, модель должна быть идентичной или сходной по форме реальному объекту [1]. Чтобы быть изоморфной, модель должна удовлетворять следующим двум требованиям:
а) существование взаимно однозначного соответствия между элементами модели и объекта;
б) сохранение точных соотношений или взаимодействия между этими элементами.
Обеспечить степень изоморфизма практически не представляется возможным, поэтому обычно говорят о гомоморфизме, т. е. о сходстве по форме при различии основных структурных соотношений. Такое сходство в практическом плане возникает вследствие действий по разбиению системы на подсистемы (или элементы), упрощению и абстрагированию их признаков (свойств), связей и отношений (см. рис. 1.1). В любом случае и разработчика, и пользователя главным образом интересует функциональная полезность модели.
Необходимая степень сходства между моделируемым объектом и его моделью достигается в результате организованной творческой технологии (или интуитивного искусства [1]), позволяющей путем диалогового взаимодействия разработчика и пользователя достичь приемлемого уровня функциональной полезности модели и разумного компромисса между простотой и сложностью.
Для того чтобы достичь приемлемого уровня уверенности в том, что выводы о поведении системы, которые будут построены на основе исследования модели, будут правильными, машинная модель должна быть тщательно проверена. Широко практикуются следующие три вида проверки адекватности модели:
а) проверки, позволяющие убедиться в том, что модель верна в первом приближении, т. е. что она дает разумные результаты во всем диапазоне изменения ее параметров, и что эти результаты имеют смысл, что может быть установлено при их сравнении с аналогичными результатами на выходе действующей системы;
б) проверка справедливости и разумности исходных предположений (гипотез) относительно внутренней структуры, свойств и связей моделируемого объекта, а также принятых упрощений и абстрагирования;
в) проверка процесса преобразования информации от входа к выходу.
В процессе этих проверок могут быть использованы статистические выборки для получения достоверных оценок средних значений и дисперсии, корреляционный, регрессионный и факторный анализ, а также различные процедуры для проверки статистических гипотез.
Часто делят способы оценки имитационной модели на следующие категории:
а) верификацию, использующую для убеждения в том, что модель ведет себя так, как было задумано;
б) оценку адекватности, позволяющую проверить соответствие между поведением модели и поведением реальной системы;
в) проблемный анализ, направленный на формирование статистически значимых выводов на основе данных, полученных в результате машинного моделирования.
Все эти проверки и оценки должны быть в разумных пределах, обусловленных их стоимостью, с одной стороны, и точностью и достоверностью результатов, с другой стороны.