УНИВЕРСАЛЬНАЯ ИМИТАЦИОННАЯ МОДЕЛЬ ДЛЯ СЛОЖНЫХ СИСТЕМ

Н. Б. Кобелев (Москва)
 

Процедуры имитации поведения сложных объектов достаточно разнообразны и могут быть условно разграничены, по крайней мере, на две группы: универсальные имитационные модели и эвристические имитационные модели. Первая группа предполагает наличие некой универсальной модели, которая способна настраиваться на моделируемый объект. Ко второй группе принадлежат имитационные модели, в которых могут быть использованы различные математические схемы (системы массового обслуживания (СМО), конечные автоматы (КА), дифференциальные уравнения (ДУ) и т. п.), а также придуманные, свойственные для данного объекта процедуры или правила поведения, включая способы пошаговой оптимизации и т. п.

Наибольший теоретический и практический интерес имеют универсальные имитационные модели (УИМ). Российские УИМ представлены в основном школой член-корр. АН СССР Н.П. Бусленко [1]. Суть подхода Н.П. Бусленко заключается в описании универсального элемента – агрегата, моделирующего элементарный блок любой сложной системы, где x1, x2 xn – множество входных сигналов ( ),
y1, y2ym – множество выходных сигналов ( .), a1, a2aρ – множество параметров ( ), S1, S2Sp – множество состояний ( ) некоего агрегата А.

Теория агрегативных моделей Н.П. Бусленко предполагает мысль о том, что любой достаточно сложный объект можно описать математически, т. е., построить математическую теорию поведения всего объекта. Однако как только эта идея начинает воплощаться на практике, то оказывается, что такую модель можно построить для простых систем, например, для линейных, кусочно-линейных, для систем, описываемых ДУ, для КА, элементарных приложений теорий игр, СМО и, в том числе, для агрегативных систем и т. п. Вместе с тем, как только количество рассматриваемых вариантов или разнообразие объекта начинают приближаться к реальности, т. е. не поддаваться логической умозрительной оценке, то такой подход становится затруднительным и агрегативная теория на этом заканчивается, а приложения приобретают в значительной степени иллюстративный характер. Ниже предложен в значительной степени иной подход к имитационному моделированию сложных объектов. Суть его такова.

Каждый блок имитационной модели, может и должен быть описан математически, однако взаимодействие между этими блоками в рамках общей блок-схемы модели не может и не должно определяться в терминах какой-то математической теории.

Таким образом, каждый элементарный блок описывается независимо один от другого и формализация может происходить в рамках различных математических схем. При этом, естественно, необходимо соблюдать сопоставимую размерность и масштаб для каждого моделируемого элемента при их сопряжении.

Общее аналитическое решение для такой модели отсутствует, а практический результат может быть получен только в числовой форме, т. е. когда на вход блоков будут поданы соответствующие входные сигналы или потоки данных, когда от каждого блока сигнал в сопоставленной форме пройдет по всем другим блокам, когда эти сигналы преобразуются от влияния этих блоков и когда после завершения потока входных данных (сигналов) мы получим в необходимом месте потоки выходных данных, учитывающих действия каждого функционального блока. Поясним суть подхода.

Понятийный аппарат изложен в форме аксиом, фиксирующих способ описания объекта моделирования в форме систем. Для определения системы используются понятия множества элементов, множества отношений порядка между ними и множества связей (взаимосвязей). Ниже перечислены основные аксиомы.

Аксиома 1. Под множеством элементов будем понимать совокупность частей некоторого объекта, на который он делится для целей анализа и изучения его свойств. Части данного объекта являются элементарными для данного исследования и не могут быть расчленены на более мелкие.

Аксиома 2. Каждый элемент данного объекта может быть упорядочен (иметь отношения порядка) по степени подчиненности или управляемости, т. е. может быть управляющим или управляемым.

Аксиома 3. Взаимодействия между элементами, в том числе и передача управления осуществляется через множество связей (взаимосвязей).

Аксиома 4. Совокупность множеств: элементов, отношений порядка и связей (взаимосвязей) между ними будем называть некоторой организацией.

Аксиома 5. Всякая организация может стать системой, если все ее атрибуты, т. е. множества элементов, отношений порядка и связей имеют единую цель функционирования.

Аксиома 6. Цель системы – это своеобразный эталон ее функционирования. Цели функционирования объекта и системы должны совпадать с определенной степенью точности.

Аксиома 7. Моделирование сложных объектов осуществляется посредством представления их в виде организаций или систем.

Аксиома 8. Степень сложности объекта, представленного в виде системы, определяется количеством элементов, отношений порядка и связей между элементами.

Аксиома 9. Две системы эквивалентны по степени сложности, если имеют однопорядковое количество, соответственно, элементов, связей и отношений порядка.

Аксиома 10. Две системы эквивалентные по уровню сложности могут отличаться целью функционирования. Различия в цели определяются качественными характеристиками элементов, отношений их порядка и способом организации взаимосвязей.

Математическая формализация понятий в данном подходе осуществляется на базе математического описания элементарных блоков модели, которые имеют входные – X и выходные – Y сигналы, состояния– S и параметры – a. В общем случае X, Y, S и a находятся, соответственно, в многомерных пространствах входных X и выходных Y сигналов, состояний S и параметров a. Входные сигналы поступают на входные клеммы, а выходные сигналы исходят из выходных клемм элементарного блока.

Элементарные блоки в отличие от агрегатов Н.П. Бусленко имеют типовую структуру сигналов, состояний и параметров и могут быть разных типов, например, сумматоры (Σ), интеграторы (И), умножители (У), разветвители (R), инверторы (ИН), системы массового обслуживания (СМО), логические преобразователи (Л), функциональные преобразователи (Ф), блоки с обратной связью (ОС) и т. п.

Эти блоки могут отображать фактически любые математические схемы, включая элементы теории игр, конечных автоматов, оптимальных решений, дифференциальных уравнений, теории расписаний и множество других математических приложений. Задача выбора типового блока для каждого элемента модели должна происходить в форме подбора типового блока по аналогии, т. е. процессы, протекающие в реальном элементе объекта, какую бы физическую природу они не носили, должны быть аналогичны тем, которые реализует в математической форме типовой блок.

Структура входного сигнала  задается в виде некоторого набора (k, i, p1, p2,…, , t), а выходного сигнала в виде аналогичного набора (k, j, e1, e2,…, , t), где: k – номер типового блока; i – номер входной клеммы; j – номер выходной клеммы;
(
p1, p2,…, ) – характеристики входного сигнала по i-ому входу; (e1, e2,…, )– характеристики выходного сигнала по j-ому выходу; t – момент поступления сигнала.

Состояния и параметры элементарных блоков также имеют определенную структуру. Условимся задавать состояние типового блока в виде совокупности , где k – номер типового блока; – характеристики состояния блока k; – параметры блока k; t – текущее время.

Приведем в качестве примера описание одного типового блока– сумматора.

Сумматор S. Вариантов блоков S может быть достаточно много, в качестве примера рассмотрим сумматор имеющий один вход x1(tl) и один выход y1(tl). В нем суммируются входные сигналы x1(tl), появляющиеся в различные моменты времени tl по факту появления. Предположим, что сигнал x(tl) задается некоторой группой элементов (k, i, p1, p2, p3, tl) и обозначает: k – номер типового блока; i – номер входной клеммы; p1 – факт появления сигнала на i-той клемме, обозначаемый через (1); p2 – амплитуда входного сигнала на i-той клемме; p3 – размерность данного входного сигнала; tl– момент появления входного сигнала на i-той клемме.

Выходной сигнал сумматора S с учетом структуры входного сигнала может иметь вид (k, j, e1, e2, e3, tl), где k – номер типового блока; j – номер выходной клеммы; e1 – количество фактов появления входного сигнала в интервале времени [0, tl]; e2 – суммарная величина амплитуд входных сигналов в интервале [0, tl]; e3 – размерность выходного сигнала; tl– момент появления выходного сигнала, причем

,

,  если e3 = p3,

Легко формализуется также вариант сумматора, у которого входные и выходные сигналы не ограничиваются по числу характеристик и имеют следующий вид:

,

(1)

.

(2)

Количество входов и выходов также заранее не задается, т. е. , .

Программирование элементарных блоков для имитационной модели не попадает ни в одну из схем типовых языков программирования или типовых пакетов прикладных программ. Принципы и подходы к созданию типового пакета программ для реализации имитационных моделей изложены ниже.

1. Каждый элементарный блок представляет собой достаточно универсальную подпрограмму, описывающую поведение этого блока, которая может быть настроена на различные варианты выполнения данной функции.

2. Взаимосвязи элементарных блоков реализуются следующим образом.

Обозначим через  и  соответственно множество выходных и входных сигналов элементарных блоков с индексами k и (k+l). Имеется также матрица сопряжения элементарных блоков М, в которой заданы взаимосвязи между соответствующими выходами и входами всех элементарных блоков.

Пара чисел  представляет собой своеобразный шифр запускаемого блока с индексом (k+l) по входу  от блока с индексом (k) по выходу , если в матрице сопряжения на пересечении строки  и столбца  стоит единица. Конкретное значение , выступающее для блока (k+l) в виде входного сигнала  служит исходной информацией или начальными условиями, задающими исходные характеристики функционирования блока (k+l).

3. В модели должен работать «генератор единого времени» (ГЕВ) для всех элементарных блоков.

4. Координацию работы всех элементарных блоков должна осуществлять управляющая программа «Диспетчер» (Д). Функции Д заключаются в осуществлении управления процессом имитации, т. е. в осуществлении запуска имитационной процедуры при приходе какого-либо входного сигнала, в том числе из внешней среды, или от изменения внутреннего состояния каких-то элементарных блоков и появлении выходных сигналов от этих блоков.

5. Алгоритм функционирования типового программного обеспечения при работе с имитационной моделью, составленной из типовых элементарных блоков, может быть описан следующим образом. Задается команда Д на запуск модели. «Диспетчер» включается в работу и ожидает прихода сигналов либо из внешней среды y0, либо управляющих сигналов, формируемых оператором, либо выходных сигналов типа , появляющихся от элементарных блоков вследствие изменения их внутреннего состояния. Допустим, появился какой-то выходной сигнал от блока (k) вида . Этот сигнал поступает в матрицу сопряжения, отыскивает там по своей строке единицу, если она есть, т. е. находит шифр или координату следования данного сигнала  и возвращается в Д с выбранным шифром. Д далее направляет сигнал с шифром  в блок (k+l) в форме определенного числа, отражающего его вид и значение входного сигнала . Блок (k+l), получив входной сигнал , начинает функционировать в заданном входным сигналом и алгоритмом своей работы режиме.

6. Подпрограмма, реализующая типовой элементарный блок, вне зависимости от выполнения конкретных функций, должна иметь единую схему взаимодействия с блоком Д и себе подобными типовыми блоками.

7. Каждый типовой элементарный блок должен иметь входные и выходные клеммы, через которые в него поступают входные сигналы  и выходные сигналы . Индексы клемм соответствуют индексам входных и выходных сигналов.

При поступлении из Д сигнала вида , осуществляется его сравнение с индексами входных клемм, находящихся в массиве входных клемм вида

Если входной сигнал  совпадает с индексом соответствующей клеммы, то далее запускается вход . Структура входного сигнала вида  состоит из определенного набора характеристик , где k – номер подпрограммы типового блока; i – номер входа, ; – параметры входного сигнала.

Подпрограмма, реализующая элементарный блок, имеет также выходные клеммы, аналогичные по описанию входным, а именно . Эти клеммы используются для выдачи сигналов из элементарного блока, когда ему предписано.

Временные рамки функционирования типовых блоков таковы. Входной сигнал  может появиться только тогда, когда имеет место какой-то выходной сигнал, например, , либо произошло событие, связанное с изменением состояния какого-либо типового блока, вызвавшего появление соответствующего выходного сигнала. Назовем это состояние состоянием особого значения. Предположим, что имеется некоторая ось моментов времени, где: t0 – исходный момент запуска имитационной модели; T – период времени работы имитационной модели; Dt – единица времени, принятая для данной имитационной модели; n– количество единиц времени в интервале T; [ty ] – моменты времени, связанные с приходом входных сигналов или появлением состояния особого значения в каком-то типовом блоке по причине выдачи соответствующего выходного сигнала – так называемые моменты времени особого значения; – количество единиц времени до появления момента времени особого значения.

Генератор задает масштаб времени, т. е. Dt и через каждую единицу времени осуществляется проверка условий, а именно

ty=t0+n¢Dt,                                                                 (3)

ty<t0+n¢Dt.                                                                 (4)

Если имеет место выполнение равенства (3), то данный момент времени ty является особым, т. е. в этот момент происходит приход входного сигнала или достижение в каком-либо блоке состояния особого значения. В этот момент времени и появляются входные или выходные сигналы.

Если налицо условие (4), т. е. момент времени ty не является особым, то в модели не появляются ни входные, ни выходные сигналы. Для того, чтобы идентифицировать тот или иной сигнал по моменту его появления, каждому из них приписывается какой-то момент времени tl.

Каждой входной и каждой выходной клемме вида  и  следует поставить в соответствие массивы входных и выходных сигналов, соответственно, вида

,

.

Аналогичное описание можно сделать и в отношении состояний.

Реализация предложенного подхода не представляет особых трудностей, однако она должна допускать сопряжение с типовыми пакетами Word, Excel, Mathcad или им подобными для возможности обработки результатов имитационного моделирования.

Практическое применение данного подхода при моделировании сложных систем в теоретическом плане не имеет ограничений на величину и сложность объектов моделирования. Такие универсальные модели можно применять для моделирования деятельности промышленных комплексов или предприятий; оценки пространственного расположения и динамики перемещения транспортных средств в воздухе, на море или на автомобильной магистрали; при изучении и прогнозировании различных ситуаций в экономике, экологии, политике; а также в военном деле.

Литература

1.      Н.П. Бусленко. Моделирование сложных систем. М., «Наука», 1978

2.      Н.Б. Кобелев. Основы имитационного моделирования сложных экономических систем. М., «Дело», 2003.