Классическая модель роста популяции рассматривает популяцию как единое целое, характеризуемое ее количеством. В природе численность большинства живых существ способна увеличиваться в геометрической профессии, однако рост популяций сдерживают такие факторы, как борьба за существование, болезни и естественная гибель. Обычно если популяция начинает
развиваться в среде с достаточным количеством пищи, то сначала ее численность растет очень быстро. С течением времени запасы пищи истощаются, перенаселенность приводит к условиям, менее благоприятным для выживания, плодовитость снижается, смертность увеличивается и достигается равновесное состояние: численность популяции становится более или менее постоянной.
Модель роста популяции можно получить, используя следующий подход:
□ удобно рассматривать численность популяции как непрерывную пере
менную, что вполне допустимо, если размер популяции велик;
□ будем рассматривать непрерывное время, а не дискретные поколения.
Эти допущения позволяют нам использовать подход системной динамики.
Допустим, что средняя скорость роста популяции при благоприятных условиях от рождения новых членов составляет birthRate на одного индивидуума, а интенсивность гибели deathRate. Для того чтобы модель была адекватной, рост популяции должен сдерживаться некоторым фактором, который должен увеличиваться с ростом популяции. Простейшее допущение состоит в том, что степень замедления роста популяции в расчете на одного индивидуума пропорциональна размеру популяции. Пусть stabilityFactor — коэффициент замедления роста популяции. Тогда изменение объема популяции будет определяться так: d(population)/dt = birth - death; birth = birthRate *population; death = deathRate*population + stabilityFactor*population/42;
| Запустив модель, вы увидите S-образную кривую динамики популяции (так называемую логистическую кривую Ферхюльста), наклон которой вначале |
Модель simple population, построенная в соответствии с этими уравнениями в AnyLogic, показана на рис. 13.11. Она находится в папке Model Examples\Part IV. На рисунке не показаны источник, из которого поток с интенсивностью burth направляется в накопитель population, и сток из этого накопителя. Они очевидны.

монотонно возрастает, как у экспоненты, а затем постепенно уменьшается до нуля (рис. 13.12). В пределе эта кривая сходится с горизонтальной прямой, показывающей то равновесное значение, к которому стремится размер популяции:
(birthRate-deathRate) / stabilityFactor

В реальности скорость роста популяции определяется скоростями размножения birthRate и гибели deathRate. Их разность может быть положительна, отрицательна или равна нулю, и в зависимости от этого популяция будет расти, уменьшаться или оставаться неизменной. Для построения более адекватной модели можно включить в рассмотрение и другие факторы, например ми фацию.
Логистическая кривая широко используется при описании роста популяций животных и людей. Так, в демографии предпринимались попытки подобрать такие кривые для данных о численности населения различных стран (в частности, США) и использовать продолжение полученной кривой для прогноза.
13.8. Более сложная модель развития популяции: демографическая модель города
Очевидно, что построенная ранее модель развития популяции слишком проста, поэтому ожидать от нее высокой адекватности не приходится. Более точные модели должны учитывать и другие факторы, также существенно влияющей на популяцию, например, миграцию. Фактически, миграция
является ортогональным фактором, влияющим на изменение численности населения наряду с рождаемостью-смертностью.
В данном разделе мы рассмотрим демографическую модель города, в которой присутствуют оба этих фактора. Миграция зависит от положения с жильем в городе, а ситуация в жилищном секторе зависит от динамики населения. Таким образом, существуют взаимные зависимости между этими двумя секторами, что типично для сложных систем. Постановка проблемы и логика модели заимствованы из Powersim Sudio Express 2001. Модель population находится в папке Model Examples\Part IV.

Компонент модели, отражающий динамику роста населения, представлен как активный объект Populationsector (рис. 13.13). Единственный накопитель здесь — это переменная population, динамика которой зависит от двух факторов: интенсивности рождаемости/смертности и интенсивности иммиграции/эмиграции. Влияние фактора рождаемости/смертности в точности то же, что и в предыдущей модели. Второй фактор учитывает не только коэффициент средней иммиграции (imigrationNorma1), но также и ситуацию с жильем в городе. Коэффициент привлекательности города для иммиграции с точки зрения жилья выражается табличной функцией (attractionDueToHousingLookupTable), значение которой, очевидно, уменьшается при увеличении заселенности. Заселенность города (отношение числа семей к числу домов) вычисляется на основе значений переменной houses, которая является входной для данного активного объекта, и среднего количества людей в составе семьи householdsize: householdsToHousesRatio = population / (houses * householdsize)
|
|
|
|
Компонент модели, отражающий динамику жилья (Housingsector), определяет количество домов в городе как разницу двух потоков: потока нового строительства (constructionRate) и потока сноса ветхих домов (demolitionRate). Интенсивность нового строительства учитывает как свободную площадь в городе, так и необходимость строительства новых домов из-за их перенаселенности. Две определенные в данном активном объекте табличные функции задают соответствующие зависимости. Эти зависимости, так же, как и другие параметры-константы, определяются экспериментально на этапе калибровки модели.
Корневой активный объект в данной модели включает сектор населения и жилищный сектор, связанные по переменным: динамика в жилищном секторе зависит от количества, населения, а это количество зависит от жилищных условий. Запустив модель, вы можете наблюдать кривую Ферхюльста для этой более адекватной модели (рис. 13.15). С помощью слайдеров можно исследовать чувствительность модели к изменениям параметров.








