Лабораторная работа №1

Математические модели динамики численности популяции одного вида

Мат. моделирование динамических процессов 1
БГУ, ММФ, 3 курс, 6 семестр
специальность Компьютерная математика и системный анализ
февраль 2025
доц. Лаврова О.А., доц. Щеглова Н.Л.

Задание 1. Модель Мальтуса

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

Содержательная постановка задачи

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

Концептуальная постановка задачи

Численность популяции рассматривается как непрерывная функция времени N=N(t). В силу того, что популяция достаточно велика, игнорируем случайные различия между отдельными особями. Полагаем, что каждая особь в популяции имеет равные шансы родить и умереть в течение определенного промежутка времени. Полагаем, что рождаемость и смертность непрерывны во времени и заданы коэффициентами рождаемости α(t)≥0 и смертности β(t)≥0 на одну особь в единицу времени.

В основу модели Мальтуса положено утверждение, что скорость изменения численности популяции N'(t) пропорциональна ее численности N(t) в момент времени t, с коэффициентом пропорциональности, равным разности коэффициентов рождаемости и смертности

N'(t)==(α(t)-β(t))N(t).

Замечание

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

Математическая модель

Моделью Мальтуса называется задача Коши для уравнения (1) при заданном начальном условии в момент времени t=(Subscript[t, 0])

N'(t)==(α(t)-β(t)) N(t),
N((Subscript[t, 0]))=(Subscript[N, 0]).

Замечание

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

Задание 1.1 (аналитическое решение)

Постройте аналитическое решение модели Мальтуса (2), например, методом разделения переменных для заданной численности населения (Subscript[N, 0]) в начальный момент времени (Subscript[t, 0]).  Сравните построенное решение  и решение, полученное с помощью функции DSolve (DSolveValue)

Напишите пользовательскую функцию для задания аналитического решения модели Мальтуса, где α(t), β(t), (Subscript[N, 0])≥0 и (Subscript[t, 0])≥ 0 являются аргументами функции. Используйте решение, полученное Вами аналитически.

Задание 1.2 (график аналитического решения)

Изобразите в одной системе координат графики функции N(t) для фиксированных значений (Subscript[t, 0]) и (Subscript[N, 0])>0 и различных значений α(t)=(Subscript[α, 0])=const и β(t)=(Subscript[β, 0])=const. Рассмотрите случаи (Subscript[α, 0])<(Subscript[β, 0]), (Subscript[α, 0])=(Subscript[β, 0]), (Subscript[α, 0])>(Subscript[β, 0]). Используйте пользовательскую функцию из Задания 1.1 для задания функции N(t).

Задание 1.3 (качественный анализ модели по решению)

На основании построенных графиков в Задании 1.2 сформулируйте выводы о качественном поведении решения модели Мальтуса при t->∞ для случаев (Subscript[α, 0])<(Subscript[β, 0]), (Subscript[α, 0])=(Subscript[β, 0]), (Subscript[α, 0])>(Subscript[β, 0]): например, монотонное возрастание/убывание, экспоненциальное возрастание/убывание, колебания, экспоненциальный рост, гиперболический рост и т.д. 
На основании построенных графиков в Задании 1.2 проанализируйте, является ли положение равновесия N(t)≡(Subscript[N, 0])>0, соответствующее решению модели при совпадении коэффициентов рождаемости и смертности (Subscript[α, 0])=(Subscript[β, 0]), устойчивым относительно изменения значений параметров (Subscript[α, 0]),(Subscript[β, 0])? Результаты анализа запишите в текстовой ячейке.

Задание 1.4 (качественный анализ модели по фазовому портрету)

Фазовое пространство для рассматриваемой динамической системы первого порядка является одномерным и представляет собой прямую линию ON, которая ограничена значениями N≥0 в силу того, что N(t) является численностью населения. 

Изобразите фазовые траектории, например, с помощью функции StreamPlot решений динамической системы для случая постоянных коэффициентов α(t)=(Subscript[α, 0])=const и β(t)=(Subscript[β, 0])=const при (Subscript[α, 0])<(Subscript[β, 0]), (Subscript[α, 0])=(Subscript[β, 0]), (Subscript[α, 0])>(Subscript[β, 0]) . 
Пользуясь определением устойчивости в фазовом пространстве проанализируйте, являются ли положения равновесия динамической системы устойчивыми при условии, что N(t)≥0. Результаты анализа запишите в текстовой ячейке.

Задание 2. Логистическая модель или модель Ферхюльста

Содержательная постановка задачи

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

Концептуальная постановка задачи и математическая модель

Логистическая модель или модель Ферхюльста (1838, 1845) принимает во внимание ограниченность доступных популяции ресурсов. В частности, считается, что существует равновесная численность популяции (Subscript[N, p])=const>0, которую может обеспечить окружающая среда, т.е. N(t)->(Subscript[N, p]) при t->∞. Это свойство называется эффектом насыщения численности населения.
 
При моделировании полагается также, что скорость изменения численности популяции пропорциональна самой численности с коэффициентом пропрциональности k=const>0, дополнительно умноженной на величину отклонения численности от равновесного значения (Subscript[N, p])

N'(t)==N(t) k(1-((N(t))/(Subscript[N, p]))),             k=const>0.

Логистической моделью называется задача Коши для уравнения (3) при заданном начальном условии в момент времени t=(Subscript[t, 0])

N'(t)==N(t)k(1-((N(t))/(Subscript[N, p]))),
N((Subscript[t, 0]))=(Subscript[N, 0]).

Замечания

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

Существенным недостатком логистической модели является тот факт, что равновесная численность популяции (Subscript[N, p]) вводится в качестве известного параметра, в то время как нахождение этой величины нередко является основной задачей исследования.

Современные прогнозы показывают, что численность человечества в обозримом будущем стабилизируется на уровне (Subscript[N, p])=12*(10^9) человек. Такой же прогноз дается ООН.

Задание 2.1 (аналитическое решение)

Постройте аналитическое решение логистической модели (4), например, методом разделения переменных для заданной численности населения (Subscript[N, 0]) в начальный момент времени (Subscript[t, 0]). Сравните построенное аналитическое решение  и решение, полученное с помощью функции DSolve (DSolveValue). 
Напишите пользовательскую функцию для задания аналитического решения логистической модели, где k>0, (Subscript[N, p])>0, (Subscript[N, 0])≥0 и (Subscript[t, 0])≥ 0  являются аргументами функции. Используйте решение, полученное Вами аналитически.

Задание 2.2 (график аналитического решения)

Изобразите в одной системе координат графики функции N(t) для фиксированных значений k, (Subscript[N, p]) и (Subscript[t, 0]) и различных значений (Subscript[N, 0]). Рассмотрите случаи, когда  (Subscript[N, 0])<(Subscript[N, p]), (Subscript[N, 0])=(Subscript[N, p]), (Subscript[N, 0])>(Subscript[N, p]). При выполнении задания используйте пользовательскую функцию из Задания 2.1 для описания аналитического решения логистической модели.

Задание 2.3 (качественный анализ модели по решению)

На основании построенных графиков в Задании 2.2 сформулируйте выводы о качественном поведении решения логистической модели при t->∞ для случаев (Subscript[N, 0])<(Subscript[N, p]), (Subscript[N, 0])=(Subscript[N, p]), (Subscript[N, 0])>(Subscript[N, p]) при k>0. 
На основании построенных графиков в Задании 2.2 проанализируйте, является ли положение равновесия N(t)≡(Subscript[N, p]), соответствующее решению модели при (Subscript[N, 0])=(Subscript[N, p]), устойчивым по начальным данным? Результаты анализа запишите в текстовой ячейке.

Задание 2.4 (качественный анализ модели по фазовому портрету)

Фазовое пространство для рассматриваемой динамической системы первого порядка является одномерным и представляет собой прямую линию ON, которая ограничена значениями N≥0 в силу того, что N(t) является численностью населения. 

Изобразите фазовые траектории решений динамической системы, например, с помощью функции StreamPlot. 
Пользуясь определением устойчивости в фазовом пространстве проанализируйте, являются ли положения равновесия динамической системы устойчивыми при условии, что k>0, N(t)≥0. Результаты анализа запишите в текстовой ячейке.

Задание 2.5 (рост бактерий)

Предположим, что рост бактерий описывается логистической моделью. Известно, что в начальный момент времени t=0 численность бактерий равна N=(Subscript[N, p])/4, в момент времени t=1 численность N=(Subscript[N, p])/2. Найдите, в какой момент времени N=3(Subscript[N, p])/4?

Задание 3. Нелинейный аналог модели Мальтуса

Содержательная постановка задачи

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

Математическая модель

Полагаем, что коэффициент рождаемости пропорционален численности населения α(N)=(Subscript[α, 0])N, так как особи популяции заинтересованы в ее росте, где (Subscript[α, 0])=const>0. Коэффициент смертности полагаем постоянным β(t)=(Subscript[β, 0])=const>0. Тогда уравнение Мальтуса (1) преобразуется к виду

N'(t)==N(t) ((Subscript[α, 0]) N(t)-(Subscript[β, 0]))

с квадратичной нелинейностью в правой части.

Математической моделью называется задача Коши для уравнения (5) при заданном начальном условии в момент времени t=(Subscript[t, 0])

N'(t)==N(t)((Subscript[α, 0]) N(t)-(Subscript[β, 0])),
N((Subscript[t, 0]))=(Subscript[N, 0]).

Задание 3.1 (аналитическое решение)

Постройте аналитическое решение нелинейной модели (6) для заданной численности населения (Subscript[N, 0]) в начальный момент времени (Subscript[t, 0]). При построении аналитического решения необходимо отдельно рассматривать случаи, когда (Subscript[N, 0])<(Subscript[N, кр]), (Subscript[N, 0])=(Subscript[N, кр]), (Subscript[N, 0])>(Subscript[N, кр]), где (Subscript[N, кр])=((Subscript[β, 0])/(Subscript[α, 0])). При (Subscript[N, 0])>(Subscript[N, кр]) решение строится только на отрезке [(Subscript[t, 0]),(SuperStar[t])], где (SuperStar[t]) необходимо найти из условия (lim_(t->(SuperStar[t]))) N[t]=+∞. 
Сформулируйте частный случай аналитического решения нелинейной модели (6) при условии, что (Subscript[β, 0])=0 ((Subscript[N, кр])=0).
Сравните построенное аналитическое решение  нелинейной модели (6) и решение, полученное с помощью функции DSolve (DSolveValue). 
Напишите пользовательскую функцию для задания аналитического решения нелинейной модели Мальтуса, где (Subscript[N, кр])>0, (Subscript[β, 0])>0, (Subscript[N, 0])≥0 и (Subscript[t, 0])≥ 0 являются аргументами функции. Используйте решение, полученное Вами аналитически.

Задание 3.2 (график аналитического решения)

Изобразите в одной системе координат графики функции N(t) для фиксированных значений (Subscript[α, 0]) и (Subscript[β, 0]) и различных значений (Subscript[N, 0]). Рассмотрите случаи (Subscript[N, 0])<(Subscript[N, кр]), (Subscript[N, 0])=(Subscript[N, кр]), (Subscript[N, 0])>(Subscript[N, кр]), где (Subscript[N, кр])=((Subscript[β, 0])/(Subscript[α, 0])). При выполнении задания используйте пользовательскую функцию из Задания 3.1 для описания аналитического решения нелинейной модели Мальтуса.

Задание 3.3 (качественный анализ модели по решению)

На основании построенных графиков в Задании 3.2 сформулируйте выводы о качественном поведении решения нелинейной модели при t->∞ для случаев (Subscript[N, 0])<(Subscript[N, кр]), (Subscript[N, 0])=(Subscript[N, кр]), (Subscript[N, 0])>(Subscript[N, кр]), (Subscript[N, кр])=((Subscript[β, 0])/(Subscript[α, 0])). 
На основании построенных графиков в Задании 3.2 проанализируйте, является ли положение равновесия N(t)≡(Subscript[N, кр]), соответствующее решению модели при (Subscript[N, 0])=(Subscript[N, кр]), устойчивым по начальным данным? Результаты анализа запишите в текстовой ячейке.

Задание 3.4 (качественный анализ модели по фазовому портрету)

Фазовое пространство для рассматриваемой динамической системы первого порядка является одномерным и представляет собой прямую линию ON, которая ограничена значениями N≥0 в силу того, что N(t) является численностью населения. 

Изобразите фазовые траектории решений динамической системы, например, с помощью функции StreamPlot. 
Пользуясь определением устойчивости в фазовом пространстве проанализируйте, являются ли положения равновесия динамической системы устойчивыми при условии N(t)≥0, (Subscript[α, 0])>0, (Subscript[β, 0])>0. Результаты анализа запишите в текстовой ячейке.

Задание 4. Предсказание численности населения Беларуси через 100 лет по  заданным параметрам модели

На основе модели Мальтуса с постоянными коэффициентами из Задания 1 и на основе нелинейной модели из Задания 3 сделайте предсказания о численности населения Беларуси через 100 лет. Значения параметров модели (Subscript[α, 0]),(Subscript[β, 0]),(Subscript[N, 0]),(Subscript[t, 0]) определите, используя информацию из базы знаний Wolfram Alpha. Обратите внимание,  что коэффициент рождаемости (Subscript[α, 0]), полученный из базы знаний Wolfram Alpha, должен быть изменен для использования в нелинейной модели Мальтуса: (Subscript[α, 0, nonlinear])=(Subscript[α, 0])/(Subscript[N, 0]).
Сравните данные о численности населения Беларуси из базы знаний Wolfram Alpha с решением модели Мальтуса  и с решением нелинейной модели Мальтуса.

Задание 5. Предсказание численности населения стран по историческим данным

По историческим данным о численности населения для заданной страны в период с 1950 года до 2010 года сделайте предсказания о значениях неизвестных параметров для
- модели Мальтуса с постоянными коэффициентами (см. Задание 1), 
- логистической модели (см. Задание 2) и 
- нелинейного аналога модели Мальтуса (см. Задание 3), 
полагая, что (Subscript[t, 0])=1950 и (Subscript[N, 0]) являются заданными. Для этого необходимо аппроксимировать исторические данные функциями аналитических решений для указанных моделей с помощью функции FindFit. 
Постройте графики относительной ошибки для найденных модельных решений в сравнении с реальными данными о численности населения.

Страны по вариантам:

Россия

Китай

Япония

Швеция

Франция

Греция

Марокко

Великобритания

Германия

Турция

Нидерланды

Бельгия

Катар

Египет

Задание 6. Предельный рост численности населения Земли

По данным о численности населения Земли, доступным из базы знаний Wolfram Alpha, сделайте предсказание о значении неизвестного параметра (Subscript[α, 0])>0 для нелинейного аналога модели Мальтуса (см. Задание 3), полагая, что (Subscript[β, 0])=0, (Subscript[t, 0]) и (Subscript[N, 0]) являются заданными. Для нахождения неизвестного параметра модели (Subscript[α, 0]) необходимо аппроксимировать реальные данные функцией аналитического решения с помощью функции FindFit, см. Задание 5. При вызове функции FindFit укажите, что поиск значения (Subscript[α, 0]) осуществляется в окрестности (10^(-11)). Перед применение функции FindFit необходимо построить аналитическое решение для нелинейного аналога модели Мальтуса при (Subscript[β, 0])=0.

В рамках нелинейного аналога модели Мальтуса для найденного значения параметра (Subscript[α, 0]) сделайте предсказание о моменте времени  (SuperStar[t]), при котором численность населения Земли примет бесконечное значение, т.е. (lim_(t->(SuperStar[t]))) N[t]=+∞, см. формулу из Задания 3.1.

Изобразите данные о численности населения Земли из базы знаний Wolfram Alpha, а также модельное решение на временном отрезке  [(Subscript[t, 0]),(SuperStar[t])].

Постройте график относительной ошибки для найденного модельного решения в сравнении с реальными данными о численности населения Земли, см. Задание 5.

Задание 7* (необязательное). Математическая модель радиоактивного распада

Сформулируйте математическую модель радиоактивного распада вещества по аналогии с моделью Мальтуса из Задания 1. Для этого сделайте предположение, что скорость распада радиоактивного вещества пропорционален количеству этого вещества x=x(t), где коэффициент пропорциональности является постоянным k=const<0. Математическая модель формулируется в виде задачи Коши с начальным условием x(t)=(Subscript[x, 0]). Для более подробной информации смотрите [5, c. 18]. 

Используя вид аналитического решения математической модели, найдите зависимость между коэффициентом пропорциональности k и временем T полураспада радиоактивного вещества, когда x(T)=(Subscript[x, 0])/2? 

Решите задачу 2.7 (определение времени почти полного распада вещества) и задачу 2.8 (определение возраста горной породы) из [5, с.18].

Задание 8* (необязательное). Математическая модель распространения нового продукта на рынке

Данное задание является примером построения и анализа математической модели в экономике.

Сформулируйте математическую модель распространения нового продукта или услуги на рынке (модель Басса). В качестве неизвестной величины рассматривается количество пользователей N(t) некоторого продукта или услуги на рынке. Используя принцип аналогии полагается, что за счет рекламы скорость изменения пользователей N'(t) пропорциональна числу потенциальных клиентов (Subscript[N, 0])-N(t), где (Subscript[N, 0]) -- общее количество людей на рынке. Дополнительно в модели учитывается эффект косвенной рекламы за счет общения пользователей продукта с потенциальными клиентами. Для более подробной информации смотрите [1, c. 150]. 

Найдите момент времени, начиная с которого продолжать рекламу становится невыгодным. Для более подробной информации смотрите [1, c. 150].