Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Модель развития популяции с учетом возрастных групп




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

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


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

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

модель ДИНаМИКИ ПОПУЛЯЦИИ (Population With Arrays), Которая учитывает

и возрастные группы, и миграцию (рис. 13.20). За единицу модельного вре­мени здесь принят год. Все население разделено в модели на четыре возраст­ные группы: до 12 лет молодежь (youth), следующие 25 лет взрослые (Adult), следующие 20 лет — это люди среднего возраста (MiddleAge) и, на­конец, пожилые (old). Кроме того, будем считать, что население проживает в двух областях: Юг (south) и Север (North).

Для представления популяции в нашей усложненной модели будем исполь­зовать двумерный гипермассив рис. 13.20. Каждая размерность гипермассива должна быть задана с помощью перечисления. Одна размерность будет на­зываться Age, другая — Region (рис. 13.21).

Четыре элемента размерности Age именуются Youth, Adult, MiddieAge И old, два элемента размерности Region именуются south и North.

Основным количеством, которое интересует нас при разработке модели, яв­ляется численность населения, структурированная с помощью представле­ния его в виде гипермассива. В окне свойств этой переменной она описана как массив с двумя размерностями: Age и Region. Начальное значение этого гипермассива задается непосредственно:

{ {1000, 800}, {950, 750}, {900, 700}, {400, 1000} }


Такое задание определяет, например, что начальное значение population

ДЛЯ Age=Youth равно паре {1000, 800}.

Динамика населения, представленного в виде гипермассива, определена в модели как интеграл:

d(population)/dt=shiftedAging()+mask *births.sum(Age) - deaths -stabilityFactor* population^2

Рассмотрим члены в правой части этого соотношения по очереди. Фактор стабильности — stabilityFactor — это коэффициент замедления роста по­пуляции, рассмотренный ранее. Он является скаляром, который действует на все группы популяции. В соответствии с выражением:

stabilityFactor*populationA2

указанном в окне свойств переменной population, будет построен двумер­ный гипермассив, элементы которого получаются покомпонентным выпол­нением операций возведения в квадрат, а затем каждый компонент будет умножен на вещественную величину stabilityFactor, что соответствует семантике действия этого фактора.

Переменная deaths определена как гипермассив той же структуры, что и population формулой deathRate*population. Интенсивность смертности в этой модели зависит от возраста, но не зависит от района проживания. Поэтому переменная deathRate определена как одномерный массив с ин­дексом Age. Произведение гипермассивов с разными размерностями опреде­ляется так:

death[Youth, North] =deathRate [Youth] *population [Youth, North]; death[Youth, South]=deathRate[Youth]*population[Youth, South]; death[Adult, North] =deathRate [Adult] *population [Adult, North],-

и т. д.


Такая семантика операции полностью соответствует тому, что интенсив­ность смертности по четырем возрастным группам населения различна и не зависит от региона.

Рассмотрим теперь переменную aging. Это гипермассив той же структуры. Он показывает, сколько людей в единицу модельного времени (в год) в ка­ждой возрастной группе и в каждом регионе переходит в следующую воз­растную группу. Очевидно, что это количество получается покомпонентным делением численности населения в каждой группе на интервал (в годах) возраста каждой группы. Формула

aging = population / ageGroupDuration

соответствует этому определению. Данная переменная используется в алго­ритмической функции shiftAging, возвращающей гипермассив, в котором для каждой возрастной группы подсчитывается разница между числом лю­дей, вошедших в нее за единицу времени и числом людей, вышедших из нее по возрасту. Здесь используются методы: next () для переменной типа пере­числение (чтобы последовательно переходить от индекса к индексу), get и set для получения элемента гипермассива и записи элемента в гипермассив.

Наконец, последнее слагаемое mask*births.sum(Age) учитывает интенсив­ность рождений в выражении для подсчета изменения величины population во времени. Гипермассив birth определяет для каждой возрастной группы и каждого из районов число новорожденных birth=population*birthRate, где birthRate — одномерный гипермассив, определяющий интенсивность новорожденных в год для каждой возрастной группы населения. Метод sum гипермассива birth подсчитает сумму новорожденных для всех возрастных групп для каждого региона. Наконец, произведение гипермассива mask, ин­дексируемого перечислением Age, и гипермассива births, sum (Age), индек­сируемого перечислением Region, дает гипермассив, индексируемый обои­ми этими перечислениями, с числом новорожденных по районам в первой возрастной группе.

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

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


Заключение

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

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

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



Глава 14






Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 419 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинайте делать все, что вы можете сделать – и даже то, о чем можете хотя бы мечтать. В смелости гений, сила и магия. © Иоганн Вольфганг Гете
==> читать все изречения...

2328 - | 2120 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.