Научная статья на тему 'Технологии многоагентного экономического моделирования со сложной системой связей'

Технологии многоагентного экономического моделирования со сложной системой связей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
математическое моделирование / комплекс программ / система агентов / оптимальное управление / сложная система / mathematical modeling / software package / agent system / optimal control / complex system

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Юсуп-ахунов Батыржан, Жукова Александра Александровна, Каменев Иван Георгиевич, Васильев Сергей Борисович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Юсуп-ахунов Батыржан, Жукова Александра Александровна, Каменев Иван Георгиевич, Васильев Сергей Борисович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Technologies for multi-agent economic modeling with a complex system of connections

This paper is a continuation and development of the ECOMOD system for supporting the modeling of complex economic systems based on an open source platform. This article discusses the problems of automating agent-based modeling in the case of a system that includes both groups of similar agents and qualitatively different ones. A new system has been proposed to support the modeling of a system of interacting economic agents of a complex structure, including both ensembles of homogeneous agents and agents in the same role, but differing in internal parameters (households with different incomes can be savers or borrowers), as well as agents of a completely different nature (e.g. households and banks). This feature was not implemented in previous versions of the support system, but is a popular continuation, making it possible to describe both stochastic processes and a multi-product description of the economy. The application of the proposed approach is demonstrated using one economic model. The results of the work and important further steps in its development are discussed.

Текст научной работы на тему «Технологии многоагентного экономического моделирования со сложной системой связей»

УДК 519.86

Б. Б. Юсуп-Ахунов1, А. А. Жукова2, И. Г. Каменев2, С. Б. Васильев2

1 Московский физико-технический институт (национальный исследовательский университет) 2 Федеральный исследовательский центр «Информатика и управление» Российской Академии Наук

Технологии многоагентного экономического моделирования со сложной системой связей

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

Ключевые слова: математическое моделирование, комплекс программ, система агентов, оптимальное управление, сложная система

B.B. Iusup-Akhunov1, A. A. Zhukova2, I. G. Kamenev2, S. B. Vasilyev2

1 Moscow Institute of Physics and Technology 2Federal Research Center «Computer Science and Control» of the Russian Academy of Sciences

Technologies for multi-agent economic modeling with a complex system of connections

This paper is a continuation and development of the ECOMOD system for supporting the modeling of complex economic systems based on an open source platform. This article discusses the problems of automating agent-based modeling in the case of a system that includes both groups of similar agents and qualitatively different ones. A new system has been proposed to support the modeling of a system of interacting economic agents of a complex structure, including both ensembles of homogeneous agents and agents in the same role, but differing in internal parameters (households with different incomes can be savers or borrowers), as well as agents of a completely different nature (e.g. households and banks). This feature was not implemented in previous versions of the support system, but is a popular continuation, making it possible to describe both stochastic processes and a multi-product description of the economy. The application of the proposed approach is demonstrated using one economic model. The results of the work and important further steps in its development are discussed.

Key words: mathematical modeling, software package, agent system, optimal control, complex system

© Юсуп-Ахунов В. В., Жукова А. А., Каменев И. Г., Васильев С. В. 2023

(с) Федеральное государственное автономное образовательное учреждение высшего образования

«Московский физико-технический институт (национальный исследовательский университет)», 2023

1. Введение

Данная работа является продолжением и развитием работы [1], в которой рассматривались проблемы автоматизации агентного моделирования. Напомним, что «агентный принцип означает, что исследуемая система описывается через конкретных Лиц, Принимающих Решения, которые действуют в соответствии со своими ценностями и интересами. В этой трактовке практически любые социальные и большинство экологических моделей являются агентными. В узком смысле под агентскими моделями понимаются модели, в которых описывается непосредственно решение агента, т.е. выбор им некоторых управляемых переменных в соответствии с установленными им самим критериями» [1].

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

В связи с этим в моделях сложных систем часто можно увидеть, как полные агентские модели заменяются упрощенными функциями поведения, за которыми стоит микрообоснование с достаточно специфичными предпосылками, которые лишают их главного преимущества: многорежимности модели. Решить эту проблему могла бы прикладная система автоматизации моделирования, которая бы поддерживала моделирование на всех этапах, начиная с формальной записи модели и заканчивая представлением результатов расчетов, включая автоматическое упрощение соотношений модели и проверку корректности размерности переменных в соотношениях. Работа по созданию подобной системы автоматизации моделирования ведется несколькими научно-инженерными группами по всему миру, что указывает на актуальность данного направления. В разделе 2 изложены основные существующие на сегодняшний день разработки и реализованный в них уровень. В разделе 3 данной статьи предложена новая система поддержки моделирования системы взаимодействующих экономических агентов сложной структуры, включающей как ансамбли однородных агентов, так и агентов в одной роли, но различающихся внутренними параметрами (домашние хозяйства, потребляющие разный продукт), а также агентов совершенно другой природы (например, домашние хозяйства и банки). Эта возможность не была реализована в предыдущих версиях системы поддержки, но является востребованным продолжением, дающим возможность описывать как стохастические процессы, так и многопродуктовое описание экономики. Раздел 4 демонстрирует применение возможностей системы поддержки. В разделе 5 обсуждаются результаты работы и важные дальнейшие шаги ее развития.

2. Системы автоматизации агентного моделирования 2.1. Система DYNARE

Dvnare [6,7] - это программная платформа для обработки широкого класса экономических моделей, в частности, динамического стохастического общего равновесия (DSGE) и моделей перекрывающихся поколений (OLG). Модели, решаемые Dvnare, включают модели, основанные на гипотезе рациональных ожиданий, в которых агенты формируют свои ожидания относительно будущего в соответствии с моделью. Однако Dvnare также может работать с моделями, в которых ожидания формируются по-разному: с одной стороны, модели, в которых агенты идеально предвидят будущее; с другой стороны, модели, в которых агенты обладают ограниченной рациональностью или несовершенным знанием состояния экономики и, следовательно, формируют свои ожидания в процессе обучения.

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

Dvnare предлагает удобный и интуитивно понятный способ описания этих моделей. Она может выполнять имитацию модели с учетом калибровки параметров модели, а также может оценивать эти параметры с учетом набора данных. На практике пользователь пишет текстовый файл, содержащий список переменных модели, динамические уравнения, связывающие эти переменные вместе, вычислительные задачи, которые необходимо выполнить, и желаемые графические или числовые результаты. В Dvnare используется большой набор методов прикладной математики и информатики: многомерное нелинейное решение и оптимизация, матричные факторизации, локальная аппроксимация функций, фильтры и сглаживатели Калмана, методы МСМС для байесовского оценивания, графовые алгоритмы, оптимальное управление и др.

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

Схожим с Dvnare инструментом является YADA ( [14, 15]), система для байесовской оценки моделей DSGE и векторной авторегрессии. Она разработана командой, ответственной за New Area-Wide Model (NAWM), в Отделе прогнозирования и моделирования политики Европейского центрального банка. Основное отличие от других систем для оценки DSGE - это наличие графического пользовательского интерфейса. Также как и Dvnare, является расширением для Matlab, но отличается подходом к численной оценке модели и наличием более широкого функционала для анализа результатов модели.

2.2. Система DOLO

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

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

Доступны сложные процедуры решения: локальные возмущения вплоть до третьего порядка, решение идеального предвидения, итерация политики, итерация значений. Большинство из этих решений либо распараллелены, либо векторизованы. Они написаны на чистом языке Python и могут быть легко проверены или адаптированы.

Благодаря простому и последовательному Python API для моделей, можно писать модели на чистом Python или реализовывать поверх них другие алгоритмы решения. Таким образом, Dolo обеспечивает не только реализацию, но и первичное исследование агентной модели (проверка разрешимости и поиск условий оптимальности). Его инструменты ввода и вывода обеспечивают умеренную совместимость с другими системами (позволяют в ручном режиме адаптировать текстовые файлы к различным системам математического про-

1https: / / github.com/econforge/dolo

граммирования типа Mapple и MatLab). Однако формат ввода и вывода все же не является стандартизированным математическим. Кроме того, система не поддерживает механизмы промежуточной обратной связи, так что ошибки в модели могут быть выявлены лишь при ее полном исследовании.

2.3. Система gEcon

gEcon2 ( [13]) — это фреймворк для разработки и решения динамических (стохастических) и статических моделей общего равновесия крупного масштаба. Он состоит из языка описания модели и интерфейса с набором солверов на языке R.

Преимуществом данного фреймворка является наличие алгоритмов автоматического вывода условий первого порядка и реализация обширной библиотеки символьных вычислений, что позволяет пользователям описывать свои модели с точки зрения задач оптимизации агентов. Для сравнения, в пакетах GAMS и GEMPACK (одни из наиболее популярных платформ для моделей общего вычислимого равновесия) требуется вручную выводить условия первого порядка. Учитывая заданные целевые функции, ограничения и тождества, система автоматически выводит FOC, уравнения стационарного состояния (steady state equations) и матрицы линеаризации. Также возможно использование численных солверов для определения устойчивого состояния и приближения равновесных законов движения вокруг него.

Написание моделей с точки зрения задач оптимизации вместо FOC гораздо естественнее для экономиста и снижает риск совершения ошибки при ручных вычислениях условий первого порядка. gEcon позволяет пользователям сосредоточиться на экономических аспектах модели и позволяет разрабатывать крупномасштабные (более 100 переменных) модели. С этой целью gEcon предоставляет механизм шаблонов (аналогичный тем, что есть в пакетах моделирования CGE), который позволяет объявлять похожих агентов (отличных только по параметрам) в одном блоке.

Из плюсов также можно отметить, что язык описания модели прост и интуитивно понятен. Кроме того, gEcon может автоматически создавать черновой вариант документации LaTeX для модели (но возможность подавать LaTeX документ на вход отсутствует).

2.4. Система Iris Toolbox

Iris Toolbox3 — это пакет макроэкономического моделирования для Matlab, который разрабатывает команда Iris Solutions с 2001 года.

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

1) Структурное моделирование

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

2) Моделирование временных рядов

Инструменты для оценки, диагностики и использования одномерных и многомерных моделей временных рядов с акцентом на задачу снижения размерности. Отметим,

2https://gecon.r-forge.r-project.org/

3https: //iris.igpmn.org/

что данный функционал существенно уступает пакетам, ориентированным на работу с временными рядами.

3) Управление данными

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

4) Отчеты

Система содержит функционал для визуализации результатов, а также может генерировать отчеты в формате HTML.

2.5. Система иодержки экономического моделирования ЭКОМОД

Исследователи используют математические модели для описания экономики страны с целью прогнозирования и сценарных расчетов для ответа на вопрос «что если?». Такими моделями занимались специалисты отдела «Математическое моделирование экономических систем» Вычислительного центра им. A.A. Дородницына РАН (ныне ФИЦ НУ РАН) по заказу различных ведомств, министерств и региональных правительств, а также частных организаций, нуждающихся в расчетах экономической конъюнктуры при планировании своей деятельности. С 1975 г. в Вычислительном центре АН СССР (потом РАН, ныне ФИЦ ИУ РАН) развивалось направление «системный анализ развивающейся экономики (САРЭ)», сочетавшее методологию математического моделирования сложных систем, достижения современной экономической теории и возможности информационных технологий. Целью было построение математических моделей, которые описывали бы динамику макроэкономических структур и процессов так, чтобы правильно воспроизводить совокупность основных качественных особенностей развития изучаемой экономической системы. Исследования начались еще в период плановой экономики, но уже тогда предпринимались попытки описания рыночной экономики, что позволило предвидеть и анализировать происходившие в экономике изменения. Были созданы модель экономики периода высокой инфляции 1992-1995 гг., модель экономики периода «финансовой стабилизации» 19951998 гг., предсказавшая кризис 1998 г., модель, позволявшая оценить перспективы развития экономики России после кризиса 1998 г. Опыт работы с моделями сформировал целую «летопись» экономических реформ в стране, выраженную языком математических моделей.

Модели, которые применялись для описания экономических агентов в рамках модели национальной экономики, были детерминированными с элементами оптимального управления. Со временем детерминированные модели стали дополняться элементами неопре-делнности, и задачи оптимального управления стали задачами управления стохастическим процессами. Например, модели со случайными моментами смены состояний [9], [10] были введены для возможности преодолеть сложности идентфицкации моделей по данным с разной частотсностью, что потребовало сущесвтенных нововведений в принципе работы с моделью. Были введены процедуры и функции вывода условий оптимальности задач стохастического управления и даже попытки моделирования экономической системы с ансамблем агентов, действующих в условиях неопределенности [11].

Система ЭКОМОД использовалась для формальной записи, сохранения и численного анализа математических экономических моделей. Она была организована в виде набора функций и процедур, облегчающих запись и работу с моделями в специально разработанной канонической форме записи модели. Наиболее активно используемая версия системы ЭКОМОД была реализована в среде компьютерной алгебры Maple. Функции и процедуры системы ЭКОМОД определены в двух файлах библиотеки: varlist.mws и ecomob.mws. Первый из этих файлов библиотек содержит функции и процедуры, обеспечивающие сбор информации о модели и контроль корректности записи модели. Вторая библиотека содержит несколько десятков функций и процедур для математический записи модели (необязательно экономической), которые, как показал богатый опыт, способны облегчить про-

цесс анализа и работы с моделью. Помимо библиотек, в состав этой реализации системы ЭКОМОД входят макросы - последовательности команд, позволяющие автоматизировать стандартные шаги работы с моделью, которые оформлены как отдельный mws-файл. В итоге проект модели в системе ЭКОМОД на Maple состоит из последовательности рабочих mws-файлов. Выполнение рабочих файлов, как правило, начинается со считывания из информационного m-файла данных о сохраненных результатах предшествующих этапов записи и анализа модели и заканчивается сохранением результатов в новом mws-файле по итогам работы.

В условиях использования коммерческого продукта для реализации модели ее невозможно отделить от формальной записи в виде файлов Maple. Созданную модель возможно передать пользователю только при наличии лицензионного и достаточно дорогого продукта Maple. Также численные расчеты, которые были реализованы в рамках инструмента ЭКОМОД на Maple, были ограничены по скорости возможностями данной компьютерной алгебры.

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

3. Реализация системы ЭКОМОД на основе платформы с открытым исходным кодом

3.1. Постановка задачи

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

1) Исследование и сравнительный анализ существующих решений.

2) Сбор требований к системе.

3) Выбор инструментария для разработки и системный анализ.

4) Разработка прототипа системы.

5) Тестирование.

6) Систематизация кода и реализация пользовательского интерфейса.

Разобьём требования к системе на три подгруппы: функциональные требования к системе поддержки, к системе вывода условий оптимальности и к пользовательской доступности. 1. Сформулируем функциональные требования к системе поддержки. Система должна:

• Принимать на вход набор переменных и уравнений (неравенств).

Для каждого элемента полученных данных, пользователем может быть представлено текстовое описание. Полученный набор данных система должна уметь разделять на входные данные на переменные и выражения (уравнения/неравенства/целевые функционалы). К каждой переменной может быть дополнительно предъявлена размерность её величины (например, величина капитала Агента равно 500 руб., где «руб» и будем называть «размерностью» величины).

• Разбивать набор полученных переменных на фазовые переменные, управления или экзогенные переменные.

• Проводить проверку размерности в выражениях, если к переменным были дополнительно представлены их размерности.

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

• Разбивать выражения на отдельные группы для корректной формализации задачи как задачи оптимального управления (ЗОУ).

Выражения можно классифицировать следующим образом: дифференциальные уравнения (по степени оператора дифференцирования), целевые функционалы, алгебраические уравнения над функциями (фазовыми, управлениями), терминальные равенства, терминальные неравенства.

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

• Выдавать валидированные ЗОУ в качестве выходных данных системы поддержки.

2. Требования к системе вывода условий оптимальности:

• По полученной валидной ЗОУ требуется вывести условия оптимальности.

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

• Для объединения ЗОУ требуется переобозначить агентские переменные в общей системе. Для предотвращения многозначности символов в общей системе агентские переменные требуется подвергнуть индексированию (навешиванию нижнего индекса) с помощью зарезервированного индекса для каждого агента.

3. Требования к пользовательской доступности (к пользовательскому интерфейсу и к возможности доработки системы другими участниками сообщества):

• Разрабатываемая система не должна быть изолирована.

Пользовательский интерфейс должен позволять интегрировать полученные результаты в сторонние программы/пакеты для дальнейшего анализа. А также используемые абстракции должны быть доступны другим участникам сообщества для возможности доработки системы.

• Наличие документации и сценариев использования.

Система должна быть задокументирована на публичном ресурсе. В документации должны быть приведены исходный код и примеры использования для конечного пользователя.

Совокупность этих требований определяет структуру и облик системы ЭКОМОД-2, реализованной нами на языке Ру1юп.

3.2. Алгоритмическая реализация

Исходный открытый код системы выложен на СйНиЬ4. В состоянии проекта, реализован не полный цикл работы с агентскими моделями, однако система уже сейчас имеет

4 ЫЛрв: / / github .сот / СЬатесЮешив / ЕсоМос!

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

3.3. Сценарии использования

Piic. 1. Всрхнсуровнсвыс сценарии использования системы

Исходя из выбранного инструментария, для реализации программной части следует простая схема взаимодействия пользователя и системы изображенная на рис. 1.

На данный момент планируется две точки входа в систему и три точки выхода из системы. Опишем подробнее каждую из них:

• о Python API.

Пользователь может использовать внутреннюю структуру данных для описания агентских моделей. А затем вызовами процедур пользователь может получать вспомогательные функции для ЗОУ, группу условий оптимальности, выполнять проверку размерностей, изменять модель и т.д

• о Latex.

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

посредством Python выполнять с ними дальнейшие преобразования или вычисления и наоборот.

• ^ HvperGraph.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3.4. Архитектура системы

Рис. 2. Обобщённый вид архитектуры системы при обработке одного агента

В данном разделе будет описана структура вызовов процедур при обработке и валида-ции модели. Как уже было сформулировано в функциональных требованиях, мы формализуем общую систему через две подсистемы: система поддержки (валидатор) и система вывода условий оптимальность (ядро). На рис. 2 и 3 представлены порядок запуска процедур, а также терминальные состояния системы при ошибках и успешной обработке модели.

Рассмотрим процедуру обработки агентской задачи:

1) Входными данными являются массив выражений Е и символов V.

2) Запускается процесс проверок:

• Вычисляется множество символьных переменных V*, используемых в выражениях. Задача решается построением дерева приоритетных операций, а затем сбор всех уникальных листьев этого дерева (без учета числовых постоянных).

• Сравниваются множества V и V*. Пользователю выводится разность большего и меньших) по мощности множеств. Процедура обработки останавливается.

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

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

• Полученные выражения Е с помощью интерпретатора разделяются на различные группы выражений (см. выше). На рис. 3 приведены основные классы выражений: Р - целевые функционалы, И - дифференциальные уравнения, В -граничные условия и фазовые ограничения.

• Сборщик ЗОУ проверяет, есть ли в проверенных выражениях Р, И, В все части ЗОУ для корректной интерпретации задачи в дальнейшем. Если отсутствует какая-либо ключевая часть задачи, например целевой функционал, то процедура останавливается и уведомляет пользователя об отсутствии элементов ЗОУ.

3) С помощью корректной задачи ЗОУ выделяются тины переменных: фазовые переменные, управления и экзогенные переменные, т.е. V = (Р, С, Ех).

4) Валидная модель УА = (Р, И, В, Р, С, Ех) поступает в «ядро» и в нём формируются все вспомогательные функции и условия для анализа задачи методом Понтрягина: лагранжиан, понтрягиан и условия оптимальности.

Таким образом, на выходе алгоритма на рис. 2 мы получаем условия оптимальности для одного агента. Процедура объединения агентских условий оптимальности (рис. 3) достаточно проста: происходит объединение уравнений агентских условий в общую систему уравнений. При этом переменные индексируются именами агентов (им присваиваются нижние индексы, соответствующие названию файла агента). Предполагается, что дальнейшее объединение агентских задач в многоагентскую происходит путем составления условий равновесия (законов сохранения), которые включают в себя тождества, связывающие однотипные переменные разных агентов. Например: равновесие на рынке блага Qc = Qb■

Рис. 3. Процедура объединения индивидуальных условий оптимальности агентов

4. Примеры работы системы

4.1. Многоагентная модель (Р-модель-2)

Рассмотрим базовую модель простой экономической системы, в которой есть два типа агентов производитель и потребитель [16]. В отличие от типичного однопродуктового описания экономики, в данной модели возможно несколько видов производств и, соответственно , продуктов.

Задача потребителя

Потребитель максимизирует свою полезность, управляя остатками на своём расчетном счёте и объёмами потребления первого и второго продуктов С\(1) и С2(^ соответ-

ственно. Единственный источник дохода потребителя - это дивиденды ж(Ь), выплачиваемые ему производителем, единственные расходы - расходы на покупку продуктов 1 и 2 для потребления. Всюду далее в качестве функций полезности агентов нами используется так называемая функция СШ1А (функция с постоянной относительной несклонностью к риску) от СЕБ-свёртки двух продуктов:

С (Ж1-®

и (С и)) = ( ) п при р = 1,

1 — Р

и (С ($) = Ы(С (*)) при Р = 1,

где С(1) = (аьС1{Ь)^ + (1 — а^) С2(Ь)Рк)1/рн. Изменение остатков на расчётном счёте потребителя задаётся финансовым балансом:

й

-К\1) = ж(1) — Р1®Сф) — Р2(1)С2(1)

при известных на всем временном отрезке [0, Т] ценах продуктов Р1^),Р2^) и терминальном ограничении

Ик(Т) > 0.

Задача производителя

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

01 02

где К1(г),К2(г) - объемы накопленных инвестиций, используемых для производства про-

1, 2

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

Наконец, предположим, что выбытия производственных фондов нет, но возможны дезинвестиции - превращение производственных фондов обратно в продукт без потерь. Для описания превращения двух продуктов в капитал будем использовать СЕБ-свёртку:

ЙКМ) = (а1.]ц(1)р1 + (1 — аг) .Ы(1)р1 )1/р1 Й (1) = (а2-12(1)р2 + (1 — а2) ЫЪ"2)1/р2

где - инвестиции первого продукта в производство первого продукта, ,121^) инве-

стиции второго продукта в производство первого и аналогично для второго продукта. В качестве временного множества будем использовать отрезок [0,Т]. Выпуски Уг(1),У2(Ь) в рассматриваемом описании реального сектора оказываются фазовыми переменными, и для них считаются заданными начальные условия

Уг(0) = Уг,о > 0, У2(0) = У2,0 > 0.

Множеством допустимых траекторий чистых выпусков здесь следует считать множество всех неотрицательных кусочно-непрерывных функций Уг (¿) ,У2(Ь) с одним и тем же значением в начале.

Производитель максимизирует СШ1А-полезность выплаченных потребителю дивидендов

Т 1 — ю 1 - АЛ Р(*)

1 {пР(Ь)\1-Рр

—г —г^ тах

за счет выбора траекторий дивидендов ({), капитала К\(1), К 2(I), расчётных счетов Nр(I) в рамках финансового баланса

й

-нр (I) = - ® + Р1(т (г)+Р2№2®-

- Р1&) + Ы*)) - Р2 (г) (Ы^ + 322(1)) .

При выполнении (1), заданных начальных условиях Nр(0), 11(0), У2(0) > 0 и терминальном ограничении

Nр(Т) + р1(Т)К1(Т)+ Р2(Т)К2(Т) > 0 при известных на всем временном отрезке [0, Т] ценах продуктов рг(Ь),Р2^)■

Условия равновесия

В равновесии должны быть выполнены следуюшие соотношения:

- баланс, описываюшие разделение обоих продуктов на потребление и два типа накопления (инвестиции)

¥г(1) = Сг(1) + Зц(1) + ^(1), ВД = С2(1) + 321(1) + 322(1);

- условие равенства спроса и предложения средств на расчетных счетах

N р (Ъ) + N н (г) = 0;

- правило передачи информации относительно объема передаваемой прибыли

пр (1) = ж®.

Результат

Потребитель Переменные

Фазовые переменные: N(I) Управления: С (г, 1), С (г, 2), ж(1) Экзогенные параметры: р\(1), р2(1) Условия оптимальности

• Ш "о® = 0

/ 1 Ч1 -Р

ан\orhoJ аксгкоь (Ь,1)+((1-ан)СгНоН (Ь,2)) СгНоН (г,1)е-ЛМаН*

• -^-^-+ «0 (Ф^) = 0

[ анСгН°Н (Ц)+((1-ан)СгНок (1,2)) \ С(1,1)

1 / \1 -Р

Хо((1-ан)СгН°Ь (г,2))гНоЬ анСгНоН (1,1)+((1-ан)СгНоЬ (г,2))гНоЬ е-<1Ман1

• -т-^--1-+ ао(1)р2(1) = 0

( анСгНок (г,1)+((1-ан)СгНок (г,2)) гНон ) с (г,2)

• -ао(г) = 0

• ао(0) = 0

• ао(Т) = -Xi

• Xi > 0

• XiN (T) = 0

Производитель Переменные

Фазовые переменные: К(t, 1), N(t), К(t, 2) Управления: J(t, 1,1), J(t, 1, 2), J(t, 2,1), J(t, 2, 2), piP (t) Экзогенные параметры: p1(t), p2(t) Условия оптимальности

j.ao(t) + = о

rn^t) = 0

&*i(t) + = о

i

ai(aiJrh°l (t,1,1)+(1-ai)Jrhoi (t,2,1)) rh°i Jrhoi (t,1,1)ao(t) + (f) (f) = 0 (aiJrhoi (t,1,1)+(1-ai)J rhol (t,2,1))j (t ,1,1) + ®2(4P i(t) = 0

1

a2(a2JTho2 (t,1,2)+(1-a2).J rho2 (t,2,2)) J rh°2 (t ,1,2)ai (t) + = 0

(a2 J rho2 (t,1,2)+(1-a2)Jrh°2 (t,2,2))J (t ,1,2) + &2(4Vi(4 =0

i

(1-ai)(aiJrhoi (t,1,1)+(1-ai)Jrhoi (t,2,1)) rhoi Jrhoi (t,2,1)a0(t) (aiJ rhoi (t,1,1)+(1-ai)J rhoi (t ,2,1)) J (t,2,1)

0

(1-a2)(a2Jrho2 (t ,1,2)+(1-a2)Jrh°2 (t,2,2)) rho2 Jrho2 (t,2,2)ai(t) = 0 (a2Jrho2 (t,1,2)+(1-a2)J rho2 (t ,2,2)) J (t,2,2) =

U2(t) = 0

од(0) = X2 ao(T) = -X4Pi(T) a2(0) = 0 a.2(T) = -Xi - X4 ai(0) = X3 ai(T) = -X4P2(T) Xi > 0 XiN (T) = 0 X2 > 0

X2 К(0, 1) = 0 X3 > 0

X3K(0, 2) = 0 X4 > 0

X4 ((K(T, 1)pi(T) + N(T)) + К(T, 2)P2(T)) = 0

Балансы

. YP(t, 1) = (Сн(t, 1) + JP(t, 1,1)) + JP(t, 1,2)

• Yp(t, 2) = (Сн(t, 2) + JP(t, 2,1)) + JP(t, 2, 2)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Nh (t)+Np (t) = 0

• Pi P (t) = n(t)

4.2. Инструкция по воспроизведению результатов анализа моделей. Модуль «Scenarios»

Приведенные выше модели описаны с помощью LaTeX и опубликованы в приложенном репозитории. Найти их можно в папке «models/inputs». Для воспроизведения сценариев с системой поставляется модуль «Scenarios». В нём описан набор функций для апробации поставляемых моделей.

5. Результаты и перспективы

5.1. Полученные результаты

В результате работы была получена система ECOMOD, предназначенная для вали-дации и вывода условий оптимальности для многоагентных моделей. Система обладает следующими возможностями:

1) Проверка целостности экономических моделей.

2) Проверка размерности выражений.

3) Вывод условий оптимальности для агентских моделей.

4) Интеграция с LaTeX для вывода и описания моделей.

Документация системы собрана сервисом автоматической сборки документации Sphinx5 и опубликована на общедоступном ресурсе ReadTheDocs6. На данный момент документация служит дополнением к открытому исходному коду проекта и содержит в себе описание основного функционала системы, а также будет содержать инструкции по воспроизведению имеющихся результатов. Модели для анализа портируются и находятся в общем доступе и могут быть апробированны конечным пользователем для проверки корректной установки системы.

5.2. Перспективы развития

Некоторые функции системы ЭКОМОД-2 находятся в процессе разработки. Они уже сейчас могут быть реализованы вручную с использованием функций импорта-экспорта ЭКОМОД-2, т.к. система обеспечивает их стандартизированный формат. Однако их дальнейшая автоматизация может потенциально значительно ускорить процесс моделирования. В рамках анализа системы были выявлены следующие дальнейшие планы по разработке системы:

1) Реализация методов упрощения входных и выходных данных.

2) Реализация численных методов для полного анализа моделей.

3) Реализация полноценного пользовательского интерфейса, абстрагированного от конкретного ЯП.

4) Покрытие нового класса задач - стохастических многоагентных моделей.

5http://Sphinx-Doc.org/Sphinx.pdf

6https: / / ecomod.readthedocs.io/en/latest/

5.3. Упрощение системы уравнений на входе и выходе

Одна из сложностей, часто возникающих при решении оптимизационных задач - избыточность управлений и ограничений. Реальных степеней свободы может оказаться меньше, чем управлений в модели, если некоторые из них жестко связаны друг с другом. Некоторые ограничения могут быть взаимно сведены друг к другу или оказаться вырожденными (исключать область допустимых значений управлений, полностью входящую в область, исключенную другим ограничением). Приведение системы к максимально упрощенному виду потенциально облегчает исследование условий оптимальности, т.к. далеко не всегда избыточные управления и ограничения очевидно сокращаются и вырождаются на этапе составления условий оптимальности. Система ЭКОМОД-1 была интегрирована с некоторыми процедурами упрощения входных условий. Их перенос на открытый код потенциально возможен, однако требует решения ряда проблем, связанных с устранением различий между синтаксисом Mapple и Python. Аналогичная обратная задача касается оптимизации формы представления условий оптимальности (в виде разложения на множители или, наоборот, на слагаемые; приведения к общему знаменателю или разбиения дробей и т.д.). Реализация этих функций значительно упростит практическое использование ЭКОМОД-2 для крупных многоагентских моделей, т.к. позволит выбирать форму представления, оптимальную для конкретного сценария дальнейшего использования (визуального анализа, распараллеливания вычислений, представления в научных публикациях и т.д.).

5.4. Интеграция с пакетами численных методов исследования

Стандартизированный вывод уже сейчас позволяет использовать полученные условия оптимальности в прикладных программах численных методов исследования. Однако адаптация и интеграция таких пакетов (например, пакет Gekko ) непосредственно внутри системы, совместно с технологиями визуализации модельных траекторий, также может считаться приоритетным направлением развития. GEKKO - это пакет Python для машинного обучения и оптимизации смешанных целочисленных и дифференциальных алгебраических уравнений. Это объектно-ориентированная библиотека Python для облегчения локального выполнения APMonitor. Он связан с крупномасштабными решателями для линейного, квадратичного, нелинейного и смешанного целочисленного программирования (LP, QP, NLP, MILP, MINLP). Режимы работы включают регрессию параметров, согласование данных, оптимизацию в реальном времени, динамическое моделирование и нелинейное прогнозирующее управление.

5.5. Интеграция с HyperNetX

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

6. Заключение

Созданная нами версия системы автоматизации агентного моделирования «ЭКОМОД-2» на открытом программном обеспечении реализует базовый функционал обработки и сборки агентных моделей. Благодаря стандартизированным процедурам импорта и экспорта в формате LaTeX, система совместима с разнообразными внешними

Рис. 4. Визуальное представление модели. Конкретно этот гиперграф не описывает никакую конкретную модель

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

Авторы благодарны Николаю Петровичу Пильнику за советы и обсуждение. Исследование выполнено за счет гранта Российского научного фонда № 22-21-00746.

Список литературы

1. Юсуп-Ахунов Б.Б., Каменев И.Г., Жукова А.А. Система поддержки моделирования социально-экономических прцоессов на основе платформы с открытым исходным кодом /7 Труды МФТИ. 2022. Т. 14, № 4. С. 69 83.

2. Бекларян Л.А., Флёрова А.Ю., Жукова А.А. Методы Оптимального Управления. Учебное пособие. Долгопрудный : МФТИ, 2018.

3. Жукова А.А., Катруца A.M., Флёрова А.Ю. Оптимизация и оптимальное управление в задачах: учебное пособие. Долгопрудный : МФТИ, 2021.

4. Me.urer А., ei al, SymPv: symbolic computing in Python /7 Peer.J Computer Science. 2017. V. 3. P. el03.

5. Bed, L.D.R., Hill D., Martin R.A., Hedengren J.D. GEKKO Optimization Suite /7 Processes. 2018. V. 6, N 8.

6. Juillard M., e.t al., Dvnare: A program for the simulation of rational expectation models /7 Society for Computational Economics. 2001. N 213.

7. Adjemian S., et al, Dvnare: Reference manual, version 4. 2011.

8. Петров А.А., Поспелов П.Г. Модельная «летопись» российских экономических реформ. http://isir.ras.ru/win/db/show_ref.asp?P=.id-23268.ln-ru.

9. Поспелов П.Г., Жукова А.А. Стохастическая модель торговли неликвидным товаром // Труды МФТИ. 2012. Т. 4, № 2. С. 131 1 17.

10. Жукова А.А., Поспелов П.Г. Исследование стохастической модели сбережений с инерционностью потребления // Труды МФТИ. 2014. Т. 6, № 4. С. 41-48.

11. Zhukova A., Pospelov I.G. Modelling the system of agents in the presence of random moments of transactions // 2020 7th International Conference on Control, Decision and Information Technologies (CoDIT). IEEE, 2020. V. 1. P. 1111-1116.

12. Пет,ров А.А., Поспелов П.Г., Поспелова Л.Я., Хохлов М.А. ЭКОМОД -Интеллектуальный инструмент разработки и исследования динамических моделей экономики // Материалы II Всероссийской конференции (ИММОД-2005). С.-Петербург. 2005. С. 19-21.

13. Поспелов П.Г., Хохлов М.А. Метод проверки размерности для исследования моделей экономической динамики // Математическое моделирование. 2006. Т. 18. N 10. С. 113 122.

14. Khokhlov М.А., Pospelov I.G., Pospeíova L.Y. Technology of development and implementation of realistic (country-specific) models of intertemporal equilibrium // International Journal of Computational Economics and Econometrics. 2014. V. 4. N 1-2. P. 234-253.

15. Radionov S., Pilnik N., Pospelov I. The Relaxation of Complementary Slackness Conditions as a Regularization Method for Optimal Control Problems // Advances in Systems Science and Applications. 2019. V. 19, N 2. P. 44-62.

16. Pilnik N., Ujegov A. The Use of Relaxation of Complementary Slackness Conditions for Jointing in General Equilibrium Models // 2021 14th International Conference Management of large-scale system development (MLSD). IEEE. 2021. P. 1-5.

17. Pospeíova L.Y., Pospelov L., Petrov A.A. A Modeling Support System for Mathematical Models of Economy // Proceedings of Internatiaonal Conference Computing in economy and finance. 1996.

18. Babkin E., Abdulrab H., Kozyrev O. Application of ontologv-based tools for design of multi-agent simulation environments in economics // Proceedings of the IASTED Asian Conference on Modelling and Simulation. 2007. P. 55-60.

19. Maliar L., Maliar S., Winant P. Deep learning for solving dynamic economic models // Journal of Monetary Economics. 2021. V. 122. P. 76-101.

20. Maliar L., Maliar S. Deep learning classification: Modeling discrete labor choice // Journal of Economic Dynamics and Control. 2022. V. 135. P. 104295.

21. Klima G., et al, Package 'gEcon'. 2015.

22. Christoffel K.P., Coenen G., Warne A. The new area-wide model of the euro area: a micro-founded open-economy model for forecasting and policy analysis // ECB Working Paper Series. 2008. N 944.

23. Christoffel K.P., Coenen G., Warne A. Forecasting with DSGE models // ECB Working Paper Series. 2010. N 1185.

References

1. Yusup-Akhunov B. B., Kamenev I. G., Zhukova A. A. Support system for modeling socioeconomic processes based on an open source platform. Proceedings of MIPT. 2022. V. 14, N 4. P. 69-83. (in Russian).

2. Beklaryan L. A., Flerova A. Yu., Zhukova A.A. Optimal Control Methods. Textbook. Dolgoprudniv : MIPT, 2018. (in Russian).

3. Zhukova A. A., Katrutsa A.M., Flerova A. Yu. Optimization and optimal control in problems: a textbook. Dolgoprudniv : MIPT, 2021. (in Russian).

4. Meurer A., et al, SymPv: symbolic computing in Python. PeerJ Computer Science. 2017. V. 3. P. el03.

5. Beal L.D.R., Hill D., Martin R.A., Hedengren J.D. GEKKO Optimization Suite. Processes. 2018. V. 6, N 8.

6. Juillard M., et al, Dvnare: A program for the simulation of rational expectation models. Society for Computational Economics. 2001. N 213.

7. Adjemian S., et al, Dvnare: Reference manual, version 4. 2011.

8. Petrov A.A., Pospelov I.G. The model «chronicle» of Russian economic reforms, http://isir.ras.ru/win/db/show_ref.asp?P=.id-23268.ln-ru. (in Russian).

9. Pospelov I.G., Zhukova A.A. Stochastic model of illiquid commodity trading. Proceedings of MIPT. 2012. V. 4, N 2. P. 131-147. (in Russian).

10. Zhukova A.A., Pospelov I.G. Study of stochastic savings model with inertia in consumption. Proceedings of MIPT. 2014. V. 6. N 4. P. 41-48. (in Russian).

11. Zhukova A., Pospelov I.G. Modelling the system of agents in the presence of random moments of transactions. 2020 7th International Conference on Control, Decision and Information Technologies (CoDIT). IEEE, 2020. V. 1. P. 1111-1116.

12. Petrov A.A., Pospelov I.G., Pospeíova L.Ya., Khokhlov M.A. ECOMOD is an intellectual tool for the development and research of dynamic economic models. Materials of the II All-Russian Conference (IMMOD-2005). St. Petersburg. 2005. P. 19-21. (in Russian).

13. Pospelov I.G., Khokhlov M.A. Dimensionality control method for economy dynamics models. Matematicheskoe modelirovanie. 2006. V. 18. N 10. P. 113-122. (in Russian).

14. Khokhlov M.A., Pospelov I.G., Pospeíova L.Y. Technology of development and implementation of realistic (country-specific) models of intertemporal equilibrium. International Journal of Computational Economics and Econometrics. 2014. V. 4. N 1-2. P. 234-253.

15. Radionov S., Pilnik N., Pospelov I. The Relaxation of Complementary Slackness Conditions as a Regularization Method for Optimal Control Problems. Advances in Systems Science and Applications. 2019. V. 19, N 2. P. 44-62.

16. Pilnik N., Ujegov A. The Use of Relaxation of Complementary Slackness Conditions for Jointing in General Equilibrium Models. 2021 14th International Conference Management of large-scale system development (MLSD). IEEE. 2021. P. 1-5.

17. Pospeíova L.Y., Pospelov L., Petrov A.A. A Modeling Support System for Mathematical Models of Economy. Proceedings of Internatiaonal Conference Computing in economy and finance. 1996.

18. Babkin E., Abdulrab H., Kozyrev O. Application of ontologv-based tools for design of multiagent simulation environments in economics. Proceedings of the IASTED Asian Conference on Modelling and Simulation. 2007. P. 55-60.

19. Maliar L., Maliar S., Winant P. Deep learning for solving dynamic economic models. Journal of Monetary Economics. 2021. V. 122. P. 76-101.

20. Maliar L., Maliar S. Deep learning classification: Modeling discrete labor choice. Journal of Economic Dynamics and Control. 2022. V. 135. P. 104295.

21. Klima G., et al, Package 'gEcon'. 2015.

22. Christoffel K.P., Coenen G., Warne A. The new area-wide model of the euro area: a micro-founded open-economy model for forecasting and policy analysis.ECB Working Paper Series. 2008. N 944.

23. Christoffel K.P., Coenen G., Warne A. Forecasting with DSGE models. ECB Working Paper Series. 2010. N 1185.

Поступим в редакцию 19.09.2023

i Надоели баннеры? Вы всегда можете отключить рекламу.