Информационная технология синтеза динамических моделей сложных систем
Синтез моделей сложных систем представляет собой итерационный процесс взаимодействия «человек – модель», в ходе которого развивается как модель, так и знания эксперта. К созданию моделей сложных систем привлекаются коллективы экспертов, поэтому актуальной является задача интеграции и согласования их знаний. Представления специалистов о предметной области, как правило, существуют в виде некоторого описательного, чаще всего ментального, представления о составе и отношениях между компонентами предметной области. Имитационное моделирование в таких случаях позволяет наиболее эффективно использовать опыт и интуицию специалистов в исследовании сложных систем. Развитие вычислительной техники привело к появлению в 1960-х годах специализированного метода имитационного моделирования – системной динамики [1]. Метод системной динамики позволяет исследовать поведение сложных систем, опираясь на возможности компьютерного моделирования. В отличие от «традиционных» методов компьютерного моделирования системная динамика не требует построения математической модели исследуемого объекта в традиционной форме, а дает исследователю инструментарий для моделирования в виде реализованных на компьютере аналитических описаний системных элементов и связей между ними. Важной составляющей системной динамики являются формальные языки описания процесса изменения моделируемого объекта. Один из них – язык системных диаграмм, позволяет описать процесс, формализуя внутренние характеристики создаваемой компьютерной модели (они называются «уровнями») и представляя скорость их изменения в виде суммы, каждый элемент которой называется «темпом». Зависимость некоторого темпа изменения уровня от самого уровня называется «обратной связью», положительной, если увеличение уровня увеличивает темп и отрицательной в противном случае. Таким образом, системная диаграмма является формализацией модели исследуемого процесса. Но построение системных диаграмм в случае, когда объект исследования является сложной системой, становится затруднительным, и синтез приемлемой для практического использования динамической модели может занимать до нескольких лет. Поэтому основной упор проведенных исследований делался на поиски путей формализации и автоматизации этого процесса. В качестве аппарата для этого выбрано концептуальное моделирование. Концептуальная модель (КМ) используется для перехода от знаний экспертов к их единому формальному описанию. После чего становится возможен формальный синтез модели системной динамики [2].
Концептуальное моделирование сложных систем
В силу ограниченности рационального мышления человека в масштабах сложных систем знания экспертов удобно представлять в виде древовидных структур. Такие модели дают возможность оперировать небольшим количеством объектов и связей на каждом уровне иерархии сложной системы. Причем количество элементов можно оставлять всегда примерно одним и тем же, изменяя степень их агрегирования. Одним из таких подходов к созданию КМ является функционально-целевой подход (ФЦП), развитый для класса задач с древовидными моделями предметной области [2]. Исходная посылка ФЦП – решение проблемы через формирование системы целей. Цель достигнута, если решена соответствующая задача. Решение задач обеспечивается соответствующими функциями синтезируемой системы. Методами ФЦП синтезируется КМ предметной области в виде многоуровневой древовидной системы целей. В ФЦП эта иерархия целей используется не только как обычное средство наглядного структурного описания, но и как инструмент структурно-алгоритмического проектирования системы, учитывающей особенности структуры предметной области.
Согласно теореме о покрытии [3] система в целом должна строиться из таких подсистем, которые обеспечивают покрытие соответствующих подзадач основной целевой задачи системы. При декомпозиции цели системы G получаем множество подцелей {Gi}. Декомпозиция проведена так, что множество подцелей не пересекаются. Каждой подцели ставится в соответствие некоторая подсистема Pi, такая, что совокупность действий Ti, выполняемых этой подсистемой, будет покрывать подцель Gi. Получили первый уровень декомпозиции. На следующем уровне декомпозиции подцель Gi представляем в виде множества подцелей следующего уровня иерархии:
здесь Ni – количество подцелей цели Gi. Каждой подцели ставится в соответствие некоторая подсистема Pij, такая что совокупность действий Tij, выполняемых этой подсистемой, будет покрывать подцель Gij. Таким образом получен второй уровень декомпозиции и т.д. Декомпозиция целей КМ производится экспертным методом. Для экспертов обязательными являются: ограничение на структуру создаваемого фрагмента КМ - он должен быть древовидным; единая идентификация компонентов нижнего уровня КМ и глубина декомпозиции.
Глубина декомпозиции определяется экспертами по достижении примитивных целей (примитивов), то есть неделимых в пределах моделируемой системы [4]. Каждый эксперт для каждого j-го примитива Pj КМ определяет набор покрывающих действий . После этого для каждого примитива создается единый набор действий, который задается как объединение этих множеств:
здесь m - количество экспертов, n - число примитивов концептуальной модели.
Таким образом, получена единая КМ сложной системы, объединяющая формализованные знания группы экспертов в виде одной или нескольких древовидных структур, что обеспечивает в дальнейшем формальный синтез моделей системной динамики.
Синтез моделей системной динамики на базе технологии концептуальных шаблонов
Концептуальная модель объекта моделирования реализуется в виде базы знаний, состоящей из декларативных и процедурных знаний [5].
Для решения поставленных задач в качестве декларативных знаний выделяются:
– дерево целей сложной системы Tr содержит декомпозицию глобальной цели и материальных связей между ними с учётом взгляда на проблему каждого эксперта;
– множество шаблонов A;
– множество экземпляров шаблонов E;
– справочник Vk. Эта структура данных содержит необходимую, по мнению экспертов, информацию о предметной области моделируемого объекта. Данную информацию можно разделить на понятийно-терминологическую составляющую и базу норм. В понятийно-терминологической части определяются термины и понятия предметной области, тем самым производится некая унификация терминологического аппарата, т.е. в системе специалисты различных областей, используя заранее определенные понятия и термины, будут общаться на «одном языке». Множество понятий и терминов обозначается V. База норм содержит справочную информацию о различных нормах предметной области, например, различные коэффициенты и константы. Множество норм и констант обозначается W.
В свою очередь дерево целей, являющееся представлением концептуальной модели предметной области, может быть формально записано как объединение множества вершин всех уровней декомпозиции и множества примитивов - вершин, для которых дальнейшее разбиение цели по каким-либо причинам не производится.
, где k – уровень иерархии, nk – количество вершин дерева целей на k-ом уровне иерархии.
Множество является объединением вершин нижестоящего уровня, где m – количество нижестоящих вершин для данной вершины.
Для удобного хранения информации о вершине дерева целей, ее можно рассматривать как кортеж , где Id – некий идентификатор вершины, G – цель вершины, F – некий закон, описывающий правило объединения дочерних вершин.
Множество L – множество примитивов дерева целей концептуальной модели. Выделение этих вершин в отдельное множество обусловлено наличием группы специальных процедур вывода, выполняющих действия только над элементами из этого множества.
Под шаблоном [6] подразумевается некоторая конструкция, имеющая установившуюся во времени структуру и набор входных, выходных параметров и начальных значений. В работе шаблон реализовывается в виде конструкции на языке системной динамики, и спецификация шаблона производится с учетом этого фактора.
Формально понятие шаблона можно представить следующей записью на языке теории множеств: P = { St , Fn , X , Y , I } , где St – структура шаблона, Fn – закон функционирования шаблона, X – множество входных параметров шаблона, Y – множество выходных параметров шаблона, I – множество начальных значений.
В работе шаблон рассматривается как отдельный объект, обладающий своей внутренней структурой. Данный объект исследуется как «черный ящик», имеющий входные и выходные параметры и выполняющий определенную функциональную нагрузку.
Необходимо отличать шаблон, заданный его спецификацией, от определенного значениями шаблона, который будем называть экземпляром. Таким образом, экземпляр шаблона – это определенным образом наполненный шаблон, содержащий информацию не только о составе и структуре шаблона, но и конкретные значения входных, выходных и начальных параметров шаблона и, кроме того, каждый экземпляр адресован экспертом одному из примитивов дерева целей.
Реализация КМ в виде базы знаний обеспечивает возможность использования экспертных знаний автономно (без участия экспертов) при решении задач синтеза моделей системной динамики. Данные задачи решаются путем преобразования декларативных знаний о предметной области в процедурные знания системной динамики с помощью набора формальных правил.
Декларативная база знаний содержит факты, к которым относятся: набор шаблонов, сопоставленных экспертами примитивам - элементам последнего уровня декомпозиции дерева целей, само дерево целей, набор вспомогательных переменных, справочники, содержащие текстовые знания об исследуемой предметной области.
Процедурные знания экспертов реализованы в базе знаний в виде процедур вывода, которые позволяют формализовать процесс синтеза динамической модели. На вход процедур подаются декларативные знания базы знаний, на выходе получаются элементы моделей системной динамики. Процедуры вывода представляют собой отображения структуры концептуальной модели в структуру динамических моделей.
База знаний содержит три группы процедур вывода [5].
1. Процедуры вывода, определяющие для каждого шаблона модели покрывающие действия.
2. Процедуры вывода, определяющие материальные связи между шаблонами в динамической модели.
3. Процедуры вывода, определяющие информационные связи между шаблонами в динамической модели.
Инструментальная система автоматизации синтеза динамических моделей
Предлагаемая методика синтеза структуры динамических моделей алгоритмизирована и реализована в виде программного комплекса автоматизации синтеза системно-динамических моделей сложных систем [7]. Комплекс реализован в среде программирования Delphi, имитационная часть – в системе динамического моделирования Powersim.
Программная реализация имеет модульную структуру, что обеспечивает удобство и относительную легкость редактирования отдельных модулей, не влияющего на работу остальных, и добавление новых функциональных возможностей в программный комплекс. Структура комплекса представлена на рисунке 1.
Основные блоки:
1. База знаний системы представляет собой компьютерную реализацию формализованных знаний экспертов о предметной области.
2. Блок пользовательского интерфейса представляет собой набор программ, обеспечивающих удобное взаимодействие пользователя с системой. Программы пользовательского интерфейса обслуживают все функции инструментальной системы, реализующие обмен информацией с пользователем.
3. Блок формализации знаний экспертов представляет собой блок формирования общей структуры концептуальной модели и частных подмоделей экспертов. Программы данного блока выполняют настройку системы на исследуемую предметную область путем задания цели, состава и способа декомпозиции концептуальной модели; создание экспертных вариантов декомпозиции концептуальной модели в виде персональных баз знаний; реализацию экспертного метода задания отношений концептуальной модели в виде связей базы знаний.
4. Блок формирования шаблонов представляет собой комплекс программ, позволяющих экспертам реализовать шаблоны с помощью таких действий, как: добавить, редактировать и удалить шаблон.
5. Блок сопоставления шаблонов представляет собой комплекс программ, позволяющих экспертам сопоставлять разработанные шаблоны с соответствующими примитивами, т.е. создавать экземпляры шаблонов.
6. Блок синтеза окончательной модели представляет собой комплекс программ, позволяющих системному аналитику осуществить синтез окончательно разработанной концептуальной модели, т.е. составить файл-описатель структуры, связей и законов функционирования.
Для удобства хранения и обработки вся информация системы разбита на отдельные базы данных по их назначению.
В системе предусмотрено разделение пользователей по категориям, в зависимости от выполняемых ими функций: системный аналитик - специалист, имеющий системный взгляд на исследуемую проблему и отчасти выполняющий администраторские функции в программном комплексе; эксперт - специалист в определенной предметной области. Программный комплекс осуществляет защиту информации на уровне пользователя для предотвращения несанкционированного доступа к персональным данным пользователя и его собственным разработкам. Политика доступа одного пользователя к рабочим данным другого может изменяться и настраиваться системным аналитиком.
Реализация динамических моделей региональных социально-экономических систем
В Институте информатики и математического моделирования КНЦ РАН с помощью программного комплекса разработаны системно-динамические модели основных отраслей экономики региона (Мурманской области), таких как промышленный, топливно-энергетический, транспортно-коммуникационный и агропромышленный комплексы, а также трудовых ресурсов региона. Работы проводились в рамках региональной программы «Разработка стратегии экономического развития Мурманской области до 2015г.».
В качестве примера приводятся результаты исследования системно-динамической модели рыбопромышленного комплекса Мурманской области [8].
На рисунке 2 представлены результаты исследования системно-динамической модели рыбопромышленного комплекса Мурманской области. Модель настраивалась по данным 1997 года. Это проводилось для оценки адекватности модели – результаты симуляции сравнивались со статистическими данными за 1998-2004гг. Результаты симуляции с 2005 по 2015 год являются прогнозом. На графиках (рис. 2) кривая 1 показывает общий вылов морепродуктов, кривая 2– величину природных ресурсов в области промысла, кривая 3– общую грузоподъемность судов рыбопромыслового флота Мурманской области.
Рассмотрены сценарии: отсутствие инвестиций в рыбопромышленный комплекс (в настоящее время износ судов комплекса составляет около 60%); различный уровень ежегодных инвестиций от 50 до 500 млн. руб. в год (рассмотрено 10 сценариев). На рис.2а представлены результаты исследования развития рыбопромышленного комплекса Мурманской области без инвестиций. На графике видно, что, начиная с 2006 года, общий вылов морепродуктов будет ограничиваться снижением общей грузоподъемности судов, а не биоресурсами.
На рис.2б представлены результаты исследования развития рыбопромышленного комплекса Мурманской области с ежегодными инвестициями в размере 300 млн. руб. На графике видно, что общий вылов морепродуктов будет ограничиваться только биоресурсами. По этой причине также нецелесообразно и дальнейшее повышение уровня инвестиций.
Многократная имитация на модели позволила определить уровень инвестиций, необходимый для эффективного функционирования рыбопромышленного комплекса Мурманской области.
Заключение
Разработаны методы концептуального моделирования и информационная технология их реализации. В рамках информационной технологии концептуального моделирования созданы процедуры автоматического отображения формальной КМ на различные модели реализации вычислительного эксперимента, в частности, на модели системной динамики. Предложенная информационная технология алгоритмизирована и реализована в виде программного комплекса автоматизации синтеза системно-динамических моделей сложных систем. С помощью программного комплекса разработаны системно-динамические модели основных отраслей экономики Мурманской области. Модели реализованы в рамках регионального проекта «Разработка стратегии развития Мурманской области до 2015 года».
Литература:
1. Forrester, Jay W., 1961. Industrial Dynamics, Portland, OR: Productivity Press. - 464 pp.
2. Путилов В.А., Горохов А.В., Олейник А.Г. Технология автоматизированной разработки динамических моделей для поддержки принятия решений// Информационные ресурсы России. – 2004. - №1. – С.30-33.
3. Путилов В.А., Горохов А. В. Системная динамика регионального развития. Мурманск: НИЦ «Пазори», 2002. - 306 с.
4. Горохов А.В., Путилов В.А. Концептуальный синтез моделей системной динамики //Теория и практика: Тр. Всероссийской конф. 13-15 сент. 2004 г. Апатиты: КНЦ РАН, 2004. – С.21-26.
5. Быстров В.В. Организация базы знаний при автоматизации синтеза динамических моделей сложных систем / Вестник Поморского Университета. – 2006 г. - №6.
6. Шебеко Ю.А. Имитационное моделирование и ситуационный анализ бизнес процессов принятия управленческих решений (учебное и практическое пособие). – М.: Диаграмма, 1999.
7. Быстров В.В., Кодема В.А. Разработка информационной системы автоматизации синтеза структуры динамических моделей сложных систем // Информационные технологии в региональном развитии. – Апатиты, 2006. – Вып.VI. – C.93-96.
8. Горохов А.В., Путилов В.А. Системная динамика в задачах регионального планирования // Апатиты: Изд. КНЦ РАН, 2005. – 137 с.
ф