Адаптация модели системной динамики демографической ситуации в AnyLogic на примере г. Ростова-на-Дону Гаврилова З.П., Свечкарев В.П.
Среди наиболее востребованных моделей системной динамики в первую очередь следует отметить модель демографической ситуации. Это определяется кризисными тенденциями в обществе и, соответственно, попытками ученых глубоко исследовать системные процессы с целью поиска выходов в складывающейся ситуации. На настоящий момент накоплен значительный теоретический задел и опыт решения практических задач в данной области [1]. Однако появление новых инструментальных средств позволяет значительно изменить как процессы конструирования модели, так и проведения системного исследования, что, в конечном итоге, позволяет значительно расширить круг исследователей и повысить результативность самих исследований в области системной динамики. В настоящей статье представлен опыт адаптации модели демографической ситуации, разработанной в интегрированной среде «AnyLogic» [2], применительно к г. Ростову на Дону.
Пакет AnyLogic [2] разработан России и к настоящему времени уже нашел в среде исследователей множество сторонников. Отметим, что наряду с парадигмой системной динамики AnyLogic поддерживает и другие парадигмы имитационного моделирования (дискретно-событийную, динамических систем и агентную). Этот инструмент содержит средства для аналитического задания уравнений, описывающих изменение переменных во времени, дает возможность учета модельного времени и содержит средства его продвижения, здесь также имеется язык для выражения логики и описания прогресса систем под влиянием любого типа событий. Одним из преимуществ AnyLogic является возможность наглядного представления поведения модели, в частности, представления изменения во времени всех ее переменных.
Непрерывные процессы задаются в AnyLogic очевидным образом: определением вещественных переменных формулами и уравнениями (алгеб-
раическими и дифференциальными) в их привычной аналитической записи (в нотации AnyLogic). Переменные в модели определяют состояние динамического объекта, они изменяются с течением времени по законам, определяемым уравнениями и формулами. Значения переменных можно изменять и контролировать. У каждого экземпляра активного объекта существует свой набор переменных и свой набор параметров, поэтому поведения различных экземпляров одного и того же активного объекта могут быть различны.
Итак, промоделируем складывающуюся демографическую ситуацию в г. Ростове на Дону. Следуя за разработчиками модели [2], в качестве базовых примем когнитивные отношения сектора населения и жилищного сектора (условие: Начальное население<Начального количества жилища* Размер семьи или Площадь> Начального количества жилища*Постройку), далее зададим время (таймер) и выберем вид диаграммы и графика. На рис.1 представлены визуальные иллюстрации выполненных процедур в AnyLogic.
: : :: : /.....................................................ч :: :::
рорЫайопБесЬэг МоиБтдБес^ог
с> > Е> >
сИагШте
1 щщщшшшшш
Рис. 1. Иллюстрация когнитивной карты модели
На следующем рисунке (рис. 2) изображена модель системной динамики жилищного сектора.
0* йтег ЬагСЬаЛ
householdsToHousesRatio Dj
cc
J
housesExport
Рис. 2. Модель системной динамики жилищного сектора Система уравнений, описывающих отношения модели в нотации Any-Logic, может быть представлена следующим образом:
• housesExport = houses
• fractionOfOccupiedLand = (houses * landPerHouse) / area
• constructionDueToLandAvailability = constructionDueToLandAvailabilityLookupTable(fractionOfOccupiedLand)
• constructionDueToHousingAvailability = constructionDueToHousingAvailabilityLookupTable( householdsToHousesRatio)
• constructionRate = constructionMultiplier * constructionNormal * houses
• d(houses)/dt = constructionRate - demolitionRate
• demolitionRate = houses * demolitionNormal
• constructionMultiplier = constructionDueToHousingAvailability * constructionDueToLandAvailability
Как уже отмечено выше, примем, что ключевой узел (мотивация) в модели состоит в поиске земли годной для строительства (constructionDueToLandAvailabilityLookup) и описывается в нотации Any-Logic следующим уравнением:
fractionOfOccupiedLand = (houses * landPerHouse) / area.
На рис.3 представлено окно настройки в AnyLogic указанного ключевого узла, например, в табличном виде.
¡Табличная функция *1
Данные: График:
Аргумент Функция
0.0 1
0.1 0.92
0.2 0.83
0.3 0.75
0.4 0.86
0.5 0.57
0.6 0.47
0.7 0.35
0.8 0.24
0.9 0.11
1.0 0
н
0.9 -0.8 -0.7 -0.6 -0.5 -0.4-
і 1",
-і 1-
0,2- 0.1-
N
.
-0 2 -0,1 0.05 0,15 0.25 0.35 0.45 0.55 0.65 0.75 0,85 0.951 1.05 1.15
Добавить
Удалить
И н терполя ци я ,1 а ппр оксима ц ия
С Ступенчатая интерполяция
Линейная интерполяция
(* Сплайн-интерполяция
С Аппроксимация Порядок:
Дискретные значения
Выдавать ошибку г* Использовать ближайший корректньй С Экстраполировать С Экстраполировать повторением С Возвращать значение [
Отсортировать
ОК
Отменить
Рис. 3. Окно настройки ключевого узла в виде табличной функции Соответственно, для сектора населения модель системной динамики представлена на рис.4, а окно настройки ее ключевого узла на рис.5.
Рис.4. Модель системной динамики сектора населения Система уравнений, описывающих модель сектора населения в нотации AnyLogic, может быть представлена следующим образом:
• householdsToHousesRatio = population / (houses * householdSize)
• attractionDueToHousing = attractionDueToHousingLookupTable( householdsToHousesRatio )
• populationGrowth = (births - deaths + imigration - emigration) / population
• imigration = population * imigrationNormal * attractionDueToHousing
• deaths = population / averageLifetime
• births = fertility * population
• d(population)/dt = births + imigration - deaths - emigration
• emigration = population * emigrationNormal
Принимаем, что ключевой узел (мотивация) в модели состоит в поиске привлекательного жилья (attractionDueToHousingLookup) и описывается в нотации AnyLogic следующим уравнением:
householdsToHousesRatio = population / (houses * householdSize).
I Табличная функция 2^
Данные: График:
Аргумент Функция
0.0 1.4
0.2 1.4
0.4 1.35
0.G 1.3
0.3 1.15
1.0 1
1.2 0.8
1.4 0.3
1.Є 0.5
1.8 0.Є
2.0 0.S
1.4'
1.2
1
0.8
0.6
0.4'
0.2
X V
N
\ / "
V /
-0.35 -0.15 0.05 0.25 0.45 0.65 0.85 1.05 1.25 1.45 1.65 1.85 2.05 2.25
Добавить
- Интерполяция/аппроксимация —
С Ступенчатая интерполяция (" Линейная интерполяция Сплайн-интерполяция Аппроксимация Порядок: (Т С Дискретные значения
Удалить
рЕсли аргумент выходит за пределы С Выдавать ошибку (* Использовать ближайший корректный С Экстраполировать
Экстраполировать повторением С Возвращать значение |"~
Отсортировать
ОК
Отменить
Рис. 5. Окно настройки ключевого узла в виде табличной функции Для задания начальных условий воспользуемся статистическими данными из [3]. На рис.6 отображено окно задания начальных условий с данными, используемыми в дальнейшем эксперименте.
_
Параметры
Имя Значение
агеа 34Э000
1апс1РегНои5е 0.1
сог^шсйопМогппа! 0.07
с1епп01№опМогппа1 0.01
¡пгндгайопМогта! 0.1
ептидгаНопИогта! о.оэ
fertiliti) 0.01
ауегадеУейте 68
3
Иои5е51гнЙа1 130000
рори1а(юп1пШа1 1168300
Рис. 6. Окно задания начальных условий моделирования Одним из последних шагов при конструировании модели системной динамики в AnyLogic является задание дизайна и комментариев к модели. Принципиальная возможность наглядного представления изменения во времени всех переменных модели может дополняться и соответствующими элементами дизайна, усиливающими семантику восприятия результатов исследования. Текущая визуализация должна позволять наглядно продемонстрировать сложившуюся ситуацию, предоставлять возможность пошагового отслеживания изменения ситуации и, наконец, возможность в любой момент изменить в процессе моделирования начальные параметры.
На рис.7 изображено окно результатов эксперимента (использован дизайн исходной модели [2]), в котором совмещены атрибуты задания исходных данных и график и гистограммы результатов моделирования.
Рис. 7. Окно эксперимента демографической ситуации в г. Ростове на Дону на основе модели системной динамики
С помощью данной модели можно наглядно представить взаимосвязь статистических данных (исходных условий) и тренд развития демографической ситуации. Она обозначает не только структуру элементов, формирующих демографическую ситуацию, но и с ее помощью можно определить основные направления моделирования и анализа.
Визуализация изменения значений переменных, зависящих от времени, а также фазовые диаграммы могут быть настроены введением нового графика и включением в него интересующих исследователя переменных простым перетаскиванием их из дерева переменных и параметров проекта, при этом, масштабирование на графиках выполняется автоматически [2]. Изменение переменных будет отображаться в изменении координат положения и размеров соответствующих графических элементов, их ориентации, цвета, видимости и других характеристиках.
Проведя серию экспериментов с моделью, мы получили необходимые данные, что позволит проанализировать основные результаты моделирования
и предложить эффективные решения по управлению демографической ситуацией в Ростове на Дону. Представленный опыт адаптации и конструирования модели демографической ситуации в рамках новых инструментальных средств, в частности, пакета AnyLogic, демонстрирует качественно иной характер процессов системного исследования, что позволяет прогнозировать значительное расширение круга исследователей и повышение результативности самих исследований в области системной динамики.
Литература:
1. Павловский, Ю.Н. Имитационное моделирование: учеб. пособие для студ. высш. учеб. заведений [Текст] / Ю.Н.Павловский, Н.В.Белотелов, Ю.Н.Бродский. - М.: Издательский центр «Академия», 2008. - 236 с.
2. Карпов, Ю.Г. Имитационное моделирование систем. Ведение в моделирование с AnyLogic 5 [Текст] / Ю.Г. Карпов. - СПб.: БХВ-Петербург, 2006. - 400 с.
3. Сущий С.Я. Демография расселения народов Северного Кавказа: реалии и перспективы (модернизационно-трансформационные процессы). Издательство: Ростов-на-Дону ЮНЦ РАН 2009г. - 222с.