Имитационная модель российского общества: хранение данных модели, обработка и представление результатов

 
Код статьиS265838870015583-4-1
DOI10.33276/S265838870015583-4
Тип публикации Статья
Статус публикации Опубликовано
Авторы
Должность: Заведующий лабораторией локальных сетей
Аффилиация: Центральный экономико-математический институт РАН
Адрес: 117418, г. Москва, Нахимовский проспект, д. 47
Должность: Заместитель директора по научной работе
Аффилиация: Центральный экономико-математический институт РАН
Адрес: 117418, г. Москва, Нахимовский проспект, д. 47
Должность: младший научный сотрудник лаборатории компьютерного моделирования социально-экономических процессов
Аффилиация: Центральный экономико-математический институт РАН
Адрес: 117418, г. Москва, Нахимовский проспект, д. 47
Название журналаВестник ЦЭМИ
Выпуск
Аннотация

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

Ключевые словаагент-ориентированная модель, методы хранения и обработки данных, методы визуализации
Источник финансированияИсследование выполнено при финансовой поддержке Российского фонда фундаментальных исследований (грант № 20-010-00339)
Получено23.06.2021
Дата публикации01.07.2021
Кол-во символов13407
Цитировать   Скачать pdf Для скачивания PDF необходимо авторизоваться
1

Введение

2 При создании агент-ориентированных моделей (АОМ) с большим количеством агентов важным этапом является определение структуры данных модели, в частности, свойств или атрибутов объектов – агентов, действующих в рамках модели. Создаваемая АОМ российского общества [1-2] характеризуется, в том числе, очень большим количеством агентов – людей. В предельном случае – порядка 145 млн, точное количество зависит от выбранного периода моделирования. В этой ситуации даже небольшое изменение в структуре свойств агента влияет на требуемые ресурсы в процессе вычислений – в первую очередь используемую оперативную память и загрузку процессоров.
3 Также очевидно, что процесс создания, внесения изменений, отладки модели – итерационный, требующий большого количество запусков и анализа полученных результатов. Учитывая это, а также доступные вычислительные ресурсы, было принято решение ввести в модель дополнительный параметр – масштаб модели. Это позволяет значительно уменьшить вычислительную сложность модели. В результате в пределах одной (каждой) итерации по внесению изменений в модель выполнялись два этапа:
  1. внесение изменений и тестирование на относительно небольших масштабах (1/200, 1/150, 1/100). На этом этапе выявлялись и исправлялись основные ошибки, возможно, принималось решение, и корректировались вносимые изменения. С технической точки зрения, запуски преимущественно выполнялись в среде разработки Visual Studio, сборка выполнялась в конфигурации Debug.
  2. запуски в масштабах 1/30, 1/15, 1/10 и анализ полученных результатов на устойчивость и адекватность. В этом случае сборка выполнялась в конфигурации Release, запуски – на многопроцессорном сервере.
По мере развития и усложнения модели, добавления значений свойств объектов, объемы анализируемых результатов значительно возрастают. И это требует соответствующих подходов к обработке и визуализации результатов.
4

Структура данных модели

5

Основная часть АОМ реализована на C# [3] и представлена следующими основными содержательными классами [4]:

   I. Класс Person – агент-человек (рис. 1).

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

6
image1

Рис. 1. Описание класса Person.

7

   II. Класс Family – семья (рис. 2).

При формировании каждой модельной семьи создается экземпляр класса Family, который включает в себя идентификаторы двух родителей p1ID и p2ID, и список идентификаторов детей List children (если в семье есть дети). Идентификатор семьи FamilyID записывается в соответствующее поле каждого члена этой семьи. Также в данном классе при расчете или последующем изменении доходов родителей обновляется соответствующе поле familyIncome.

всего просмотров: 258

Оценка читателей: голосов 0

1. Хачатрян, Н. К. Имитационная модель российского общества. Создание и анализ виртуальной популяции / Н. К. Хачатрян, А. А. Акиншин, О. И. Кузнецова // Искусственные общества. – 2020. – T. 15, Выпуск 4. – URL : https://arxiv.gaugn.ru/s207751800012620-1-1/ (Дата публикации: 06 декабря 2020 г.).

2. Хачатрян, Н. К. Компьютерное моделирование вариантов пространственного развития научно-технологической сферы в Российской Федерации / Н. К. Хачатрян, О. И. Кузнецова // Экономика и математические методы. – 2020. – Т. 56, №3. – С. 45-55.

3. Working with C# // Visual Studio Code. – Microsoft, 2021. – URL: https://code.visualstudio.com/docs/languages/csharp (дата обращения: 10.04.2021).

4. Объектно-ориентированное программирование // Microsoft, 2021. – URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/fundamentals/object-oriented (дата обращения: 10.04.2021).

5. Use PivotTables and other business intelligence tools to analyze your datahttps // Microsoft, 2021. – URL: https://support.microsoft.com/en-us/office/use-pivottables-and-other-business-intelligence-tools-to-analyze-your-data-da1b3e85-d3c0-4f15-8cd9-bef446762ec3?ui=en-US&rs=en-US&ad=US (дата обращения: 10.04.2021).

6. Использование операторов PIVOT и UNPIVOT - SQL Server // Microsoft, 2021. – URL: https://docs.microsoft.com/ru-ru/sql/t-sql/queries/from-using-pivot-and-unpivot?view=sql-server-ver15 (дата обращения: 10.04.2021).

7. GROUP BY CUBE (Transact-SQL) - SQL Server // Microsoft, 2021. – URL: https://docs.microsoft.com/ru-ru/sql/t-sql/queries/from-using-pivot-and-unpivot?view=sql-server-ver15 (дата обращения: 10.04.2021).

Система Orphus

Загрузка...
Вверх