Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gorod.doc
Скачиваний:
9
Добавлен:
13.05.2015
Размер:
526.85 Кб
Скачать

Практикум SD

Демографическая модель города.

Постановка проблемы приведена в Powersim Studio Express. Скорость роста популяции в первом приближении определяется скоростью рождения и гибели. Более точные модели учитывают и другие факторы, существенно влияющие на популяцию. Например, процессы иммиграции и эмиграции. Миграция зависит от положения с жильем в городе, а положение с жильем зависит от динамики населения. Динамику населения будем представлять активным объектом Population, а динамику жилья активным объектом House. Корневой объект назовем Model. Таким образом, модель будет представлена в виде трех активных компонентов Model, House и Population.

Активный объект Population

Будем полагать, что компонент модели представляющий динамику населения зависит от двух факторов: динамики рождаемости/смертности (R/D) и динамики иммиграции/эмиграции (Im/Em). Второй фактор учитывает не только коэффициенты средней иммиграции (im) и эмиграции (em), но и ситуацию с жильем в городе. Коэффициент привлекательности города с точки зрения жилья будем задавать с помощью табличной функции tfattr (аттрактор), значение которой уменьшается при увеличении заселенности. Заселенность города вычисляется на основе значений переменной Н (количество домов – квартир), которая является входной для активного объекта Population.

Определим следующие обозначения объектов класса Population.

Накопитель:

N – количество населения (популяция)

Потоки:

R – поток рождаемости

D – поток смертности

Im – поток иммиграции

Em – поток эмиграции

Вспомогательные переменные:

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

RN – темп изменения численности населения

H – число квартир (домов) входная переменная

Z – заселенность города (выходная переменная)

Параметры активного объекта:

im – среднее значение потока иммиграции

em – среднее значение потока эмиграции

r – интенсивность рождаемости

st – среднее время жизни человека в городе

f – средний размер семьи (средняя численность семьи)

pi – начальное значение популяции

Табличная функция:

tfattr – табличная функция характеризующая привлекательность города с точки зрения жилья. Значение функции привлекательности уменьшается при увеличении заселенности города. Заселенность – отношение числа семей к числу домов (квартир) Z=N/(H*f).

Активный объект House - Жилищный сектор

Динамика жилья определяет количество квартир (домов) в городе как разницу двух потоков: потока нового строительства (R) и потока сноса ветхого жилья (D). Интенсивность нового строительства учитывает как свободную площадь в городе, так и необходимость строительства нового жилья из-за перенаселенности. Обе эти зависимости задаются экспертно с помощью табличных функций tfa и tfz.

Определим следующие обозначения объектов класса House.

Накопитель:

Н (houses) – количество домов (квартир)

Потоки:

R – поток нового строительства

D – поток сноса ветхого жилья

Вспомогательные переменные:

S – новое строительство

SZ – новое строительство, учитывающее перенаселенность

SA – новое строительство, учитывающее свободные площади

RA – доля свободной земли

Z – заселенность города, входная переменная

HOut – количество квартир (домов), выходная переменная

Параметры активного объекта:

area – общая площадь земли

ah – средняя площадь земли под домом (квартиры)

rs – коэффициент строительства нового жилья

rd – коэффициент сноса ветхого жилья

hi – начальное количество квартир (домов)

Табличные функции:

tfa – табличная функция учитывает вклад свободных площадей в городе в интенсивность строительства.

tfz – табличная функция учитывает перенаселение в интенсивности строительства.

Активный объект Model. Взаимодействие компонентов модели.

Порядок выполнения лабораторной работы

Запустите AnyLogic (Пуск/Все программы/ AnyLogic 5.4.1). В стартовом окне среды разработки проекта нажмите кнопку Создать проект.

Присвойте проекту имя Gorod. Все имена объектов должны набираться только в латинице.

В результате на панели проектов появится проект и корневой объект Main.

Переименуйте корневой объект Main в объект Model в окне Свойства проекта.

Далее создайте активный объект Population (Население).

Активный объект Население (Population)

Для создания активного объекта на инструментальной панели нажмите кнопку Новый класс активного объекта (). В окне Свойства введите имя объекта Population. Имя активного объекта должно начинаться с заглавной буквы.

В результате получим пустой Активный объект с именем Population.

Вначале определите параметры активного объекта Population.

В окне Свойства нажмите кнопку Новый параметр (). В диалоговом окне Параметр задайте имя, тип и значение по умолчанию.

Создайте простой параметр с именем im, определяющий среднее значение потока иммиграции.

Создайте простой параметр с именем em, определяющий среднее значение потока эмиграции.

Создайте параметр с именем r, определяющий среднюю интенсивность рождаемости.

Создайте параметр с именем st, определяющий среднее время жизни человека в городе.

Создайте параметр с именем f, характеризующий средний размер семьи.

Создайте параметр с именем pi, определяющий начальное количество населения (популяции).

В результате в окне Свойства объекта Population получим список объявленных параметров.

Далее создайте табличную функцию с именем tfattr. Функция экспертно задает коэффициент привлекательности города в зависимости от заселенности. Для этого на инструментальной панели нажмите на кнопку Новая табличная функция (). В диалоговом окне Новая табличная функция задайте имя и класс активного объекта. Обратите внимание, табличная функция приписана к объекту Population (gorod.Population).

В окне проектов это отобразится соответствующим образом.

В окне Свойства введите аргумент и значение самой функции.

В окне Свойства табличной функции tfattr нажмите на кнопку График

и в разделе Интерполяция/аппроксимация выберите режим Сплайн-интерполяция. В разделе Если аргумент выходит за пределы выберите режим Использовать ближайший корректный.

Создайте структурную диаграмму компонента модели. Общий вид потоковой диаграммы приведен ниже.

Уравнения, которые будут связывать переменные компонента модели, приведены ниже.

Создайте переменную N - численность населения, которая будет являться накопителем. Для этого на инструментальной панели выберите объект Переменная

и поместите его в структурную диаграмму объекта Population. В окне Свойства переменной введите имя N, определите тип Скаляр и формат числа real. В разделе Уравнение Вид выберите Интеграл или накопитель, в качестве подинтегрального выражения введите R+Im-D-Em. Начальное значение равно pi.

На структурной диаграмме объекта Population это отобразится, как показано ниже.

Аналогичным образом создайте переменную R, определяющую поток рождаемости.

Создайте переменную D, определяющую поток смертности.

Создайте переменную Im, определяющую поток иммиграции.

Создайте переменную Em, определяющую поток эмиграции.

Создайте переменную Hattr, определяющую привлекательность города для иммиграции с точки зрения жилья.

Создайте переменную RN, определяющую темп изменения численности населения.

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

В окне Свойства переменной введите имя, выберите формат числа real, в поле Направление выберите Входная переменная.

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

В результате структурная диаграмма объекта Population примет следующий вид

Активный объект Нouse (Жилищный сектор)

Для создания активного объекта на инструментальной панели нажмите кнопку Новый класс активного объекта (). В окне Свойства введите имя объекта House. Имя активного объекта должно начинаться с заглавной буквы.

В результате получим пустой Активный объект с именем House.

Вначале определите параметры активного объекта House.

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

Создайте параметр с именем ah, определяющий среднее значение площади земли под домом (квартирой).

Создайте параметр с именем rs, определяющий коэффициент строительства нового жилья.

Создайте параметр с именем rd, определяющий коэффициент сноса ветхого жилья.

Создайте параметр с именем hi, определяющий начальное количество домов (квартир).

В результате в окне Свойства объекта House получим список объявленных параметров.

Далее создайте табличную функцию с именем tfa. Функция экспертно задает влияние доли свободной земли под застройку на темп строительства нового жилья. Для этого на инструментальной панели нажмите на кнопку Новая табличная функция (). В диалоговом окне Новая табличная функция задайте имя и класс активного объекта. Обратите внимание, табличная функция приписана к объекту House (gorod.House).

В окне Свойства введите аргумент и значение самой функции.

В окне Свойства табличной функции tfa нажмите на кнопку График

и в разделе Интерполяция/аппроксимация выберите режим Сплайн-интерполяция. В разделе Если аргумент выходит за пределы выберите режим Использовать ближайший корректный.

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

Выполните настройку графика функции аналогично табличной функции tfa.

Окно проекта будет выглядеть следующим образом.

Далее создайте структурную диаграмму компонента модели House. Общий вид потоковой диаграммы будет выглядеть, как показано ниже.

Уравнения, которые будут связывать переменные компонента модели, приведены ниже.

Создайте переменную H - численность домов (квартир), которая будет являться накопителем. В окне Свойства переменной введем имя H, определите тип Скаляр и формат числа real. В разделе Уравнение Вид выберите Интеграл или накопитель, в качестве подинтегрального выражения введите R-D. Начальное значение равно hi.

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

Создайте переменную D, определяющую поток сноса ветхого жилья.

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

Создайте переменную S, определяющую интенсивность строительства.

Создайте переменную RA, определяющую долю свободной земли.

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

Создайте входную переменную активного объекта с именем Z, определяющую заселенность.

Создайте выходную переменную с именем HOut, определяющую количество квартир (домов) в городе.

В результате структурная диаграмма объекта House примет следующий вид.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]