2. ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ
УДК: 519.710.7+519.688+519.712.65+519.767
© Н.В. Абасов, М.Ю. Чернышов, Е.Н. Осипчук ПРИМЕНЕНИЕ ТЕХНОЛОГИИ МЕТАМОДЕЛИРОВАНИЯ В УПРАВЛЕНИИ ТЕХНОЛОГИЧЕСКИМИ РЕЖИМАМИ ГЭС
Обсуждается концепция метамоделирования и технология 4-уровневого метамоделирования, которая важна для построения гибких моделей, допускающих эффективную перестройку. Переход к такой технологии актуален, если есть потребность в единообразном учете характеристик моделируемого обекта, детерминированных характеристиками проблемной области, которые важно учитывать в первую очередь. Обсуждается интерактивный программный комплекс метамоделирования LMPL-Software, позволяющий строить метамодель, прикладные модели объектов на ее основе, выполнять преобразования моделей, связанные с построением новых моделей из блоков, выделенных при анализе. Эта новая технология позволяет эксперту более эффективно решать прикладные задачи и, в частности, задачу построения модельное представление процесса выбора оптимального режима функционирования ГЭС. Описывается технология оптимизация управления гидроресурсами и планирования таких режимов ГЭС.
Ключевые слова: метамоделирование; метаметамоделирование; язык LMPL; интерактивный программный комплекс метамоделирования; модельное представление процесса выбора оптимального режима; оптимизация управления гидроресурсами.
N.V. Abasov, M.Yu. Chernyshov, E.N. Osipchuk
USE OF METAMODELING TECHNOLOGY IN THE CONTROL OF TECHNOLOGICAL REGIMES OF
HYDROELECTRIC POWER PLANTS
A conception of metamodeling is discussed and also a technology of 4-level metamodeling, which is important for constructing flexible models assuming efficient reconstruction. The transition to such a technology istoplical, if there is a need in a homogeneous account of the modeled object’s characteristics determined by characteristics of the problem domain whose account is predominant. An interactive software metamodeling complex LMPL-Software is discussed, it allows to construct a metamodel,applied models of objects on its basis, conduct models transformations bound up with constructing new models from blocks identified in course of analysis. This new technology gives an expert a more efficient way to solve applied problems and, in particular, the problem of constructing a model representation for the process of choosing an optimum operating regime of a hydroelectric power plant. A technology of optimization of control for hydroresources and planning such regimes of hydroelectric power plants is described.
Keywords: metamodeling; metametamodeling; LMPL language; interactive software complex of metamodeling; model representation of the process of choosing an optimum regime; optimization of control for hydroresources.
1. Современные технологии разработки прикладных программных систем и проблемы, которые они не исключают
Современные технологии разработки прикладных программных систем (ППС) предполагают предварительное создание некой статической компьютерной метамодели проблемной области (МПО), на основе которой и создается ППС, описываемая в терминах языка программирования высокого уровня. Однако, как показала практика, такой подход чреват сложностями адаптации моделей к изменяющимся условиям эксплуатации объекта управления. Поясним, почему это так.
Например, классическая “водопадная” схема разработки ППС предполагает поэтапное решение задачи: 1) постановка задачи; 2) определения требований к МПО и ППС до их программной реализации; 3) анализ задачи; 4) построение МПО; 5) построение ППС; 6) внедрение ППС и начало ее эксплуатации. И, казалось бы, все правильно: ППС программно воплощается после анализа и на основе МПО. Однако при таком подходе МПО разрабатываемые экспертами, оказываются частью исходного кода ППС на языке программирования. В таком случае необходимость изменения (или уточнения) требований к модели потребует существенной корректировки исходного кода программы, а также обновления структур и алгоритмов обработки данных.
Одним из выходов в настоящее время считают технологию, предполагающую использование CASE-средств. CASE-средства, предназначенные для автоматизации разработки сложных ППС,
представляют собой дополнительный набор инструментальных средств для работы с программными моделями. Они позволяют автоматизировать операции проектирования и программирования. Однако и в этом случае МПО становится нераздельной частью проектируемой ППС. К тому же CASE-средства не учитывают формальные ограничения используемого языка программирования, что также приводит к необходимости утомительной корректировки программного кода.
Другой технологией, рекомендуемой в нашем случае, является проблемно-ориентированное моделирование [8] (domain-specific modeling (DSM)). Она предполагает создание специализированного языка моделирования для описания конкретной проблемной области, позволяющего значительно (по сравнению с использованием языков общего назначения) упростить процесс разработки моделей. В отличие от CASE-средств, где набор инструментов разработки определяется самой системой, язык и термины, используемые в рамках DSM-технологии, ориентированы на конкретную проблемную область, что позволяет экспертам описывать различные элементы моделей на более высоком уровне абстракции. Однако разнообразие специализированных языков вызывает сложности согласования, анализа и развития моделей для специалистов различных профилей.
Известна еще одна возможная технология. Для представления модели объекта в единой наглядной (а потому понятной различным специалистам) форме часто используются языки графического описания, например, UML [5], известный как унифицированный язык моделирования. К недостаткам этой технологии можно отнести трудности адекватного выражения смыслов в терминах UML и, как следствие, несовместимость получаемых ППС из-за различной трактовки весьма сложных спецификаций.
Заметим также, что цели комплексного исследования сложных объектных систем (таких, например, как ГЭС с их режимами) предполагают необходимость разработки не одной, а множества моделей. Причина этого проста. На данном этапе развития вычислительной техники уровень возможностей программных систем пока таков, что попытка компьютерного моделирования с учетом большого множества параметров одновременно может привести к проблемам из-за исчерпания памяти. В то же время независимый анализ части параметров на множестве моделей чреват проблемами согласования результатов функционирования таких моделей.
Решение очевидных проблем видится нам в дальнейшем развитии технологий вычислительного моделирования в направлении метамоделирования, что предполагает построение обобщенных и унифицированных моделей, называемых метамоделями [2; 4; 9].
Такие метамодели, конечно же, должны строиться на основе динамически настраиваемых моделей проблемных областей (ДНМПО). На первом этапе перехода к технологии, использующей ДНМПО, широко использовались многоуровневые архитектуры моделирования [13; 14] с различными уровнями абстракции. Новый подход, предполагающий описание модели объектной системы в формате высокого уровня (например, с помощью метамодели), позволяет цельно исследовать объектную систему без мучительной капитальной перестройки множества моделей.
2. Представление о метамоделях и метамоделировании
Многие авторы используют термин «метамоделирование» как модный, однако его содержание интерпретируют превратно, исходя из значения приставки «мета» по-латыни: «около» или «при». На самом деле метамодель есть обобщенная и высокоуровневая (с точки зрения детализации) модель, на основе которой может быть построен (описан) целый класс прикладных моделей объектных систем одного типа (ПМОСОТ) [6; 1]. Метамодель отражает особенности структуры и функции, которые являются общими для класса ПМОСОТ. Под метамоделированием понимают технологию синтеза класса моделей сложных информационных систем, предполагающую эффективное обобщение данных о моделях этого класса [7]. Технология метамоделирования отличается следующими особенностями (рис. 1): универсальность (метамодель задает характеристики структуры и функций общие для класса моделей); модульность метамодели (при сохранении ее целостности); системность отношений в рамках иерархии (каждый уровень отношений в метамодели имеет свои правила представления и свои взаимосвязи); модифицируемость и расширяемость модели (модель, строящаяся на основе метамодели, может быть легко модифицирована или расширена без принципиальной модификации основы); интероперабельность (возможность подключения моделей других информационных систем и взаимодействия с этими моделями).
Когнитивные
Структура
моделей
Различные формы представления
Вычислительные
Генерация моделей Параллельный расчёт
Оценка точности Аппроксимация и видоизменение
МЕТАМОДЕЛИРОВАНИЕ
Целостность
Трансформируемость
Всеобщность
Обратимость
Расширяемость
Оптимизационные
Интеграция различных типов оптимизации
Управление ограничениями и переменным
Организационные
Стандартизация и унификация
Интеропе-
рабельность
Рис. 1. Особенности технологии метамоделирования
При описании класса объектов с помощью метамодели может быть задано несколько уровней абстрагирования, причем каждый уровень должен целостно и непротиворечиво отражать структуру и связи внутри множества производных моделей объектной системы (ОС), которые могут формироваться автоматически на основе единых принципов построения моделей. Заметим, что если построена МПО, то при построении производных моделей ОС на ее основе можно сосредоточить внимание исключительно на существенных деталях и специфических особенностях модели (моделей) ОС, поскольку основные их особенности в метамодели являются едиными для данного класса моделей ОС. Решение задачи эффективного построения МПО, метамоделей ОС и моделей ОС на ее основе существенно упрощает наличие адекватного языка вычислительного моделирования.
Существуют различные технологии метамоделирования как обобщенного формализованного моделирования систем на основе метамоделей. Например, технология Model Driven Development (MDD) [10; 12], предложенная консорциумом Object Management Group (OMG) и предполагающая модельно-управляемое метамоделирование, сегодня широко применяется в программировании. Согласно технологии MDD при проектировании сложных однотипных систем, относящихся к одной проблемной области, учитываются их типовые (повторяющиеся) особенности, выстраивается иерархия моделей и оценивается возможность их использования в качестве универсальных шаблонов. Наличие такой иерархии позволяет построить на ее основе множество конкретных моделей ОС, при условии, что управление у них будет общее.
Если еще недавно технология программного метамоделирования как подход, подразумевающий систематизацию процесса моделирования, предполагала построение лишь двух уровней (уровень метамодели и уровень моделей, строящихся на ее основе), то современная технология метамоделирования учитывает потребность построения сложных МПО, а потому включает в себя уже следующие 4 уровня модельного представления объектов и отношений (действий, процессов, состояний) (рис. 2): 1) уровень метаметамодели (со спецификацией правил, согласно которым описывается множество метамоделей проблемной области); 2) уровень метамодели, на котором создается метамодель (“модель моделей”), отражающая общие черты конкретного класса моделей; 3) уровень модели (здесь на основе метамодели формируется модель (или класс моделей) конкретного объекта); 4) уровень выявления и конкретизации основных данных о модели (с учетом особенностей проблемной области), с которого при старой технологии начинался процесс моделирования, а при новой технологии - завершается процесс моделирования.
Рис. 2. Технология четырехуровневого метамоделирования
Как уже было сказано, переход на метауровень становится целесообразным, если возникает потребность в построении гибких моделей, которые были бы эффективно перестраиваемыми. Переход на метаметауровень становится необходимым, если возникает потребность в единообразном учете характеристик моделируемого объекта, детерминированных особенностями проблемной области. При этом получется, что, прежде всего, следует учесть характеристики проблемной области.
Таким образом, принципиальной и важнейшей особенностью новой технологии, по нашему убеждению, является то, что она инвертирует процесс построения моделей, изменяя его направление (от метаметамоделирования к моделированию) и, как следствие, его содержание. Использование новой технологии вычислительного моделирования позволяет организовать эффективный процесс построения модели, предполагающий возможность автоматизированного анализа и модификации модели на каждом уровне. Например, наличие уровня М2 позволяет учесть в модели уровня М1 множество семантических и структурных особенностей соответствующего класса моделей. Уровень М3 позволяет детально учесть в классе моделей особенности конкретной проблемной области.
К преимуществам технологии метамоделирования с точки зрения оптимизации вычислений следует отнести возможность автоматической генерации моделей низших уровней абстрагирования и возможность параллельных вычислений для отдельных моделей. Кроме того, технология метамоделирования способствует продвижению идеи стандартизации и унификации моделей, создаваемых для различных проблемных областей.
3. Программное воплощение технологии метамоделирования
Построение компьютерных метаметамоделей, метамоделей и моделей технологических процессов, требующих оптимизации, метамоделей и моделей логического вывода, позволяющих принимать решения, является потребностью, диктуемой временем.
Применение метамоделирования предполагает использование методов математического программирования (МП) и позволяет сочетать различные методы оптимизации; уменьшать число и диапазон поиска переменных, удаляя недействительные ограничения и переменные; объединять некоторые ограничения; выполнять оценку точности расчетов.
Рынок до сих пор испытывает дефицит в интерактивных программных комплексах (ИПК) метамоделирования (ИПКММ), способных функционировать в режиме дискурса «пользователь -ИПКММ» и пригодных для построения гибких логических метамоделей, позволяющих выполнять операции логического вывода, оптимизации, принятия решений и т. п. [1; 4]. Еще больший дефицит образуют ИПКММ, способные обеспечить гибкую перестройку метамоделей и моделей с учетом возникающих новых потребностей и задач. В этой связи нами был разработан язык вычислительного моделирования, получивший название Light Mathematical Programming Language (LMPL) [2]. LMPL построен на основе прототипов: языка MPL [15] и его расширенного (augmented) варианта AMPL [11]. LMPL предполагает декларативное описание зависимостей, ограничений и критерия оптимизации в терминах программной логики, описанной на языке ОЛФИС.
LMPL предназначен для компактного, наглядного метамоделирования, предполагающего конечной целью построение логического вывода при принятии решений и при решении задач математического программирования (МП). Он обеспечивает упрощенный синтез моделей и метамоделей. Важно и то, что LMPL обеспечивает наглядную форму декларативного представления метамоделей и моделей в терминах МП. При таком представлении МП-модель (в т. ч. зависимости, ограничения, критерии оптимизации) представляются в виде набора блоков (табл. 1). Использование LMPL позволяет легко определять индексные переменные и строить упрощенный синтаксис (т. к. нет операторов, характерных для императивных языков программирования).
Характеристики LMPL подробно описаны в [9], где в таблице 1 представлен базовый набор функциональных блоков языка LMPL с описанием их функций, а таблица 2 - синтаксис LMPL в расширенной форме Бэкуса - Наура.
После несложных преобразований модель, записанная на LMPL, легко интерпретируется как МП-модель в задаче математического программировнаия. В целях решения такая МП-модель передается решателям и легко преобразуется. Итоги счета выводятся в различных выходных форматах.
На основе LMPL был разработан оригинальный программный комплекс, являющийся ИПКММ и названный LMPL-Software [3; 4], рассматриваемый нами как эффективное средство построения прикладных программных метамоделей и моделей, строящихся на основе принципов математического программирования. Метамодель, строящаяся с помощью такого ИПКММ, включает в себя обобщен-
ную базу знаний, соответствующую данной проблемной области, а также программные конструкторы, предназначенные для синтеза прикладных моделей.
Заметим, что любая модель ОС, записанная в терминах LMPL, после преобразований автоматически приводится к классической форме, соответствующей исходной МП-задаче, т. е. к форме, во-первых, удобной для исследователя, а во-вторых, для автоматической передачи различным решателям задач (lp_solve, COPL_QP, QSopt, GAMS [16], AMPL и др.).
Функция метамоделирования как синтеза обобщенного образа класса моделей предполагает следующие этапы: 1) задание шаблона метамодели; 2) выбор и объявление блоков, входящих в метамодель (например, включение блока базовых уравнений моделей, основных констант); 3) объявление метапеременных, т. е. промежуточных переменных, которые позднее, в процессе генерации конкретной модели, заменяются; 4) задание параметров метамодели (например, названия объекта, режима работы, начального состояния) и выбор предполагаемого решателя задач и его характеристик; 5) генерация модели на языке LMPL с помощью разработанного модуля-конвертера; 6) приведение LMPL-метамодели к формату решателя.
ИПКММ LMPL-Software позволяет построить метамодель, модель на ее основе (а позднее - модифицировать ее, выполняя преобразования модели, связанные с построением новых моделей из блоков, выделенных при анализе), а затем моделировать процессы логического вывода и принятия решений.
При этом ИПКММ LMPL-Software обеспечивает выполнение следующих важных операций:
1) построение модели условной объектной системы из базовых блоков метамодели (рис. 3);
Рис. 3. Универсальная структура модели условной объектной системы, состоящей из базовых функциональных блоков метамодели
2) построение прикладной модели на ее основе;
3) сравнение модели с прототипом (если есть), выявление структурных отличий, выделение общих частей;
4) построение графов связей между объектами модели (рис. 4);
5) построение логического вывода на модели, для чего поддерживается проведение многоитерационных расчетов, включая стохастическую оптимизацию;
6) поддержка автоматических преобразований моделей (эта функция может быть использована, например, в исследовании алгоритмов).
Портабельная (т. е. компактная) и кроссплатформенная реализация ИПКММ (в виде библиотек на языке Lua с использованием пакета lp_solve в качестве базового решателя) дает возможность подключения почти любых универсальных внешних программ, пригодных для решения различных МП-задач. В случае необходимости могут быть выполнены анализ результатов, полученных решателем, и генерация отчетов (в текстовом и графическом режимах). Процесс моделирования предполагает:
а) объявление набора случайных параметров и их характеристик; б) задание параметров управления
блоком стохастической оптимизации (количество итераций, шаг дискретизации); в) генерацию множества детерминированных моделей (генерации случайных чисел); г) решение оптимизационной задачи с сохранением текущих оптимальных показателей по каждой итерации; д) обработку накопленной статистики; е) формирование итоговых таблицы с вероятностными распределениями.
Рис. 4. Пример графа семантически значимых связей между основными компонентами модели
Структура исходного текста конкретной модели строится из функциональных блоков, которым сопоставляются класс задачи, идентификатор типа модели, тип решателя задачи, целевая функция, функция сравнения, ограничения, индексные переменные, переменные и константы, соответствующие задачам и условиям моделирования. На рис. 3 приведена универсальная структура условной модели на LMPL (базовый набор основных функциональных блоков языка LMPL, функции, переменные и константы). Очевидно, что LMPL позволяет описать модель в форме, являющейся в некотором смысле отображением матлогической формы, поскольку предполагает использование множества индексных переменных, констант, операторов и кванторов. Представления о переменных, множествах, граничных условиях позволяют обращаться к ним, используя соответствующие индексы. Опционально может быть указан предполагаемый решатель МП-задач. При синтезе моделей важной является возможность их представления в декларативной форме. В случае императивной формы, в терминах которой строится большинство программ и моделей, логика синтеза существенно осложнена необходимостью последовательного процесса синтеза модели. Декларативная форма дает возможность строить эффективное описание моделей, а также создавать гибкие средства для последующего исследования алгоритмов и их усовершенствования.
ИПКММ LMPL-Softwaгe позволяет выполнять следующие операции, квалифицированные как операции, связанные с синтезом моделей: а) построение модели из частей; б) сравнение модели с прототипом и выявление структурных отличий; в) построение графов связей между объектами модели (рис. 4), которыми могут быть не только структурные элементы, но также переменные. Комплекс позволяет также выполнять следующие операции анализа моделей: 1) анализ графов связей между объектами модели (рис. 2) (т. е. между различными переменными и множествами переменных); 2) выявление структурных отличий модели от прототипа; 3) выделение общих частей модели и прототипа. Все операции синтеза и анализа моделей выполняются в режиме дискурса «пользователь - программный комплекс».
4. Подход к метамоделированию в целях исследования и выбора оптимальных технологических режимов гидроэлектростанций
Рассмотрим подход, предполагающий применение метамоделирования при выборе оптимальных технологических режимов. Технология выбора оптимального режима требует изучения и сравнения различных вариантов режимов. Удобно, если такие варианты представлены в модельной форме.
Технология метамоделирования может быть применена в сфере управления гидроэнергетическими и водохозяйственными системами. Для этого был разработан специальный инструментарий, включающий базу знаний из фрагментов моделей технологических режимов и программные конструкторы для построения производных моделей режимов.
При выборе оптимальных режимов и в этих целях изучении и сравнении различных вариантов режимов гидроэлектростанций (ГЭС), представленных в модельной форме, специалисты, как правило, сталкиваются с необходимостью связать множество отдельных моделей, соответствующих различным вариантам режимов, в единую систему, построив обобщенную модель, отражающую множество различных возможных случаев и множество различных вариантов режимов ГЭС. Такая обобщенная модель и есть метамодель. На ее основе можно 1) выполнить анализ, исследовав множество вариантов связей между составляющими метамодели; 2) построить вывод об оптимальном режиме, позволяющий принять рациональное решение, связанное с управлением стоком и выработкой электроэнергии; 3) осуществить долгосровное планирование режимов ГЭС.
Учтем, что БЗ ИПКММ LMPL-Software содержит варианты различных типов режимов, которым сопоставлены основные уравнения, переменные, константы, критерии оптимизации и ограничения. Это позволяет генерировать модели конкретных режимов и выбирать из них лучшие автоматически.
Пример модельного представления процесса выбора оптимальных режимов ГЭС, полученного на основе принципа метамоделирования, представлен на рис. 5.
Рис. 5. Пример модельного представления процесса выбора оптимального режима функционирования ГЭС,
полученного на основе принципа метамоделирования
Заметим, что возможно построение метамодели в детерминистическом и стохастическом случаях. Метамодель может быть стохастической в том смысле, что в ней один параметр или несколько параметров описываются некоторой функцией распределения.
Процесс метамоделирования в детерминистическом случае, предполагающем получение модельного представления процесса выбора оптимальных режимов ГЭС, включает в себя следующие этапы:
1) задание шаблона данной метамодели; 2) объявление блоков, входящих в метамодель (в том числе включение блока основных уравнений моделей и констант); 3) объявление метапеременных, заменяемых в процессе генерации данной прикладной модели; 4) задание параметров метамодели (объект, режим работы ГЭС, параметры, отражающие начальные состояния, т. е. значения переменных и констант); 5) выбор предполагаемого решателя задач; 6) генерация модели режима ГЭС на языке
LMPL с помощью модуля-конвертера; 6) приведение построенной LMPL-модели к формату решателя задач; 7) анализ результатов, полученных решателем; 8) формирование отчетов в текстовой и графической формах.
Процесс моделирования в стохастическом режиме предполагает следующие этапы: 1) объявление набора случайных параметров и их характеристик; 2) задание параметров управления стохастическим блоком (количество итераций, шаг дискретизации); 3) создание множества детерминированных моделей с помощью генератора случайных чисел (ГСЧ) произвольного распределения; 4) решение оптимизационной задачи с сохранением текущих оптимальных показателей на каждой итерации;
5) обработку накопленной статистики, формирование итоговой таблицы с вероятностными распределениями.
Все операции построения метамоделей (а позднее - моделей на их основе) и операции, связанные с их анализом, выполняются в режиме дискурса «пользователь - программный комплекс».
5. Решение задач управления режимами ГЭС с применением средств технологии метамоделирования
Решение задачи выбора оптимальных технологических режимов для гидроэлектростанций создает основу новой технологии, дающей возможность оптимизации управления режимами ГЭС и планирования таких режимов.
В методологии управления режимами ГЭС до сих пор использовали два подхода, основанных на «правилах назначения режимов гидроузлов с помощью диспетчерских графиков» и расчетах режимов с помощью различных математических моделей. Повышение качества принимаемых управленческих решений возможно при условии правильного выбора технологических режимов и при учете возможных рисков функционирования ГЭС. Для этого необходимо учесть и использовать данные, полученные посредством нескольких различных методических подходов, дополняющих друг друга. Это позволяет сделать новая технология, предполагающая метамоделирование, которая обеспечивает согласование традиционных подходов с новыми, использующими долгосрочные прогнозы природообусловленных факторов энергетики (прогнозы приточности воды в водохранилища, осадков и температур в различные периоды). Описание режимов ГЭС с помощью метамоделей позволяет целостно представить и исследовать функционирование гидрообъекта с учетом различных требований, ограничений и прогнозных данных по притоку.
Метамоделирование режимов ГЭС в целях управления строится с использованием 4-уровневого обобщения данных об объекте: 0-уровень - данные, отражающие технические характеристики гидрообъекта, основные режимы функционирования, сведения о приточности, прогнозные данные и др.; 1-уровень - математические модели режимов с данными об отдельной ГЭС; 2-уровень - метамодели режимов множества ГЭС в форме кратких описаний связей, отражающих общие фрагменты моделей; 3-уровень - обобщение метамоделей (с построением метаметамоделей) для комплексного исследования энергетических сетей.
Метамодель, рассчитываемая для множества режимов ГЭС, отображается в серию моделей задачи МП, предполагающей оптимизацию функционала с различными ограничениями. Блоки метамодели режимов ГЭС содержат элементы различных типов моделей, например, ограничения, критерии оптимизации, переменные, константы с общим уравнением водного баланса.
6. Технология оценки и выбора оптимальных режимов ГЭС
Для оценки и выбора оптимальных режимов ГЭС с учетом входной прогностической информации, имеющей вероятностный характер (например, информации о приточности воды в водохранилища), можно проводить многоитерационные расчеты посредством технологии стохастической оптимизации.
Разработанная технология оценки режимов ГЭС на основе метамоделей предполагает следующие процедуры:
1) создание контейнеров (наборов) моделей со стохастическими параметрами с помощью генератора случайных чисел (ГСЧ) произвольного распределения;
2) обработка контейнеров с синтезом детерминированных моделей;
3) приведение синтезированных моделей к формату внешнего решателя;
4) параллельное решение оптимизационных задач с помощью одного или нескольких решателей и сохранением оптимальных показателей;
5) выбор нового контейнера для синтеза моделей;
Для анализа накопленной статистики решений проводятся процедуры:
1) идентификации итоговых функций распределения;
2) проверки унимодальности выходных показателей с добавлением или корректировкой искусственных управленческих ограничений в случае несоответствия заданным требованиям;
3) оценки риска выхода за ограничения (по пороговой вероятности) с возможным ослаблением управленческих ограничений или видоизменением исходной модели (например, заменой критерия оптимизации или сезонных ограничений) при высоких рисках;
4) формирования управленческих решений с автоматическим построением итоговых таблиц и графиков с вероятностными распределениями.
Эти процедуры реализованы в виде системы специальных программных компонент, образующих технологию моделирования (рис. 6).
Рис. 6. Реализация технологии моделирования процесса выбора режима ГЭС, предполагающая выработку унимодального управленческого решения (нотация IDEF3)
Разработаны базовые программные компоненты для: а) управления метамоделью режимов ГЭС;
б) синтеза детерминированных и стохастических моделей; в) декомпозиции контейнеров моделей; г) оптимизации моделей различными решателями; д) обработки прогностических данных; е) накопления статистики; ж) оценки рисков; з) решения прикладных задач (проверки ограничений, формирования отчетов и др.).
Реализация этих компонент предполагает задействование следующих открытых портабельных программных модулей: (^ мультипарадигменный компактный язык программирования 1иа с расширением базовых функции на языках С/С++ для обработки и управления моделями; (и) пакеты lp_solve и QSopt для решения задач линейного, целочисленного, смешанного программирования, COPL_QP -задач квадратичного программирования; (ш) среды gnuplot для построения графиков.
Такая технология сама по себе уже позволяет повысить эффективность расчетов. Для еще большего повышения эффективности расчетов критические для быстродействия функции (например, генерация, обработка и конвертирование ЬМРЬ-моделей) были вынесены в управляющее ядро языка 1иа, с расширением его базовых (АР1) функций. Повышение эффективности расчетов в случае стохастических моделей достигается за счет генерирования необходимого объема выборок, использования специального ГСЧ с возможностью задания функции распределения, а также распараллеливания циклов оптимизации.
Для вызова решателей из 1иа используется специально разработанная технология с подключением библиотек статической и динамической компоновки. Для исследования структур моделей в язык LMPL включены процедуры для автоматического проведения следующих преобразований: а) построение графов связей объектов; б) поиск структурного отличия моделей; в) выделение общих частей моделей; г) введение новых переменных для упрощения модели; д) подстановка промежуточных переменных с включением алгебраических символьных преобразований. С их помощью можно выбрать формы представления моделей (рис. 7), удобные для исследователя.
Рис. 7. Порождение различных моделей на основе метамодели (на примере режимов ГЭС)
Для отображения моделей в математической форме разработано специальное средство генерации текста на языке LaTeX, предполагающее автоматическое формирование PDF файла. Заметим, что наличие набора средств визуализации предполагает не только возможность выбора форму отображения блоков модели, но также варьирование алгоритма вывода.
7. Об основных итогах исследования
Таким образом, итогом нашего исследования стало выполнение исключительно важного комплекса работ.
Четко сформулирована концепция метамоделирования и технология 4-уровневого метамоделирования, которая важна для построения гибких моделей, допускающих эффективную перестройку. Переход к такой технологии актуален, если есть потребность в единообразном учете характеристик моделируемого обекта, детерминированных характеристиками проблемной области, которые важно учитывать в первую очередь.
Построен интерактивный программный комплекс метамоделирования LMPL-Software, позволяющий строить (а) метамодель, (б) прикладные модели объектов на ее основе, (в) выполнять преобразования моделей, связанные с построением новых моделей из блоков, выделенных при анализе. Новая технология и указанный программный комплекс позволяют эксперту более эффективно решать важные прикладные задачи и, в частности, (1) задачу оценки возможных рисков, связанных с функционированием ГЭС на основе прогнозов; (2) задачу построения модельного представления процесса выбора оптимального режима функционирования ГЭС; (3) задачу выбора оптимальных режимов ГЭС с учетом доступной прогностической информации; (4) задачу гибкого программного формирования управленческих решений, связанных с эксплуатацией ГЭС, решение которой предполагает воплощение технологии эффективного управления стоком и производством электроэнергии.
На основе созданного комплекса воплощена оигинальная технология, предполагающая сочетание средств метамоделирования и метаметамоделирования, которая позволяет строить серии моделей, необходимых для решения задачи математического программирования; разработаны программные средства для управления метамоделью режимов ГЭС; реализованы гибкие прикладные программные версии ИПКММ LMPL-Sofware, рассчитанные на модельное представление процесса выбора оптимальных режимов ГЭС на основе принципа метамоделирования.
Важно то, что построение метамоделей и моделей режимов ГЭС может протекать в интерактивном режиме, а именно в дискурсе «пользователь - программный комплекс».
Практическое опробование предложенной технологии метамоделирования с использованием ИПКММ LMPL-Software на ряде разнотипных прикладных задач [2; 3] показало эффективность этого комплекса. Это подтвердило верность идеологии: использование LMPL, реализованного в форме технологии метамоделирования, позволяет эффективно решать комплекс оптимизационных задач математического программирования, строить операции логического вывода, оптимизации и на этой основе принимать решения.
Литература
1. Исследование структуры дискурса средствами математического программирования и формальный анализ его логической семантики [Текст] / Н.В. Абасов [и др.] // Вестник ИГЛУ. - 2013. - № 2 (23). - С. 180-187.
2. Язык LMPL как средство синтеза прикладных программных моделей и метамоделей на основе принципов математического программирования / Н.В. Абасов [и др.] // Вестник Иркутского государственного технического университета. - 2013. - № 3 (74). - С.12-16.
3. Программный комплекс для синтеза прикладных программных моделей и метамоделей основе принципов математического программирования [Текст] / Н.В. Абасов [и др.] // Вестник Бурятского государственного университета. Сер. Математика. Информатика. - 2013. - Вып. 9. - С. 76-80.
4. Абасов Н.В., Чернышов М.Ю. Построение технологии современного метамоделирования для решения прикладных задач // Вестник БГУ. - 2014. - № 2. Математика. Информатика. - С. 24-31.
5. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя. - 2-е изд. - М.; СПб.: ДМК Пресс, Питер, 2004. - 432 с.
6. Лядова Л.Н. Метамоделирование и многоуровневые метаданные как основа технологии создания адаптируемых информационных систем // Advanced Studies in Software and Knowledge Engineering (International Book Series «Information Science & Computing», No. 4). - Varna, Bulgaria, 2008. - P. 125-132.
7. Нечаев В.В. Введение в теорию метамоделирования систем. - М.: Информациология, 1997. - 64 с.
8. Фаулер М. Предметно-ориентированные языки программирования. - М.: Вильямс, 2011. - 576 с.
9. Чернышов М.Ю., Абасов Н.В. Программный комплекс для построения прикладных моделей и метамоделей на основе принципов математиеского программирования // Вестник РУДН. Сер. Информатизация образования. - 2013. - № 3. - С. 35-46.
10. Beydeda S., Book M., Gruhn V. (eds.). Model-Driven Software Development. - Heidelberg: Springer-Verlag, 2005. - 464 p.
11. AMPL: A Modeling Language for Mathematical Programming [Text] / R. Fourer, D.M. Gay, B.W. Kernighan. -New York: Thomson, Brooks and Cole, 2002. -517 p.
12. Frankel D.S. Model Driven Architecture: Applying MDA to Enterprise Computing / D.S. Frankel. - New York: OMG Press, 2003. - 354 p.
13. Gigch J. P. van. System Design Modeling and Metamodeling / J.P. van Gigch. - New York: Plenum Press, 1991. -453 p.
14. Metamodeling for Method Engineering / M.A. Jeusfeld, M. Jarke, J. Mylopoulos. - Cambridge, MA: MIT Press, 2009. - 424 p.
15. MPL Modeling System. Maximal Software. - URL: http://www.maximal-usa.com (дата обращения: 20.01.2013).
16. GAMS Manual / O. Tikhonova, Daene C. McKinney, A. Savitsky. - URL: http://www.gams.com/docs/contributed/gamsman_russian.pdf (дата обращения: 18.01.2013).
Абасов Николай Викторович, кандидат технических наук, ведущий научный сотрудник Института систем энергетики им. Л.А. Мелентьева Иркутского научного центра СО РАН, тел. 89646535739, e-mail: abasov_nv@rambler.ru.
Чернышов Михаил Юрьевич, кандидат филологических наук, зав. научно-методической частью Президиума Иркутского научного центра СО РАН, тел. 89149327490, e-mail: Michael_Yu_Chernyshov@mail.ru.
Осипчук Евгений Николаевич, кандидат технических наук, младший научный сотрудник Института систем энергетики им. Л.А. Мелентьева Иркутского научного центра СО РАН, г. Иркутск, 664033, ул. Лермонтова, 130, e-mail: evgeny-osipchuk@yandex.ru
Abasov Nickolay Viktorovich, candidate of engineering sciences (computational technologies), leading researcher, Melentyev Energy Systems Institute, SB RAS, Irkutsk; tel.: 89646535739, e-mail: abasov_nv@rambler.ru
Chernyshov Michael Yurievich, candidate of philological sciences (mathematical linguistics, artificial intelligence), head of the research-methodological division, Presidium of Irkutsk Scientific Center, SB RAS, Irkutsk; tel.: 89149327490, e-mail: Michael_Yu_Chernyshov@mail.ru